From 2eafd7db5c10d6fb7b86ae814c89c8b952b01a2f Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Sun, 27 Sep 2026 05:44:32 +0000 Subject: [PATCH] Update from source 34e3ef8a --- data/tables/messaging-channels.json | 41 +- data/tables/network-operators.json | 720 ------------------ data/tables/platform-reachability.json | 306 ++++---- data/tables/social-platforms.json | 156 ++-- documentation/reference-library-index.md | 12 +- internal/check-no-credentials-omit.mjs | 52 ++ internal/check-setup-order.mjs | 129 +++- internal/check-shadow-reduced-motion.mjs | 46 ++ internal/generate-library-index.mjs | 11 + library/components/poster/PosterDialog.vue | 5 + library/components/search/FilterDropdown.vue | 5 + .../components/search/SearchFilterHeader.vue | 5 + library/composables/useShadowStyles.js | 21 + .../out/tables/messaging-channels.json | 41 +- .../out/tables/network-operators.json | 720 ------------------ .../out/tables/platform-reachability.json | 306 ++++---- .../research/out/tables/social-platforms.json | 156 ++-- package.json | 8 +- .../data/tables/messaging-channels.json | 41 +- .../data/tables/network-operators.json | 720 ------------------ .../data/tables/social-platforms.json | 156 ++-- .../dashboard-plus-grid.vue | 12 +- .../doxa-maps-spa/doxa-maps-spa.vue | 2 +- .../plugin-studio/plugin-studio.vue | 2 +- .../composables/useDashboardAggregations.js | 8 +- .../research-map-plus-grid.vue | 12 +- .../src/components/PeopleGroupsWall.vue | 21 +- .../all-people-groups/all-people-groups.js | 33 +- .../all-people-groups/index.html | 2 +- .../assets/tables/messaging-channels.json | 41 +- .../assets/tables/network-operators.json | 720 ------------------ .../assets/tables/social-platforms.json | 156 ++-- public/dx-maps/big-picture/big-picture.js | 2 +- .../big-picture/big-picture/index.html | 2 +- .../big-picture/frontier/index.html | 2 +- .../big-picture/big-picture/index.html | 2 +- .../cities-internet/cities-internet.js | 43 +- .../connectivity-list/index.html | 2 +- .../connectivity-map/index.html | 2 +- .../cities-internet/data-tables/index.html | 2 +- .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters-mfe/index.html | 2 +- .../country-posters/country-posters.js | 81 +- .../dashboard-plus-grid.js | 67 +- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- public/dx-maps/demo-map/demo-map.js | 35 +- public/dx-maps/demo-map/demo-map/index.html | 2 +- .../demo-map/demo-map/maplibre/index.html | 2 +- public/dx-maps/doxa-maps-spa/doxa-maps-spa.js | 23 +- .../doxa-maps-spa/app/index.html | 2 +- .../doxa-maps-spa/doxa-maps-spa/index.html | 2 +- public/dx-maps/doxa-maps-spa/manifest.json | 112 +-- .../doxa-research-map/doxa-research-map.js | 67 +- .../doxa-research-map/research-map/index.html | 2 +- .../research-map/maplibre/index.html | 2 +- .../doxa-simple-map/doxa-simple-map.js | 69 +- .../doxa-simple-map/adoption/index.html | 2 +- .../doxa-simple-map/engagement/index.html | 2 +- .../doxa-simple-map/index.html | 2 +- .../doxa-simple-map/prayer/index.html | 2 +- .../gospel-internet/board/board/index.html | 2 +- .../dx-maps/gospel-internet/board/index.html | 2 +- .../board/india-china/index.html | 2 +- .../board/language-tree/index.html | 2 +- .../board/platforms/index.html | 2 +- .../board/project-700/index.html | 2 +- .../gospel-internet/board/zero/index.html | 2 +- .../gospel-internet/gospel-internet.js | 29 +- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-dashboard/index.html | 2 +- .../gospel-resources/gospel-resources.js | 41 +- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/dx-maps/index.html | 2 +- public/dx-maps/key-cities/key-cities.js | 43 +- public/dx-maps/manifest.json | 112 +-- .../my-upg-100-list/my-upg-100-list.js | 55 +- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- .../people-groups-grid/people-groups-grid.js | 2 +- .../people-groups-grid/driven/index.html | 2 +- .../people-groups-grid/index.html | 2 +- .../people-groups-grid/index.html | 2 +- public/dx-maps/plugin-studio/plugin-studio.js | 25 +- .../plugin-studio/plugin-studio/index.html | 2 +- .../plugin-studio/studio/index.html | 2 +- .../dx-maps/pplr-data-maps/pplr-data-maps.js | 33 +- .../pplr-data-maps/pplr-data-maps/index.html | 2 +- .../prayer-walk-planner.js | 21 +- .../prayer-walk-planner/index.html | 2 +- .../region-dashboards/index.html | 2 +- .../regions-dashboard/regions-dashboard.js | 43 +- .../regions-dashboard/regions-list/index.html | 2 +- .../regions-dashboard/regions-mfe/index.html | 2 +- .../research-dashboard/research-dashboard.js | 67 +- .../research-dashboard/index.html | 2 +- .../research-map-plus-grid.js | 23 +- .../research-map-plus-grid/default/index.html | 2 +- .../research-map-plus-grid/index.html | 2 +- public/dx-maps/stack-demo/stack-demo.js | 19 +- .../dx-maps/stack-demo/stack-demo/index.html | 2 +- .../stack-demo/stack-demo/pair/index.html | 2 +- .../template-bundle/template-bundle.js | 31 +- public/dx-maps/upg-neighbor/upg-neighbor.js | 53 +- .../upg-neighbor/bloom-cockpit/index.html | 2 +- .../upg-neighbor/flower-mesh/index.html | 2 +- .../upg-neighbor/upg-neighbor/index.html | 2 +- .../upg-neighbor/lang-cluster/index.html | 2 +- .../upg-neighbor/send-map/index.html | 2 +- .../upg-neighbor/upg-neighbors/index.html | 2 +- .../wall-of-people-groups.js | 39 +- .../wall-of-people-groups/index.html | 2 +- 116 files changed, 1570 insertions(+), 4349 deletions(-) create mode 100644 internal/check-no-credentials-omit.mjs create mode 100644 internal/check-shadow-reduced-motion.mjs diff --git a/data/tables/messaging-channels.json b/data/tables/messaging-channels.json index cfd2b784..847e00b0 100644 --- a/data/tables/messaging-channels.json +++ b/data/tables/messaging-channels.json @@ -2,7 +2,7 @@ "meta": { "title": "Messaging & App Channels", "grain": "one row per country x communication app", - "why": "Referral stats (StatCounter) structurally cannot see messaging apps. Measured here: WhatsApp (Messenger or Business) is the top messaging app in 73 countries, Telegram in 38 — neither appears in referral share at all.", + "why": "Referral stats (StatCounter) structurally cannot see messaging apps. Measured here: WhatsApp (Messenger or Business) is the top messaging app in 72 countries, Telegram in 38 — neither appears in referral share at all.", "ios_caveat": "iOS ONLY. Most of these countries are Android-majority and Google publishes no keyless equivalent, so this is one eye open. An app absent here is NOT absent in-country. 50 of 175 countries have no Apple storefront.", "ranking_caveat": "A top-free RANK is most-DOWNLOADED recently, not most-used.", "classification_caveat": "kind is a name-keyword HEURISTIC over a known list, not a verified taxonomy.", @@ -12125,19 +12125,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "WhatsApp Messenger", - "kind": "messaging", - "rank": 26, - "is_top_messaging": true, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Solomon Islands", "iso3": "SLB", @@ -14322,19 +14309,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "DramaWave - Dramas & Reels", - "kind": "short-video", - "rank": 42, - "is_top_messaging": false, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Solomon Islands", "iso3": "SLB", @@ -14946,19 +14920,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "Threads", - "kind": "social", - "rank": 48, - "is_top_messaging": false, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Eswatini", "iso3": "SWZ", diff --git a/data/tables/network-operators.json b/data/tables/network-operators.json index c8cd8443..8cb323a1 100644 --- a/data/tables/network-operators.json +++ b/data/tables/network-operators.json @@ -63813,726 +63813,6 @@ "resolution": "country", "source": "RIPEstat" }, - { - "operator": "SIKT - KUNNSKAPSSEKTORENS TJENESTELEVERANDOR", - "operator_raw": "UNINETT - SIKT - KUNNSKAPSSEKTORENS TJENESTELEVERANDOR", - "asn": "AS224", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "GlobalConnect-AS2116 GLOBALCONNECT AS", - "operator_raw": "GlobalConnect-AS2116 GLOBALCONNECT AS", - "asn": "AS2116", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR-NEXTEL Telenor Norge AS", - "operator_raw": "TELENOR-NEXTEL Telenor Norge AS", - "asn": "AS2119", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "GLOBALCONNECT-AS GLOBALCONNECT AS", - "operator_raw": "GLOBALCONNECT-AS GLOBALCONNECT AS", - "asn": "AS3307", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MARLINK-EMEA Marlink AS", - "operator_raw": "MARLINK-EMEA Marlink AS", - "asn": "AS5377", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "POWTECH-AS GLOBALCONNECT AS", - "operator_raw": "POWTECH-AS GLOBALCONNECT AS", - "asn": "AS5381", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SMARTHELP SMARTHELP AS", - "operator_raw": "SMARTHELP SMARTHELP AS", - "asn": "AS5485", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN1 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN1 Tietoevry Norway AS", - "asn": "AS5619", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BGNETT GLOBALCONNECT AS", - "operator_raw": "BGNETT GLOBALCONNECT AS", - "asn": "AS6709", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-SOGNFJORDFYLKE Vestland Fylkeskommune", - "operator_raw": "NO-SOGNFJORDFYLKE Vestland Fylkeskommune", - "asn": "AS6829", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR Telenor Norge AS", - "operator_raw": "TELENOR Telenor Norge AS", - "asn": "AS8210", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MARLINK-SK Marlink AS", - "operator_raw": "MARLINK-SK Marlink AS", - "asn": "AS8264", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ALFANETT Telenor Norge AS", - "operator_raw": "ALFANETT Telenor Norge AS", - "asn": "AS8394", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-GIGNETWORKS GIG Networks AS", - "operator_raw": "ASN-GIGNETWORKS GIG Networks AS", - "asn": "AS8478", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Eviny-AS8542 Eviny Fiber AS", - "operator_raw": "Eviny-AS8542 Eviny Fiber AS", - "asn": "AS8542", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR-MOBIL Telenor Norge AS", - "operator_raw": "TELENOR-MOBIL Telenor Norge AS", - "asn": "AS8786", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "US-NYC-MARLINK-MSS Marlink AS", - "operator_raw": "US-NYC-MARLINK-MSS Marlink AS", - "asn": "AS8841", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "XFIBER-AS GLOBALCONNECT AS", - "operator_raw": "XFIBER-AS GLOBALCONNECT AS", - "asn": "AS8896", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "WHITEBIRD GLOBALCONNECT AS", - "operator_raw": "WHITEBIRD GLOBALCONNECT AS", - "asn": "AS9173", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Marlink-MPLS Marlink AS", - "operator_raw": "Marlink-MPLS Marlink AS", - "asn": "AS9207", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NETCOM-AS Telia Norge AS", - "operator_raw": "NETCOM-AS Telia Norge AS", - "asn": "AS12929", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "DOMENESHOP Domeneshop AS", - "operator_raw": "DOMENESHOP Domeneshop AS", - "asn": "AS12996", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Broadnet GLOBALCONNECT AS", - "operator_raw": "Broadnet GLOBALCONNECT AS", - "asn": "AS13052", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "DataGuard GLOBALCONNECT AS", - "operator_raw": "DataGuard GLOBALCONNECT AS", - "asn": "AS13069", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Ventelo-Comnet-ASN GLOBALCONNECT AS", - "operator_raw": "Ventelo-Comnet-ASN GLOBALCONNECT AS", - "asn": "AS13212", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN2 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN2 Tietoevry Norway AS", - "asn": "AS13243", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NEXTGENTEL NextGenTel AS", - "operator_raw": "NEXTGENTEL NextGenTel AS", - "asn": "AS15659", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN3 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN3 Tietoevry Norway AS", - "asn": "AS15688", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MIMER Tafjord Connect AS", - "operator_raw": "MIMER Tafjord Connect AS", - "asn": "AS15765", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TGS-INT-NETWORK TELENOR LINX AS", - "operator_raw": "TGS-INT-NETWORK TELENOR LINX AS", - "asn": "AS15932", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SIMULAMET-CRNA Bryhni.com AS", - "operator_raw": "SIMULAMET-CRNA Bryhni.com AS", - "asn": "AS16065", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Signal Signal Bredband AS", - "operator_raw": "Signal Signal Bredband AS", - "asn": "AS16175", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "RINGNETT-NORWAY MODUM KABEL-TV AS", - "operator_raw": "RINGNETT-NORWAY MODUM KABEL-TV AS", - "asn": "AS16185", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-SSC IP Group AS", - "operator_raw": "ASN-SSC IP Group AS", - "asn": "AS16186", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "STAYON Tafjord Connect AS", - "operator_raw": "STAYON Tafjord Connect AS", - "asn": "AS16234", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Administrator Administrator Systems AS", - "operator_raw": "Administrator Administrator Systems AS", - "asn": "AS20741", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "KANDU-AS KANDU", - "operator_raw": "KANDU-AS KANDU", - "asn": "AS21067", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "WAN-NO iteam Braathe AS", - "operator_raw": "WAN-NO iteam Braathe AS", - "asn": "AS21119", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Schibsted Schibsted Media AS", - "operator_raw": "Schibsted Schibsted Media AS", - "asn": "AS21171", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-NRK Norsk Rikskringkasting AS", - "operator_raw": "ASN-NRK Norsk Rikskringkasting AS", - "asn": "AS21293", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "OSE-AS Oslo Bors ASA", - "operator_raw": "OSE-AS Oslo Bors ASA", - "asn": "AS21297", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "OKDN-AS Oslo kommune, Utviklings- og kompetanseetaten", - "operator_raw": "OKDN-AS Oslo kommune, Utviklings- og kompetanseetaten", - "asn": "AS21331", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Marlink AS", - "operator_raw": "MARLINK-AS-NET-AP - Marlink AS", - "asn": "AS24039", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-MFA Utenriksdepartementet", - "operator_raw": "ASN-MFA Utenriksdepartementet", - "asn": "AS25016", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BASEFARM-ASN Orange Business Digital Norway AS", - "operator_raw": "BASEFARM-ASN Orange Business Digital Norway AS", - "asn": "AS25148", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "likely_carrier_or_isp", - "likely_carrier": true, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "PCB-AS Peder Christian Bach", - "operator_raw": "PCB-AS Peder Christian Bach", - "asn": "AS25201", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "LOGNO-AS CGI Norge AS", - "operator_raw": "LOGNO-AS CGI Norge AS", - "asn": "AS25225", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BROADNET-NO-AS GLOBALCONNECT AS", - "operator_raw": "BROADNET-NO-AS GLOBALCONNECT AS", - "asn": "AS25351", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELIA-NORWAY-AS Telia Norge AS", - "operator_raw": "TELIA-NORWAY-AS Telia Norge AS", - "asn": "AS25400", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ELKEM-AS ELKEM AS", - "operator_raw": "ELKEM-AS ELKEM AS", - "asn": "AS28795", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-EMPSECURE EMP SECURE AS", - "operator_raw": "ASN-EMPSECURE EMP SECURE AS", - "asn": "AS28824", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN4 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN4 Tietoevry Norway AS", - "asn": "AS29065", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "AS-DIRECTCONNECT BAHNHOF AS", - "operator_raw": "AS-DIRECTCONNECT BAHNHOF AS", - "asn": "AS29300", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TRANSDATA Transdata AS", - "operator_raw": "TRANSDATA Transdata AS", - "asn": "AS29479", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Webhuset-AS Webhuset AS", - "operator_raw": "Webhuset-AS Webhuset AS", - "asn": "AS29486", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "EIDSIVA-ASN EIDSIVA DIGITAL AS", - "operator_raw": "EIDSIVA-ASN EIDSIVA DIGITAL AS", - "asn": "AS29492", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SYSTEMNET-NO-AS Henning Solberg", - "operator_raw": "SYSTEMNET-NO-AS Henning Solberg", - "asn": "AS29607", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Altibox_AS Lyse Tele AS", - "operator_raw": "Altibox_AS Lyse Tele AS", - "asn": "AS29695", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SAFETY-AS Safety Computing AS", - "operator_raw": "SAFETY-AS Safety Computing AS", - "asn": "AS30737", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Eviny-AS30950 Eviny Fiber AS", - "operator_raw": "Eviny-AS30950 Eviny Fiber AS", - "asn": "AS30950", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, { "operator": "SB Professional Services", "operator_raw": "SB - SB Professional Services", diff --git a/data/tables/platform-reachability.json b/data/tables/platform-reachability.json index 9c4765a1..6f03d056 100644 --- a/data/tables/platform-reachability.json +++ b/data/tables/platform-reachability.json @@ -2755,42 +2755,6 @@ "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "X/Twitter", - "status": "accessible", - "measurements": 28710, - "confirmed_blocked": 1, - "block_pct": 0, - "anomaly": 295, - "anomaly_pct": 1, - "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "twitter.com, upload.twitter.com, x.com", - "absence_meaning": "", - "window": "2026-02-01..2026-08-01", - "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" - }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Discord", - "status": "accessible", - "measurements": 9115, - "confirmed_blocked": 1, - "block_pct": 0, - "anomaly": 12, - "anomaly_pct": 0.1, - "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "discord.com", - "absence_meaning": "", - "window": "2026-02-01..2026-08-01", - "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" - }, { "country": "Sweden", "iso3": "SWE", @@ -38076,16 +38040,16 @@ "iso3": "SJM", "region": "Europe", "platform": "WhatsApp", - "status": "accessible", - "measurements": 3297, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 87, - "anomaly_pct": 2.6, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.whatsapp.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38094,16 +38058,16 @@ "iso3": "SJM", "region": "Europe", "platform": "WeChat", - "status": "accessible", - "measurements": 4395, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 11, - "anomaly_pct": 0.3, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "web.wechat.com, www.wechat.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38112,16 +38076,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Telegram", - "status": "accessible", - "measurements": 3819, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 6, - "anomaly_pct": 0.2, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "telegram.org", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38130,16 +38094,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Signal", - "status": "accessible", - "measurements": 3921, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 1, - "anomaly_pct": 0, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "signal.org", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38148,16 +38112,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Messenger", - "status": "accessible", - "measurements": 902, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 11, - "anomaly_pct": 1.2, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.messenger.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38166,16 +38130,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Viber", - "status": "accessible", - "measurements": 3554, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 4, - "anomaly_pct": 0.1, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.viber.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38184,16 +38148,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Line", - "status": "accessible", - "measurements": 844, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 19, - "anomaly_pct": 2.3, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "line.me", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38202,16 +38166,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Facebook", - "status": "accessible", - "measurements": 27250, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 818, - "anomaly_pct": 3, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "0000-api.facebook.com, 01-api.facebook.com, edge-mqtt.facebook.com, facebook.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38220,16 +38184,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Instagram", - "status": "accessible", - "measurements": 22236, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 558, - "anomaly_pct": 2.5, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "edge-chat.instagram.com, i.instagram.com, www.instagram.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38238,16 +38202,16 @@ "iso3": "SJM", "region": "Europe", "platform": "YouTube", - "status": "accessible", - "measurements": 17593, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 118, - "anomaly_pct": 0.7, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "m.youtube.com, www.youtube.com, youtube.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38256,16 +38220,34 @@ "iso3": "SJM", "region": "Europe", "platform": "TikTok", - "status": "accessible", - "measurements": 8069, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 30, - "anomaly_pct": 0.4, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.tiktok.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", + "window": "2026-02-01..2026-08-01", + "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" + }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "X/Twitter", + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, + "people_groups": 1, + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38274,16 +38256,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Reddit", - "status": "accessible", - "measurements": 3964, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 71, - "anomaly_pct": 1.8, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.reddit.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38292,16 +38274,34 @@ "iso3": "SJM", "region": "Europe", "platform": "Wikipedia", - "status": "accessible", - "measurements": 11782, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 8, - "anomaly_pct": 0.1, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "ar.m.wikipedia.org, ar.wikipedia.org, ca.wikipedia.org, de.wikipedia.org", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", + "window": "2026-02-01..2026-08-01", + "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" + }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Discord", + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, + "people_groups": 1, + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, diff --git a/data/tables/social-platforms.json b/data/tables/social-platforms.json index 8f58c025..facfe20c 100644 --- a/data/tables/social-platforms.json +++ b/data/tables/social-platforms.json @@ -8600,19 +8600,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Facebook", - "share_pct": 75.49, - "is_top": true, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Aruba", "iso3": "ABW", @@ -9354,6 +9341,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Facebook", + "share_pct": 37.5, + "is_top": true, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Uzbekistan", "iso3": "UZB", @@ -9406,6 +9406,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Instagram", + "share_pct": 31.25, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Panama", "iso3": "PAN", @@ -9640,6 +9653,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Twitter", + "share_pct": 18.75, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "San Marino", "iso3": "SMR", @@ -9900,19 +9926,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Pinterest", - "share_pct": 12.9, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Eswatini", "iso3": "SWZ", @@ -9952,6 +9965,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Pinterest", + "share_pct": 12.5, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Uzbekistan", "iso3": "UZB", @@ -12162,19 +12188,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Instagram", - "share_pct": 3.75, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Bolivia", "iso3": "BOL", @@ -12422,19 +12435,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Twitter", - "share_pct": 3.46, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Paraguay", "iso3": "PRY", @@ -13202,19 +13202,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "reddit", - "share_pct": 2.34, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Albania", "iso3": "ALB", @@ -14151,19 +14138,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "YouTube", - "share_pct": 1.33, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Cuba", "iso3": "CUB", @@ -16127,19 +16101,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Tumblr", - "share_pct": 0.33, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Bahamas", "iso3": "BHS", @@ -16621,19 +16582,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "LinkedIn", - "share_pct": 0.16, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Senegal", "iso3": "SEN", diff --git a/documentation/reference-library-index.md b/documentation/reference-library-index.md index 51067dae..5412d221 100644 --- a/documentation/reference-library-index.md +++ b/documentation/reference-library-index.md @@ -245,17 +245,17 @@ and a change here can break other maps. ### Data (static reference tables) -- **countries** — "value": "AFG", +- **countries** — (no description) `import … from '@map/data/countries.json'` -- **country-posters** — "stats": { +- **country-posters** — (no description) `import … from '@map/data/country-posters.json'` -- **iso-numeric-to-alpha2** — "4":"AF","8":"AL","12":"DZ","24":"AO","32":"AR","36":"AU","40":"AT","50":"BD", +- **iso-numeric-to-alpha2** — (no description) `import … from '@map/data/iso-numeric-to-alpha2.json'` -- **iso3-to-alpha2** — "_meta": { +- **iso3-to-alpha2** — alpha-3 -> alpha-2 so Intl.DisplayNames can produce a LOCALIZED country name. Drives no data fetch. `import … from '@map/data/iso3-to-alpha2.json'` -- **langFamilyByIso** — "aar": "Afro-Asiatic", +- **langFamilyByIso** — (no description) `import … from '@map/data/langFamilyByIso.json'` -- **langFamilyByLanguage** — {"Chamacoco":"Zamucoan","Ninam":"Yanomaman","Yagua":"Yaguan","Muinane":"Witotoan","Finnish":"Uralic","Hill Mar +- **langFamilyByLanguage** — (no description) `import … from '@map/data/langFamilyByLanguage.json'` ### API / data sources (`@map/api`) diff --git a/internal/check-no-credentials-omit.mjs b/internal/check-no-credentials-omit.mjs new file mode 100644 index 00000000..e71ef1d7 --- /dev/null +++ b/internal/check-no-credentials-omit.mjs @@ -0,0 +1,52 @@ +#!/usr/bin/env node +/** + * check-no-credentials-omit.mjs — no data fetch in library/ or plugin-designs/ may use credentials:'omit'. + * + * WHY (dx-shepherd, 2026-09-27): behind any login gate (basic auth, a session cookie, OIDC) the Research + * Gallery said "Could not load Big Picture", because doxa-maps-spa fetched its SAME-ORIGIN manifest with + * credentials:'omit', so the gate's cookie never went and the request was refused. 'same-origin' (the fetch + * default) sends credentials only to the page's own origin: a cross-origin CDN or token service still + * receives nothing, so the CORS setup is unaffected. + * + * A site that genuinely needs 'omit' (a same-origin request that must NOT carry the session) says so on the + * same line: `// credentials-omit: `. Comments are stripped before matching, so prose that merely + * mentions the option does not count. --self-test proves a planted 'omit' is caught. + */ +import { readFileSync } from 'node:fs' +import { execFileSync } from 'node:child_process' +import { join, dirname } from 'node:path' +import { fileURLToPath } from 'node:url' + +const ROOT = process.env.DOXA_REPO || join(dirname(fileURLToPath(import.meta.url)), '..') +const OMIT = /credentials\s*:\s*['"]omit['"]/ + +export function offenders(file, src) { + const out = [] + src.split('\n').forEach((line, i) => { + if (/credentials-omit:\s*\S/.test(line)) return + const code = line.replace(/\/\/.*$/, '').replace(/\/\*.*?\*\//g, '') + if (OMIT.test(code)) out.push(`${file}:${i + 1}: ${line.trim().slice(0, 110)}`) + }) + return out +} + +if (process.argv.includes('--self-test')) { + const bad = offenders('x.js', "fetch(u, { credentials: 'omit' })") + const ok1 = offenders('x.js', "// credentials: 'omit' is what broke the gallery") + const ok2 = offenders('x.js', "fetch(u, { credentials: 'omit' }) // credentials-omit: public beacon, no session") + if (bad.length !== 1 || ok1.length || ok2.length) { console.error('NO-CREDENTIALS-OMIT self-test: FAIL'); process.exit(1) } + console.log('NO-CREDENTIALS-OMIT self-test: PASS — a planted omit is caught; prose and an annotated site are not.') + process.exit(0) +} + +const files = execFileSync('git', ['ls-files', '--', 'library', 'plugin-designs'], { cwd: ROOT, encoding: 'utf8' }) + .split('\n').filter((f) => /\.(m?js|vue|ts)$/.test(f)) +const bad = files.flatMap((f) => offenders(f, readFileSync(join(ROOT, f), 'utf8'))) +if (bad.length) { + console.error(`NO-CREDENTIALS-OMIT: FAIL — ${bad.length} fetch(es) use credentials:'omit':`) + for (const b of bad) console.error(' ✗ ' + b) + console.error("\n Behind a login gate a same-origin request then drops the session cookie and is refused. Use 'same-origin'") + console.error(" (it never sends credentials cross-origin), or annotate a deliberate one: // credentials-omit: .") + process.exit(1) +} +console.log(`NO-CREDENTIALS-OMIT: PASS — ${files.length} source files, no fetch drops a same-origin session.`) diff --git a/internal/check-setup-order.mjs b/internal/check-setup-order.mjs index 1fa7cdad..53968c7f 100644 --- a/internal/check-setup-order.mjs +++ b/internal/check-setup-order.mjs @@ -114,6 +114,22 @@ function scriptOf(src, file) { return out.join('') } +/* Paren-match forward from the first `(` at or after `from`. Returns [open, close] or null. + * Arm C needs this because `watch(textDir, reflectDir)` has NO inline callback, and searching for the + * next `{` from there walks past the call entirely — the first version read the NEXT statement's + * onMounted body and reported a getCurrentInstance() that was nowhere near a watcher. Caught by the + * self-test, on the fixture written to prove the arm was quiet on correct code. */ +function parenSpan(src, from) { + const open = src.indexOf('(', from) + if (open < 0) return null + let d = 0 + for (let i = open; i < src.length; i++) { + if (src[i] === '(') d++ + else if (src[i] === ')' && --d === 0) return [open, i] + } + return null +} + /* Brace-match forward from the first `{` at or after `from`. Returns [open, close] or null. */ function braceSpan(src, from) { const open = src.indexOf('{', from) @@ -245,12 +261,76 @@ function armB(code) { return hits } +// ── ARM C: getCurrentInstance() ANSWERS ONLY WHILE SETUP OR A HOOK IS ON THE STACK ───────────── +// dashboard-plus-grid.vue:303 and research-map-plus-grid.vue:152 — a live goal-(d) RTL bug. +// +// `function reflectDir() { getCurrentInstance()?.proxy?.$el… }` was called from TWO places: +// onMounted(reflectDir), where Vue has set the current instance and it works, and +// watch(textDir, reflectDir), where nothing has, so the read returns null. A host that set lang=ar +// BEFORE mount got dir=rtl; a host that switched to ar AFTERWARDS got nothing at all, and Arabic +// rendered in a left-to-right layout. +// +// THAT SPLIT IS WHY IT SURVIVED REVIEW. The function is not wrong, and neither caller is wrong; +// the pairing is. Reading either line alone shows working code, and first paint — the thing anyone +// would check — was correct. Only the later switch was broken. +// +// SO THIS ARM MODELS VUE RATHER THAN BANNING THE CALL. Inside setup, or inside a lifecycle-hook +// callback, getCurrentInstance() is CORRECT and must not be reported — research-map-plus-grid.vue's +// onMounted(() => { getCurrentInstance()… }) is fine and is deliberately left alone. A gate that +// flags working code gets ignored, and this file has already dropped five such hits today. +// What it reports is the call reached from a watcher or an event handler, directly or through a +// top-level function. The fix is always the same: capture the instance in setup (_selfInstance). +const HOOK_SET = new RegExp('^(?:' + HOOKS.join('|') + ')$') +function armC(code) { + const hits = [] + const fns = topLevelFunctions(code) + // Which top-level functions are handed to a watcher or an event registration rather than called + // from setup? Those are the ones whose body runs with no current instance. + const deferred = new Set() + for (const m of code.matchAll(/\b(?:watch|watchEffect)\s*\(([\s\S]{0,400}?)\)/g)) { + for (const id of m[1].matchAll(/\b([A-Za-z_$][\w$]*)\b/g)) if (fns.has(id[1])) deferred.add(id[1]) + } + for (const m of code.matchAll(/addEventListener\s*\(\s*'[^']*'\s*,\s*([A-Za-z_$][\w$]*)/g)) { + if (fns.has(m[1])) deferred.add(m[1]) + } + for (const [name, fn] of fns) { + if (!deferred.has(name) || !/\bgetCurrentInstance\s*\(/.test(fn.body)) continue + hits.push({ + line: lineOf(code, fn.at), + why: `${name}() calls getCurrentInstance(), and is handed to a watcher or an event listener — there is no current instance then, so the call returns null. Capture it in setup instead (const _selfInstance = getCurrentInstance()).`, + }) + } + // And the call written straight inside a watcher callback, with no function to name. + for (const m of code.matchAll(/\b(?:watch|watchEffect)\s*\(/g)) { + const args = parenSpan(code, m.index) + if (!args) continue + const brace = braceSpan(code, m.index) + // The callback must be INSIDE this call's own argument list. Without that test the search runs on + // to the next block in the file, which is how the first version invented a hit. + if (!brace || brace[0] > args[1]) continue + const span = brace + const body = code.slice(span[0], span[1] + 1) + // A lifecycle hook nested inside would re-establish the instance; nothing else does. + const idx = body.search(/\bgetCurrentInstance\s*\(/) + if (idx < 0) continue + const before = body.slice(0, idx) + const nestedHook = [...before.matchAll(/\b(on[A-Z]\w+)\s*\(/g)].some((h) => HOOK_SET.test(h[1])) + if (!nestedHook) { + hits.push({ + line: lineOf(code, span[0] + idx), + why: 'getCurrentInstance() is called inside a watcher callback, where there is no current instance, so it returns null. Capture it in setup instead.', + }) + } + } + return hits +} + const run = (src, file) => { /* Strings are blanked HERE, for both arms. Arm B's first version flagged useMapInstance.js:430 — * where the only `onBeforeUnmount` on the line is inside the text of a console.error advising a * caller to use one. A gate that reads prose as code cries wolf, and a crying gate gets ignored. */ const code = stripStrings(stripComments(scriptOf(src, file))) - return [...armA(code).map((h) => ({ ...h, arm: 'IMMEDIATE-TDZ' })), ...armB(code).map((h) => ({ ...h, arm: 'HOOK-AFTER-AWAIT' }))] + return [...armA(code).map((h) => ({ ...h, arm: 'IMMEDIATE-TDZ' })), ...armB(code).map((h) => ({ ...h, arm: 'HOOK-AFTER-AWAIT' })), ...armC(code).map((h) => ({ ...h, arm: 'INSTANCE-OUTSIDE-SETUP' }))] } // ── self-test: both defects as they actually shipped, and the fixes, which must stay quiet ─────── @@ -299,6 +379,18 @@ function applyFitSlugs(slugs) { _lastFitKey = String(slugs) fit({ maxZoom: FIT_MAX_ZOOM, padding: 70 }) } +// ARM C's three legal shapes. The first is the fix; the second and third are CORRECT as written and +// are the reason this arm models Vue instead of banning the call — Vue sets the current instance for +// the duration of a lifecycle hook, so a call inside one resolves. research-map-plus-grid.vue:422 is +// the third shape, and flagging it would have been this gate crying wolf on working code. +const _selfInstance = getCurrentInstance() +function reflectDir() { + const host = _selfInstance?.proxy?.$el?.getRootNode?.()?.host + if (host) host.setAttribute('dir', 'rtl') +} +watch(textDir, reflectDir) +const inst = getCurrentInstance() +onMounted(() => { rootEl = getCurrentInstance()?.proxy?.$el?.getRootNode?.() || null }) let scrollRO = null onBeforeUnmount(() => { if (scrollRO) scrollRO.disconnect() }) onMounted(async () => { @@ -306,19 +398,45 @@ onMounted(async () => { scrollRO = new ResizeObserver(() => sync(map.value)) }) ` +const PLANTED_C = `` const blindA = run(PLANTED_A, 'x.vue').filter((h) => h.arm === 'IMMEDIATE-TDZ').length === 0 const blindB = run(PLANTED_B, 'x.vue').filter((h) => h.arm === 'HOOK-AFTER-AWAIT').length === 0 +const blindC = run(PLANTED_C, 'x.vue').filter((h) => h.arm === 'INSTANCE-OUTSIDE-SETUP').length === 0 const noisy = run(CLEAN, 'x.vue') -if (blindA || blindB || noisy.length) { +if (blindA || blindB || blindC || noisy.length) { console.error('SETUP-ORDER: SELF-TEST FAILED — ' + (blindA ? 'arm A is blind to the shipped TDZ. ' : '') + (blindB ? 'arm B is blind to the shipped late hook. ' : '') + + (blindC ? 'arm C is blind to the shipped getCurrentInstance-in-a-watcher. ' : '') + (noisy.length ? 'false positives on the fixed code: ' + noisy.map((h) => `${h.arm} ${h.why}`).join('; ') : '')) process.exit(3) } -if (POISON) { console.log('SETUP-ORDER: self-test passed (both defects caught, both fixes quiet).'); process.exit(0) } +if (POISON) { console.log('SETUP-ORDER: self-test passed (all three defects caught, every fix and legal shape quiet).'); process.exit(0) } // ── scan ───────────────────────────────────────────────────────────────────────────────────────── +// ★ ONE TRIGGER PER ARM, DERIVED — NOT A HAND-KEPT LIST, because a stale precondition voids every +// careful thing below it and does so SILENTLY. This is the second time in one day: check:i18n-keys-exist +// skipped any file that never wrote the word "tStatic", which is how a planted poison key passed it, +// and I diagnosed that and then wrote the same hole here within the hour — arm C went in and the +// early-out still only knew about arms A and B, so BOTH files carrying the live RTL bug were skipped +// before a single arm ran. The gate reported the tree clean and the self-test stayed green, because a +// fixture is text and never meets the file filter. +// The rule this encodes: a cheap early-out is part of a gate's COVERAGE, not an optimisation, so it +// has to be written where adding an arm forces you to extend it. +const ARM_TRIGGERS = [ + /\bimmediate\s*:\s*true\b/, // A: an immediate watcher runs during setup + /\basync\b/, // B: only an async body can put a hook after an await + /\bgetCurrentInstance\s*\(/, // C: the instance read that answers only during setup or a hook +] +const SCANNABLE = new RegExp(ARM_TRIGGERS.map((r) => r.source).join('|')) + const ROOTS = ['plugin-designs', 'library'] const SKIP = /(^|\/)(node_modules|dist|public|\.git|fixtures)(\/|$)/ function files(dir, acc = []) { @@ -340,17 +458,18 @@ for (const root of ROOTS) { for (const f of files(resolve(REPO, root))) { let src try { src = readFileSync(f, 'utf8') } catch (_) { continue } - if (!/\bimmediate\s*:\s*true\b|\basync\b/.test(src)) continue + if (!SCANNABLE.test(src)) continue for (const h of run(src, f)) found.push({ file: relative(REPO, f), ...h }) } } if (!found.length) { - console.log('SETUP-ORDER: OK — no immediate watcher reads below itself, and no lifecycle hook is registered after an await.') + console.log('SETUP-ORDER: OK — no immediate watcher reads below itself, no lifecycle hook is registered after an await, and no getCurrentInstance() is read from a watcher or a listener.') process.exit(0) } console.error(`SETUP-ORDER: ${found.length} defect(s) —`) for (const h of found) console.error(` ${h.arm} ${h.file}:${h.line} ${h.why}`) console.error('\nARM A: move the declaration above the watcher (a hoisted function resolves its NAME early, not its BODY).') console.error('ARM B: declare the handle at setup scope and tear it down in a hook registered BEFORE the first await.') +console.error('ARM C: capture the instance in setup (const _selfInstance = getCurrentInstance()); a call inside a hook is fine, inside a watcher it is null.') process.exit(1) diff --git a/internal/check-shadow-reduced-motion.mjs b/internal/check-shadow-reduced-motion.mjs new file mode 100644 index 00000000..c2fa60d0 --- /dev/null +++ b/internal/check-shadow-reduced-motion.mjs @@ -0,0 +1,46 @@ +#!/usr/bin/env node +/** + * check-shadow-reduced-motion.mjs — every animating library component honours prefers-reduced-motion. + * + * WHY: a page's own reduced-motion reset never crosses a shadow boundary, so a component rendered inside a + * custom element's shadow root animates for a reader who asked for less motion unless the root carries its + * own reset (regions-plugin, ProgressBar; ten legend and map-control components had none). + * + * WHAT: (1) library/composables/useShadowStyles.js injects REDUCED_MOTION_CSS, a prefers-reduced-motion: + * reduce block, once per shadow root; (2) every library/components/**.vue that declares a transition or an + * animation either styles itself through useShadowStyles (so the reset reaches it) or carries its own + * @media (prefers-reduced-motion: reduce) block. The self-test runs on every invocation. + */ +import { readFileSync } from 'node:fs' +import { execFileSync } from 'node:child_process' +import { join, dirname } from 'node:path' +import { fileURLToPath } from 'node:url' + +const ROOT = process.env.DOXA_REPO || join(dirname(fileURLToPath(import.meta.url)), '..') +const ANIMATES = /(^|[;{\s])(transition|animation)(-[a-z-]+)?\s*:/m +const OWN_GUARD = /prefers-reduced-motion\s*:\s*reduce/ +const USES_SHADOW = /\buseShadowStyles\s*\(/ + +export function uncovered(file, src) { + const code = src.replace(/\/\*[\s\S]*?\*\//g, '') + return ANIMATES.test(code) && !USES_SHADOW.test(code) && !OWN_GUARD.test(code) ? [file] : [] +} + +// self-test, every run +if (uncovered('a.vue', '.x{transition:width 1s}').length !== 1 + || uncovered('b.vue', "useShadowStyles(`.x{transition:width 1s}`)").length + || uncovered('c.vue', '.x{transition:width 1s} @media (prefers-reduced-motion: reduce){.x{transition:none}}').length + || uncovered('d.vue', '/* transition: none */ .x{color:red}').length) { + console.error('SHADOW-REDUCED-MOTION: self-test FAIL'); process.exit(3) +} + +let bad = 0 +const uss = readFileSync(join(ROOT, 'library/composables/useShadowStyles.js'), 'utf8') +if (!/export const REDUCED_MOTION_CSS\s*=\s*`@media \(prefers-reduced-motion: reduce\)/.test(uss) || !/data-shadow-styles', 'reduced-motion'/.test(uss)) { + console.error(' ✗ useShadowStyles.js no longer injects its prefers-reduced-motion reset into each shadow root'); bad++ +} +const files = execFileSync('git', ['ls-files', '--', 'library/components'], { cwd: ROOT, encoding: 'utf8' }).split('\n').filter((f) => f.endsWith('.vue')) +const miss = files.flatMap((f) => uncovered(f, readFileSync(join(ROOT, f), 'utf8'))) +for (const m of miss) { console.error(` ✗ ${m}: animates, but neither styles itself through useShadowStyles nor carries its own reduced-motion block`); bad++ } +if (bad) { console.error(`\nSHADOW-REDUCED-MOTION: FAIL — ${bad} problem(s)`); process.exit(1) } +console.log(`SHADOW-REDUCED-MOTION: PASS — useShadowStyles resets motion in every shadow root; ${files.length} library components checked, every animating one is covered.`) diff --git a/internal/generate-library-index.mjs b/internal/generate-library-index.mjs index 7921e0ab..d144c1c8 100644 --- a/internal/generate-library-index.mjs +++ b/internal/generate-library-index.mjs @@ -23,6 +23,17 @@ const LIB = join(ROOT, 'library'); function firstDocLine(file) { let text; try { text = readFileSync(file, 'utf8'); } catch { return ''; } + // A .json file has no header comment: its first line is data ('"_meta": {', '"value": "AFG",'), so read + // the description a data file carries about itself, and otherwise say nothing rather than print a line of JSON. + if (file.endsWith('.json')) { + try { + const j = JSON.parse(text); + const m = j && typeof j === 'object' && !Array.isArray(j) ? j : {}; + const meta = m._meta && typeof m._meta === 'object' ? m._meta : {}; + const d = m._description || meta.description || meta.purpose || ''; + return typeof d === 'string' ? d.replace(/`/g, '').replace(/\s+/g, ' ').trim().slice(0, 110) : ''; + } catch { return ''; } + } const lines = text.split('\n').slice(0, 16); for (let raw of lines) { let l = raw.trim(); diff --git a/library/components/poster/PosterDialog.vue b/library/components/poster/PosterDialog.vue index 23b6c783..96b94f86 100644 --- a/library/components/poster/PosterDialog.vue +++ b/library/components/poster/PosterDialog.vue @@ -279,4 +279,9 @@ function _download(blob, filename) { .render-status progress { width: 100%; } .poster-dlg-enter-active, .poster-dlg-leave-active { transition: opacity 0.15s ease; } .poster-dlg-enter-from, .poster-dlg-leave-to { opacity: 0; } +/* Reduced motion: this component's styles do not go through useShadowStyles, so it carries its own guard + (check:shadow-reduced-motion). */ +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } +} diff --git a/library/components/search/FilterDropdown.vue b/library/components/search/FilterDropdown.vue index 82e0ccfe..fbd7c89c 100644 --- a/library/components/search/FilterDropdown.vue +++ b/library/components/search/FilterDropdown.vue @@ -520,4 +520,9 @@ onBeforeUnmount(() => { .filter-dropdown__option[data-highlighted] { background-color: var(--dx-accent-weak, rgba(146, 177, 149, .18)); } .filter-dropdown__count { color: var(--dx-muted, #6d766e); font-size: 0.75rem; margin-inline-start: 6px; } .filter-dropdown__no-options { padding: 12px; font-size: 0.875rem; color: var(--dx-muted, #6d766e); text-align: center; } +/* Reduced motion: this component's styles do not go through useShadowStyles, so it carries its own guard + (check:shadow-reduced-motion). */ +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } +} diff --git a/library/components/search/SearchFilterHeader.vue b/library/components/search/SearchFilterHeader.vue index d231acad..ca7fe7e1 100644 --- a/library/components/search/SearchFilterHeader.vue +++ b/library/components/search/SearchFilterHeader.vue @@ -505,4 +505,9 @@ function onClearAll() { emit('clear-all') } padding: 0 4px; margin-inline-start: 2px; } .sfh__clear:hover { color: var(--ink); } +/* Reduced motion: this component's styles do not go through useShadowStyles, so it carries its own guard + (check:shadow-reduced-motion). */ +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } +} diff --git a/library/composables/useShadowStyles.js b/library/composables/useShadowStyles.js index 649f6591..f38df229 100644 --- a/library/composables/useShadowStyles.js +++ b/library/composables/useShadowStyles.js @@ -46,6 +46,17 @@ export function useShadowStyles(css, label) { // Already injected: keep it — unless the CSS changed (a hot update), then replace its text. The early // return here used to keep the OLD CSS after an edit, under a label. + // REDUCED MOTION, once per shadow root. A page's own prefers-reduced-motion reset never crosses a shadow + // boundary, so every animating library component (legends, map controls, hints) slid and faded for + // readers who asked for less motion (regions-plugin found it on ProgressBar; ten components carried + // transitions with no guard). Injecting the reset here covers every component that styles itself + // through this composable, including ones written later, without each having to remember. + if (!root.querySelector('style[data-shadow-styles="reduced-motion"]')) { + const rm = document.createElement('style') + rm.setAttribute('data-shadow-styles', 'reduced-motion') + rm.textContent = REDUCED_MOTION_CSS + root.appendChild(rm) + } const existing = root.querySelector(`style[data-shadow-styles="${key}"]`) if (existing) { if (existing.textContent !== css) existing.textContent = css; return } @@ -56,6 +67,16 @@ export function useShadowStyles(css, label) { }) } +/** The reset every shadow root gets: motion becomes instant, state changes still apply. Exported for the gate. */ +export const REDUCED_MOTION_CSS = `@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +}` + /** Simple string hash for dedup key */ function hashCode(str) { let hash = 0 diff --git a/library/scripts/research/out/tables/messaging-channels.json b/library/scripts/research/out/tables/messaging-channels.json index cfd2b784..847e00b0 100644 --- a/library/scripts/research/out/tables/messaging-channels.json +++ b/library/scripts/research/out/tables/messaging-channels.json @@ -2,7 +2,7 @@ "meta": { "title": "Messaging & App Channels", "grain": "one row per country x communication app", - "why": "Referral stats (StatCounter) structurally cannot see messaging apps. Measured here: WhatsApp (Messenger or Business) is the top messaging app in 73 countries, Telegram in 38 — neither appears in referral share at all.", + "why": "Referral stats (StatCounter) structurally cannot see messaging apps. Measured here: WhatsApp (Messenger or Business) is the top messaging app in 72 countries, Telegram in 38 — neither appears in referral share at all.", "ios_caveat": "iOS ONLY. Most of these countries are Android-majority and Google publishes no keyless equivalent, so this is one eye open. An app absent here is NOT absent in-country. 50 of 175 countries have no Apple storefront.", "ranking_caveat": "A top-free RANK is most-DOWNLOADED recently, not most-used.", "classification_caveat": "kind is a name-keyword HEURISTIC over a known list, not a verified taxonomy.", @@ -12125,19 +12125,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "WhatsApp Messenger", - "kind": "messaging", - "rank": 26, - "is_top_messaging": true, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Solomon Islands", "iso3": "SLB", @@ -14322,19 +14309,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "DramaWave - Dramas & Reels", - "kind": "short-video", - "rank": 42, - "is_top_messaging": false, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Solomon Islands", "iso3": "SLB", @@ -14946,19 +14920,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "Threads", - "kind": "social", - "rank": 48, - "is_top_messaging": false, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Eswatini", "iso3": "SWZ", diff --git a/library/scripts/research/out/tables/network-operators.json b/library/scripts/research/out/tables/network-operators.json index c8cd8443..8cb323a1 100644 --- a/library/scripts/research/out/tables/network-operators.json +++ b/library/scripts/research/out/tables/network-operators.json @@ -63813,726 +63813,6 @@ "resolution": "country", "source": "RIPEstat" }, - { - "operator": "SIKT - KUNNSKAPSSEKTORENS TJENESTELEVERANDOR", - "operator_raw": "UNINETT - SIKT - KUNNSKAPSSEKTORENS TJENESTELEVERANDOR", - "asn": "AS224", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "GlobalConnect-AS2116 GLOBALCONNECT AS", - "operator_raw": "GlobalConnect-AS2116 GLOBALCONNECT AS", - "asn": "AS2116", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR-NEXTEL Telenor Norge AS", - "operator_raw": "TELENOR-NEXTEL Telenor Norge AS", - "asn": "AS2119", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "GLOBALCONNECT-AS GLOBALCONNECT AS", - "operator_raw": "GLOBALCONNECT-AS GLOBALCONNECT AS", - "asn": "AS3307", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MARLINK-EMEA Marlink AS", - "operator_raw": "MARLINK-EMEA Marlink AS", - "asn": "AS5377", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "POWTECH-AS GLOBALCONNECT AS", - "operator_raw": "POWTECH-AS GLOBALCONNECT AS", - "asn": "AS5381", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SMARTHELP SMARTHELP AS", - "operator_raw": "SMARTHELP SMARTHELP AS", - "asn": "AS5485", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN1 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN1 Tietoevry Norway AS", - "asn": "AS5619", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BGNETT GLOBALCONNECT AS", - "operator_raw": "BGNETT GLOBALCONNECT AS", - "asn": "AS6709", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-SOGNFJORDFYLKE Vestland Fylkeskommune", - "operator_raw": "NO-SOGNFJORDFYLKE Vestland Fylkeskommune", - "asn": "AS6829", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR Telenor Norge AS", - "operator_raw": "TELENOR Telenor Norge AS", - "asn": "AS8210", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MARLINK-SK Marlink AS", - "operator_raw": "MARLINK-SK Marlink AS", - "asn": "AS8264", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ALFANETT Telenor Norge AS", - "operator_raw": "ALFANETT Telenor Norge AS", - "asn": "AS8394", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-GIGNETWORKS GIG Networks AS", - "operator_raw": "ASN-GIGNETWORKS GIG Networks AS", - "asn": "AS8478", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Eviny-AS8542 Eviny Fiber AS", - "operator_raw": "Eviny-AS8542 Eviny Fiber AS", - "asn": "AS8542", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR-MOBIL Telenor Norge AS", - "operator_raw": "TELENOR-MOBIL Telenor Norge AS", - "asn": "AS8786", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "US-NYC-MARLINK-MSS Marlink AS", - "operator_raw": "US-NYC-MARLINK-MSS Marlink AS", - "asn": "AS8841", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "XFIBER-AS GLOBALCONNECT AS", - "operator_raw": "XFIBER-AS GLOBALCONNECT AS", - "asn": "AS8896", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "WHITEBIRD GLOBALCONNECT AS", - "operator_raw": "WHITEBIRD GLOBALCONNECT AS", - "asn": "AS9173", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Marlink-MPLS Marlink AS", - "operator_raw": "Marlink-MPLS Marlink AS", - "asn": "AS9207", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NETCOM-AS Telia Norge AS", - "operator_raw": "NETCOM-AS Telia Norge AS", - "asn": "AS12929", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "DOMENESHOP Domeneshop AS", - "operator_raw": "DOMENESHOP Domeneshop AS", - "asn": "AS12996", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Broadnet GLOBALCONNECT AS", - "operator_raw": "Broadnet GLOBALCONNECT AS", - "asn": "AS13052", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "DataGuard GLOBALCONNECT AS", - "operator_raw": "DataGuard GLOBALCONNECT AS", - "asn": "AS13069", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Ventelo-Comnet-ASN GLOBALCONNECT AS", - "operator_raw": "Ventelo-Comnet-ASN GLOBALCONNECT AS", - "asn": "AS13212", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN2 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN2 Tietoevry Norway AS", - "asn": "AS13243", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NEXTGENTEL NextGenTel AS", - "operator_raw": "NEXTGENTEL NextGenTel AS", - "asn": "AS15659", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN3 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN3 Tietoevry Norway AS", - "asn": "AS15688", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MIMER Tafjord Connect AS", - "operator_raw": "MIMER Tafjord Connect AS", - "asn": "AS15765", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TGS-INT-NETWORK TELENOR LINX AS", - "operator_raw": "TGS-INT-NETWORK TELENOR LINX AS", - "asn": "AS15932", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SIMULAMET-CRNA Bryhni.com AS", - "operator_raw": "SIMULAMET-CRNA Bryhni.com AS", - "asn": "AS16065", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Signal Signal Bredband AS", - "operator_raw": "Signal Signal Bredband AS", - "asn": "AS16175", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "RINGNETT-NORWAY MODUM KABEL-TV AS", - "operator_raw": "RINGNETT-NORWAY MODUM KABEL-TV AS", - "asn": "AS16185", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-SSC IP Group AS", - "operator_raw": "ASN-SSC IP Group AS", - "asn": "AS16186", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "STAYON Tafjord Connect AS", - "operator_raw": "STAYON Tafjord Connect AS", - "asn": "AS16234", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Administrator Administrator Systems AS", - "operator_raw": "Administrator Administrator Systems AS", - "asn": "AS20741", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "KANDU-AS KANDU", - "operator_raw": "KANDU-AS KANDU", - "asn": "AS21067", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "WAN-NO iteam Braathe AS", - "operator_raw": "WAN-NO iteam Braathe AS", - "asn": "AS21119", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Schibsted Schibsted Media AS", - "operator_raw": "Schibsted Schibsted Media AS", - "asn": "AS21171", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-NRK Norsk Rikskringkasting AS", - "operator_raw": "ASN-NRK Norsk Rikskringkasting AS", - "asn": "AS21293", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "OSE-AS Oslo Bors ASA", - "operator_raw": "OSE-AS Oslo Bors ASA", - "asn": "AS21297", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "OKDN-AS Oslo kommune, Utviklings- og kompetanseetaten", - "operator_raw": "OKDN-AS Oslo kommune, Utviklings- og kompetanseetaten", - "asn": "AS21331", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Marlink AS", - "operator_raw": "MARLINK-AS-NET-AP - Marlink AS", - "asn": "AS24039", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-MFA Utenriksdepartementet", - "operator_raw": "ASN-MFA Utenriksdepartementet", - "asn": "AS25016", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BASEFARM-ASN Orange Business Digital Norway AS", - "operator_raw": "BASEFARM-ASN Orange Business Digital Norway AS", - "asn": "AS25148", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "likely_carrier_or_isp", - "likely_carrier": true, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "PCB-AS Peder Christian Bach", - "operator_raw": "PCB-AS Peder Christian Bach", - "asn": "AS25201", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "LOGNO-AS CGI Norge AS", - "operator_raw": "LOGNO-AS CGI Norge AS", - "asn": "AS25225", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BROADNET-NO-AS GLOBALCONNECT AS", - "operator_raw": "BROADNET-NO-AS GLOBALCONNECT AS", - "asn": "AS25351", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELIA-NORWAY-AS Telia Norge AS", - "operator_raw": "TELIA-NORWAY-AS Telia Norge AS", - "asn": "AS25400", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ELKEM-AS ELKEM AS", - "operator_raw": "ELKEM-AS ELKEM AS", - "asn": "AS28795", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-EMPSECURE EMP SECURE AS", - "operator_raw": "ASN-EMPSECURE EMP SECURE AS", - "asn": "AS28824", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN4 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN4 Tietoevry Norway AS", - "asn": "AS29065", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "AS-DIRECTCONNECT BAHNHOF AS", - "operator_raw": "AS-DIRECTCONNECT BAHNHOF AS", - "asn": "AS29300", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TRANSDATA Transdata AS", - "operator_raw": "TRANSDATA Transdata AS", - "asn": "AS29479", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Webhuset-AS Webhuset AS", - "operator_raw": "Webhuset-AS Webhuset AS", - "asn": "AS29486", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "EIDSIVA-ASN EIDSIVA DIGITAL AS", - "operator_raw": "EIDSIVA-ASN EIDSIVA DIGITAL AS", - "asn": "AS29492", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SYSTEMNET-NO-AS Henning Solberg", - "operator_raw": "SYSTEMNET-NO-AS Henning Solberg", - "asn": "AS29607", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Altibox_AS Lyse Tele AS", - "operator_raw": "Altibox_AS Lyse Tele AS", - "asn": "AS29695", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SAFETY-AS Safety Computing AS", - "operator_raw": "SAFETY-AS Safety Computing AS", - "asn": "AS30737", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Eviny-AS30950 Eviny Fiber AS", - "operator_raw": "Eviny-AS30950 Eviny Fiber AS", - "asn": "AS30950", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, { "operator": "SB Professional Services", "operator_raw": "SB - SB Professional Services", diff --git a/library/scripts/research/out/tables/platform-reachability.json b/library/scripts/research/out/tables/platform-reachability.json index 9c4765a1..6f03d056 100644 --- a/library/scripts/research/out/tables/platform-reachability.json +++ b/library/scripts/research/out/tables/platform-reachability.json @@ -2755,42 +2755,6 @@ "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "X/Twitter", - "status": "accessible", - "measurements": 28710, - "confirmed_blocked": 1, - "block_pct": 0, - "anomaly": 295, - "anomaly_pct": 1, - "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "twitter.com, upload.twitter.com, x.com", - "absence_meaning": "", - "window": "2026-02-01..2026-08-01", - "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" - }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Discord", - "status": "accessible", - "measurements": 9115, - "confirmed_blocked": 1, - "block_pct": 0, - "anomaly": 12, - "anomaly_pct": 0.1, - "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "discord.com", - "absence_meaning": "", - "window": "2026-02-01..2026-08-01", - "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" - }, { "country": "Sweden", "iso3": "SWE", @@ -38076,16 +38040,16 @@ "iso3": "SJM", "region": "Europe", "platform": "WhatsApp", - "status": "accessible", - "measurements": 3297, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 87, - "anomaly_pct": 2.6, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.whatsapp.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38094,16 +38058,16 @@ "iso3": "SJM", "region": "Europe", "platform": "WeChat", - "status": "accessible", - "measurements": 4395, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 11, - "anomaly_pct": 0.3, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "web.wechat.com, www.wechat.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38112,16 +38076,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Telegram", - "status": "accessible", - "measurements": 3819, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 6, - "anomaly_pct": 0.2, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "telegram.org", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38130,16 +38094,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Signal", - "status": "accessible", - "measurements": 3921, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 1, - "anomaly_pct": 0, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "signal.org", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38148,16 +38112,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Messenger", - "status": "accessible", - "measurements": 902, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 11, - "anomaly_pct": 1.2, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.messenger.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38166,16 +38130,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Viber", - "status": "accessible", - "measurements": 3554, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 4, - "anomaly_pct": 0.1, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.viber.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38184,16 +38148,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Line", - "status": "accessible", - "measurements": 844, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 19, - "anomaly_pct": 2.3, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "line.me", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38202,16 +38166,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Facebook", - "status": "accessible", - "measurements": 27250, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 818, - "anomaly_pct": 3, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "0000-api.facebook.com, 01-api.facebook.com, edge-mqtt.facebook.com, facebook.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38220,16 +38184,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Instagram", - "status": "accessible", - "measurements": 22236, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 558, - "anomaly_pct": 2.5, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "edge-chat.instagram.com, i.instagram.com, www.instagram.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38238,16 +38202,16 @@ "iso3": "SJM", "region": "Europe", "platform": "YouTube", - "status": "accessible", - "measurements": 17593, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 118, - "anomaly_pct": 0.7, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "m.youtube.com, www.youtube.com, youtube.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38256,16 +38220,34 @@ "iso3": "SJM", "region": "Europe", "platform": "TikTok", - "status": "accessible", - "measurements": 8069, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 30, - "anomaly_pct": 0.4, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.tiktok.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", + "window": "2026-02-01..2026-08-01", + "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" + }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "X/Twitter", + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, + "people_groups": 1, + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38274,16 +38256,16 @@ "iso3": "SJM", "region": "Europe", "platform": "Reddit", - "status": "accessible", - "measurements": 3964, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 71, - "anomaly_pct": 1.8, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "www.reddit.com", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, @@ -38292,16 +38274,34 @@ "iso3": "SJM", "region": "Europe", "platform": "Wikipedia", - "status": "accessible", - "measurements": 11782, - "confirmed_blocked": 0, - "block_pct": 0, - "anomaly": 8, - "anomaly_pct": 0.1, + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, "people_groups": 1, - "probe_coverage": "ok", - "domains_measured": "ar.m.wikipedia.org, ar.wikipedia.org, ca.wikipedia.org, de.wikipedia.org", - "absence_meaning": "", + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", + "window": "2026-02-01..2026-08-01", + "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" + }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Discord", + "status": "not-measured", + "measurements": 0, + "confirmed_blocked": null, + "block_pct": null, + "anomaly": null, + "anomaly_pct": null, + "people_groups": 1, + "probe_coverage": "NONE — no OONI probe data for this country/window", + "domains_measured": "", + "absence_meaning": "OONI has no measurement for this platform in this country/window — NOT evidence it is accessible", "window": "2026-02-01..2026-08-01", "source": "OONI — Open Observatory of Network Interference (api.ooni.io, open, no key)" }, diff --git a/library/scripts/research/out/tables/social-platforms.json b/library/scripts/research/out/tables/social-platforms.json index 8f58c025..facfe20c 100644 --- a/library/scripts/research/out/tables/social-platforms.json +++ b/library/scripts/research/out/tables/social-platforms.json @@ -8600,19 +8600,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Facebook", - "share_pct": 75.49, - "is_top": true, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Aruba", "iso3": "ABW", @@ -9354,6 +9341,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Facebook", + "share_pct": 37.5, + "is_top": true, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Uzbekistan", "iso3": "UZB", @@ -9406,6 +9406,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Instagram", + "share_pct": 31.25, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Panama", "iso3": "PAN", @@ -9640,6 +9653,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Twitter", + "share_pct": 18.75, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "San Marino", "iso3": "SMR", @@ -9900,19 +9926,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Pinterest", - "share_pct": 12.9, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Eswatini", "iso3": "SWZ", @@ -9952,6 +9965,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Pinterest", + "share_pct": 12.5, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Uzbekistan", "iso3": "UZB", @@ -12162,19 +12188,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Instagram", - "share_pct": 3.75, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Bolivia", "iso3": "BOL", @@ -12422,19 +12435,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Twitter", - "share_pct": 3.46, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Paraguay", "iso3": "PRY", @@ -13202,19 +13202,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "reddit", - "share_pct": 2.34, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Albania", "iso3": "ALB", @@ -14151,19 +14138,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "YouTube", - "share_pct": 1.33, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Cuba", "iso3": "CUB", @@ -16127,19 +16101,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Tumblr", - "share_pct": 0.33, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Bahamas", "iso3": "BHS", @@ -16621,19 +16582,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "LinkedIn", - "share_pct": 0.16, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Senegal", "iso3": "SEN", diff --git a/package.json b/package.json index e9e490d6..0eeb9e95 100644 --- a/package.json +++ b/package.json @@ -151,6 +151,8 @@ "check:no-codename": "node internal/check-no-internal-codename.mjs", "check:no-conflict-markers": "node internal/check-no-conflict-markers.mjs", "check:no-conflict-markers:poison": "node internal/check-no-conflict-markers.mjs --poison", + "check:no-credentials-omit": "node internal/check-no-credentials-omit.mjs", + "check:no-credentials-omit:self-test": "node internal/check-no-credentials-omit.mjs --self-test", "check:no-cross-plugin-imports": "node internal/check-no-cross-plugin-imports.mjs", "check:no-cross-plugin-imports:self-test": "node internal/check-no-cross-plugin-imports.mjs --self-test", "check:no-eval": "node internal/check-no-eval.mjs", @@ -199,6 +201,7 @@ "check:setup-order": "node internal/check-setup-order.mjs", "check:sfc-parse": "node internal/check-sfc-script-parses.mjs", "check:shadow-css-parses": "node internal/check-shadow-css-parses.mjs", + "check:shadow-reduced-motion": "node internal/check-shadow-reduced-motion.mjs", "check:regions-uses-library": "node plugin-designs/regions-dashboard/scripts/check-regions-uses-library.mjs", "check:religion-label-not-value": "node plugin-designs/regions-dashboard/scripts/check-religion-label-not-value.mjs", "check:share-policy": "node internal/check-share-policy.mjs", @@ -238,7 +241,7 @@ "fix:sri": "node internal/fix-sri.mjs", "gallery": "node internal/generate-gallery.mjs", "gates:post": "node internal/run-parallel.mjs --label=post -- check:drop check:parse verify check:sri check:public-hygiene check:label-joins check:facet-cascade check:facet-one-field check:heartbeat check:kpi-unit check:composite-reg check:descriptions check:no-abs-paths check:no-codename check:dep-names check:composite-srcs check:embed-targets check:nested-token check:i18n-parity check:tabs-localized check:packets-all check:packet-strings-parity check:zone-census check:share-policy check:library-index check:csv-shape check:capability-citations check:catalog-identity check:no-orphan-gates check:quoted-scripts check:done-evidence check:script-flags check:backlog-status check:capability-exemplars check:packet-fixture check:packet-browser check:provider-switch check:locale-reachable check:url-resolver check:manifest-covers check:one-palette check:pin-dim-slider check:legend-source check:backlog-refs check:clustering-modes check:composite-embed-knobs check:composite-locale-leaks check:linked-vocabulary check:wp-embed check:dashboard-geocoder-provider check:leaf-engine-per-provider check:map-props-unit check:composites-mount check:composite-interop check:no-free-identifiers check:map-fly-reduced-motion check:mst-clustering check:list-prop-unit check:profiles-mount check:cdn-pins check:no-eval check:popup-escaping check:i18n-treeshake check:pinned-umd check:one-palette:self-test check:no-cross-plugin-imports check:no-cross-plugin-imports:self-test check:map-attribution check:studio-rail check:approx-pin-note check:embedder-keys check:provider-for check:legend-logical-insets check:legend-logical-insets:self-test check:optional-t-equivalence check:text-highlight check:religion-label-not-value check:i18n-stopped-scope check:no-silent-engine check:regions-uses-library check:shadow-css-parses", - "gates:pre": "node internal/run-parallel.mjs --label=pre -- check:template-literal check:mjs-parse check:sfc-parse check:tab-radius check:synced-css check:doc-scripts check:setup-order check:package-json-unique-keys", + "gates:pre": "node internal/run-parallel.mjs --label=pre -- check:template-literal check:mjs-parse check:sfc-parse check:tab-radius check:synced-css check:doc-scripts check:setup-order check:package-json-unique-keys check:no-credentials-omit check:no-credentials-omit:self-test check:shadow-reduced-motion", "gen:iso3-to-alpha2": "node library/scripts/generate-iso3-to-alpha2.mjs", "internet:adm1": "node plugin-designs/cities-internet/scripts/build-adm1-internet.mjs", "library-index": "node internal/generate-library-index.mjs", @@ -377,6 +380,8 @@ "check:no-abs-paths": "no /home/… or /Users/… in any TRACKED file (a clone must work on any machine)", "check:no-codename": "the development-era INTERNAL CODE NAME may not ship in any TRACKED file. Same hand-off family as check:no-abs-paths: meaningless to the Doxa team who inherit this, and invisible to every other gate (none read for vocabulary). Deliberately does NOT fail on the same letters appearing as the unix USERNAME inside a /home/… path — that is a portability defect check:no-abs-paths already reports better, and two gates disagreeing about one string teaches everyone to ignore both.", "check:no-conflict-markers": "Nothing tracked may carry an unresolved merge. Exists because a merge from this worktree committed a BUILT bundle with 21 conflict markers - both sides concatenated, 1.13MB - and every gospel leaf rendered dead while the SRI hash matched and every request returned 200. The cause was a landing script that resolved one expected file then ran \"git add -A public\", staging every other file including the ones still holding markers. For a built file: take either side, REBUILD, commit the rebuild, then run this before pushing. --poison for the negative test.", + "check:no-credentials-omit": "no data fetch in library/ or plugin-designs/ uses credentials:'omit': behind a login gate a same-origin request then drops the session and is refused (the Research Gallery's 'Could not load Big Picture'). 'same-origin' never sends credentials cross-origin. A deliberate omit says so on its line: // credentials-omit: .", + "check:no-credentials-omit:self-test": "a planted omit is caught; prose and an annotated site are not.", "check:no-cross-plugin-imports": "no plugin imports from another plugin's folder (src/, utils, data) by a relative path; shared code goes through library/ (@map/\u2026). A composite may mount another bundle's PUBLIC profile .vue. --self-test plants a crossing import.", "check:no-eval": "no built bundle contains new Function or eval (a strict CSP without 'unsafe-eval' must work), and vue-i18n in JIT mode renders real catalogue messages in en and ar with eval blocked. Headless.", "check:no-free-identifiers": "every name a .vue script uses is imported, declared, a parameter or a known global (scope-aware, across plugin-designs and library). A free identifier compiles and then throws at runtime in exactly the path nobody clicked.", @@ -406,6 +411,7 @@ "check:setup-order": "a line's POSITION in a setup block is not the MOMENT it runs, and two P0s from the agent's console came from that gap. ARM A: `watch(..., { immediate: true })` runs during setup, so anything it reaches must be declared ABOVE it - research-map.vue threw `Cannot access '_lastFitKey' before initialization` and blanked the whole map, because the watcher called a HOISTED function 350 lines down whose own constants were still in their temporal dead zone. A hoisted function promises that its NAME resolves early, not that its BODY can run early, and that asymmetry is invisible from both ends. ARM B: a lifecycle registrar closes over Vue's current instance, which exists only while setup is on the stack, so `onMounted(async () => { await init(); onBeforeUnmount(clean) })` drops the registration silently - DashboardMapPanel.vue leaked a ResizeObserver on document.body plus a window listener, warning only, feature working, and research-map.vue had a second copy this gate found. The fix is never 'move the line': declare the handle at setup scope and tear it down in a hook registered before the first await. Its own false positives are the interesting part - it went 6 hits -> 1 over three rounds, and every one it dropped was prose or shadowing read as code: `onBeforeUnmount` inside a console.error STRING, `table` inside `new Error(`table not found (${r.status})`)` in four files, and a `const [pins, byCountry]` destructured INSIDE the function, shadowing a computed 220 lines away. So it blanks comments, string text and template text (keeping ${...}, which is code) and subtracts every name a span declares for itself. Self-tests on both shipped defects, both fixes, and all three decoys; exits 3 if any arm goes blind.", "check:sfc-parse": "every .vue script block must parse as the BUILD parses it — catches the LIVE-CSS backtick that check:template-literal cannot see (it reads CSS comments only). 0 false positives on 83 files, where 3 lookahead heuristics scored 98 and 136.", "check:shadow-css-parses": "the CSS we assemble as JS STRINGS must parse as CSS — brace balance and declarations stranded outside any rule. check:sfc-parse proves only that the JS parses, so it passed a stylesheet with 9 orphaned declarations and braces at 12 open / 21 close (REGLIB batch 1); nothing else in the tree validates CSS syntax. Reads every useShadowStyles() argument off the @babel/parser AST the build already uses, because three hand-rolled lexers each produced a confident FALSE RED: a /* CSS comment */ read as a declaration, an apostrophe in a .vue prose header opening a phantom string literal, and a regex literal containing a quote. 9 self-tests run inline on every invocation, including the exact batch-1 damage, so it cannot silently stop being able to fail.", + "check:shadow-reduced-motion": "every animating library component honours prefers-reduced-motion: a page's own reset never crosses a shadow boundary, so useShadowStyles injects one per shadow root, and a component styled any other way must carry its own @media (prefers-reduced-motion: reduce) block. Self-test runs every time.", "check:shared-reached": "a shared library fix is only as deployed as the last rebuild of EVERY bundle that consumes it. Each bundle ships its own COMPILED copy, so a one-line fix in library/ is live in whichever bundles happened to be rebuilt after it and silently absent from the rest — and every other gate measures ONE leaf, which renders the old behaviour perfectly. Asserts a distinctive marker string per tracked change; consumers are DERIVED from imports, never hardcoded.", "check:shot-distinctness": "two README slots must not show the SAME view. README shipped \"List — page 1\" and \"page 2\" as the same picture: the shot chased a Next control and a scroll that DO NOT EXIST, every attempt inside try/catch so the miss was silent, and the PNGs differed by 0.16% render noise so no checksum caught them. Keys on url+VIEWPORT — same url at a different vp (deploy2 mobile) is intended.", "check:shot-fidelity": "warns when THIS machine cannot RENDER what the shots must SHOW. `bun run shots` printed 13x OK while every emoji rendered as a tofu box — a glyph fallback loads perfectly (0 console errors, 0 HTTP>=400), so the generator cannot see it. Reports by default; the `check:shot-fidelity:strict` script to block once an emoji font is installed.", diff --git a/plugin-designs/cities-internet/data/tables/messaging-channels.json b/plugin-designs/cities-internet/data/tables/messaging-channels.json index cfd2b784..847e00b0 100644 --- a/plugin-designs/cities-internet/data/tables/messaging-channels.json +++ b/plugin-designs/cities-internet/data/tables/messaging-channels.json @@ -2,7 +2,7 @@ "meta": { "title": "Messaging & App Channels", "grain": "one row per country x communication app", - "why": "Referral stats (StatCounter) structurally cannot see messaging apps. Measured here: WhatsApp (Messenger or Business) is the top messaging app in 73 countries, Telegram in 38 — neither appears in referral share at all.", + "why": "Referral stats (StatCounter) structurally cannot see messaging apps. Measured here: WhatsApp (Messenger or Business) is the top messaging app in 72 countries, Telegram in 38 — neither appears in referral share at all.", "ios_caveat": "iOS ONLY. Most of these countries are Android-majority and Google publishes no keyless equivalent, so this is one eye open. An app absent here is NOT absent in-country. 50 of 175 countries have no Apple storefront.", "ranking_caveat": "A top-free RANK is most-DOWNLOADED recently, not most-used.", "classification_caveat": "kind is a name-keyword HEURISTIC over a known list, not a verified taxonomy.", @@ -12125,19 +12125,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "WhatsApp Messenger", - "kind": "messaging", - "rank": 26, - "is_top_messaging": true, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Solomon Islands", "iso3": "SLB", @@ -14322,19 +14309,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "DramaWave - Dramas & Reels", - "kind": "short-video", - "rank": 42, - "is_top_messaging": false, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Solomon Islands", "iso3": "SLB", @@ -14946,19 +14920,6 @@ "classification": "name-keyword HEURISTIC, not a verified taxonomy", "source": "Apple App Store RSS — top free apps by country" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "app": "Threads", - "kind": "social", - "rank": 48, - "is_top_messaging": false, - "people_groups": 1, - "platform_bias": "iOS only — most of these countries are Android-majority; absence here is not absence in-country", - "classification": "name-keyword HEURISTIC, not a verified taxonomy", - "source": "Apple App Store RSS — top free apps by country" - }, { "country": "Eswatini", "iso3": "SWZ", diff --git a/plugin-designs/cities-internet/data/tables/network-operators.json b/plugin-designs/cities-internet/data/tables/network-operators.json index c8cd8443..8cb323a1 100644 --- a/plugin-designs/cities-internet/data/tables/network-operators.json +++ b/plugin-designs/cities-internet/data/tables/network-operators.json @@ -63813,726 +63813,6 @@ "resolution": "country", "source": "RIPEstat" }, - { - "operator": "SIKT - KUNNSKAPSSEKTORENS TJENESTELEVERANDOR", - "operator_raw": "UNINETT - SIKT - KUNNSKAPSSEKTORENS TJENESTELEVERANDOR", - "asn": "AS224", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "GlobalConnect-AS2116 GLOBALCONNECT AS", - "operator_raw": "GlobalConnect-AS2116 GLOBALCONNECT AS", - "asn": "AS2116", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR-NEXTEL Telenor Norge AS", - "operator_raw": "TELENOR-NEXTEL Telenor Norge AS", - "asn": "AS2119", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "GLOBALCONNECT-AS GLOBALCONNECT AS", - "operator_raw": "GLOBALCONNECT-AS GLOBALCONNECT AS", - "asn": "AS3307", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MARLINK-EMEA Marlink AS", - "operator_raw": "MARLINK-EMEA Marlink AS", - "asn": "AS5377", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "POWTECH-AS GLOBALCONNECT AS", - "operator_raw": "POWTECH-AS GLOBALCONNECT AS", - "asn": "AS5381", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SMARTHELP SMARTHELP AS", - "operator_raw": "SMARTHELP SMARTHELP AS", - "asn": "AS5485", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN1 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN1 Tietoevry Norway AS", - "asn": "AS5619", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BGNETT GLOBALCONNECT AS", - "operator_raw": "BGNETT GLOBALCONNECT AS", - "asn": "AS6709", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-SOGNFJORDFYLKE Vestland Fylkeskommune", - "operator_raw": "NO-SOGNFJORDFYLKE Vestland Fylkeskommune", - "asn": "AS6829", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR Telenor Norge AS", - "operator_raw": "TELENOR Telenor Norge AS", - "asn": "AS8210", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MARLINK-SK Marlink AS", - "operator_raw": "MARLINK-SK Marlink AS", - "asn": "AS8264", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ALFANETT Telenor Norge AS", - "operator_raw": "ALFANETT Telenor Norge AS", - "asn": "AS8394", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-GIGNETWORKS GIG Networks AS", - "operator_raw": "ASN-GIGNETWORKS GIG Networks AS", - "asn": "AS8478", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Eviny-AS8542 Eviny Fiber AS", - "operator_raw": "Eviny-AS8542 Eviny Fiber AS", - "asn": "AS8542", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELENOR-MOBIL Telenor Norge AS", - "operator_raw": "TELENOR-MOBIL Telenor Norge AS", - "asn": "AS8786", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "US-NYC-MARLINK-MSS Marlink AS", - "operator_raw": "US-NYC-MARLINK-MSS Marlink AS", - "asn": "AS8841", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "XFIBER-AS GLOBALCONNECT AS", - "operator_raw": "XFIBER-AS GLOBALCONNECT AS", - "asn": "AS8896", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "WHITEBIRD GLOBALCONNECT AS", - "operator_raw": "WHITEBIRD GLOBALCONNECT AS", - "asn": "AS9173", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Marlink-MPLS Marlink AS", - "operator_raw": "Marlink-MPLS Marlink AS", - "asn": "AS9207", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NETCOM-AS Telia Norge AS", - "operator_raw": "NETCOM-AS Telia Norge AS", - "asn": "AS12929", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "DOMENESHOP Domeneshop AS", - "operator_raw": "DOMENESHOP Domeneshop AS", - "asn": "AS12996", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Broadnet GLOBALCONNECT AS", - "operator_raw": "Broadnet GLOBALCONNECT AS", - "asn": "AS13052", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "DataGuard GLOBALCONNECT AS", - "operator_raw": "DataGuard GLOBALCONNECT AS", - "asn": "AS13069", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Ventelo-Comnet-ASN GLOBALCONNECT AS", - "operator_raw": "Ventelo-Comnet-ASN GLOBALCONNECT AS", - "asn": "AS13212", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN2 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN2 Tietoevry Norway AS", - "asn": "AS13243", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NEXTGENTEL NextGenTel AS", - "operator_raw": "NEXTGENTEL NextGenTel AS", - "asn": "AS15659", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN3 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN3 Tietoevry Norway AS", - "asn": "AS15688", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "MIMER Tafjord Connect AS", - "operator_raw": "MIMER Tafjord Connect AS", - "asn": "AS15765", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TGS-INT-NETWORK TELENOR LINX AS", - "operator_raw": "TGS-INT-NETWORK TELENOR LINX AS", - "asn": "AS15932", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SIMULAMET-CRNA Bryhni.com AS", - "operator_raw": "SIMULAMET-CRNA Bryhni.com AS", - "asn": "AS16065", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Signal Signal Bredband AS", - "operator_raw": "Signal Signal Bredband AS", - "asn": "AS16175", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "RINGNETT-NORWAY MODUM KABEL-TV AS", - "operator_raw": "RINGNETT-NORWAY MODUM KABEL-TV AS", - "asn": "AS16185", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-SSC IP Group AS", - "operator_raw": "ASN-SSC IP Group AS", - "asn": "AS16186", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "STAYON Tafjord Connect AS", - "operator_raw": "STAYON Tafjord Connect AS", - "asn": "AS16234", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Administrator Administrator Systems AS", - "operator_raw": "Administrator Administrator Systems AS", - "asn": "AS20741", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "KANDU-AS KANDU", - "operator_raw": "KANDU-AS KANDU", - "asn": "AS21067", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "WAN-NO iteam Braathe AS", - "operator_raw": "WAN-NO iteam Braathe AS", - "asn": "AS21119", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Schibsted Schibsted Media AS", - "operator_raw": "Schibsted Schibsted Media AS", - "asn": "AS21171", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-NRK Norsk Rikskringkasting AS", - "operator_raw": "ASN-NRK Norsk Rikskringkasting AS", - "asn": "AS21293", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "OSE-AS Oslo Bors ASA", - "operator_raw": "OSE-AS Oslo Bors ASA", - "asn": "AS21297", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "OKDN-AS Oslo kommune, Utviklings- og kompetanseetaten", - "operator_raw": "OKDN-AS Oslo kommune, Utviklings- og kompetanseetaten", - "asn": "AS21331", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Marlink AS", - "operator_raw": "MARLINK-AS-NET-AP - Marlink AS", - "asn": "AS24039", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-MFA Utenriksdepartementet", - "operator_raw": "ASN-MFA Utenriksdepartementet", - "asn": "AS25016", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BASEFARM-ASN Orange Business Digital Norway AS", - "operator_raw": "BASEFARM-ASN Orange Business Digital Norway AS", - "asn": "AS25148", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "likely_carrier_or_isp", - "likely_carrier": true, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "PCB-AS Peder Christian Bach", - "operator_raw": "PCB-AS Peder Christian Bach", - "asn": "AS25201", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "LOGNO-AS CGI Norge AS", - "operator_raw": "LOGNO-AS CGI Norge AS", - "asn": "AS25225", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "BROADNET-NO-AS GLOBALCONNECT AS", - "operator_raw": "BROADNET-NO-AS GLOBALCONNECT AS", - "asn": "AS25351", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TELIA-NORWAY-AS Telia Norge AS", - "operator_raw": "TELIA-NORWAY-AS Telia Norge AS", - "asn": "AS25400", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ELKEM-AS ELKEM AS", - "operator_raw": "ELKEM-AS ELKEM AS", - "asn": "AS28795", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "ASN-EMPSECURE EMP SECURE AS", - "operator_raw": "ASN-EMPSECURE EMP SECURE AS", - "asn": "AS28824", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "NO-TTSN-ASN4 Tietoevry Norway AS", - "operator_raw": "NO-TTSN-ASN4 Tietoevry Norway AS", - "asn": "AS29065", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "AS-DIRECTCONNECT BAHNHOF AS", - "operator_raw": "AS-DIRECTCONNECT BAHNHOF AS", - "asn": "AS29300", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "TRANSDATA Transdata AS", - "operator_raw": "TRANSDATA Transdata AS", - "asn": "AS29479", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Webhuset-AS Webhuset AS", - "operator_raw": "Webhuset-AS Webhuset AS", - "asn": "AS29486", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "EIDSIVA-ASN EIDSIVA DIGITAL AS", - "operator_raw": "EIDSIVA-ASN EIDSIVA DIGITAL AS", - "asn": "AS29492", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SYSTEMNET-NO-AS Henning Solberg", - "operator_raw": "SYSTEMNET-NO-AS Henning Solberg", - "asn": "AS29607", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Altibox_AS Lyse Tele AS", - "operator_raw": "Altibox_AS Lyse Tele AS", - "asn": "AS29695", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "SAFETY-AS Safety Computing AS", - "operator_raw": "SAFETY-AS Safety Computing AS", - "asn": "AS30737", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, - { - "operator": "Eviny-AS30950 Eviny Fiber AS", - "operator_raw": "Eviny-AS30950 Eviny Fiber AS", - "asn": "AS30950", - "country_iso3": "SJM", - "country_iso2": "NO", - "kind": "unclassified", - "likely_carrier": false, - "classification": "name-pattern HEURISTIC — not verified", - "resolution": "country", - "source": "RIPEstat" - }, { "operator": "SB Professional Services", "operator_raw": "SB - SB Professional Services", diff --git a/plugin-designs/cities-internet/data/tables/social-platforms.json b/plugin-designs/cities-internet/data/tables/social-platforms.json index 8f58c025..facfe20c 100644 --- a/plugin-designs/cities-internet/data/tables/social-platforms.json +++ b/plugin-designs/cities-internet/data/tables/social-platforms.json @@ -8600,19 +8600,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Facebook", - "share_pct": 75.49, - "is_top": true, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Aruba", "iso3": "ABW", @@ -9354,6 +9341,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Facebook", + "share_pct": 37.5, + "is_top": true, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Uzbekistan", "iso3": "UZB", @@ -9406,6 +9406,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Instagram", + "share_pct": 31.25, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Panama", "iso3": "PAN", @@ -9640,6 +9653,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Twitter", + "share_pct": 18.75, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "San Marino", "iso3": "SMR", @@ -9900,19 +9926,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Pinterest", - "share_pct": 12.9, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Eswatini", "iso3": "SWZ", @@ -9952,6 +9965,19 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, + { + "country": "Svalbard and Jan Mayen", + "iso3": "SJM", + "region": "Europe", + "platform": "Pinterest", + "share_pct": 12.5, + "is_top": false, + "month": "2026-09", + "people_groups": 1, + "messaging_apps": "unknown — not measured by this source", + "resolution": "country", + "source": "StatCounter GlobalStats" + }, { "country": "Uzbekistan", "iso3": "UZB", @@ -12162,19 +12188,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Instagram", - "share_pct": 3.75, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Bolivia", "iso3": "BOL", @@ -12422,19 +12435,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Twitter", - "share_pct": 3.46, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Paraguay", "iso3": "PRY", @@ -13202,19 +13202,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "reddit", - "share_pct": 2.34, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Albania", "iso3": "ALB", @@ -14151,19 +14138,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "YouTube", - "share_pct": 1.33, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Cuba", "iso3": "CUB", @@ -16127,19 +16101,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "Tumblr", - "share_pct": 0.33, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Bahamas", "iso3": "BHS", @@ -16621,19 +16582,6 @@ "resolution": "country", "source": "StatCounter GlobalStats" }, - { - "country": "Svalbard and Jan Mayen", - "iso3": "SJM", - "region": "Europe", - "platform": "LinkedIn", - "share_pct": 0.16, - "is_top": false, - "month": "2026-07", - "people_groups": 1, - "messaging_apps": "unknown — not measured by this source", - "resolution": "country", - "source": "StatCounter GlobalStats" - }, { "country": "Senegal", "iso3": "SEN", diff --git a/plugin-designs/dashboard-plus-grid/dashboard-plus-grid.vue b/plugin-designs/dashboard-plus-grid/dashboard-plus-grid.vue index fb728b85..fc7a97b9 100644 --- a/plugin-designs/dashboard-plus-grid/dashboard-plus-grid.vue +++ b/plugin-designs/dashboard-plus-grid/dashboard-plus-grid.vue @@ -298,9 +298,19 @@ const textDir = computed(() => { const l = hostLang.value || getRuntimeLocale() || detectLocale() return RTL_LOCALES.has(l) ? 'rtl' : 'ltr' }) +// ★ THE INSTANCE IS CAPTURED IN SETUP, NOT READ WHEN THIS RUNS, and that is the whole bug. +// getCurrentInstance() answers only while setup or a lifecycle hook is on the stack. reflectDir is +// called from BOTH — onMounted (where it works) and watch(textDir) (where there is no current +// instance, so the read returned null and nothing was reflected). So a host that set lang=ar before +// mount got dir=rtl correctly, and a host that SWITCHED to ar afterwards silently got nothing: +// first paint was right, which is exactly why this read as correct. Arabic then rendered in a +// left-to-right layout — the failure the comment above calls "a styling quirk rather than the bug +// it is". Measured in this tree before, under Vue 3.5.42, when research-map.vue's emitFilterState +// died the same way; the fix is its _selfInstance, and this is the same fix. +const _selfInstance = getCurrentInstance() function reflectDir() { try { - const host = getCurrentInstance()?.proxy?.$el?.getRootNode?.()?.host + const host = _selfInstance?.proxy?.$el?.getRootNode?.()?.host if (host && textDir.value === 'rtl') host.setAttribute('dir', 'rtl') } catch (_) { /* no host (SSR/tests) — nothing to reflect */ } } diff --git a/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue b/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue index c9cd3911..b2708306 100644 --- a/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue +++ b/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue @@ -1147,7 +1147,7 @@ export default defineComponent({ } const { url, root: treeRoot } = candidates[i] tried.push(url) - return fetch(url, { credentials: 'omit' }) + return fetch(url, { credentials: 'same-origin' }) .then(r => { if (!r || !r.ok) throw new Error(url + ' → HTTP ' + (r ? r.status : '?')); return r.json() }) .then(m => { if (!m) throw new Error(url + ' → empty') diff --git a/plugin-designs/plugin-studio/plugin-studio.vue b/plugin-designs/plugin-studio/plugin-studio.vue index d33d9d33..3238f3b4 100644 --- a/plugin-designs/plugin-studio/plugin-studio.vue +++ b/plugin-designs/plugin-studio/plugin-studio.vue @@ -745,7 +745,7 @@ export default defineComponent({ async fetchToken(url) { if (!/^https?:\/\//i.test(url)) throw new Error('not an http(s) URL') let res - try { res = await fetch(url, { cache: 'no-store', credentials: 'omit' }) } catch (e) { + try { res = await fetch(url, { cache: 'no-store', credentials: 'same-origin' }) } catch (e) { throw new Error('the request was blocked or the server did not answer (cross-origin rules can do this)') } if (!res.ok) throw new Error('HTTP ' + res.status) diff --git a/plugin-designs/research-dashboard/src/composables/useDashboardAggregations.js b/plugin-designs/research-dashboard/src/composables/useDashboardAggregations.js index 685d911e..d616ea63 100644 --- a/plugin-designs/research-dashboard/src/composables/useDashboardAggregations.js +++ b/plugin-designs/research-dashboard/src/composables/useDashboardAggregations.js @@ -54,8 +54,12 @@ import { PALETTE as RELIGION_PALETTE, RELIGION_FAMILIES, getReligionFamily } fro // Everything still in this file — colorFor and its hardcoded facet branches, the religion palettes, // the donut and bar builders — is research-specific and stays. DashboardChartsRail imports those and // is untouched by this commit. -export { lbl, aggregate, OTHER_KEY, otherLabel } from '@map/composables/useFacetAggregation.js' -import { lbl, aggregate } from '@map/composables/useFacetAggregation.js' +export { lbl, aggregate, OTHER_KEY, otherLabel, NEUTRAL } from '@map/composables/useFacetAggregation.js' +// NEUTRAL is imported as well as re-exported: colorFor() and buildCountryRegionColors() below read it +// five times as the "this facet has no palette for that key" colour. Kit landing 4c-1 moved it to the +// library and updated the re-export line but not this one, so every read threw ReferenceError and +// Big Picture's Religion and Region charts came up empty on both engines and both languages. +import { lbl, aggregate, NEUTRAL } from '@map/composables/useFacetAggregation.js' // Place: the facet emits the localized label but the authoritative palette is slug-keyed diff --git a/plugin-designs/research-map-plus-grid/research-map-plus-grid.vue b/plugin-designs/research-map-plus-grid/research-map-plus-grid.vue index 87e221d4..30afe418 100644 --- a/plugin-designs/research-map-plus-grid/research-map-plus-grid.vue +++ b/plugin-designs/research-map-plus-grid/research-map-plus-grid.vue @@ -147,9 +147,19 @@ const textDir = computed(() => { const l = hostLang.value || getRuntimeLocale() || detectLocale() return RTL_LOCALES.has(l) ? 'rtl' : 'ltr' }) +// ★ THE INSTANCE IS CAPTURED IN SETUP, NOT READ WHEN THIS RUNS, and that is the whole bug. +// getCurrentInstance() answers only while setup or a lifecycle hook is on the stack. reflectDir is +// called from BOTH — onMounted (where it works) and watch(textDir) (where there is no current +// instance, so the read returned null and nothing was reflected). So a host that set lang=ar before +// mount got dir=rtl correctly, and a host that SWITCHED to ar afterwards silently got nothing: +// first paint was right, which is exactly why this read as correct. Arabic then rendered in a +// left-to-right layout — the failure the comment above calls "a styling quirk rather than the bug +// it is". Measured in this tree before, under Vue 3.5.42, when research-map.vue's emitFilterState +// died the same way; the fix is its _selfInstance, and this is the same fix. +const _selfInstance = getCurrentInstance() function reflectDir() { try { - const host = getCurrentInstance()?.proxy?.$el?.getRootNode?.()?.host + const host = _selfInstance?.proxy?.$el?.getRootNode?.()?.host if (host && textDir.value === 'rtl') host.setAttribute('dir', 'rtl') } catch (_) { /* no host (SSR/tests) — nothing to reflect */ } } diff --git a/plugin-designs/wall-of-people-groups/src/components/PeopleGroupsWall.vue b/plugin-designs/wall-of-people-groups/src/components/PeopleGroupsWall.vue index 1a967407..01df5c75 100644 --- a/plugin-designs/wall-of-people-groups/src/components/PeopleGroupsWall.vue +++ b/plugin-designs/wall-of-people-groups/src/components/PeopleGroupsWall.vue @@ -47,7 +47,7 @@ export default { cardWidth: 50, cardHeight: 70, cardSpacing: 8, // Increased horizontal spacing (was 2) - cardVerticalSpacing: 3, // Separate vertical spacing + cardVerticalSpacing: 8, // same as the horizontal gap, so the rows don't read as one block canvasWidth: 0, canvasHeight: 0, isLandscape: true, @@ -364,7 +364,7 @@ export default { this._imgNodes = imgNodes; this._hd = new Set(); - this.$nextTick(() => this.updateLod()); + this.$nextTick(() => { this.applyStartView(); this.updateLod(); }); // Add action buttons row with FontAwesome icons - Instagram style const buttonY = this.cardHeight * 0.72; @@ -467,6 +467,23 @@ export default { return text.length > maxLength ? text.substring(0, maxLength) + '...' : text; }, + // ★ OPEN WHERE THE PHOTOS ARE. At the whole-wall view (zoom 1) a card is ~12-24 CSS px, under + // wallLod's 48 px threshold, so the wall opened as an empty grid of placeholders. Open instead at + // the top-left corner (the store sorts the biggest clusters first) with cards ~START_CARD_PX wide: + // photos show at once, and only the ~100 cards in view load (wallLod's cap is 300), so the memory + // win holds. The transform is in viewBox units; displayScale is computed exactly as updateLod does. + // "Reset Zoom" still goes to the whole wall. + applyStartView(tries = 0) { + if (!this.svg || !this._lodGrid || !this.zoom) return; + const r = this.svg.node().getBoundingClientRect(); + const displayScale = Math.min(r.width / this.canvasWidth, r.height / this.canvasHeight) || 0; + if (!displayScale) { if (tries < 20) requestAnimationFrame(() => this.applyStartView(tries + 1)); return; } + const START_CARD_PX = 96; + const kMax = this.zoom.scaleExtent()[1]; + const k = Math.max(1, Math.min(kMax, START_CARD_PX / (this._lodGrid.cw * displayScale))); + this.svg.call(this.zoom.transform, wallD3().zoomIdentity.scale(k)); + }, + resetZoom() { this.svg.transition() .duration(750) diff --git a/public/dx-maps/all-people-groups/all-people-groups.js b/public/dx-maps/all-people-groups/all-people-groups.js index 1168ee63..4e31a010 100644 --- a/public/dx-maps/all-people-groups/all-people-groups.js +++ b/public/dx-maps/all-people-groups/all-people-groups.js @@ -1,4 +1,4 @@ -(function(){"use strict";var Ao=typeof document<"u"?document.currentScript:null;const Cy="modulepreload",Py=function(e){return"/"+e},Ey={},od=function(t,o,n){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** +(function(){"use strict";var Ao=typeof document<"u"?document.currentScript:null;const Py="modulepreload",Ey=function(e){return"/"+e},Ny={},od=function(t,o,n){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Be;class Hi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Be&&(Be.active?(this.parent=Be,this.index=(Be.scopes||(Be.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Be===this)Be=this.prevScope;else{let t=Be;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(Vo){let t=Vo;for(Vo=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;qo;){let t=qo;for(qo=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Wi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qi(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),ja(n),fd(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Ga(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Yo)||(e.globalVersion=Yo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ga(e))))return;e.flags|=2;const t=e.dep,o=Ce,n=gt;Ce=e,gt=!0;try{Wi(e);const a=e.fn(e._value);(t.version===0||yt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ce=o,gt=n,qi(e),e.flags&=-3}}function ja(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)ja(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function fd(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let gt=!0;const Yi=[];function St(){Yi.push(gt),gt=!1}function vt(){const e=Yi.pop();gt=e===void 0?!0:e}function Ji(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ce;Ce=void 0;try{t()}finally{Ce=o}}}let Yo=0;class md{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ua{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ce||!gt||Ce===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ce)o=this.activeLink=new md(Ce,this),Ce.deps?(o.prevDep=Ce.depsTail,Ce.depsTail.nextDep=o,Ce.depsTail=o):Ce.deps=Ce.depsTail=o,Xi(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Ce.depsTail,o.nextDep=void 0,Ce.depsTail.nextDep=o,Ce.depsTail=o,Ce.deps===o&&(Ce.deps=n)}return o}trigger(t){this.version++,Yo++,this.notify(t)}notify(t){Ba();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ha()}}}function Xi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Xi(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Rn=new WeakMap,co=Symbol(""),Ka=Symbol(""),Jo=Symbol("");function Ye(e,t,o){if(gt&&Ce){let n=Rn.get(e);n||Rn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Ua),a.map=n,a.key=o),a.track()}}function It(e,t,o,n,a,s){const i=Rn.get(e);if(!i){Yo++;return}const r=l=>{l&&l.trigger()};if(Ba(),t==="clear")i.forEach(r);else{const l=ne(e),c=l&&Nn(o);if(l&&o==="length"){const u=Number(n);i.forEach((g,f)=>{(f==="length"||f===Jo||!at(f)&&f>=u)&&r(g)})}else switch((o!==void 0||i.has(void 0))&&r(i.get(o)),c&&r(i.get(Jo)),t){case"add":l?c&&r(i.get("length")):(r(i.get(co)),Vt(e)&&r(i.get(Ka)));break;case"delete":l||(r(i.get(co)),Vt(e)&&r(i.get(Ka)));break;case"set":Vt(e)&&r(i.get(co));break}}Ha()}function bd(e,t){const o=Rn.get(e);return o&&o.get(t)}function wo(e){const t=$e(e);return t===e?t:(Ye(t,"iterate",Jo),st(e)?t:t.map(ht))}function Dn(e){return Ye(e=$e(e),"iterate",Jo),e}function At(e,t){return Ft(e)?To(xt(e)?ht(t):t):ht(t)}const _d={__proto__:null,[Symbol.iterator](){return Wa(this,Symbol.iterator,e=>At(this,e))},concat(...e){return wo(this).concat(...e.map(t=>ne(t)?wo(t):t))},entries(){return Wa(this,"entries",e=>(e[1]=At(this,e[1]),e))},every(e,t){return Mt(this,"every",e,t,void 0,arguments)},filter(e,t){return Mt(this,"filter",e,t,o=>o.map(n=>At(this,n)),arguments)},find(e,t){return Mt(this,"find",e,t,o=>At(this,o),arguments)},findIndex(e,t){return Mt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Mt(this,"findLast",e,t,o=>At(this,o),arguments)},findLastIndex(e,t){return Mt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Mt(this,"forEach",e,t,void 0,arguments)},includes(...e){return qa(this,"includes",e)},indexOf(...e){return qa(this,"indexOf",e)},join(e){return wo(this).join(e)},lastIndexOf(...e){return qa(this,"lastIndexOf",e)},map(e,t){return Mt(this,"map",e,t,void 0,arguments)},pop(){return Xo(this,"pop")},push(...e){return Xo(this,"push",e)},reduce(e,...t){return Zi(this,"reduce",e,t)},reduceRight(e,...t){return Zi(this,"reduceRight",e,t)},shift(){return Xo(this,"shift")},some(e,t){return Mt(this,"some",e,t,void 0,arguments)},splice(...e){return Xo(this,"splice",e)},toReversed(){return wo(this).toReversed()},toSorted(e){return wo(this).toSorted(e)},toSpliced(...e){return wo(this).toSpliced(...e)},unshift(...e){return Xo(this,"unshift",e)},values(){return Wa(this,"values",e=>At(this,e))}};function Wa(e,t,o){const n=Dn(e),a=n[t]();return n!==e&&!st(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const $d=Array.prototype;function Mt(e,t,o,n,a,s){const i=Dn(e),r=i!==e&&!st(e),l=i[t];if(l!==$d[t]){const g=l.apply(e,s);return r?ht(g):g}let c=o;i!==e&&(r?c=function(g,f){return o.call(this,At(e,g),f,e)}:o.length>2&&(c=function(g,f){return o.call(this,g,f,e)}));const u=l.call(i,c,n);return r&&a?a(u):u}function Zi(e,t,o,n){const a=Dn(e),s=a!==e&&!st(e);let i=o,r=!1;a!==e&&(s?(r=n.length===0,i=function(c,u,g){return r&&(r=!1,c=At(e,c)),o.call(this,c,At(e,u),g,e)}):o.length>3&&(i=function(c,u,g){return o.call(this,c,u,g,e)}));const l=a[t](i,...n);return r?At(e,l):l}function qa(e,t,o){const n=$e(e);Ye(n,"iterate",Jo);const a=n[t](...o);return(a===-1||a===!1)&&Un(o[0])?(o[0]=$e(o[0]),n[t](...o)):a}function Xo(e,t,o=[]){St(),Ba();const n=$e(e)[t].apply(e,o);return Ha(),vt(),n}const yd=xa("__proto__,__v_isRef,__isVue"),Qi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(at));function Sd(e){at(e)||(e=String(e));const t=$e(this);return Ye(t,"has",e),t.hasOwnProperty(e)}class er{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?ir:sr:s?ar:nr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=ne(t);if(!a){let l;if(i&&(l=_d[o]))return l;if(o==="hasOwnProperty")return Sd}const r=Reflect.get(t,o,Me(t)?t:n);if((at(o)?Qi.has(o):yd(o))||(a||Ye(t,"get",o),s))return r;if(Me(r)){const l=i&&Nn(o)?r:r.value;return a&&Ae(l)?Ya(l):l}return Ae(r)?a?Ya(r):Gn(r):r}}class tr extends er{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const i=ne(t)&&Nn(o);if(!this._isShallow){const c=Ft(s);if(!st(n)&&!Ft(n)&&(s=$e(s),n=$e(n)),!i&&Me(s)&&!Me(n))return c||(s.value=n),!0}const r=i?Number(o)e,zn=e=>Reflect.getPrototypeOf(e);function Td(e,t,o){return function(...n){const a=this.__v_raw,s=$e(a),i=Vt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...n),u=o?Va:t?To:ht;return!t&&Ye(s,"iterate",l?Ka:co),Oe(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:r?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function Bn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ld(e,t){const o={get(a){const s=this.__v_raw,i=$e(s),r=$e(a);e||(yt(a,r)&&Ye(i,"get",a),Ye(i,"get",r));const{has:l}=zn(i),c=t?Va:e?To:ht;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Ye($e(a),"iterate",co),a.size},has(a){const s=this.__v_raw,i=$e(s),r=$e(a);return e||(yt(a,r)&&Ye(i,"has",a),Ye(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=$e(r),c=t?Va:e?To:ht;return!e&&Ye(l,"iterate",co),r.forEach((u,g)=>a.call(s,c(u),c(g),i))}};return Oe(o,e?{add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear")}:{add(a){const s=$e(this),i=zn(s),r=$e(a),l=!t&&!st(a)&&!Ft(a)?r:a;return i.has.call(s,l)||yt(a,l)&&i.has.call(s,a)||yt(r,l)&&i.has.call(s,r)||(s.add(l),It(s,"add",l,l)),this},set(a,s){!t&&!st(s)&&!Ft(s)&&(s=$e(s));const i=$e(this),{has:r,get:l}=zn(i);let c=r.call(i,a);c||(a=$e(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?yt(s,u)&&It(i,"set",a,s):It(i,"add",a,s),this},delete(a){const s=$e(this),{has:i,get:r}=zn(s);let l=i.call(s,a);l||(a=$e(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&It(s,"delete",a,void 0),c},clear(){const a=$e(this),s=a.size!==0,i=a.clear();return s&&It(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Td(a,e,t)}),o}function Hn(e,t){const o=Ld(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(ve(o,a)&&a in n?o:n,a,s)}const Cd={get:Hn(!1,!1)},Pd={get:Hn(!1,!0)},Ed={get:Hn(!0,!1)},Nd={get:Hn(!0,!0)},nr=new WeakMap,ar=new WeakMap,sr=new WeakMap,ir=new WeakMap;function Id(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gn(e){return Ft(e)?e:jn(e,!1,vd,Cd,nr)}function Md(e){return jn(e,!1,kd,Pd,ar)}function Ya(e){return jn(e,!0,Ad,Ed,sr)}function Iy(e){return jn(e,!0,wd,Nd,ir)}function jn(e,t,o,n,a){if(!Ae(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Id(ad(e));if(i===0)return e;const r=new Proxy(e,i===2?n:o);return a.set(e,r),r}function xt(e){return Ft(e)?xt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ft(e){return!!(e&&e.__v_isReadonly)}function st(e){return!!(e&&e.__v_isShallow)}function Un(e){return e?!!e.__v_raw:!1}function $e(e){const t=e&&e.__v_raw;return t?$e(t):e}function Zo(e){return!ve(e,"__v_skip")&&Object.isExtensible(e)&&xi(e,"__v_skip",!0),e}const ht=e=>Ae(e)?Gn(e):e,To=e=>Ae(e)?Ya(e):e;function Me(e){return e?e.__v_isRef===!0:!1}function ce(e){return rr(e,!1)}function Ja(e){return rr(e,!0)}function rr(e,t){return Me(e)?e:new xd(e,t)}class xd{constructor(t,o){this.dep=new Ua,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:$e(t),this._value=o?t:ht(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||st(t)||Ft(t);t=n?t:$e(t),yt(t,o)&&(this._rawValue=t,this._value=n?t:ht(t),this.dep.trigger())}}function Je(e){return Me(e)?e.value:e}const Fd={get:(e,t,o)=>t==="__v_raw"?e:Je(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Me(a)&&!Me(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function lr(e){return xt(e)?e:new Proxy(e,Fd)}function Od(e){const t=ne(e)?new Array(e.length):{};for(const o in e)t[o]=Dd(e,o);return t}class Rd{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=at(o)?o:String(o),this._raw=$e(t);let a=!0,s=t;if(!ne(t)||at(this._key)||!Nn(this._key))do a=!Un(s)||st(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=Je(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Me(this._raw[this._key])){const o=this._object[this._key];if(Me(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return bd(this._raw,this._key)}}function Dd(e,t,o){return new Rd(e,t,o)}class zd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ua(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Yo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ce!==this)return Ki(this,!0),!0}get value(){const t=this.dep.track();return Vi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Bd(e,t,o=!1){let n,a;return le(e)?n=e:(n=e.get,a=e.set),new zd(n,a,o)}const Kn={},Wn=new WeakMap;let uo;function Hd(e,t=!1,o=uo){if(o){let n=Wn.get(o);n||Wn.set(o,n=[]),n.push(e)}}function Gd(e,t,o=Te){const{immediate:n,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=o,c=m=>a?m:st(m)||a===!1||a===0?Ot(m,1):Ot(m);let u,g,f,k,w=!1,S=!1;if(Me(e)?(g=()=>e.value,w=st(e)):xt(e)?(g=()=>c(e),w=!0):ne(e)?(S=!0,w=e.some(m=>xt(m)||st(m)),g=()=>e.map(m=>{if(Me(m))return m.value;if(xt(m))return c(m);if(le(m))return l?l(m,2):m()})):le(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){St();try{f()}finally{vt()}}const m=uo;uo=u;try{return l?l(e,3,[k]):e(k)}finally{uo=m}}:g=$t,t&&a){const m=g,T=a===!0?1/0:a;g=()=>Ot(m(),T)}const I=Gi(),N=()=>{u.stop(),I&&I.active&&Fa(I.effects,u)};if(s&&t){const m=t;t=(...T)=>{const P=m(...T);return N(),P}}let A=S?new Array(e.length).fill(Kn):Kn;const $=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const T=u.run();if(m||a||w||(S?T.some((P,b)=>yt(P,A[b])):yt(T,A))){f&&f();const P=uo;uo=u;try{const b=[T,A===Kn?void 0:S&&A[0]===Kn?[]:A,k];A=T,l?l(t,3,b):t(...b)}finally{uo=P}}}else u.run()};return r&&r($),u=new ji(g),u.scheduler=i?()=>i($,!1):$,k=m=>Hd(m,!1,u),f=u.onStop=()=>{const m=Wn.get(u);if(m){if(l)l(m,4);else for(const T of m)T();Wn.delete(u)}},t?n?$(!0):A=u.run():i?i($.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function Ot(e,t=1/0,o){if(t<=0||!Ae(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Me(e))Ot(e.value,t,o);else if(ne(e))for(let n=0;n{Ot(n,t,o)});else if(En(e)){for(const n in e)Ot(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ot(e[n],t,o)}return e}/** +**/let Be;class Hi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Be&&(Be.active?(this.parent=Be,this.index=(Be.scopes||(Be.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Be===this)Be=this.prevScope;else{let t=Be;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(Vo){let t=Vo;for(Vo=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;qo;){let t=qo;for(qo=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Wi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qi(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),ja(n),fd(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Ga(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Yo)||(e.globalVersion=Yo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ga(e))))return;e.flags|=2;const t=e.dep,o=Ce,n=gt;Ce=e,gt=!0;try{Wi(e);const a=e.fn(e._value);(t.version===0||yt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ce=o,gt=n,qi(e),e.flags&=-3}}function ja(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)ja(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function fd(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let gt=!0;const Yi=[];function St(){Yi.push(gt),gt=!1}function vt(){const e=Yi.pop();gt=e===void 0?!0:e}function Ji(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ce;Ce=void 0;try{t()}finally{Ce=o}}}let Yo=0;class md{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ua{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ce||!gt||Ce===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ce)o=this.activeLink=new md(Ce,this),Ce.deps?(o.prevDep=Ce.depsTail,Ce.depsTail.nextDep=o,Ce.depsTail=o):Ce.deps=Ce.depsTail=o,Xi(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Ce.depsTail,o.nextDep=void 0,Ce.depsTail.nextDep=o,Ce.depsTail=o,Ce.deps===o&&(Ce.deps=n)}return o}trigger(t){this.version++,Yo++,this.notify(t)}notify(t){Ba();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ha()}}}function Xi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Xi(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Rn=new WeakMap,co=Symbol(""),Ka=Symbol(""),Jo=Symbol("");function Ye(e,t,o){if(gt&&Ce){let n=Rn.get(e);n||Rn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Ua),a.map=n,a.key=o),a.track()}}function It(e,t,o,n,a,s){const i=Rn.get(e);if(!i){Yo++;return}const r=l=>{l&&l.trigger()};if(Ba(),t==="clear")i.forEach(r);else{const l=ne(e),c=l&&Nn(o);if(l&&o==="length"){const u=Number(n);i.forEach((g,f)=>{(f==="length"||f===Jo||!at(f)&&f>=u)&&r(g)})}else switch((o!==void 0||i.has(void 0))&&r(i.get(o)),c&&r(i.get(Jo)),t){case"add":l?c&&r(i.get("length")):(r(i.get(co)),Vt(e)&&r(i.get(Ka)));break;case"delete":l||(r(i.get(co)),Vt(e)&&r(i.get(Ka)));break;case"set":Vt(e)&&r(i.get(co));break}}Ha()}function bd(e,t){const o=Rn.get(e);return o&&o.get(t)}function wo(e){const t=$e(e);return t===e?t:(Ye(t,"iterate",Jo),st(e)?t:t.map(ht))}function Dn(e){return Ye(e=$e(e),"iterate",Jo),e}function At(e,t){return Ft(e)?To(xt(e)?ht(t):t):ht(t)}const _d={__proto__:null,[Symbol.iterator](){return Wa(this,Symbol.iterator,e=>At(this,e))},concat(...e){return wo(this).concat(...e.map(t=>ne(t)?wo(t):t))},entries(){return Wa(this,"entries",e=>(e[1]=At(this,e[1]),e))},every(e,t){return Mt(this,"every",e,t,void 0,arguments)},filter(e,t){return Mt(this,"filter",e,t,o=>o.map(n=>At(this,n)),arguments)},find(e,t){return Mt(this,"find",e,t,o=>At(this,o),arguments)},findIndex(e,t){return Mt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Mt(this,"findLast",e,t,o=>At(this,o),arguments)},findLastIndex(e,t){return Mt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Mt(this,"forEach",e,t,void 0,arguments)},includes(...e){return qa(this,"includes",e)},indexOf(...e){return qa(this,"indexOf",e)},join(e){return wo(this).join(e)},lastIndexOf(...e){return qa(this,"lastIndexOf",e)},map(e,t){return Mt(this,"map",e,t,void 0,arguments)},pop(){return Xo(this,"pop")},push(...e){return Xo(this,"push",e)},reduce(e,...t){return Zi(this,"reduce",e,t)},reduceRight(e,...t){return Zi(this,"reduceRight",e,t)},shift(){return Xo(this,"shift")},some(e,t){return Mt(this,"some",e,t,void 0,arguments)},splice(...e){return Xo(this,"splice",e)},toReversed(){return wo(this).toReversed()},toSorted(e){return wo(this).toSorted(e)},toSpliced(...e){return wo(this).toSpliced(...e)},unshift(...e){return Xo(this,"unshift",e)},values(){return Wa(this,"values",e=>At(this,e))}};function Wa(e,t,o){const n=Dn(e),a=n[t]();return n!==e&&!st(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const $d=Array.prototype;function Mt(e,t,o,n,a,s){const i=Dn(e),r=i!==e&&!st(e),l=i[t];if(l!==$d[t]){const g=l.apply(e,s);return r?ht(g):g}let c=o;i!==e&&(r?c=function(g,f){return o.call(this,At(e,g),f,e)}:o.length>2&&(c=function(g,f){return o.call(this,g,f,e)}));const u=l.call(i,c,n);return r&&a?a(u):u}function Zi(e,t,o,n){const a=Dn(e),s=a!==e&&!st(e);let i=o,r=!1;a!==e&&(s?(r=n.length===0,i=function(c,u,g){return r&&(r=!1,c=At(e,c)),o.call(this,c,At(e,u),g,e)}):o.length>3&&(i=function(c,u,g){return o.call(this,c,u,g,e)}));const l=a[t](i,...n);return r?At(e,l):l}function qa(e,t,o){const n=$e(e);Ye(n,"iterate",Jo);const a=n[t](...o);return(a===-1||a===!1)&&Un(o[0])?(o[0]=$e(o[0]),n[t](...o)):a}function Xo(e,t,o=[]){St(),Ba();const n=$e(e)[t].apply(e,o);return Ha(),vt(),n}const yd=xa("__proto__,__v_isRef,__isVue"),Qi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(at));function Sd(e){at(e)||(e=String(e));const t=$e(this);return Ye(t,"has",e),t.hasOwnProperty(e)}class er{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?ir:sr:s?ar:nr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=ne(t);if(!a){let l;if(i&&(l=_d[o]))return l;if(o==="hasOwnProperty")return Sd}const r=Reflect.get(t,o,Me(t)?t:n);if((at(o)?Qi.has(o):yd(o))||(a||Ye(t,"get",o),s))return r;if(Me(r)){const l=i&&Nn(o)?r:r.value;return a&&Ae(l)?Ya(l):l}return Ae(r)?a?Ya(r):Gn(r):r}}class tr extends er{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const i=ne(t)&&Nn(o);if(!this._isShallow){const c=Ft(s);if(!st(n)&&!Ft(n)&&(s=$e(s),n=$e(n)),!i&&Me(s)&&!Me(n))return c||(s.value=n),!0}const r=i?Number(o)e,zn=e=>Reflect.getPrototypeOf(e);function Td(e,t,o){return function(...n){const a=this.__v_raw,s=$e(a),i=Vt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...n),u=o?Va:t?To:ht;return!t&&Ye(s,"iterate",l?Ka:co),Oe(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:r?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function Bn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ld(e,t){const o={get(a){const s=this.__v_raw,i=$e(s),r=$e(a);e||(yt(a,r)&&Ye(i,"get",a),Ye(i,"get",r));const{has:l}=zn(i),c=t?Va:e?To:ht;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Ye($e(a),"iterate",co),a.size},has(a){const s=this.__v_raw,i=$e(s),r=$e(a);return e||(yt(a,r)&&Ye(i,"has",a),Ye(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=$e(r),c=t?Va:e?To:ht;return!e&&Ye(l,"iterate",co),r.forEach((u,g)=>a.call(s,c(u),c(g),i))}};return Oe(o,e?{add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear")}:{add(a){const s=$e(this),i=zn(s),r=$e(a),l=!t&&!st(a)&&!Ft(a)?r:a;return i.has.call(s,l)||yt(a,l)&&i.has.call(s,a)||yt(r,l)&&i.has.call(s,r)||(s.add(l),It(s,"add",l,l)),this},set(a,s){!t&&!st(s)&&!Ft(s)&&(s=$e(s));const i=$e(this),{has:r,get:l}=zn(i);let c=r.call(i,a);c||(a=$e(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?yt(s,u)&&It(i,"set",a,s):It(i,"add",a,s),this},delete(a){const s=$e(this),{has:i,get:r}=zn(s);let l=i.call(s,a);l||(a=$e(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&It(s,"delete",a,void 0),c},clear(){const a=$e(this),s=a.size!==0,i=a.clear();return s&&It(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Td(a,e,t)}),o}function Hn(e,t){const o=Ld(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(ve(o,a)&&a in n?o:n,a,s)}const Cd={get:Hn(!1,!1)},Pd={get:Hn(!1,!0)},Ed={get:Hn(!0,!1)},Nd={get:Hn(!0,!0)},nr=new WeakMap,ar=new WeakMap,sr=new WeakMap,ir=new WeakMap;function Id(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gn(e){return Ft(e)?e:jn(e,!1,vd,Cd,nr)}function Md(e){return jn(e,!1,kd,Pd,ar)}function Ya(e){return jn(e,!0,Ad,Ed,sr)}function My(e){return jn(e,!0,wd,Nd,ir)}function jn(e,t,o,n,a){if(!Ae(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Id(ad(e));if(i===0)return e;const r=new Proxy(e,i===2?n:o);return a.set(e,r),r}function xt(e){return Ft(e)?xt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ft(e){return!!(e&&e.__v_isReadonly)}function st(e){return!!(e&&e.__v_isShallow)}function Un(e){return e?!!e.__v_raw:!1}function $e(e){const t=e&&e.__v_raw;return t?$e(t):e}function Zo(e){return!ve(e,"__v_skip")&&Object.isExtensible(e)&&xi(e,"__v_skip",!0),e}const ht=e=>Ae(e)?Gn(e):e,To=e=>Ae(e)?Ya(e):e;function Me(e){return e?e.__v_isRef===!0:!1}function ce(e){return rr(e,!1)}function Ja(e){return rr(e,!0)}function rr(e,t){return Me(e)?e:new xd(e,t)}class xd{constructor(t,o){this.dep=new Ua,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:$e(t),this._value=o?t:ht(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||st(t)||Ft(t);t=n?t:$e(t),yt(t,o)&&(this._rawValue=t,this._value=n?t:ht(t),this.dep.trigger())}}function Je(e){return Me(e)?e.value:e}const Fd={get:(e,t,o)=>t==="__v_raw"?e:Je(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Me(a)&&!Me(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function lr(e){return xt(e)?e:new Proxy(e,Fd)}function Od(e){const t=ne(e)?new Array(e.length):{};for(const o in e)t[o]=Dd(e,o);return t}class Rd{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=at(o)?o:String(o),this._raw=$e(t);let a=!0,s=t;if(!ne(t)||at(this._key)||!Nn(this._key))do a=!Un(s)||st(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=Je(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Me(this._raw[this._key])){const o=this._object[this._key];if(Me(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return bd(this._raw,this._key)}}function Dd(e,t,o){return new Rd(e,t,o)}class zd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ua(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Yo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ce!==this)return Ki(this,!0),!0}get value(){const t=this.dep.track();return Vi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Bd(e,t,o=!1){let n,a;return le(e)?n=e:(n=e.get,a=e.set),new zd(n,a,o)}const Kn={},Wn=new WeakMap;let uo;function Hd(e,t=!1,o=uo){if(o){let n=Wn.get(o);n||Wn.set(o,n=[]),n.push(e)}}function Gd(e,t,o=Te){const{immediate:n,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=o,c=m=>a?m:st(m)||a===!1||a===0?Ot(m,1):Ot(m);let u,g,f,k,w=!1,S=!1;if(Me(e)?(g=()=>e.value,w=st(e)):xt(e)?(g=()=>c(e),w=!0):ne(e)?(S=!0,w=e.some(m=>xt(m)||st(m)),g=()=>e.map(m=>{if(Me(m))return m.value;if(xt(m))return c(m);if(le(m))return l?l(m,2):m()})):le(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){St();try{f()}finally{vt()}}const m=uo;uo=u;try{return l?l(e,3,[k]):e(k)}finally{uo=m}}:g=$t,t&&a){const m=g,T=a===!0?1/0:a;g=()=>Ot(m(),T)}const I=Gi(),N=()=>{u.stop(),I&&I.active&&Fa(I.effects,u)};if(s&&t){const m=t;t=(...T)=>{const P=m(...T);return N(),P}}let A=S?new Array(e.length).fill(Kn):Kn;const $=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const T=u.run();if(m||a||w||(S?T.some((P,b)=>yt(P,A[b])):yt(T,A))){f&&f();const P=uo;uo=u;try{const b=[T,A===Kn?void 0:S&&A[0]===Kn?[]:A,k];A=T,l?l(t,3,b):t(...b)}finally{uo=P}}}else u.run()};return r&&r($),u=new ji(g),u.scheduler=i?()=>i($,!1):$,k=m=>Hd(m,!1,u),f=u.onStop=()=>{const m=Wn.get(u);if(m){if(l)l(m,4);else for(const T of m)T();Wn.delete(u)}},t?n?$(!0):A=u.run():i?i($.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function Ot(e,t=1/0,o){if(t<=0||!Ae(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Me(e))Ot(e.value,t,o);else if(ne(e))for(let n=0;n{Ot(n,t,o)});else if(En(e)){for(const n in e)Ot(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ot(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Qo=[];let Xa=!1;function My(e,...t){if(Xa)return;Xa=!0,St();const o=Qo.length?Qo[Qo.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=jd();if(n)Lo(n,o,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${rl(o,s.type)}>`).join(` +**/const Qo=[];let Xa=!1;function xy(e,...t){if(Xa)return;Xa=!0,St();const o=Qo.length?Qo[Qo.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=jd();if(n)Lo(n,o,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${rl(o,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` `,...Ud(a)),console.warn(...s)}vt(),Xa=!1}function jd(){let e=Qo[Qo.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function Ud(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Kd(o))}),t}function Kd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${rl(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Wd(e.props),s]:[a+s]}function Wd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...cr(n,e[n]))}),o.length>3&&t.push(" ..."),t}function cr(e,t,o){return Le(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Me(t)?(t=cr(e,$e(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):le(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=$e(t),o?t:[`${e}=`,t])}function Lo(e,t,o,n){try{return n?e(...n):e()}catch(a){en(a,t,o)}}function ft(e,t,o,n){if(le(e)){const a=Lo(e,t,o,n);return a&&Ii(a)&&a.catch(s=>{en(s,t,o)}),a}if(ne(e)){const a=[];for(let s=0;s>>1,a=Xe[n],s=tn(a);s=tn(o)?Xe.push(e):Xe.splice(Vd(t),0,e),e.flags|=1,dr()}}function dr(){qn||(qn=ur.then(hr))}function Yd(e){if(!ne(e))Yt&&e.id===-1?Yt.splice(Po+1,0,e):e.flags&1||(Co.push(e),e.flags|=1);else for(let t=0;ttn(o)-tn(n));if(Co.length=0,Yt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function hr(e){try{for(kt=0;kt{n._d&&sa(-1);const s=Vn(t),i=Dt.length;let r;try{r=e(...a)}finally{for(let l=Dt.length;l>i;l--)bs();Vn(s),n._d&&sa(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Jd(e,t){if(Ue===null)return e;const o=ca(Ue),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&le(t)?t.call(n&&n.proxy):t}}function Xd(){return!!(Ct()||fo)}const Zd=Symbol.for("v-scx"),Qd=()=>De(Zd);function ep(e,t){return Qa(e,null,t)}function ut(e,t,o){return Qa(e,t,o)}function Qa(e,t,o=Te){const{immediate:n,deep:a,flush:s,once:i}=o,r=Oe({},o),l=t&&n||!t&&s!=="post";let c;if(Mo){if(s==="sync"){const k=Qd();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=$t,k.resume=$t,k.pause=$t,k}}const u=We;r.call=(k,w,S)=>ft(k,u,w,S);let g=!1;s==="post"?r.scheduler=k=>{Qe(k,u&&u.suspense)}:s!=="sync"&&(g=!0,r.scheduler=(k,w)=>{w?k():Za(k)}),r.augmentJob=k=>{t&&(k.flags|=4),g&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const f=Gd(e,t,r);return Mo&&(c?c.push(f):l&&f()),f}function tp(e,t,o){const n=this.proxy,a=Le(e)?e.includes(".")?mr(n,e):()=>n[e]:e.bind(n,n);let s;le(t)?s=t:(s=t.handler,o=t);const i=hn(this),r=Qa(a,s.bind(n),o);return i(),r}function mr(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,ho=e=>e&&(e.disabled||e.disabled===""),op=e=>e&&(e.defer||e.defer===""),_r=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$r=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,es=(e,t)=>{const o=e&&e.to;return Le(o)?t?t(o):null:o},np={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,i,r,l,c){const{mc:u,pc:g,pbc:f,o:{insert:k,querySelector:w,createText:S,createComment:I,parentNode:N}}=c,A=ho(t.props);let{dynamicChildren:$}=t;const m=(b,E,y)=>{b.shapeFlag&16&&u(b.children,E,y,a,s,i,r,l)},T=(b=t)=>{const E=ho(b.props),y=b.target=es(b.props,w),j=ts(y,b,S,k);y&&(i!=="svg"&&_r(y)?i="svg":i!=="mathml"&&$r(y)&&(i="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(y),E||(m(b,y,j),on(b,!1)))},P=b=>{const E=()=>{if(Jt.get(b)===E){if(Jt.delete(b),ho(b.props)){const y=N(b.el)||o;m(b,y,b.anchor),on(b,!0)}T(b)}};Jt.set(b,E),Qe(E,s)};if(e==null){const b=t.el=S(""),E=t.anchor=S("");if(k(b,o,n),k(E,o,n),op(t.props)||s&&s.pendingBranch){P(t);return}A&&(m(t,o,E),on(t,!0)),T()}else{t.el=e.el;const b=t.anchor=e.anchor,E=Jt.get(e);if(E){E.flags|=8,Jt.delete(e),P(t);return}t.targetStart=e.targetStart;const y=t.target=e.target,j=t.targetAnchor=e.targetAnchor,Z=ho(e.props),B=Z?o:y,Q=Z?b:j;if(i==="svg"||_r(y)?i="svg":(i==="mathml"||$r(y))&&(i="mathml"),$?(f(e.dynamicChildren,$,B,a,s,i,r),fs(e,t,!0)):l||g(e,t,B,Q,a,s,i,r,!1),A)Z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xn(t,o,b,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ie=es(t.props,w);ie&&(t.target=ie,Xn(t,ie,null,c,0))}else Z&&Xn(t,y,j,c,1);on(t,A)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:i,children:r,anchor:l,targetStart:c,targetAnchor:u,target:g,props:f}=e,k=ho(f),w=s||!k,S=Jt.get(e);if(S&&(S.flags|=8,Jt.delete(e)),g&&(a(c),a(u)),s&&a(l),!S&&(k||g)&&i&16)for(let I=0;I1){for(const o of e)if(o.type!==wt){t=o;break}}return t}function yr(e){if(!ea(e))return Jn(e.type)&&e.children?ip(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&le(o.default))return o.default()}}function ns(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ns(Jn(o.type)&&yr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function nn(e,t){return le(e)?Oe({name:e.name},t,{setup:e}):e}function as(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Sr(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Zn=new WeakMap;function an(e,t,o,n,a=!1){if(ne(e)){e.forEach((S,I)=>an(S,t&&(ne(t)?t[I]:t),o,n,a));return}if(Eo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&an(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?ca(n.component):n.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===Te?r.refs={}:r.refs,g=r.setupState,f=$e(g),k=g===Te?Ei:S=>Sr(u,S)?!1:ve(f,S),w=(S,I)=>!(I&&Sr(u,I));if(c!=null&&c!==l){if(vr(t),Le(c))u[c]=null,k(c)&&(g[c]=null);else if(Me(c)){const S=t;w(c,S.k)&&(c.value=null),S.k&&(u[S.k]=null)}}if(le(l))Lo(l,r,12,[i,u]);else{const S=Le(l),I=Me(l);if(S||I){const N=()=>{if(e.f){const A=S?k(l)?g[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)ne(A)&&Fa(A,s);else if(ne(A))A.includes(s)||A.push(s);else if(S)u[l]=[s],k(l)&&(g[l]=u[l]);else{const $=[s];w(l,e.k)&&(l.value=$),e.k&&(u[e.k]=$)}}else S?(u[l]=i,k(l)&&(g[l]=i)):I&&(w(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const A=()=>{N(),Zn.delete(e)};A.id=-1,Zn.set(e,A),Qe(A,o)}else vr(e),N()}}}function vr(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const Ar=e=>e.nodeType===8;xn().requestIdleCallback,xn().cancelIdleCallback;function rp(e,t){if(Ar(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Ar(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Eo=e=>!!e.type.__asyncLoader;function lp(e){le(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,k()),k=()=>{let w;return c||(w=c=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),l)return new Promise((I,N)=>{l(S,()=>I(f()),()=>N(S),g+1)});throw S}).then(S=>w!==c&&c?c:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),u=S,S)))};return nn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,S,I){const N=w.isConnected;let A=!1;(S.bu||(S.bu=[])).push(()=>A=!0);const $=()=>{A||!w.parentNode||N&&!w.isConnected||I()},m=s?()=>{const T=s($,P=>rp(w,P));T&&(S.bum||(S.bum=[])).push(T)}:$;u?m():k().then(()=>!S.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const w=We;if(as(w),u)return()=>Qn(u,w);const S=T=>{c=null,en(T,w,13,!n)};if(r&&w.suspense||Mo)return k().then(T=>()=>Qn(T,w)).catch(T=>(S(T),()=>n?xe(n,{error:T}):null));const I=ce(!1),N=ce(),A=ce(!!a);let $,m;return oa(()=>{$!=null&&clearTimeout($),m!=null&&clearTimeout(m)}),a&&(m=setTimeout(()=>{w.isUnmounted||(A.value=!1)},a)),i!=null&&($=setTimeout(()=>{if(!w.isUnmounted&&!I.value&&!N.value){const T=new Error(`Async component timed out after ${i}ms.`);S(T),N.value=T}},i)),k().then(()=>{w.isUnmounted||(I.value=!0,w.parent&&ea(w.parent.vnode)&&w.parent.update())}).catch(T=>{if(w.isUnmounted){c=null;return}S(T),N.value=T}),()=>{if(I.value&&u)return Qn(u,w);if(N.value&&n)return xe(n,{error:N.value});if(o&&!A.value)return Qn(o,w)}}})}function Qn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,i=xe(e,n,a);return i.ref=o,i.ce=s,delete t.vnode.ce,i}const ea=e=>e.type.__isKeepAlive;function cp(e,t){kr(e,"a",t)}function up(e,t){kr(e,"da",t)}function kr(e,t,o=We){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(ta(t,n,o),o){let a=o.parent;for(;a&&a.parent;)ea(a.parent.vnode)&&dp(n,t,o,a),a=a.parent}}function dp(e,t,o,n){const a=ta(t,e,n,!0);oa(()=>{Fa(n[t],a)},o)}function ta(e,t,o=We,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...i)=>{St();const r=hn(o),l=ft(t,o,e,i);return r(),vt(),l});return n?a.unshift(s):a.push(s),s}}const Rt=e=>(t,o=We)=>{(!Mo||e==="sp")&&ta(e,(...n)=>t(...n),o)},wr=Rt("bm"),No=Rt("m"),pp=Rt("bu"),gp=Rt("u"),sn=Rt("bum"),oa=Rt("um"),hp=Rt("sp"),fp=Rt("rtg"),mp=Rt("rtc");function bp(e,t=We){ta("ec",e,t)}const _p="components",Tr=Symbol.for("v-ndc");function Lr(e){return Le(e)?$p(_p,e,!1)||e:e||Tr}function $p(e,t,o=!0,n=!1){const a=Ue||We;if(a){const s=a.type;{const r=il(s,!1);if(r&&(r===t||r===Ge(t)||r===Mn(Ge(t))))return s}const i=Cr(a[e]||s[e],t)||Cr(a.appContext[e],t);return!i&&n?s:i}}function Cr(e,t){return e&&(e[t]||e[Ge(t)]||e[Mn(Ge(t))])}function ss(e,t,o,n){let a;const s=o,i=ne(e);if(i||Le(e)){const r=i&&xt(e);let l=!1,c=!1;r&&(l=!st(e),c=Ft(e),e=Dn(e)),a=new Array(e.length);for(let u=0,g=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;l0;return ke(),bo(Ke,null,[xe("slot",c,n)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const r=Dt.length;ke();let l;try{const c=i&&Pr(i(o)),u=o.key||s||c&&c.key;l=bo(Ke,{key:(u&&!at(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Dt.length;u>r;u--)bs();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Pr(e){return e.some(t=>dn(t)?!(t.type===wt||t.type===Ke&&!Pr(t.children)):!0)?e:null}const rs=e=>e?nl(e)?ca(e):rs(e.parent):null,rn=Oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>rs(e.parent),$root:e=>rs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Mr(e),$forceUpdate:e=>e.f||(e.f=()=>{Za(e.update)}),$nextTick:e=>e.n||(e.n=po.bind(e.proxy)),$watch:e=>tp.bind(e)}),ls=(e,t)=>e!==Te&&!e.__isScriptSetup&&ve(e,t),yp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const f=i[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(ls(n,t))return i[t]=1,n[t];if(a!==Te&&ve(a,t))return i[t]=2,a[t];if(ve(s,t))return i[t]=3,s[t];if(o!==Te&&ve(o,t))return i[t]=4,o[t];cs&&(i[t]=0)}}const c=rn[t];let u,g;if(c)return t==="$attrs"&&Ye(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(o!==Te&&ve(o,t))return i[t]=4,o[t];if(g=l.config.globalProperties,ve(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return ls(a,t)?(a[t]=o,!0):n!==Te&&ve(n,t)?(n[t]=o,!0):ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:i}},r){let l;return!!(o[r]||e!==Te&&r[0]!=="$"&&ve(e,r)||ls(t,r)||ve(s,r)||ve(n,r)||ve(rn,r)||ve(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ve(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Er(e){return ne(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let cs=!0;function Sp(e){const t=Mr(e),o=e.proxy,n=e.ctx;cs=!1,t.beforeCreate&&Nr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:k,updated:w,activated:S,deactivated:I,beforeDestroy:N,beforeUnmount:A,destroyed:$,unmounted:m,render:T,renderTracked:P,renderTriggered:b,errorCaptured:E,serverPrefetch:y,expose:j,inheritAttrs:Z,components:B,directives:Q,filters:ie}=t;if(c&&vp(c,n,null),i)for(const z in i){const D=i[z];le(D)&&(n[z]=D.bind(o))}if(a){const z=a.call(o,o);Ae(z)&&(e.data=Gn(z))}if(cs=!0,s)for(const z in s){const D=s[z],ee=le(D)?D.bind(o,o):le(D.get)?D.get.bind(o,o):$t,pe=!le(D)&&le(D.set)?D.set.bind(o):$t,fe=ye({get:ee,set:pe});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>fe.value,set:W=>fe.value=W})}if(r)for(const z in r)Ir(r[z],n,o,z);if(l){const z=le(l)?l.call(o):l;Reflect.ownKeys(z).forEach(D=>{it(D,z[D])})}u&&Nr(u,e,"c");function V(z,D){ne(D)?D.forEach(ee=>z(ee.bind(o))):D&&z(D.bind(o))}if(V(wr,g),V(No,f),V(pp,k),V(gp,w),V(cp,S),V(up,I),V(bp,E),V(mp,P),V(fp,b),V(sn,A),V(oa,m),V(hp,y),ne(j))if(j.length){const z=e.exposed||(e.exposed={});j.forEach(D=>{Object.defineProperty(z,D,{get:()=>o[D],set:ee=>o[D]=ee,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===$t&&(e.render=T),Z!=null&&(e.inheritAttrs=Z),B&&(e.components=B),Q&&(e.directives=Q),y&&as(e)}function vp(e,t,o=$t){ne(e)&&(e=us(e));for(const n in e){const a=e[n];let s;Ae(a)?"default"in a?s=De(a.from||n,a.default,!0):s=De(a.from||n):s=De(a),Me(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[n]=s}}function Nr(e,t,o){ft(ne(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Ir(e,t,o,n){let a=n.includes(".")?mr(o,n):()=>o[n];if(Le(e)){const s=t[e];le(s)&&ut(a,s)}else if(le(e))ut(a,e.bind(o));else if(Ae(e))if(ne(e))e.forEach(s=>Ir(s,t,o,n));else{const s=le(e.handler)?e.handler.bind(o):t[e.handler];le(s)&&ut(a,s,e)}}function Mr(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>na(l,c,i,!0)),na(l,t,i)),Ae(t)&&s.set(t,l),l}function na(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&na(e,s,o,!0),a&&a.forEach(i=>na(e,i,o,!0));for(const i in t)if(!(n&&i==="expose")){const r=Ap[i]||o&&o[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Ap={data:xr,props:Fr,emits:Fr,methods:ln,computed:ln,beforeCreate:Ze,created:Ze,beforeMount:Ze,mounted:Ze,beforeUpdate:Ze,updated:Ze,beforeDestroy:Ze,beforeUnmount:Ze,destroyed:Ze,unmounted:Ze,activated:Ze,deactivated:Ze,errorCaptured:Ze,serverPrefetch:Ze,components:ln,directives:ln,watch:wp,provide:xr,inject:kp};function xr(e,t){return t?e?function(){return Oe(le(e)?e.call(this,this):e,le(t)?t.call(this,this):t)}:t:e}function kp(e,t){return ln(us(e),us(t))}function us(e){if(ne(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ge(t)}Modifiers`]||e[`${ct(t)}Modifiers`];function Pp(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Te;let a=o;const s=t.startsWith("update:"),i=s&&Cp(n,t.slice(7));i&&(i.trim&&(a=o.map(u=>Le(u)?u.trim():u)),i.number&&(a=a.map(rd)));let r,l=n[r=Oa(t)]||n[r=Oa(Ge(t))];!l&&s&&(l=n[r=Oa(ct(t))]),l&&ft(l,e,6,a);const c=n[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ft(c,e,6,a)}}const Ep=new WeakMap;function Rr(e,t,o=!1){const n=o?Ep:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!le(e)){const l=c=>{const u=Rr(c,t,!0);u&&(r=!0,Oe(i,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(Ae(e)&&n.set(e,null),null):(ne(s)?s.forEach(l=>i[l]=null):Oe(i,s),Ae(e)&&n.set(e,i),i)}function aa(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ve(e,t[0].toLowerCase()+t.slice(1))||ve(e,ct(t))||ve(e,t))}function xy(){}function Dr(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:g,data:f,setupState:k,ctx:w,inheritAttrs:S}=e,I=Vn(e);let N,A;try{if(o.shapeFlag&4){const m=a||n,T=m;N=Tt(c.call(T,m,u,g,k,f,w)),A=r}else{const m=t;N=Tt(m.length>1?m(g,{attrs:r,slots:i,emit:l}):m(g,null)),A=t.props?r:Np(r)}}catch(m){Dt.length=0,en(m,e,1),N=xe(wt)}let $=N;if(A&&S!==!1){const m=Object.keys(A),{shapeFlag:T}=$;m.length&&T&7&&(s&&m.some(Cn)&&(A=Ip(A,s)),$=Io($,A,!1,!0))}if(o.dirs&&($=Io($,null,!1,!0),$.dirs=$.dirs?$.dirs.concat(o.dirs):o.dirs),o.transition){const m=Jn($.type)&&yr($)||$;ns(m,o.transition)}return N=$,Vn(I),N}const Np=e=>{let t;for(const o in e)(o==="class"||o==="style"||Ln(o))&&((t||(t={}))[o]=e[o]);return t},Ip=(e,t)=>{const o={};for(const n in e)(!Cn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Mp(e,t,o){const{props:n,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?zr(n,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Hr),jr=e=>Object.getPrototypeOf(e)===Hr;function Fp(e,t,o,n=!1){const a={},s=Gr();e.propsDefaults=Object.create(null),Ur(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);o?e.props=n?a:Md(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Op(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=$e(a),[l]=e.propsOptions;let c=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[f,k]=Kr(g,t,!0);Oe(i,f),k&&r.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ae(e)&&n.set(e,ko),ko;if(ne(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",gs=e=>ne(e)?e.map(Tt):[Tt(e)],Dp=(e,t,o)=>{if(t._n)return t;const n=Yn((...a)=>gs(t(...a)),o);return n._c=!1,n},qr=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ps(a))continue;const s=e[a];if(le(s))t[a]=Dp(a,s,n);else if(s!=null){const i=gs(s);t[a]=()=>i}}},Vr=(e,t)=>{const o=gs(t);e.slots.default=()=>o},Yr=(e,t,o)=>{for(const n in t)(o||!ps(n))&&(e[n]=t[n])},zp=(e,t,o)=>{const n=e.slots=Gr();if(e.vnode.shapeFlag&32){const a=t._;a?(Yr(n,t,o),o&&xi(n,"_",a,!0)):qr(t,n)}else t&&Vr(e,t)},Bp=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,i=Te;if(n.shapeFlag&32){const r=t._;r?o&&r===1?s=!1:Yr(a,t,o):(s=!t.$stable,qr(t,a)),i=t}else t&&(Vr(e,t),i={default:1});if(s)for(const r in a)!ps(r)&&i[r]==null&&delete a[r]},Qe=Kp;function Hp(e){return Gp(e)}function Gp(e,t){const o=xn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:k=$t,insertStaticContent:w}=e,S=(h,v,_,M=null,R=null,O=null,K=void 0,U=null,d=!!v.dynamicChildren)=>{if(h===v)return;h&&!pn(h,v)&&(M=ge(h),W(h,R,O,!0),h=null),v.patchFlag===-2&&(d=!1,v.dynamicChildren=null);const{type:p,ref:C,shapeFlag:x}=v;switch(p){case cn:I(h,v,_,M);break;case wt:N(h,v,_,M);break;case ms:h==null&&A(v,_,M,K);break;case Ke:B(h,v,_,M,R,O,K,U,d);break;default:x&1?T(h,v,_,M,R,O,K,U,d):x&6?Q(h,v,_,M,R,O,K,U,d):(x&64||x&128)&&p.process(h,v,_,M,R,O,K,U,d,re)}C!=null&&R?an(C,h&&h.ref,O,v||h,!v):C==null&&h&&h.ref!=null&&an(h.ref,null,O,h,!0)},I=(h,v,_,M)=>{if(h==null)n(v.el=r(v.children),_,M);else{const R=v.el=h.el;v.children!==h.children&&c(R,v.children)}},N=(h,v,_,M)=>{h==null?n(v.el=l(v.children||""),_,M):v.el=h.el},A=(h,v,_,M)=>{[h.el,h.anchor]=w(h.children,v,_,M,h.el,h.anchor)},$=({el:h,anchor:v},_,M)=>{let R;for(;h&&h!==v;)R=f(h),n(h,_,M),h=R;n(v,_,M)},m=({el:h,anchor:v})=>{let _;for(;h&&h!==v;)_=f(h),a(h),h=_;a(v)},T=(h,v,_,M,R,O,K,U,d)=>{if(v.type==="svg"?K="svg":v.type==="math"&&(K="mathml"),h==null)P(v,_,M,R,O,K,U,d);else{const p=h.el&&h.el._isVueCE?h.el:null;try{p&&p._beginPatch(),y(h,v,R,O,K,U,d)}finally{p&&p._endPatch()}}},P=(h,v,_,M,R,O,K,U)=>{let d,p;const{props:C,shapeFlag:x,transition:q,dirs:H}=h;if(d=h.el=i(h.type,O,C&&C.is,C),x&8?u(d,h.children):x&16&&E(h.children,d,null,M,R,hs(h,O),K,U),H&&go(h,null,M,"created"),b(d,h,h.scopeId,K,M),C){for(const F in C)F!=="value"&&!Ko(F)&&s(d,F,null,C[F],O,M);"value"in C&&s(d,"value",null,C.value,O),(p=C.onVnodeBeforeMount)&&Lt(p,M,h)}H&&go(h,null,M,"beforeMount");const L=jp(R,q);L&&q.beforeEnter(d),n(d,v,_),((p=C&&C.onVnodeMounted)||L||H)&&Qe(()=>{try{p&&Lt(p,M,h),L&&q.enter(d),H&&go(h,null,M,"mounted")}finally{}},R)},b=(h,v,_,M,R)=>{if(_&&k(h,_),M)for(let O=0;O{for(let p=d;p{const U=v.el=h.el;let{patchFlag:d,dynamicChildren:p,dirs:C}=v;d|=h.patchFlag&16;const x=h.props||Te,q=v.props||Te;let H;if(_&&mo(_,!1),(H=q.onVnodeBeforeUpdate)&&Lt(H,_,v,h),C&&go(v,h,_,"beforeUpdate"),_&&mo(_,!0),p&&(!h.dynamicChildren||h.dynamicChildren.length!==p.length)&&(d=0,K=!1,p=null),(x.innerHTML&&q.innerHTML==null||x.textContent&&q.textContent==null)&&u(U,""),p?j(h.dynamicChildren,p,U,_,M,hs(v,R),O):K||D(h,v,U,null,_,M,hs(v,R),O,!1),d>0){if(d&16)Z(U,x,q,_,R);else if(d&2&&x.class!==q.class&&s(U,"class",null,q.class,R),d&4&&s(U,"style",x.style,q.style,R),d&8){const L=v.dynamicProps;for(let F=0;F{H&&Lt(H,_,v,h),C&&go(v,h,_,"updated")},M)},j=(h,v,_,M,R,O,K)=>{for(let U=0;U{if(v!==_){if(v!==Te)for(const O in v)!Ko(O)&&!(O in _)&&s(h,O,v[O],null,R,M);for(const O in _){if(Ko(O))continue;const K=_[O],U=v[O];K!==U&&O!=="value"&&s(h,O,U,K,R,M)}"value"in _&&s(h,"value",v.value,_.value,R)}},B=(h,v,_,M,R,O,K,U,d)=>{const p=v.el=h?h.el:r(""),C=v.anchor=h?h.anchor:r("");let{patchFlag:x,dynamicChildren:q,slotScopeIds:H}=v;H&&(U=U?U.concat(H):H),h==null?(n(p,_,M),n(C,_,M),E(v.children||[],_,C,R,O,K,U,d)):x>0&&x&64&&q&&h.dynamicChildren&&h.dynamicChildren.length===q.length?(j(h.dynamicChildren,q,_,R,O,K,U),(v.key!=null||R&&v===R.subTree)&&fs(h,v,!0)):D(h,v,_,C,R,O,K,U,d)},Q=(h,v,_,M,R,O,K,U,d)=>{v.slotScopeIds=U,h==null?v.shapeFlag&512?R.ctx.activate(v,_,M,K,d):ie(v,_,M,R,O,K,d):G(h,v,d)},ie=(h,v,_,M,R,O,K)=>{const U=h.component=Xp(h,M,R);if(ea(h)&&(U.ctx.renderer=re),Zp(U,!1,K),U.asyncDep){if(R&&R.registerDep(U,V,K),!h.el){const d=U.subTree=xe(wt);N(null,d,v,_),h.placeholder=d.el}}else V(U,h,v,_,R,O,K)},G=(h,v,_)=>{const M=v.component=h.component;if(Mp(h,v,_))if(M.asyncDep&&!M.asyncResolved){z(M,v,_);return}else M.next=v,M.update();else v.el=h.el,M.vnode=v},V=(h,v,_,M,R,O,K)=>{const U=()=>{if(h.isMounted){let{next:x,bu:q,u:H,parent:L,vnode:F}=h;{const Ve=Jr(h);if(Ve){x&&(x.el=F.el,z(h,x,K)),Ve.asyncDep.then(()=>{Qe(()=>{h.isUnmounted||p()},R)});return}}let oe=x,he;mo(h,!1),x?(x.el=F.el,z(h,x,K)):x=F,q&&Ra(q),(he=x.props&&x.props.onVnodeBeforeUpdate)&&Lt(he,L,x,F),mo(h,!0);const Ee=Dr(h),tt=h.subTree;h.subTree=Ee,S(tt,Ee,g(tt.el),ge(tt),h,R,O),x.el=Ee.el,oe===null&&xp(h,Ee.el),H&&Qe(H,R),(he=x.props&&x.props.onVnodeUpdated)&&Qe(()=>Lt(he,L,x,F),R)}else{let x;const{el:q,props:H}=v,{bm:L,m:F,parent:oe,root:he,type:Ee}=h,tt=Eo(v);mo(h,!1),L&&Ra(L),!tt&&(x=H&&H.onVnodeBeforeMount)&&Lt(x,oe,v),mo(h,!0);{he.ce&&he.ce._hasShadowRoot()&&he.ce._injectChildStyle(Ee,h.parent?h.parent.type:void 0);const Ve=h.subTree=Dr(h);S(null,Ve,_,M,h,R,O),v.el=Ve.el}if(F&&Qe(F,R),!tt&&(x=H&&H.onVnodeMounted)){const Ve=v;Qe(()=>Lt(x,oe,Ve),R)}(v.shapeFlag&256||oe&&Eo(oe.vnode)&&oe.vnode.shapeFlag&256)&&h.a&&Qe(h.a,R),h.isMounted=!0,v=_=M=null}};h.scope.on();const d=h.effect=new ji(U);h.scope.off();const p=h.update=d.run.bind(d),C=h.job=d.runIfDirty.bind(d);C.i=h,C.id=h.uid,d.scheduler=()=>Za(C),mo(h,!0),p()},z=(h,v,_)=>{v.component=h;const M=h.vnode.props;h.vnode=v,h.next=null,Op(h,v.props,M,_),Bp(h,v.children,_),St(),pr(h),vt()},D=(h,v,_,M,R,O,K,U,d=!1)=>{const p=h&&h.children,C=h?h.shapeFlag:0,x=v.children,{patchFlag:q,shapeFlag:H}=v;if(q>0){if(q&128){pe(p,x,_,M,R,O,K,U,d);return}else if(q&256){ee(p,x,_,M,R,O,K,U,d);return}}H&8?(C&16&&X(p,R,O),x!==p&&u(_,x)):C&16?H&16?pe(p,x,_,M,R,O,K,U,d):X(p,R,O,!0):(C&8&&u(_,""),H&16&&E(x,_,M,R,O,K,U,d))},ee=(h,v,_,M,R,O,K,U,d)=>{h=h||ko,v=v||ko;const p=h.length,C=v.length,x=Math.min(p,C);let q;for(q=0;qC?X(h,R,O,!0,!1,x):E(v,_,M,R,O,K,U,d,x)},pe=(h,v,_,M,R,O,K,U,d)=>{let p=0;const C=v.length;let x=h.length-1,q=C-1;for(;p<=x&&p<=q;){const H=h[p],L=v[p]=d?Bt(v[p]):Tt(v[p]);if(pn(H,L))S(H,L,_,null,R,O,K,U,d);else break;p++}for(;p<=x&&p<=q;){const H=h[x],L=v[q]=d?Bt(v[q]):Tt(v[q]);if(pn(H,L))S(H,L,_,null,R,O,K,U,d);else break;x--,q--}if(p>x){if(p<=q){const H=q+1,L=Hq)for(;p<=x;)W(h[p],R,O,!0),p++;else{const H=p,L=p,F=new Map;for(p=L;p<=q;p++){const lt=v[p]=d?Bt(v[p]):Tt(v[p]);lt.key!=null&&F.set(lt.key,p)}let oe,he=0;const Ee=q-L+1;let tt=!1,Ve=0;const vo=new Array(Ee);for(p=0;p=Ee){W(lt,R,O,!0);continue}let Nt;if(lt.key!=null)Nt=F.get(lt.key);else for(oe=L;oe<=q;oe++)if(vo[oe-L]===0&&pn(lt,v[oe])){Nt=oe;break}Nt===void 0?W(lt,R,O,!0):(vo[Nt-L]=p+1,Nt>=Ve?Ve=Nt:tt=!0,S(lt,v[Nt],_,null,R,O,K,U,d),he++)}const Pi=tt?Up(vo):ko;for(oe=Pi.length-1,p=Ee-1;p>=0;p--){const lt=L+p,Nt=v[lt],ed=v[lt+1],td=lt+1{const{el:O,type:K,transition:U,children:d,shapeFlag:p}=h;if(p&6){fe(h.component.subTree,v,_,M);return}if(p&128){h.suspense.move(v,_,M);return}if(p&64){K.move(h,v,_,re);return}if(K===Ke){n(O,v,_);for(let x=0;xU.enter(O),R));else{const{leave:x,delayLeave:q,afterLeave:H}=U,L=()=>{h.ctx.isUnmounted?a(O):n(O,v,_)},F=()=>{const oe=O._isLeaving||!!O[os];O._isLeaving&&O[os](!0),U.persisted&&!oe?L():x(O,()=>{L(),H&&H()})};q?q(O,L,F):F()}else n(O,v,_)},W=(h,v,_,M=!1,R=!1)=>{const{type:O,props:K,ref:U,children:d,dynamicChildren:p,shapeFlag:C,patchFlag:x,dirs:q,cacheIndex:H,memo:L}=h;if(x===-2&&(R=!1),U!=null&&(St(),an(U,null,_,h,!0),vt()),H!=null&&(v.renderCache[H]=void 0),C&256){v.ctx.deactivate(h);return}const F=C&1&&q,oe=!Eo(h);let he;if(oe&&(he=K&&K.onVnodeBeforeUnmount)&&Lt(he,v,h),C&6)me(h.component,_,M);else{if(C&128){h.suspense.unmount(_,M);return}F&&go(h,null,v,"beforeUnmount"),C&64?h.type.remove(h,v,_,re,M):p&&!p.hasOnce&&(O!==Ke||x>0&&x&64)?X(p,v,_,!1,!0):(O===Ke&&x&384||!R&&C&16)&&X(d,v,_),M&&te(h)}const Ee=L!=null&&H==null;(oe&&(he=K&&K.onVnodeUnmounted)||F||Ee)&&Qe(()=>{he&&Lt(he,v,h),F&&go(h,null,v,"unmounted"),Ee&&(h.el=null)},_)},te=h=>{const{type:v,el:_,anchor:M,transition:R}=h;if(v===Ke){Y(_,M);return}if(v===ms){m(h);return}const O=()=>{a(_),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(h.shapeFlag&1&&R&&!R.persisted){const{leave:K,delayLeave:U}=R,d=()=>K(_,O);U?U(h.el,O,d):d()}else O()},Y=(h,v)=>{let _;for(;h!==v;)_=f(h),a(h),h=_;a(v)},me=(h,v,_)=>{const{bum:M,scope:R,job:O,subTree:K,um:U,m:d,a:p}=h;Xr(d),Xr(p),M&&Ra(M),R.stop(),O&&(O.flags|=8,W(K,h,v,_)),U&&Qe(U,v),Qe(()=>{h.isUnmounted=!0},v)},X=(h,v,_,M=!1,R=!1,O=0)=>{for(let K=O;K{if(h.shapeFlag&6)return ge(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const v=f(h.anchor||h.el),_=v&&v[br];return _?f(_):v};let _e=!1;const de=(h,v,_)=>{let M;h==null?v._vnode&&(W(v._vnode,null,null,!0),M=v._vnode.component):S(v._vnode||null,h,v,null,null,null,_),v._vnode=h,_e||(_e=!0,pr(M),gr(),_e=!1)},re={p:S,um:W,m:fe,r:te,mt:ie,mc:E,pc:D,pbc:j,n:ge,o:e};return{render:de,hydrate:void 0,createApp:Lp(de)}}function hs({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function mo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function jp(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fs(e,t,o=!1){const n=e.children,a=t.children;if(ne(n)&&ne(a))for(let s=0;s>1,e[o[r]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,i=o[s-1];s-- >0;)o[s]=i,i=t[i];return o}function Jr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Jr(t)}function Xr(e){if(e)for(let t=0;te.__isSuspense;function Kp(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):Yd(e)}const Ke=Symbol.for("v-fgt"),cn=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Dt=[];let rt=null;function ke(e=!1){Dt.push(rt=e?null:[])}function bs(){Dt.pop(),rt=Dt[Dt.length-1]||null}let un=1;function sa(e,t=!1){un+=e,e<0&&rt&&t&&(rt.hasOnce=!0)}function el(e){return e.dynamicChildren=un>0?rt||ko:null,bs(),un>0&&rt&&rt.push(e),e}function Fe(e,t,o,n,a,s){return el(ae(e,t,o,n,a,s,!0))}function bo(e,t,o,n,a){return el(xe(e,t,o,n,a,!0))}function dn(e){return e?e.__v_isVNode===!0:!1}function pn(e,t){return e.type===t.type&&e.key===t.key}const tl=({key:e})=>e??null,ia=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Le(e)||Me(e)||le(e)?{i:Ue,r:e,k:t,f:!!o}:e:null);function ae(e,t=null,o=null,n=0,a=null,s=e===Ke?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tl(t),ref:t&&ia(t),scopeId:fr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ue};return r?(ra(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Le(o)?8:16),un>0&&!i&&rt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&rt.push(l),l}const xe=Wp;function Wp(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Tr)&&(e=wt),dn(e)){const r=Io(e,t,!0);return o&&ra(r,o),un>0&&!s&&rt&&(r.shapeFlag&6?rt[rt.indexOf(e)]=r:rt.push(r)),r.patchFlag=-2,r}if(ag(e)&&(e=e.__vccOpts),t){t=qp(t);let{class:r,style:l}=t;r&&!Le(r)&&(t.class=ot(r)),Ae(l)&&(Un(l)&&!ne(l)&&(l=Oe({},l)),t.style=Wo(l))}const i=Le(e)?1:Qr(e)?128:Jn(e)?64:Ae(e)?4:le(e)?2:0;return ae(e,t,o,n,a,i,s,!0)}function qp(e){return e?Un(e)||jr(e)?Oe({},e):e:null}function Io(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?Vp(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&tl(c),ref:t&&t.ref?o&&s?ne(s)?s.concat(ia(t)):[s,ia(t)]:ia(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ke?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Io(e.ssContent),ssFallback:e.ssFallback&&Io(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ns(u,l.clone(u)),u}function mt(e=" ",t=0){return xe(cn,null,e,t)}function zt(e="",t=!1){return t?(ke(),bo(wt,null,e)):xe(wt,null,e)}function Tt(e){return e==null||typeof e=="boolean"?xe(wt):ne(e)?xe(Ke,null,e.slice()):dn(e)?Bt(e):xe(cn,null,String(e))}function Bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Io(e)}function ra(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ne(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),ra(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!jr(t)?t._ctx=Ue:a===3&&Ue&&(Ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(le(t)){if(n&65){ra(e,{default:t});return}t={default:t,_ctx:Ue},o=32}else t=String(t),n&64?(o=16,t=[mt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Vp(...e){const t={};for(let o=0;oWe||Ue;let la,gn;{const e=xn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};la=t("__VUE_INSTANCE_SETTERS__",o=>We=o),gn=t("__VUE_SSR_SETTERS__",o=>Mo=o)}const hn=e=>{const t=We;return la(e),e.scope.on(),()=>{e.scope.off(),la(t)}},ol=()=>{We&&We.scope.off(),la(null)};function nl(e){return e.vnode.shapeFlag&4}let Mo=!1;function Zp(e,t=!1,o=!1){t&&gn(t);const{props:n,children:a}=e.vnode,s=nl(e);Fp(e,n,s,t),zp(e,a,o||t);const i=s?Qp(e,t):void 0;return t&&gn(!1),i}function Qp(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,yp);const{setup:n}=o;if(n){St();const a=e.setupContext=n.length>1?tg(e):null,s=hn(e),i=Lo(n,e,0,[e.props,a]),r=Ii(i);if(vt(),s(),(r||e.sp)&&!Eo(e)&&as(e),r){if(i.then(ol,ol),t)return i.then(l=>{gn(!0);try{al(e,l,t)}finally{gn(!1)}}).catch(l=>{en(l,e,0)});e.asyncDep=i}else al(e,i)}else sl(e)}function al(e,t,o){le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ae(t)&&(e.setupState=lr(t)),sl(e)}function sl(e,t,o){const n=e.type;e.render||(e.render=n.render||$t);{const a=hn(e);St();try{Sp(e)}finally{vt(),a()}}}const eg={get(e,t){return Ye(e,"get",""),e[t]}};function tg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,eg),slots:e.slots,emit:e.emit,expose:t}}function ca(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(lr(Zo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in rn)return rn[o](e)},has(t,o){return o in t||o in rn}})):e.proxy}const og=/(?:^|[-_])\w/g,ng=e=>e.replace(og,t=>t.toUpperCase()).replace(/[-_]/g,"");function il(e,t=!0){return le(e)?e.displayName||e.name:e.name||t&&e.__name}function rl(e,t,o=!1){let n=il(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?ng(n):o?"App":"Anonymous"}function ag(e){return le(e)&&"__vccOpts"in e}const ye=(e,t)=>Bd(e,t,Mo);function ll(e,t,o){try{sa(-1);const n=arguments.length;return n===2?Ae(t)&&!ne(t)?dn(t)?xe(e,null,[t]):xe(e,t):xe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&dn(o)&&(o=[o]),xe(e,t,o))}finally{sa(1)}}const sg="3.5.42";/** +`],...Kd(o))}),t}function Kd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${rl(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Wd(e.props),s]:[a+s]}function Wd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...cr(n,e[n]))}),o.length>3&&t.push(" ..."),t}function cr(e,t,o){return Le(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Me(t)?(t=cr(e,$e(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):le(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=$e(t),o?t:[`${e}=`,t])}function Lo(e,t,o,n){try{return n?e(...n):e()}catch(a){en(a,t,o)}}function ft(e,t,o,n){if(le(e)){const a=Lo(e,t,o,n);return a&&Ii(a)&&a.catch(s=>{en(s,t,o)}),a}if(ne(e)){const a=[];for(let s=0;s>>1,a=Xe[n],s=tn(a);s=tn(o)?Xe.push(e):Xe.splice(Vd(t),0,e),e.flags|=1,dr()}}function dr(){qn||(qn=ur.then(hr))}function Yd(e){if(!ne(e))Yt&&e.id===-1?Yt.splice(Po+1,0,e):e.flags&1||(Co.push(e),e.flags|=1);else for(let t=0;ttn(o)-tn(n));if(Co.length=0,Yt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function hr(e){try{for(kt=0;kt{n._d&&sa(-1);const s=Vn(t),i=Dt.length;let r;try{r=e(...a)}finally{for(let l=Dt.length;l>i;l--)bs();Vn(s),n._d&&sa(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Jd(e,t){if(Ue===null)return e;const o=ca(Ue),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&le(t)?t.call(n&&n.proxy):t}}function Xd(){return!!(Ct()||fo)}const Zd=Symbol.for("v-scx"),Qd=()=>De(Zd);function ep(e,t){return Qa(e,null,t)}function ut(e,t,o){return Qa(e,t,o)}function Qa(e,t,o=Te){const{immediate:n,deep:a,flush:s,once:i}=o,r=Oe({},o),l=t&&n||!t&&s!=="post";let c;if(Mo){if(s==="sync"){const k=Qd();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=$t,k.resume=$t,k.pause=$t,k}}const u=We;r.call=(k,w,S)=>ft(k,u,w,S);let g=!1;s==="post"?r.scheduler=k=>{Qe(k,u&&u.suspense)}:s!=="sync"&&(g=!0,r.scheduler=(k,w)=>{w?k():Za(k)}),r.augmentJob=k=>{t&&(k.flags|=4),g&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const f=Gd(e,t,r);return Mo&&(c?c.push(f):l&&f()),f}function tp(e,t,o){const n=this.proxy,a=Le(e)?e.includes(".")?mr(n,e):()=>n[e]:e.bind(n,n);let s;le(t)?s=t:(s=t.handler,o=t);const i=hn(this),r=Qa(a,s.bind(n),o);return i(),r}function mr(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,ho=e=>e&&(e.disabled||e.disabled===""),op=e=>e&&(e.defer||e.defer===""),_r=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$r=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,es=(e,t)=>{const o=e&&e.to;return Le(o)?t?t(o):null:o},np={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,i,r,l,c){const{mc:u,pc:g,pbc:f,o:{insert:k,querySelector:w,createText:S,createComment:I,parentNode:N}}=c,A=ho(t.props);let{dynamicChildren:$}=t;const m=(b,E,y)=>{b.shapeFlag&16&&u(b.children,E,y,a,s,i,r,l)},T=(b=t)=>{const E=ho(b.props),y=b.target=es(b.props,w),j=ts(y,b,S,k);y&&(i!=="svg"&&_r(y)?i="svg":i!=="mathml"&&$r(y)&&(i="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(y),E||(m(b,y,j),on(b,!1)))},P=b=>{const E=()=>{if(Jt.get(b)===E){if(Jt.delete(b),ho(b.props)){const y=N(b.el)||o;m(b,y,b.anchor),on(b,!0)}T(b)}};Jt.set(b,E),Qe(E,s)};if(e==null){const b=t.el=S(""),E=t.anchor=S("");if(k(b,o,n),k(E,o,n),op(t.props)||s&&s.pendingBranch){P(t);return}A&&(m(t,o,E),on(t,!0)),T()}else{t.el=e.el;const b=t.anchor=e.anchor,E=Jt.get(e);if(E){E.flags|=8,Jt.delete(e),P(t);return}t.targetStart=e.targetStart;const y=t.target=e.target,j=t.targetAnchor=e.targetAnchor,Z=ho(e.props),B=Z?o:y,Q=Z?b:j;if(i==="svg"||_r(y)?i="svg":(i==="mathml"||$r(y))&&(i="mathml"),$?(f(e.dynamicChildren,$,B,a,s,i,r),fs(e,t,!0)):l||g(e,t,B,Q,a,s,i,r,!1),A)Z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xn(t,o,b,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ie=es(t.props,w);ie&&(t.target=ie,Xn(t,ie,null,c,0))}else Z&&Xn(t,y,j,c,1);on(t,A)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:i,children:r,anchor:l,targetStart:c,targetAnchor:u,target:g,props:f}=e,k=ho(f),w=s||!k,S=Jt.get(e);if(S&&(S.flags|=8,Jt.delete(e)),g&&(a(c),a(u)),s&&a(l),!S&&(k||g)&&i&16)for(let I=0;I1){for(const o of e)if(o.type!==wt){t=o;break}}return t}function yr(e){if(!ea(e))return Jn(e.type)&&e.children?ip(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&le(o.default))return o.default()}}function ns(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ns(Jn(o.type)&&yr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function nn(e,t){return le(e)?Oe({name:e.name},t,{setup:e}):e}function as(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Sr(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Zn=new WeakMap;function an(e,t,o,n,a=!1){if(ne(e)){e.forEach((S,I)=>an(S,t&&(ne(t)?t[I]:t),o,n,a));return}if(Eo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&an(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?ca(n.component):n.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===Te?r.refs={}:r.refs,g=r.setupState,f=$e(g),k=g===Te?Ei:S=>Sr(u,S)?!1:ve(f,S),w=(S,I)=>!(I&&Sr(u,I));if(c!=null&&c!==l){if(vr(t),Le(c))u[c]=null,k(c)&&(g[c]=null);else if(Me(c)){const S=t;w(c,S.k)&&(c.value=null),S.k&&(u[S.k]=null)}}if(le(l))Lo(l,r,12,[i,u]);else{const S=Le(l),I=Me(l);if(S||I){const N=()=>{if(e.f){const A=S?k(l)?g[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)ne(A)&&Fa(A,s);else if(ne(A))A.includes(s)||A.push(s);else if(S)u[l]=[s],k(l)&&(g[l]=u[l]);else{const $=[s];w(l,e.k)&&(l.value=$),e.k&&(u[e.k]=$)}}else S?(u[l]=i,k(l)&&(g[l]=i)):I&&(w(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const A=()=>{N(),Zn.delete(e)};A.id=-1,Zn.set(e,A),Qe(A,o)}else vr(e),N()}}}function vr(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const Ar=e=>e.nodeType===8;xn().requestIdleCallback,xn().cancelIdleCallback;function rp(e,t){if(Ar(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Ar(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Eo=e=>!!e.type.__asyncLoader;function lp(e){le(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,k()),k=()=>{let w;return c||(w=c=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),l)return new Promise((I,N)=>{l(S,()=>I(f()),()=>N(S),g+1)});throw S}).then(S=>w!==c&&c?c:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),u=S,S)))};return nn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,S,I){const N=w.isConnected;let A=!1;(S.bu||(S.bu=[])).push(()=>A=!0);const $=()=>{A||!w.parentNode||N&&!w.isConnected||I()},m=s?()=>{const T=s($,P=>rp(w,P));T&&(S.bum||(S.bum=[])).push(T)}:$;u?m():k().then(()=>!S.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const w=We;if(as(w),u)return()=>Qn(u,w);const S=T=>{c=null,en(T,w,13,!n)};if(r&&w.suspense||Mo)return k().then(T=>()=>Qn(T,w)).catch(T=>(S(T),()=>n?xe(n,{error:T}):null));const I=ce(!1),N=ce(),A=ce(!!a);let $,m;return oa(()=>{$!=null&&clearTimeout($),m!=null&&clearTimeout(m)}),a&&(m=setTimeout(()=>{w.isUnmounted||(A.value=!1)},a)),i!=null&&($=setTimeout(()=>{if(!w.isUnmounted&&!I.value&&!N.value){const T=new Error(`Async component timed out after ${i}ms.`);S(T),N.value=T}},i)),k().then(()=>{w.isUnmounted||(I.value=!0,w.parent&&ea(w.parent.vnode)&&w.parent.update())}).catch(T=>{if(w.isUnmounted){c=null;return}S(T),N.value=T}),()=>{if(I.value&&u)return Qn(u,w);if(N.value&&n)return xe(n,{error:N.value});if(o&&!A.value)return Qn(o,w)}}})}function Qn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,i=xe(e,n,a);return i.ref=o,i.ce=s,delete t.vnode.ce,i}const ea=e=>e.type.__isKeepAlive;function cp(e,t){kr(e,"a",t)}function up(e,t){kr(e,"da",t)}function kr(e,t,o=We){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(ta(t,n,o),o){let a=o.parent;for(;a&&a.parent;)ea(a.parent.vnode)&&dp(n,t,o,a),a=a.parent}}function dp(e,t,o,n){const a=ta(t,e,n,!0);oa(()=>{Fa(n[t],a)},o)}function ta(e,t,o=We,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...i)=>{St();const r=hn(o),l=ft(t,o,e,i);return r(),vt(),l});return n?a.unshift(s):a.push(s),s}}const Rt=e=>(t,o=We)=>{(!Mo||e==="sp")&&ta(e,(...n)=>t(...n),o)},wr=Rt("bm"),No=Rt("m"),pp=Rt("bu"),gp=Rt("u"),sn=Rt("bum"),oa=Rt("um"),hp=Rt("sp"),fp=Rt("rtg"),mp=Rt("rtc");function bp(e,t=We){ta("ec",e,t)}const _p="components",Tr=Symbol.for("v-ndc");function Lr(e){return Le(e)?$p(_p,e,!1)||e:e||Tr}function $p(e,t,o=!0,n=!1){const a=Ue||We;if(a){const s=a.type;{const r=il(s,!1);if(r&&(r===t||r===Ge(t)||r===Mn(Ge(t))))return s}const i=Cr(a[e]||s[e],t)||Cr(a.appContext[e],t);return!i&&n?s:i}}function Cr(e,t){return e&&(e[t]||e[Ge(t)]||e[Mn(Ge(t))])}function ss(e,t,o,n){let a;const s=o,i=ne(e);if(i||Le(e)){const r=i&&xt(e);let l=!1,c=!1;r&&(l=!st(e),c=Ft(e),e=Dn(e)),a=new Array(e.length);for(let u=0,g=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;l0;return ke(),bo(Ke,null,[xe("slot",c,n)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const r=Dt.length;ke();let l;try{const c=i&&Pr(i(o)),u=o.key||s||c&&c.key;l=bo(Ke,{key:(u&&!at(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Dt.length;u>r;u--)bs();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Pr(e){return e.some(t=>dn(t)?!(t.type===wt||t.type===Ke&&!Pr(t.children)):!0)?e:null}const rs=e=>e?nl(e)?ca(e):rs(e.parent):null,rn=Oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>rs(e.parent),$root:e=>rs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Mr(e),$forceUpdate:e=>e.f||(e.f=()=>{Za(e.update)}),$nextTick:e=>e.n||(e.n=po.bind(e.proxy)),$watch:e=>tp.bind(e)}),ls=(e,t)=>e!==Te&&!e.__isScriptSetup&&ve(e,t),yp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const f=i[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(ls(n,t))return i[t]=1,n[t];if(a!==Te&&ve(a,t))return i[t]=2,a[t];if(ve(s,t))return i[t]=3,s[t];if(o!==Te&&ve(o,t))return i[t]=4,o[t];cs&&(i[t]=0)}}const c=rn[t];let u,g;if(c)return t==="$attrs"&&Ye(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(o!==Te&&ve(o,t))return i[t]=4,o[t];if(g=l.config.globalProperties,ve(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return ls(a,t)?(a[t]=o,!0):n!==Te&&ve(n,t)?(n[t]=o,!0):ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:i}},r){let l;return!!(o[r]||e!==Te&&r[0]!=="$"&&ve(e,r)||ls(t,r)||ve(s,r)||ve(n,r)||ve(rn,r)||ve(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ve(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Er(e){return ne(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let cs=!0;function Sp(e){const t=Mr(e),o=e.proxy,n=e.ctx;cs=!1,t.beforeCreate&&Nr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:k,updated:w,activated:S,deactivated:I,beforeDestroy:N,beforeUnmount:A,destroyed:$,unmounted:m,render:T,renderTracked:P,renderTriggered:b,errorCaptured:E,serverPrefetch:y,expose:j,inheritAttrs:Z,components:B,directives:Q,filters:ie}=t;if(c&&vp(c,n,null),i)for(const z in i){const D=i[z];le(D)&&(n[z]=D.bind(o))}if(a){const z=a.call(o,o);Ae(z)&&(e.data=Gn(z))}if(cs=!0,s)for(const z in s){const D=s[z],ee=le(D)?D.bind(o,o):le(D.get)?D.get.bind(o,o):$t,pe=!le(D)&&le(D.set)?D.set.bind(o):$t,fe=ye({get:ee,set:pe});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>fe.value,set:W=>fe.value=W})}if(r)for(const z in r)Ir(r[z],n,o,z);if(l){const z=le(l)?l.call(o):l;Reflect.ownKeys(z).forEach(D=>{it(D,z[D])})}u&&Nr(u,e,"c");function V(z,D){ne(D)?D.forEach(ee=>z(ee.bind(o))):D&&z(D.bind(o))}if(V(wr,g),V(No,f),V(pp,k),V(gp,w),V(cp,S),V(up,I),V(bp,E),V(mp,P),V(fp,b),V(sn,A),V(oa,m),V(hp,y),ne(j))if(j.length){const z=e.exposed||(e.exposed={});j.forEach(D=>{Object.defineProperty(z,D,{get:()=>o[D],set:ee=>o[D]=ee,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===$t&&(e.render=T),Z!=null&&(e.inheritAttrs=Z),B&&(e.components=B),Q&&(e.directives=Q),y&&as(e)}function vp(e,t,o=$t){ne(e)&&(e=us(e));for(const n in e){const a=e[n];let s;Ae(a)?"default"in a?s=De(a.from||n,a.default,!0):s=De(a.from||n):s=De(a),Me(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[n]=s}}function Nr(e,t,o){ft(ne(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Ir(e,t,o,n){let a=n.includes(".")?mr(o,n):()=>o[n];if(Le(e)){const s=t[e];le(s)&&ut(a,s)}else if(le(e))ut(a,e.bind(o));else if(Ae(e))if(ne(e))e.forEach(s=>Ir(s,t,o,n));else{const s=le(e.handler)?e.handler.bind(o):t[e.handler];le(s)&&ut(a,s,e)}}function Mr(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>na(l,c,i,!0)),na(l,t,i)),Ae(t)&&s.set(t,l),l}function na(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&na(e,s,o,!0),a&&a.forEach(i=>na(e,i,o,!0));for(const i in t)if(!(n&&i==="expose")){const r=Ap[i]||o&&o[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Ap={data:xr,props:Fr,emits:Fr,methods:ln,computed:ln,beforeCreate:Ze,created:Ze,beforeMount:Ze,mounted:Ze,beforeUpdate:Ze,updated:Ze,beforeDestroy:Ze,beforeUnmount:Ze,destroyed:Ze,unmounted:Ze,activated:Ze,deactivated:Ze,errorCaptured:Ze,serverPrefetch:Ze,components:ln,directives:ln,watch:wp,provide:xr,inject:kp};function xr(e,t){return t?e?function(){return Oe(le(e)?e.call(this,this):e,le(t)?t.call(this,this):t)}:t:e}function kp(e,t){return ln(us(e),us(t))}function us(e){if(ne(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ge(t)}Modifiers`]||e[`${ct(t)}Modifiers`];function Pp(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Te;let a=o;const s=t.startsWith("update:"),i=s&&Cp(n,t.slice(7));i&&(i.trim&&(a=o.map(u=>Le(u)?u.trim():u)),i.number&&(a=a.map(rd)));let r,l=n[r=Oa(t)]||n[r=Oa(Ge(t))];!l&&s&&(l=n[r=Oa(ct(t))]),l&&ft(l,e,6,a);const c=n[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ft(c,e,6,a)}}const Ep=new WeakMap;function Rr(e,t,o=!1){const n=o?Ep:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!le(e)){const l=c=>{const u=Rr(c,t,!0);u&&(r=!0,Oe(i,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(Ae(e)&&n.set(e,null),null):(ne(s)?s.forEach(l=>i[l]=null):Oe(i,s),Ae(e)&&n.set(e,i),i)}function aa(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ve(e,t[0].toLowerCase()+t.slice(1))||ve(e,ct(t))||ve(e,t))}function Fy(){}function Dr(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:g,data:f,setupState:k,ctx:w,inheritAttrs:S}=e,I=Vn(e);let N,A;try{if(o.shapeFlag&4){const m=a||n,T=m;N=Tt(c.call(T,m,u,g,k,f,w)),A=r}else{const m=t;N=Tt(m.length>1?m(g,{attrs:r,slots:i,emit:l}):m(g,null)),A=t.props?r:Np(r)}}catch(m){Dt.length=0,en(m,e,1),N=xe(wt)}let $=N;if(A&&S!==!1){const m=Object.keys(A),{shapeFlag:T}=$;m.length&&T&7&&(s&&m.some(Cn)&&(A=Ip(A,s)),$=Io($,A,!1,!0))}if(o.dirs&&($=Io($,null,!1,!0),$.dirs=$.dirs?$.dirs.concat(o.dirs):o.dirs),o.transition){const m=Jn($.type)&&yr($)||$;ns(m,o.transition)}return N=$,Vn(I),N}const Np=e=>{let t;for(const o in e)(o==="class"||o==="style"||Ln(o))&&((t||(t={}))[o]=e[o]);return t},Ip=(e,t)=>{const o={};for(const n in e)(!Cn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Mp(e,t,o){const{props:n,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?zr(n,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Hr),jr=e=>Object.getPrototypeOf(e)===Hr;function Fp(e,t,o,n=!1){const a={},s=Gr();e.propsDefaults=Object.create(null),Ur(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);o?e.props=n?a:Md(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Op(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=$e(a),[l]=e.propsOptions;let c=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[f,k]=Kr(g,t,!0);Oe(i,f),k&&r.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ae(e)&&n.set(e,ko),ko;if(ne(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",gs=e=>ne(e)?e.map(Tt):[Tt(e)],Dp=(e,t,o)=>{if(t._n)return t;const n=Yn((...a)=>gs(t(...a)),o);return n._c=!1,n},qr=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ps(a))continue;const s=e[a];if(le(s))t[a]=Dp(a,s,n);else if(s!=null){const i=gs(s);t[a]=()=>i}}},Vr=(e,t)=>{const o=gs(t);e.slots.default=()=>o},Yr=(e,t,o)=>{for(const n in t)(o||!ps(n))&&(e[n]=t[n])},zp=(e,t,o)=>{const n=e.slots=Gr();if(e.vnode.shapeFlag&32){const a=t._;a?(Yr(n,t,o),o&&xi(n,"_",a,!0)):qr(t,n)}else t&&Vr(e,t)},Bp=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,i=Te;if(n.shapeFlag&32){const r=t._;r?o&&r===1?s=!1:Yr(a,t,o):(s=!t.$stable,qr(t,a)),i=t}else t&&(Vr(e,t),i={default:1});if(s)for(const r in a)!ps(r)&&i[r]==null&&delete a[r]},Qe=Kp;function Hp(e){return Gp(e)}function Gp(e,t){const o=xn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:k=$t,insertStaticContent:w}=e,S=(h,v,_,M=null,R=null,O=null,K=void 0,U=null,d=!!v.dynamicChildren)=>{if(h===v)return;h&&!pn(h,v)&&(M=ge(h),W(h,R,O,!0),h=null),v.patchFlag===-2&&(d=!1,v.dynamicChildren=null);const{type:p,ref:C,shapeFlag:x}=v;switch(p){case cn:I(h,v,_,M);break;case wt:N(h,v,_,M);break;case ms:h==null&&A(v,_,M,K);break;case Ke:B(h,v,_,M,R,O,K,U,d);break;default:x&1?T(h,v,_,M,R,O,K,U,d):x&6?Q(h,v,_,M,R,O,K,U,d):(x&64||x&128)&&p.process(h,v,_,M,R,O,K,U,d,re)}C!=null&&R?an(C,h&&h.ref,O,v||h,!v):C==null&&h&&h.ref!=null&&an(h.ref,null,O,h,!0)},I=(h,v,_,M)=>{if(h==null)n(v.el=r(v.children),_,M);else{const R=v.el=h.el;v.children!==h.children&&c(R,v.children)}},N=(h,v,_,M)=>{h==null?n(v.el=l(v.children||""),_,M):v.el=h.el},A=(h,v,_,M)=>{[h.el,h.anchor]=w(h.children,v,_,M,h.el,h.anchor)},$=({el:h,anchor:v},_,M)=>{let R;for(;h&&h!==v;)R=f(h),n(h,_,M),h=R;n(v,_,M)},m=({el:h,anchor:v})=>{let _;for(;h&&h!==v;)_=f(h),a(h),h=_;a(v)},T=(h,v,_,M,R,O,K,U,d)=>{if(v.type==="svg"?K="svg":v.type==="math"&&(K="mathml"),h==null)P(v,_,M,R,O,K,U,d);else{const p=h.el&&h.el._isVueCE?h.el:null;try{p&&p._beginPatch(),y(h,v,R,O,K,U,d)}finally{p&&p._endPatch()}}},P=(h,v,_,M,R,O,K,U)=>{let d,p;const{props:C,shapeFlag:x,transition:q,dirs:H}=h;if(d=h.el=i(h.type,O,C&&C.is,C),x&8?u(d,h.children):x&16&&E(h.children,d,null,M,R,hs(h,O),K,U),H&&go(h,null,M,"created"),b(d,h,h.scopeId,K,M),C){for(const F in C)F!=="value"&&!Ko(F)&&s(d,F,null,C[F],O,M);"value"in C&&s(d,"value",null,C.value,O),(p=C.onVnodeBeforeMount)&&Lt(p,M,h)}H&&go(h,null,M,"beforeMount");const L=jp(R,q);L&&q.beforeEnter(d),n(d,v,_),((p=C&&C.onVnodeMounted)||L||H)&&Qe(()=>{try{p&&Lt(p,M,h),L&&q.enter(d),H&&go(h,null,M,"mounted")}finally{}},R)},b=(h,v,_,M,R)=>{if(_&&k(h,_),M)for(let O=0;O{for(let p=d;p{const U=v.el=h.el;let{patchFlag:d,dynamicChildren:p,dirs:C}=v;d|=h.patchFlag&16;const x=h.props||Te,q=v.props||Te;let H;if(_&&mo(_,!1),(H=q.onVnodeBeforeUpdate)&&Lt(H,_,v,h),C&&go(v,h,_,"beforeUpdate"),_&&mo(_,!0),p&&(!h.dynamicChildren||h.dynamicChildren.length!==p.length)&&(d=0,K=!1,p=null),(x.innerHTML&&q.innerHTML==null||x.textContent&&q.textContent==null)&&u(U,""),p?j(h.dynamicChildren,p,U,_,M,hs(v,R),O):K||D(h,v,U,null,_,M,hs(v,R),O,!1),d>0){if(d&16)Z(U,x,q,_,R);else if(d&2&&x.class!==q.class&&s(U,"class",null,q.class,R),d&4&&s(U,"style",x.style,q.style,R),d&8){const L=v.dynamicProps;for(let F=0;F{H&&Lt(H,_,v,h),C&&go(v,h,_,"updated")},M)},j=(h,v,_,M,R,O,K)=>{for(let U=0;U{if(v!==_){if(v!==Te)for(const O in v)!Ko(O)&&!(O in _)&&s(h,O,v[O],null,R,M);for(const O in _){if(Ko(O))continue;const K=_[O],U=v[O];K!==U&&O!=="value"&&s(h,O,U,K,R,M)}"value"in _&&s(h,"value",v.value,_.value,R)}},B=(h,v,_,M,R,O,K,U,d)=>{const p=v.el=h?h.el:r(""),C=v.anchor=h?h.anchor:r("");let{patchFlag:x,dynamicChildren:q,slotScopeIds:H}=v;H&&(U=U?U.concat(H):H),h==null?(n(p,_,M),n(C,_,M),E(v.children||[],_,C,R,O,K,U,d)):x>0&&x&64&&q&&h.dynamicChildren&&h.dynamicChildren.length===q.length?(j(h.dynamicChildren,q,_,R,O,K,U),(v.key!=null||R&&v===R.subTree)&&fs(h,v,!0)):D(h,v,_,C,R,O,K,U,d)},Q=(h,v,_,M,R,O,K,U,d)=>{v.slotScopeIds=U,h==null?v.shapeFlag&512?R.ctx.activate(v,_,M,K,d):ie(v,_,M,R,O,K,d):G(h,v,d)},ie=(h,v,_,M,R,O,K)=>{const U=h.component=Xp(h,M,R);if(ea(h)&&(U.ctx.renderer=re),Zp(U,!1,K),U.asyncDep){if(R&&R.registerDep(U,V,K),!h.el){const d=U.subTree=xe(wt);N(null,d,v,_),h.placeholder=d.el}}else V(U,h,v,_,R,O,K)},G=(h,v,_)=>{const M=v.component=h.component;if(Mp(h,v,_))if(M.asyncDep&&!M.asyncResolved){z(M,v,_);return}else M.next=v,M.update();else v.el=h.el,M.vnode=v},V=(h,v,_,M,R,O,K)=>{const U=()=>{if(h.isMounted){let{next:x,bu:q,u:H,parent:L,vnode:F}=h;{const Ve=Jr(h);if(Ve){x&&(x.el=F.el,z(h,x,K)),Ve.asyncDep.then(()=>{Qe(()=>{h.isUnmounted||p()},R)});return}}let oe=x,he;mo(h,!1),x?(x.el=F.el,z(h,x,K)):x=F,q&&Ra(q),(he=x.props&&x.props.onVnodeBeforeUpdate)&&Lt(he,L,x,F),mo(h,!0);const Ee=Dr(h),tt=h.subTree;h.subTree=Ee,S(tt,Ee,g(tt.el),ge(tt),h,R,O),x.el=Ee.el,oe===null&&xp(h,Ee.el),H&&Qe(H,R),(he=x.props&&x.props.onVnodeUpdated)&&Qe(()=>Lt(he,L,x,F),R)}else{let x;const{el:q,props:H}=v,{bm:L,m:F,parent:oe,root:he,type:Ee}=h,tt=Eo(v);mo(h,!1),L&&Ra(L),!tt&&(x=H&&H.onVnodeBeforeMount)&&Lt(x,oe,v),mo(h,!0);{he.ce&&he.ce._hasShadowRoot()&&he.ce._injectChildStyle(Ee,h.parent?h.parent.type:void 0);const Ve=h.subTree=Dr(h);S(null,Ve,_,M,h,R,O),v.el=Ve.el}if(F&&Qe(F,R),!tt&&(x=H&&H.onVnodeMounted)){const Ve=v;Qe(()=>Lt(x,oe,Ve),R)}(v.shapeFlag&256||oe&&Eo(oe.vnode)&&oe.vnode.shapeFlag&256)&&h.a&&Qe(h.a,R),h.isMounted=!0,v=_=M=null}};h.scope.on();const d=h.effect=new ji(U);h.scope.off();const p=h.update=d.run.bind(d),C=h.job=d.runIfDirty.bind(d);C.i=h,C.id=h.uid,d.scheduler=()=>Za(C),mo(h,!0),p()},z=(h,v,_)=>{v.component=h;const M=h.vnode.props;h.vnode=v,h.next=null,Op(h,v.props,M,_),Bp(h,v.children,_),St(),pr(h),vt()},D=(h,v,_,M,R,O,K,U,d=!1)=>{const p=h&&h.children,C=h?h.shapeFlag:0,x=v.children,{patchFlag:q,shapeFlag:H}=v;if(q>0){if(q&128){pe(p,x,_,M,R,O,K,U,d);return}else if(q&256){ee(p,x,_,M,R,O,K,U,d);return}}H&8?(C&16&&X(p,R,O),x!==p&&u(_,x)):C&16?H&16?pe(p,x,_,M,R,O,K,U,d):X(p,R,O,!0):(C&8&&u(_,""),H&16&&E(x,_,M,R,O,K,U,d))},ee=(h,v,_,M,R,O,K,U,d)=>{h=h||ko,v=v||ko;const p=h.length,C=v.length,x=Math.min(p,C);let q;for(q=0;qC?X(h,R,O,!0,!1,x):E(v,_,M,R,O,K,U,d,x)},pe=(h,v,_,M,R,O,K,U,d)=>{let p=0;const C=v.length;let x=h.length-1,q=C-1;for(;p<=x&&p<=q;){const H=h[p],L=v[p]=d?Bt(v[p]):Tt(v[p]);if(pn(H,L))S(H,L,_,null,R,O,K,U,d);else break;p++}for(;p<=x&&p<=q;){const H=h[x],L=v[q]=d?Bt(v[q]):Tt(v[q]);if(pn(H,L))S(H,L,_,null,R,O,K,U,d);else break;x--,q--}if(p>x){if(p<=q){const H=q+1,L=Hq)for(;p<=x;)W(h[p],R,O,!0),p++;else{const H=p,L=p,F=new Map;for(p=L;p<=q;p++){const lt=v[p]=d?Bt(v[p]):Tt(v[p]);lt.key!=null&&F.set(lt.key,p)}let oe,he=0;const Ee=q-L+1;let tt=!1,Ve=0;const vo=new Array(Ee);for(p=0;p=Ee){W(lt,R,O,!0);continue}let Nt;if(lt.key!=null)Nt=F.get(lt.key);else for(oe=L;oe<=q;oe++)if(vo[oe-L]===0&&pn(lt,v[oe])){Nt=oe;break}Nt===void 0?W(lt,R,O,!0):(vo[Nt-L]=p+1,Nt>=Ve?Ve=Nt:tt=!0,S(lt,v[Nt],_,null,R,O,K,U,d),he++)}const Pi=tt?Up(vo):ko;for(oe=Pi.length-1,p=Ee-1;p>=0;p--){const lt=L+p,Nt=v[lt],ed=v[lt+1],td=lt+1{const{el:O,type:K,transition:U,children:d,shapeFlag:p}=h;if(p&6){fe(h.component.subTree,v,_,M);return}if(p&128){h.suspense.move(v,_,M);return}if(p&64){K.move(h,v,_,re);return}if(K===Ke){n(O,v,_);for(let x=0;xU.enter(O),R));else{const{leave:x,delayLeave:q,afterLeave:H}=U,L=()=>{h.ctx.isUnmounted?a(O):n(O,v,_)},F=()=>{const oe=O._isLeaving||!!O[os];O._isLeaving&&O[os](!0),U.persisted&&!oe?L():x(O,()=>{L(),H&&H()})};q?q(O,L,F):F()}else n(O,v,_)},W=(h,v,_,M=!1,R=!1)=>{const{type:O,props:K,ref:U,children:d,dynamicChildren:p,shapeFlag:C,patchFlag:x,dirs:q,cacheIndex:H,memo:L}=h;if(x===-2&&(R=!1),U!=null&&(St(),an(U,null,_,h,!0),vt()),H!=null&&(v.renderCache[H]=void 0),C&256){v.ctx.deactivate(h);return}const F=C&1&&q,oe=!Eo(h);let he;if(oe&&(he=K&&K.onVnodeBeforeUnmount)&&Lt(he,v,h),C&6)me(h.component,_,M);else{if(C&128){h.suspense.unmount(_,M);return}F&&go(h,null,v,"beforeUnmount"),C&64?h.type.remove(h,v,_,re,M):p&&!p.hasOnce&&(O!==Ke||x>0&&x&64)?X(p,v,_,!1,!0):(O===Ke&&x&384||!R&&C&16)&&X(d,v,_),M&&te(h)}const Ee=L!=null&&H==null;(oe&&(he=K&&K.onVnodeUnmounted)||F||Ee)&&Qe(()=>{he&&Lt(he,v,h),F&&go(h,null,v,"unmounted"),Ee&&(h.el=null)},_)},te=h=>{const{type:v,el:_,anchor:M,transition:R}=h;if(v===Ke){Y(_,M);return}if(v===ms){m(h);return}const O=()=>{a(_),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(h.shapeFlag&1&&R&&!R.persisted){const{leave:K,delayLeave:U}=R,d=()=>K(_,O);U?U(h.el,O,d):d()}else O()},Y=(h,v)=>{let _;for(;h!==v;)_=f(h),a(h),h=_;a(v)},me=(h,v,_)=>{const{bum:M,scope:R,job:O,subTree:K,um:U,m:d,a:p}=h;Xr(d),Xr(p),M&&Ra(M),R.stop(),O&&(O.flags|=8,W(K,h,v,_)),U&&Qe(U,v),Qe(()=>{h.isUnmounted=!0},v)},X=(h,v,_,M=!1,R=!1,O=0)=>{for(let K=O;K{if(h.shapeFlag&6)return ge(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const v=f(h.anchor||h.el),_=v&&v[br];return _?f(_):v};let _e=!1;const de=(h,v,_)=>{let M;h==null?v._vnode&&(W(v._vnode,null,null,!0),M=v._vnode.component):S(v._vnode||null,h,v,null,null,null,_),v._vnode=h,_e||(_e=!0,pr(M),gr(),_e=!1)},re={p:S,um:W,m:fe,r:te,mt:ie,mc:E,pc:D,pbc:j,n:ge,o:e};return{render:de,hydrate:void 0,createApp:Lp(de)}}function hs({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function mo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function jp(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fs(e,t,o=!1){const n=e.children,a=t.children;if(ne(n)&&ne(a))for(let s=0;s>1,e[o[r]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,i=o[s-1];s-- >0;)o[s]=i,i=t[i];return o}function Jr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Jr(t)}function Xr(e){if(e)for(let t=0;te.__isSuspense;function Kp(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):Yd(e)}const Ke=Symbol.for("v-fgt"),cn=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Dt=[];let rt=null;function ke(e=!1){Dt.push(rt=e?null:[])}function bs(){Dt.pop(),rt=Dt[Dt.length-1]||null}let un=1;function sa(e,t=!1){un+=e,e<0&&rt&&t&&(rt.hasOnce=!0)}function el(e){return e.dynamicChildren=un>0?rt||ko:null,bs(),un>0&&rt&&rt.push(e),e}function Fe(e,t,o,n,a,s){return el(ae(e,t,o,n,a,s,!0))}function bo(e,t,o,n,a){return el(xe(e,t,o,n,a,!0))}function dn(e){return e?e.__v_isVNode===!0:!1}function pn(e,t){return e.type===t.type&&e.key===t.key}const tl=({key:e})=>e??null,ia=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Le(e)||Me(e)||le(e)?{i:Ue,r:e,k:t,f:!!o}:e:null);function ae(e,t=null,o=null,n=0,a=null,s=e===Ke?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tl(t),ref:t&&ia(t),scopeId:fr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ue};return r?(ra(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Le(o)?8:16),un>0&&!i&&rt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&rt.push(l),l}const xe=Wp;function Wp(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Tr)&&(e=wt),dn(e)){const r=Io(e,t,!0);return o&&ra(r,o),un>0&&!s&&rt&&(r.shapeFlag&6?rt[rt.indexOf(e)]=r:rt.push(r)),r.patchFlag=-2,r}if(ag(e)&&(e=e.__vccOpts),t){t=qp(t);let{class:r,style:l}=t;r&&!Le(r)&&(t.class=ot(r)),Ae(l)&&(Un(l)&&!ne(l)&&(l=Oe({},l)),t.style=Wo(l))}const i=Le(e)?1:Qr(e)?128:Jn(e)?64:Ae(e)?4:le(e)?2:0;return ae(e,t,o,n,a,i,s,!0)}function qp(e){return e?Un(e)||jr(e)?Oe({},e):e:null}function Io(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?Vp(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&tl(c),ref:t&&t.ref?o&&s?ne(s)?s.concat(ia(t)):[s,ia(t)]:ia(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ke?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Io(e.ssContent),ssFallback:e.ssFallback&&Io(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ns(u,l.clone(u)),u}function mt(e=" ",t=0){return xe(cn,null,e,t)}function zt(e="",t=!1){return t?(ke(),bo(wt,null,e)):xe(wt,null,e)}function Tt(e){return e==null||typeof e=="boolean"?xe(wt):ne(e)?xe(Ke,null,e.slice()):dn(e)?Bt(e):xe(cn,null,String(e))}function Bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Io(e)}function ra(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ne(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),ra(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!jr(t)?t._ctx=Ue:a===3&&Ue&&(Ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(le(t)){if(n&65){ra(e,{default:t});return}t={default:t,_ctx:Ue},o=32}else t=String(t),n&64?(o=16,t=[mt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Vp(...e){const t={};for(let o=0;oWe||Ue;let la,gn;{const e=xn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};la=t("__VUE_INSTANCE_SETTERS__",o=>We=o),gn=t("__VUE_SSR_SETTERS__",o=>Mo=o)}const hn=e=>{const t=We;return la(e),e.scope.on(),()=>{e.scope.off(),la(t)}},ol=()=>{We&&We.scope.off(),la(null)};function nl(e){return e.vnode.shapeFlag&4}let Mo=!1;function Zp(e,t=!1,o=!1){t&&gn(t);const{props:n,children:a}=e.vnode,s=nl(e);Fp(e,n,s,t),zp(e,a,o||t);const i=s?Qp(e,t):void 0;return t&&gn(!1),i}function Qp(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,yp);const{setup:n}=o;if(n){St();const a=e.setupContext=n.length>1?tg(e):null,s=hn(e),i=Lo(n,e,0,[e.props,a]),r=Ii(i);if(vt(),s(),(r||e.sp)&&!Eo(e)&&as(e),r){if(i.then(ol,ol),t)return i.then(l=>{gn(!0);try{al(e,l,t)}finally{gn(!1)}}).catch(l=>{en(l,e,0)});e.asyncDep=i}else al(e,i)}else sl(e)}function al(e,t,o){le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ae(t)&&(e.setupState=lr(t)),sl(e)}function sl(e,t,o){const n=e.type;e.render||(e.render=n.render||$t);{const a=hn(e);St();try{Sp(e)}finally{vt(),a()}}}const eg={get(e,t){return Ye(e,"get",""),e[t]}};function tg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,eg),slots:e.slots,emit:e.emit,expose:t}}function ca(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(lr(Zo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in rn)return rn[o](e)},has(t,o){return o in t||o in rn}})):e.proxy}const og=/(?:^|[-_])\w/g,ng=e=>e.replace(og,t=>t.toUpperCase()).replace(/[-_]/g,"");function il(e,t=!0){return le(e)?e.displayName||e.name:e.name||t&&e.__name}function rl(e,t,o=!1){let n=il(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?ng(n):o?"App":"Anonymous"}function ag(e){return le(e)&&"__vccOpts"in e}const ye=(e,t)=>Bd(e,t,Mo);function ll(e,t,o){try{sa(-1);const n=arguments.length;return n===2?Ae(t)&&!ne(t)?dn(t)?xe(e,null,[t]):xe(e,t):xe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&dn(o)&&(o=[o]),xe(e,t,o))}finally{sa(1)}}const sg="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -39,7 +39,14 @@ * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Hb="9.14.5";function Gb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(_n().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(_n().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(_n().__INTLIFY_PROD_DEVTOOLS__=!1)}const jb=_b.__EXTEND_POINT__,Ut=fa(jb);Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut();const kc=Et.__EXTEND_POINT__,nt=fa(kc),He={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:nt(),MUST_BE_CALL_SETUP_TOP:nt(),NOT_INSTALLED:nt(),NOT_AVAILABLE_IN_LEGACY_MODE:nt(),REQUIRED_VALUE:nt(),INVALID_VALUE:nt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:nt(),NOT_INSTALLED_WITH_PROVIDE:nt(),UNEXPECTED_ERROR:nt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:nt(),BRIDGE_SUPPORT_VUE_2_ONLY:nt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:nt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:nt(),__EXTEND_POINT__:nt()};function je(e,...t){return Oo(e,null,void 0)}const Hs=Zt("__translateVNode"),Gs=Zt("__datetimeParts"),js=Zt("__numberParts"),wc=Zt("__setPluralRules"),Tc=Zt("__injectWithOption"),Us=Zt("__dispose");function vn(e){if(!Se(e)||Pt(e))return e;for(const t in e)if(bt(e,t))if(!t.includes("."))Se(e[t])&&vn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||we(),ba(c,i[l])):ba(c,i)}else J(r)&&ba(JSON.parse(r),i)}),a==null&&s)for(const r in i)bt(i,r)&&vn(i[r]);return i}function Lc(e){return e.type}function Cc(e,t,o){let n=Se(t.messages)?t.messages:we();"__i18nGlobal"in o&&(n=va(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Se(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(Se(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Pc(e){return xe(cn,null,e,0)}const Ec="__INTLIFY_META__",Nc=()=>[],Ub=()=>!1;let Ic=0;function Mc(e){return(t,o,n,a)=>e(o,n,Ct()||void 0,a)}const Kb=()=>{const e=Ct();let t=null;return e&&(t=Lc(e)[Ec])?{[Ec]:t}:null};function Ks(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,i=ga?ce:Ja,r=!!e.translateExistCompatible;let l=be(e.inheritLocale)?e.inheritLocale:!0;const c=i(o&&l?o.locale.value:J(e.locale)?e.locale:zo),u=i(o&&l?o.fallbackLocale.value:J(e.fallbackLocale)||Ne(e.fallbackLocale)||ue(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=i(va(c.value,e)),f=i(ue(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ue(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:be(e.missingWarn)||Qt(e.missingWarn)?e.missingWarn:!0,S=o?o.fallbackWarn:be(e.fallbackWarn)||Qt(e.fallbackWarn)?e.fallbackWarn:!0,I=o?o.fallbackRoot:be(e.fallbackRoot)?e.fallbackRoot:!0,N=!!e.fallbackFormat,A=Pe(e.missing)?e.missing:null,$=Pe(e.missing)?Mc(e.missing):null,m=Pe(e.postTranslation)?e.postTranslation:null,T=o?o.warnHtmlMessage:be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,P=!!e.escapeParameter;const b=o?o.modifiers:ue(e.modifiers)?e.modifiers:{};let E=e.pluralRules||o&&o.pluralRules,y;y=(()=>{a&&dc(null);const L={version:Hb,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:b,pluralRules:E,missing:$===null?void 0:$,missingWarn:w,fallbackWarn:S,fallbackFormat:N,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:T,escapeParameter:P,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};L.datetimeFormats=f.value,L.numberFormats=k.value,L.__datetimeFormatters=ue(y)?y.__datetimeFormatters:void 0,L.__numberFormatters=ue(y)?y.__numberFormatters:void 0;const F=Eb(L);return a&&dc(F),F})(),Sn(y,c.value,u.value);function Z(){return[c.value,u.value,g.value,f.value,k.value]}const B=ye({get:()=>c.value,set:L=>{c.value=L,y.locale=c.value}}),Q=ye({get:()=>u.value,set:L=>{u.value=L,y.fallbackLocale=u.value,Sn(y,c.value,L)}}),ie=ye(()=>g.value),G=ye(()=>f.value),V=ye(()=>k.value);function z(){return Pe(m)?m:null}function D(L){m=L,y.postTranslation=L}function ee(){return A}function pe(L){L!==null&&($=Mc(L)),A=L,y.missing=$}const fe=(L,F,oe,he,Ee,tt)=>{Z();let Ve;try{__INTLIFY_PROD_DEVTOOLS__,a||(y.fallbackContext=o?Pb():void 0),Ve=L(y)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(y.fallbackContext=void 0)}if(oe!=="translate exists"&&ze(Ve)&&Ve===ya||oe==="translate exists"&&!Ve){const[vo,Pi]=F();return o&&I?he(o):Ee(vo)}else{if(tt(Ve))return Ve;throw je(He.UNEXPECTED_RETURN_TYPE)}};function W(...L){return fe(F=>Reflect.apply(fc,null,[F,...L]),()=>Ds(...L),"translate",F=>Reflect.apply(F.t,F,[...L]),F=>F,F=>J(F))}function te(...L){const[F,oe,he]=L;if(he&&!Se(he))throw je(He.INVALID_ARGUMENT);return W(F,oe,qe({resolvedMessage:!0},he||{}))}function Y(...L){return fe(F=>Reflect.apply(_c,null,[F,...L]),()=>zs(...L),"datetime format",F=>Reflect.apply(F.d,F,[...L]),()=>ac,F=>J(F))}function me(...L){return fe(F=>Reflect.apply(Sc,null,[F,...L]),()=>Bs(...L),"number format",F=>Reflect.apply(F.n,F,[...L]),()=>ac,F=>J(F))}function X(L){return L.map(F=>J(F)||ze(F)||be(F)?Pc(String(F)):F)}const _e={normalize:X,interpolate:L=>L,type:"vnode"};function de(...L){return fe(F=>{let oe;const he=F;try{he.processor=_e,oe=Reflect.apply(fc,null,[he,...L])}finally{he.processor=null}return oe},()=>Ds(...L),"translate",F=>F[Hs](...L),F=>[Pc(F)],F=>Ne(F))}function re(...L){return fe(F=>Reflect.apply(Sc,null,[F,...L]),()=>Bs(...L),"number format",F=>F[js](...L),Nc,F=>J(F)||Ne(F))}function Ie(...L){return fe(F=>Reflect.apply(_c,null,[F,...L]),()=>zs(...L),"datetime format",F=>F[Gs](...L),Nc,F=>J(F)||Ne(F))}function h(L){E=L,y.pluralRules=E}function v(L,F){return fe(()=>{if(!L)return!1;const oe=J(F)?F:c.value,he=R(oe),Ee=y.messageResolver(he,L);return r?Ee!=null:Pt(Ee)||dt(Ee)||J(Ee)},()=>[L],"translate exists",oe=>Reflect.apply(oe.te,oe,[L,F]),Ub,oe=>be(oe))}function _(L){let F=null;const oe=oc(y,u.value,c.value);for(let he=0;he{l&&(c.value=L,y.locale=L,Sn(y,c.value,u.value))}),ut(o.fallbackLocale,L=>{l&&(u.value=L,y.fallbackLocale=L,Sn(y,c.value,u.value))}));const H={id:Ic,locale:B,fallbackLocale:Q,get inheritLocale(){return l},set inheritLocale(L){l=L,L&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Sn(y,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:ie,get modifiers(){return b},get pluralRules(){return E||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(L){w=L,y.missingWarn=w},get fallbackWarn(){return S},set fallbackWarn(L){S=L,y.fallbackWarn=S},get fallbackRoot(){return I},set fallbackRoot(L){I=L},get fallbackFormat(){return N},set fallbackFormat(L){N=L,y.fallbackFormat=N},get warnHtmlMessage(){return T},set warnHtmlMessage(L){T=L,y.warnHtmlMessage=L},get escapeParameter(){return P},set escapeParameter(L){P=L,y.escapeParameter=L},t:W,getLocaleMessage:R,setLocaleMessage:O,mergeLocaleMessage:K,getPostTranslationHandler:z,setPostTranslationHandler:D,getMissingHandler:ee,setMissingHandler:pe,[wc]:h};return H.datetimeFormats=G,H.numberFormats=V,H.rt=te,H.te=v,H.tm=M,H.d=Y,H.n=me,H.getDateTimeFormat=U,H.setDateTimeFormat=d,H.mergeDateTimeFormat=p,H.getNumberFormat=C,H.setNumberFormat=x,H.mergeNumberFormat=q,H[Tc]=n,H[Hs]=de,H[Gs]=Ie,H[js]=re,H}function Wb(e){const t=J(e.locale)?e.locale:zo,o=J(e.fallbackLocale)||Ne(e.fallbackLocale)||ue(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Pe(e.missing)?e.missing:void 0,a=be(e.silentTranslationWarn)||Qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=be(e.silentFallbackWarn)||Qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=be(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ue(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Pe(e.postTranslation)?e.postTranslation:void 0,g=J(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,k=be(e.sync)?e.sync:!0;let w=e.messages;if(ue(e.sharedMessages)){const P=e.sharedMessages;w=Object.keys(P).reduce((E,y)=>{const j=E[y]||(E[y]={});return qe(j,P[y]),E},w||{})}const{__i18n:S,__root:I,__injectWithOption:N}=e,A=e.datetimeFormats,$=e.numberFormats,m=e.flatJson,T=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:m,datetimeFormats:A,numberFormats:$,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:T,__i18n:S,__root:I,__injectWithOption:N}}function Ws(e={},t){{const o=Ks(Wb(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return be(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=be(s)?!s:s},get silentFallbackWarn(){return be(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=be(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[i,r,l]=s,c={};let u=null,g=null;if(!J(i))throw je(He.INVALID_ARGUMENT);const f=i;return J(r)?c.locale=r:Ne(r)?u=r:ue(r)&&(g=r),Ne(l)?u=l:ue(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,g=null;if(!J(i))throw je(He.INVALID_ARGUMENT);const f=i;return J(r)?c.locale=r:ze(r)?c.plural=r:Ne(r)?u=r:ue(r)&&(g=r),J(l)?c.locale=l:Ne(l)?u=l:ue(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},te(s,i){return o.te(s,i)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,i){o.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){o.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,i){o.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){o.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,i){o.setNumberFormat(s,i)},mergeNumberFormat(s,i){o.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=n,a}}const qs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ke?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},we())}function xc(e){return Ke}const Fc=nn({name:"i18n-t",props:qe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ze(e)||!isNaN(e)}},qs),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||Bo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(g=>g!=="_"),i=we();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=J(e.plural)?+e.plural:e.plural);const r=qb(t,s),l=a[Hs](e.keypath,r,i),c=qe(we(),n),u=J(e.tag)||Se(e.tag)?e.tag:xc();return ll(u,c,l)}}});function Vb(e){return Ne(e)&&!J(e[0])}function Oc(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=we();e.locale&&(i.locale=e.locale),J(e.format)?i.key=e.format:Se(e.format)&&(J(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((f,k)=>o.includes(k)?qe(we(),f,{[k]:e.format[k]}):f,we()));const l=n(e.value,i,r);let c=[i.key];Ne(l)?c=l.map((f,k)=>{const w=a[f.type],S=w?w({[f.type]:f.value,index:k,parts:l}):[f.value];return Vb(S)&&(S[0].key=`${f.type}-${k}`),S}):J(l)&&(c=[l]);const u=qe(we(),s),g=J(e.tag)||Se(e.tag)?e.tag:xc();return ll(g,u,c)}}const Rc=nn({name:"i18n-n",props:qe({value:{type:Number,required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||Bo({useScope:e.scope,__useComponent:!0});return Oc(e,t,vc,(...n)=>o[js](...n))}}),Dc=nn({name:"i18n-d",props:qe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||Bo({useScope:e.scope,__useComponent:!0});return Oc(e,t,$c,(...n)=>o[Gs](...n))}});function Yb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Jb(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw je(He.UNEXPECTED_ERROR);const u=Yb(e,r.$),g=zc(c);return[Reflect.apply(u.t,u,[...Bc(g)]),u]};return{created:(i,r)=>{const[l,c]=t(r);ga&&e.global===c&&(i.__i18nWatcher=ut(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{ga&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=zc(r);i.textContent=Reflect.apply(l.t,l,[...Bc(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function zc(e){if(J(e))return{path:e};if(ue(e)){if(!("path"in e))throw je(He.REQUIRED_VALUE,"path");return e}else throw je(He.INVALID_VALUE)}function Bc(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,i={},r=n||{};return J(o)&&(i.locale=o),ze(a)&&(i.plural=a),ze(s)&&(i.plural=s),[t,r,i]}function Xb(e,t,...o){const n=ue(o[0])?o[0]:{},a=!!n.useI18nComponentName;(be(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Fc.name,"I18nT"].forEach(i=>e.component(i,Fc)),[Rc.name,"I18nN"].forEach(i=>e.component(i,Rc)),[Dc.name,"I18nD"].forEach(i=>e.component(i,Dc))),e.directive("t",Jb(t))}function Zb(e,t,o){return{beforeCreate(){const n=Ct();if(!n)throw je(He.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=Hc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Ws(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Hc(e,a);else{this.$i18n=Ws({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Cc(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Ct();if(!n)throw je(He.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Hc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[wc](t.pluralizationRules||e.pluralizationRules);const o=va(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Qb=Zt("global-vue-i18n");function e_(e={},t){const o=__VUE_I18N_LEGACY_API__&&be(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=be(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[i,r]=t_(e,o),l=Zt("");function c(f){return s.get(f)||null}function u(f,k){s.set(f,k)}function g(f){s.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,f),ue(w[0])){const N=w[0];f.__composerExtend=N.__composerExtend,f.__vueI18nExtend=N.__vueI18nExtend}let S=null;!o&&n&&(S=u_(k,f.global)),__VUE_I18N_FULL_INSTALL__&&Xb(k,f,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(Zb(r,r.__composer,f));const I=k.unmount;k.unmount=()=>{S&&S(),f.dispose(),I()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function Bo(e={}){const t=Ct();if(t==null)throw je(He.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw je(He.NOT_INSTALLED);const o=o_(t),n=a_(o),a=Lc(t),s=n_(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw je(He.NOT_AVAILABLE_IN_LEGACY_MODE);return l_(t,s,n,e)}if(s==="global")return Cc(n,e,a),n;if(s==="parent"){let l=s_(o,t,e.__useComponent);return l==null&&(l=n),l}const i=o;let r=i.__getInstance(t);if(r==null){const l=qe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),r=Ks(l),i.__composerExtend&&(r[Us]=i.__composerExtend(r)),r_(i,t,r),i.__setInstance(t,r)}return r}function t_(e,t,o){const n=On();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ws(e)):n.run(()=>Ks(e));if(a==null)throw je(He.UNEXPECTED_ERROR);return[n,a]}}function o_(e){{const t=De(e.isCE?Qb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw je(e.isCE?He.NOT_INSTALLED_WITH_PROVIDE:He.UNEXPECTED_ERROR);return t}}function n_(e,t){return ha(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function a_(e){return e.mode==="composition"?e.global:e.global.__composer}function s_(e,t,o=!1){let n=null;const a=t.root;let s=i_(t,o);for(;s!=null;){const i=e;if(e.mode==="composition")n=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(n=r.__composer,o&&n&&!n[Tc]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function i_(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function r_(e,t,o){No(()=>{},t),oa(()=>{const n=o;e.__deleteInstance(t);const a=n[Us];a&&(a(),delete n[Us])},t)}function l_(e,t,o,n={}){const a=t==="local",s=Ja(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw je(He.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=be(n.inheritLocale)?n.inheritLocale:!J(n.locale),r=ce(!a||i?o.locale.value:J(n.locale)?n.locale:zo),l=ce(!a||i?o.fallbackLocale.value:J(n.fallbackLocale)||Ne(n.fallbackLocale)||ue(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:r.value),c=ce(va(r.value,n)),u=ce(ue(n.datetimeFormats)?n.datetimeFormats:{[r.value]:{}}),g=ce(ue(n.numberFormats)?n.numberFormats:{[r.value]:{}}),f=a?o.missingWarn:be(n.missingWarn)||Qt(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:be(n.fallbackWarn)||Qt(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:be(n.fallbackRoot)?n.fallbackRoot:!0,S=!!n.fallbackFormat,I=Pe(n.missing)?n.missing:null,N=Pe(n.postTranslation)?n.postTranslation:null,A=a?o.warnHtmlMessage:be(n.warnHtmlMessage)?n.warnHtmlMessage:!0,$=!!n.escapeParameter,m=a?o.modifiers:ue(n.modifiers)?n.modifiers:{},T=n.pluralRules||a&&o.pluralRules;function P(){return[r.value,l.value,c.value,u.value,g.value]}const b=ye({get:()=>s.value?s.value.locale.value:r.value,set:_=>{s.value&&(s.value.locale.value=_),r.value=_}}),E=ye({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:_=>{s.value&&(s.value.fallbackLocale.value=_),l.value=_}}),y=ye(()=>s.value?s.value.messages.value:c.value),j=ye(()=>u.value),Z=ye(()=>g.value);function B(){return s.value?s.value.getPostTranslationHandler():N}function Q(_){s.value&&s.value.setPostTranslationHandler(_)}function ie(){return s.value?s.value.getMissingHandler():I}function G(_){s.value&&s.value.setMissingHandler(_)}function V(_){return P(),_()}function z(..._){return s.value?V(()=>Reflect.apply(s.value.t,null,[..._])):V(()=>"")}function D(..._){return s.value?Reflect.apply(s.value.rt,null,[..._]):""}function ee(..._){return s.value?V(()=>Reflect.apply(s.value.d,null,[..._])):V(()=>"")}function pe(..._){return s.value?V(()=>Reflect.apply(s.value.n,null,[..._])):V(()=>"")}function fe(_){return s.value?s.value.tm(_):{}}function W(_,M){return s.value?s.value.te(_,M):!1}function te(_){return s.value?s.value.getLocaleMessage(_):{}}function Y(_,M){s.value&&(s.value.setLocaleMessage(_,M),c.value[_]=M)}function me(_,M){s.value&&s.value.mergeLocaleMessage(_,M)}function X(_){return s.value?s.value.getDateTimeFormat(_):{}}function ge(_,M){s.value&&(s.value.setDateTimeFormat(_,M),u.value[_]=M)}function _e(_,M){s.value&&s.value.mergeDateTimeFormat(_,M)}function de(_){return s.value?s.value.getNumberFormat(_):{}}function re(_,M){s.value&&(s.value.setNumberFormat(_,M),g.value[_]=M)}function Ie(_,M){s.value&&s.value.mergeNumberFormat(_,M)}const h={get id(){return s.value?s.value.id:-1},locale:b,fallbackLocale:E,messages:y,datetimeFormats:j,numberFormats:Z,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(_){s.value&&(s.value.inheritLocale=_)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:m},get pluralRules(){return s.value?s.value.pluralRules:T},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:f},set missingWarn(_){s.value&&(s.value.missingWarn=_)},get fallbackWarn(){return s.value?s.value.fallbackWarn:k},set fallbackWarn(_){s.value&&(s.value.missingWarn=_)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(_){s.value&&(s.value.fallbackRoot=_)},get fallbackFormat(){return s.value?s.value.fallbackFormat:S},set fallbackFormat(_){s.value&&(s.value.fallbackFormat=_)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:A},set warnHtmlMessage(_){s.value&&(s.value.warnHtmlMessage=_)},get escapeParameter(){return s.value?s.value.escapeParameter:$},set escapeParameter(_){s.value&&(s.value.escapeParameter=_)},t:z,getPostTranslationHandler:B,setPostTranslationHandler:Q,getMissingHandler:ie,setMissingHandler:G,rt:D,d:ee,n:pe,tm:fe,te:W,getLocaleMessage:te,setLocaleMessage:Y,mergeLocaleMessage:me,getDateTimeFormat:X,setDateTimeFormat:ge,mergeDateTimeFormat:_e,getNumberFormat:de,setNumberFormat:re,mergeNumberFormat:Ie};function v(_){_.locale.value=r.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{_.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{_.mergeDateTimeFormat(M,u.value[M])}),Object.keys(g.value).forEach(M=>{_.mergeNumberFormat(M,g.value[M])}),_.escapeParameter=$,_.fallbackFormat=S,_.fallbackRoot=w,_.fallbackWarn=k,_.missingWarn=f,_.warnHtmlMessage=A}return wr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw je(He.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,u.value=_.datetimeFormats.value,g.value=_.numberFormats.value):a&&v(_)}),h}const c_=["locale","fallbackLocale","availableLocales"],Gc=["t","rt","d","n","tm","te"];function u_(e,t){const o=Object.create(null);return c_.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw je(He.UNEXPECTED_ERROR);const i=Me(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,i)}),e.config.globalProperties.$i18n=o,Gc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw je(He.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Gc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Gb(),kb(Ob),wb(ab),Tb(oc),__INTLIFY_PROD_DEVTOOLS__){const e=_n();e.__INTLIFY__=!0,gb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const d_=Object.assign({"./locales/ar/allPeopleGroups.json":Ug,"./locales/ar/aria.json":Kg,"./locales/ar/buttons.json":Wg,"./locales/ar/detail.json":qg,"./locales/ar/gospel.json":Vg,"./locales/ar/grid.json":Yg,"./locales/ar/lists.json":Jg,"./locales/ar/mapui.json":Xg,"./locales/ar/messages.json":Zg,"./locales/ar/religion.json":Qg,"./locales/ar/share.json":eh,"./locales/de/allPeopleGroups.json":th,"./locales/de/aria.json":oh,"./locales/de/buttons.json":nh,"./locales/de/detail.json":ah,"./locales/de/gospel.json":sh,"./locales/de/grid.json":ih,"./locales/de/lists.json":rh,"./locales/de/mapui.json":lh,"./locales/de/messages.json":ch,"./locales/de/religion.json":uh,"./locales/de/share.json":dh,"./locales/en/allPeopleGroups.json":ph,"./locales/en/aria.json":gh,"./locales/en/buttons.json":hh,"./locales/en/detail.json":fh,"./locales/en/gospel.json":mh,"./locales/en/grid.json":bh,"./locales/en/lists.json":_h,"./locales/en/mapui.json":$h,"./locales/en/messages.json":yh,"./locales/en/religion.json":Sh,"./locales/en/share.json":vh,"./locales/es/allPeopleGroups.json":Ah,"./locales/es/aria.json":kh,"./locales/es/buttons.json":wh,"./locales/es/detail.json":Th,"./locales/es/gospel.json":Lh,"./locales/es/grid.json":Ch,"./locales/es/lists.json":Ph,"./locales/es/mapui.json":Eh,"./locales/es/messages.json":Nh,"./locales/es/religion.json":Ih,"./locales/es/share.json":Mh,"./locales/fr/allPeopleGroups.json":xh,"./locales/fr/aria.json":Fh,"./locales/fr/buttons.json":Oh,"./locales/fr/detail.json":Rh,"./locales/fr/gospel.json":Dh,"./locales/fr/grid.json":zh,"./locales/fr/lists.json":Bh,"./locales/fr/mapui.json":Hh,"./locales/fr/messages.json":Gh,"./locales/fr/religion.json":jh,"./locales/fr/share.json":Uh,"./locales/hi/allPeopleGroups.json":Kh,"./locales/hi/aria.json":Wh,"./locales/hi/buttons.json":qh,"./locales/hi/detail.json":Vh,"./locales/hi/gospel.json":Yh,"./locales/hi/grid.json":Jh,"./locales/hi/lists.json":Xh,"./locales/hi/mapui.json":Zh,"./locales/hi/messages.json":Qh,"./locales/hi/religion.json":ef,"./locales/hi/share.json":tf,"./locales/it/allPeopleGroups.json":of,"./locales/it/aria.json":nf,"./locales/it/buttons.json":af,"./locales/it/detail.json":sf,"./locales/it/gospel.json":rf,"./locales/it/grid.json":lf,"./locales/it/lists.json":cf,"./locales/it/mapui.json":uf,"./locales/it/messages.json":df,"./locales/it/religion.json":pf,"./locales/it/share.json":gf,"./locales/pt/allPeopleGroups.json":hf,"./locales/pt/aria.json":ff,"./locales/pt/buttons.json":mf,"./locales/pt/detail.json":bf,"./locales/pt/gospel.json":_f,"./locales/pt/grid.json":$f,"./locales/pt/lists.json":yf,"./locales/pt/mapui.json":Sf,"./locales/pt/messages.json":vf,"./locales/pt/religion.json":Af,"./locales/pt/share.json":kf,"./locales/ro/allPeopleGroups.json":wf,"./locales/ro/aria.json":Tf,"./locales/ro/buttons.json":Lf,"./locales/ro/detail.json":Cf,"./locales/ro/gospel.json":Pf,"./locales/ro/grid.json":Ef,"./locales/ro/lists.json":Nf,"./locales/ro/mapui.json":If,"./locales/ro/messages.json":Mf,"./locales/ro/religion.json":xf,"./locales/ro/share.json":Ff,"./locales/ru/allPeopleGroups.json":Of,"./locales/ru/aria.json":Rf,"./locales/ru/buttons.json":Df,"./locales/ru/detail.json":zf,"./locales/ru/gospel.json":Bf,"./locales/ru/grid.json":Hf,"./locales/ru/lists.json":Gf,"./locales/ru/mapui.json":jf,"./locales/ru/messages.json":Uf,"./locales/ru/religion.json":Kf,"./locales/ru/share.json":Wf,"./locales/zh/allPeopleGroups.json":qf,"./locales/zh/aria.json":Vf,"./locales/zh/buttons.json":Yf,"./locales/zh/detail.json":Jf,"./locales/zh/gospel.json":Xf,"./locales/zh/grid.json":Zf,"./locales/zh/lists.json":Qf,"./locales/zh/mapui.json":em,"./locales/zh/messages.json":tm,"./locales/zh/religion.json":om,"./locales/zh/share.json":nm}),yo={};for(const[e,t]of Object.entries(d_)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;yo[n]??(yo[n]={}),yo[n][a]=t}yo.en;const Aa=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],jc=new Set(["ar"]);function p_(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Uc(){var n;const e=p_();if(Aa.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Aa.includes(o)?o:"en"}function g_(){const e=Uc();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&jc.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=On(!0),o=t.run(()=>e_({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:yo,missingWarn:!1,fallbackWarn:!1}));t.run(()=>ut(o.global.locale,a=>Wc(a),{immediate:!0}));const n=o.install.bind(o);return o.install=(a,...s)=>{const i=n(a,...s);a.provide("appI18n",o);const r=a.provide.bind(a);return a.provide=(l,c)=>l==="appI18n"&&c===o?a:r(l,c),i},o}const Kc="__DOXA_PAGE_LOCALE";function Wc(e){const t=String(e||"").split("-")[0].toLowerCase();if(Aa.includes(t))try{typeof window<"u"&&(window[Kc]=t)}catch{}}function h_(){try{return typeof window<"u"&&window[Kc]||""}catch{return""}}function So(e,t){const o=a=>{let s=yo[a];for(const i of String(e).split(".")){if(!s||typeof s!="object")return;s=s[i]}return typeof s=="string"?s:void 0},n=t||h_()||Uc();return o(n)??o("en")}function qc(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function ka(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function f_(e,t={}){const o=typeof t.fallback=="function"?(n,a)=>qc(t.fallback(ka(e,n),a)??n,a):(n,a)=>qc(So(ka(e,n))??n,a);try{const n=Bo();return(a,s)=>{const i=ka(e,a),r=n.t(i,s||{});return r===i?o(a,s):r}}catch{return o}}function Vc(e,t={}){const o=f_(e,t);try{const n=Bo();return{t:o,te:a=>n.te(ka(e,a)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}function Ho(e,t){const o=Ct(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:m_(e));No(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot))return;const i=s.querySelector(`style[data-shadow-styles="${n}"]`);if(i){i.textContent!==e&&(i.textContent=e);return}const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,s.appendChild(r)})}function m_(e){let t=0;for(let o=0;oSo(z)||D,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=Vc("",{fallback:z=>o[z]}),s=De("uiStore",null),i=De("profileConfig",null),r=ye(()=>(s==null?void 0:s.theme)==="dark"),l=ye(()=>{var ee;const z=(ee=i==null?void 0:i.value)==null?void 0:ee.pinHintLabel;if(z)return z;const D="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):D}catch{return D}}),c=ce(!1),u=ce(!0);let g=null;const f=ce(!0);let k=[];const w=["inert","hidden","aria-hidden"];function S(z){const D=[];let ee=z;for(;ee;)ee.nodeType===1&&D.push(ee),ee=ee.parentNode||ee.host||null;return D}function I(z){return S(z).some(D=>D.hasAttribute("inert")||D.hasAttribute("hidden")||D.getAttribute("aria-hidden")==="true")}function N(z){const D=()=>{const ee=!I(z);ee!==f.value&&(f.value=ee,ee&&po(G))};if(D(),!(typeof MutationObserver>"u"))for(const ee of S(z))try{const pe=new MutationObserver(D);pe.observe(ee,{attributes:!0,attributeFilter:w}),k.push(pe)}catch{}}const A=ce(null);let $=null,m=null,T=null,P=null,b=null,E=null,y=[],j=null,Z=null;function B(){c.value=!1}function Q(z,D){var pe;let ee=z==null?void 0:z.parentElement;for(let fe=0;ee&&fe<12;fe++,ee=ee.parentElement){if(ee===D||(pe=ee.classList)!=null&&pe.contains("profile-loader"))return null;let W="";try{W=getComputedStyle(ee).position}catch{}if(W&&W!=="static"){const te=ee.getBoundingClientRect();if(te.height>=120&&te.width>=160)return ee}}return null}function ie(z){var ee;const D=(ee=P==null?void 0:P.querySelector)==null?void 0:ee.call(P,".legend-mobile-sheet");if(!D)return 1/0;if(b&&E!==D){try{b.disconnect()}catch{}b=null}if(!b&&typeof ResizeObserver<"u")try{b=new ResizeObserver(()=>G()),b.observe(D),E=D}catch{b=null}try{const pe=D.getBoundingClientRect();return!(pe.height>16)||!(pe.width>16)||z.right<=pe.left||pe.right<=z.left?1/0:pe.top}catch{return 1/0}}function G(){const z=A.value;if(!(!z||!u.value||!f.value))try{z.style.removeProperty("--pin-hint-lift");const D=z.getBoundingClientRect();if(!D.height)return;const ee=Math.min(window.innerHeight,ie(D)),pe=Math.round(D.bottom-ee);pe>0&&z.style.setProperty("--pin-hint-lift",pe+8+"px")}catch{}}function V(z){const D=A.value;if(!D||!(z!=null&&z.querySelector))return;let ee=0;try{const fe=z.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(fe){const W=fe.getBoundingClientRect(),te=D.parentElement,Y=te?te.getBoundingClientRect():null;if(ee=Y?Math.max(W.height||0,Y.bottom-W.top):W.height||0,Z!==fe&&typeof ResizeObserver<"u"){if(T)try{T.disconnect()}catch{}Z=fe,T=new ResizeObserver(()=>V(z)),T.observe(fe)}}}catch{}const pe=Math.min(Math.max(Math.ceil(ee)||20,20),72);D.style.setProperty("--pin-hint-attrib-clear",pe+"px"),G()}return No(()=>{var pe,fe,W;const z=Ct(),D=(W=(fe=(pe=z==null?void 0:z.proxy)==null?void 0:pe.$el)==null?void 0:fe.getRootNode)==null?void 0:W.call(fe);if(!D||typeof D.querySelector!="function")return;P=D;let ee=0;$=setInterval(()=>{ee++;const te=D.querySelector("canvas");te?(clearInterval($),$=null,c.value=!0,po(()=>{const Y=Q(te,D),me=A.value;if(Y&&me&&me.parentElement!==Y)try{Y.appendChild(me),m=Y}catch{}if(Y&&N(Y),Y&&typeof IntersectionObserver<"u")try{g=new IntersectionObserver(X=>{const ge=X[X.length-1],_e=!!ge&&ge.isIntersecting&&ge.intersectionRatio>=.2;_e!==u.value&&(u.value=_e,_e&&po(G))},{threshold:[0,.2,.5]}),g.observe(Y)}catch{}V(D),G(),y.push(setTimeout(G,1200),setTimeout(G,3e3),setTimeout(G,6e3));try{const X=A.value&&A.value.offsetParent||null;if(X&&typeof ResizeObserver<"u"){if(j)try{j.disconnect()}catch{}j=new ResizeObserver(()=>G()),j.observe(X)}}catch{}})):ee>40&&(clearInterval($),$=null)},300)}),sn(()=>{var z;if($&&clearInterval($),g){try{g.disconnect()}catch{}g=null}for(const D of k)try{D.disconnect()}catch{}if(k=[],T){try{T.disconnect()}catch{}T=null}if(Z=null,j){try{j.disconnect()}catch{}j=null}if(b){try{b.disconnect()}catch{}b=null}E=null;for(const D of y)clearTimeout(D);if(y=[],P=null,m&&((z=A.value)==null?void 0:z.parentElement)===m)try{m.removeChild(A.value)}catch{}m=null}),Ho(` + */const Hb="9.14.5";function Gb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(_n().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(_n().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(_n().__INTLIFY_PROD_DEVTOOLS__=!1)}const jb=_b.__EXTEND_POINT__,Ut=fa(jb);Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut();const kc=Et.__EXTEND_POINT__,nt=fa(kc),He={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:nt(),MUST_BE_CALL_SETUP_TOP:nt(),NOT_INSTALLED:nt(),NOT_AVAILABLE_IN_LEGACY_MODE:nt(),REQUIRED_VALUE:nt(),INVALID_VALUE:nt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:nt(),NOT_INSTALLED_WITH_PROVIDE:nt(),UNEXPECTED_ERROR:nt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:nt(),BRIDGE_SUPPORT_VUE_2_ONLY:nt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:nt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:nt(),__EXTEND_POINT__:nt()};function je(e,...t){return Oo(e,null,void 0)}const Hs=Zt("__translateVNode"),Gs=Zt("__datetimeParts"),js=Zt("__numberParts"),wc=Zt("__setPluralRules"),Tc=Zt("__injectWithOption"),Us=Zt("__dispose");function vn(e){if(!Se(e)||Pt(e))return e;for(const t in e)if(bt(e,t))if(!t.includes("."))Se(e[t])&&vn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||we(),ba(c,i[l])):ba(c,i)}else J(r)&&ba(JSON.parse(r),i)}),a==null&&s)for(const r in i)bt(i,r)&&vn(i[r]);return i}function Lc(e){return e.type}function Cc(e,t,o){let n=Se(t.messages)?t.messages:we();"__i18nGlobal"in o&&(n=va(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Se(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(Se(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Pc(e){return xe(cn,null,e,0)}const Ec="__INTLIFY_META__",Nc=()=>[],Ub=()=>!1;let Ic=0;function Mc(e){return(t,o,n,a)=>e(o,n,Ct()||void 0,a)}const Kb=()=>{const e=Ct();let t=null;return e&&(t=Lc(e)[Ec])?{[Ec]:t}:null};function Ks(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,i=ga?ce:Ja,r=!!e.translateExistCompatible;let l=be(e.inheritLocale)?e.inheritLocale:!0;const c=i(o&&l?o.locale.value:J(e.locale)?e.locale:zo),u=i(o&&l?o.fallbackLocale.value:J(e.fallbackLocale)||Ne(e.fallbackLocale)||ue(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=i(va(c.value,e)),f=i(ue(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ue(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:be(e.missingWarn)||Qt(e.missingWarn)?e.missingWarn:!0,S=o?o.fallbackWarn:be(e.fallbackWarn)||Qt(e.fallbackWarn)?e.fallbackWarn:!0,I=o?o.fallbackRoot:be(e.fallbackRoot)?e.fallbackRoot:!0,N=!!e.fallbackFormat,A=Pe(e.missing)?e.missing:null,$=Pe(e.missing)?Mc(e.missing):null,m=Pe(e.postTranslation)?e.postTranslation:null,T=o?o.warnHtmlMessage:be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,P=!!e.escapeParameter;const b=o?o.modifiers:ue(e.modifiers)?e.modifiers:{};let E=e.pluralRules||o&&o.pluralRules,y;y=(()=>{a&&dc(null);const L={version:Hb,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:b,pluralRules:E,missing:$===null?void 0:$,missingWarn:w,fallbackWarn:S,fallbackFormat:N,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:T,escapeParameter:P,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};L.datetimeFormats=f.value,L.numberFormats=k.value,L.__datetimeFormatters=ue(y)?y.__datetimeFormatters:void 0,L.__numberFormatters=ue(y)?y.__numberFormatters:void 0;const F=Eb(L);return a&&dc(F),F})(),Sn(y,c.value,u.value);function Z(){return[c.value,u.value,g.value,f.value,k.value]}const B=ye({get:()=>c.value,set:L=>{c.value=L,y.locale=c.value}}),Q=ye({get:()=>u.value,set:L=>{u.value=L,y.fallbackLocale=u.value,Sn(y,c.value,L)}}),ie=ye(()=>g.value),G=ye(()=>f.value),V=ye(()=>k.value);function z(){return Pe(m)?m:null}function D(L){m=L,y.postTranslation=L}function ee(){return A}function pe(L){L!==null&&($=Mc(L)),A=L,y.missing=$}const fe=(L,F,oe,he,Ee,tt)=>{Z();let Ve;try{__INTLIFY_PROD_DEVTOOLS__,a||(y.fallbackContext=o?Pb():void 0),Ve=L(y)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(y.fallbackContext=void 0)}if(oe!=="translate exists"&&ze(Ve)&&Ve===ya||oe==="translate exists"&&!Ve){const[vo,Pi]=F();return o&&I?he(o):Ee(vo)}else{if(tt(Ve))return Ve;throw je(He.UNEXPECTED_RETURN_TYPE)}};function W(...L){return fe(F=>Reflect.apply(fc,null,[F,...L]),()=>Ds(...L),"translate",F=>Reflect.apply(F.t,F,[...L]),F=>F,F=>J(F))}function te(...L){const[F,oe,he]=L;if(he&&!Se(he))throw je(He.INVALID_ARGUMENT);return W(F,oe,qe({resolvedMessage:!0},he||{}))}function Y(...L){return fe(F=>Reflect.apply(_c,null,[F,...L]),()=>zs(...L),"datetime format",F=>Reflect.apply(F.d,F,[...L]),()=>ac,F=>J(F))}function me(...L){return fe(F=>Reflect.apply(Sc,null,[F,...L]),()=>Bs(...L),"number format",F=>Reflect.apply(F.n,F,[...L]),()=>ac,F=>J(F))}function X(L){return L.map(F=>J(F)||ze(F)||be(F)?Pc(String(F)):F)}const _e={normalize:X,interpolate:L=>L,type:"vnode"};function de(...L){return fe(F=>{let oe;const he=F;try{he.processor=_e,oe=Reflect.apply(fc,null,[he,...L])}finally{he.processor=null}return oe},()=>Ds(...L),"translate",F=>F[Hs](...L),F=>[Pc(F)],F=>Ne(F))}function re(...L){return fe(F=>Reflect.apply(Sc,null,[F,...L]),()=>Bs(...L),"number format",F=>F[js](...L),Nc,F=>J(F)||Ne(F))}function Ie(...L){return fe(F=>Reflect.apply(_c,null,[F,...L]),()=>zs(...L),"datetime format",F=>F[Gs](...L),Nc,F=>J(F)||Ne(F))}function h(L){E=L,y.pluralRules=E}function v(L,F){return fe(()=>{if(!L)return!1;const oe=J(F)?F:c.value,he=R(oe),Ee=y.messageResolver(he,L);return r?Ee!=null:Pt(Ee)||dt(Ee)||J(Ee)},()=>[L],"translate exists",oe=>Reflect.apply(oe.te,oe,[L,F]),Ub,oe=>be(oe))}function _(L){let F=null;const oe=oc(y,u.value,c.value);for(let he=0;he{l&&(c.value=L,y.locale=L,Sn(y,c.value,u.value))}),ut(o.fallbackLocale,L=>{l&&(u.value=L,y.fallbackLocale=L,Sn(y,c.value,u.value))}));const H={id:Ic,locale:B,fallbackLocale:Q,get inheritLocale(){return l},set inheritLocale(L){l=L,L&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Sn(y,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:ie,get modifiers(){return b},get pluralRules(){return E||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(L){w=L,y.missingWarn=w},get fallbackWarn(){return S},set fallbackWarn(L){S=L,y.fallbackWarn=S},get fallbackRoot(){return I},set fallbackRoot(L){I=L},get fallbackFormat(){return N},set fallbackFormat(L){N=L,y.fallbackFormat=N},get warnHtmlMessage(){return T},set warnHtmlMessage(L){T=L,y.warnHtmlMessage=L},get escapeParameter(){return P},set escapeParameter(L){P=L,y.escapeParameter=L},t:W,getLocaleMessage:R,setLocaleMessage:O,mergeLocaleMessage:K,getPostTranslationHandler:z,setPostTranslationHandler:D,getMissingHandler:ee,setMissingHandler:pe,[wc]:h};return H.datetimeFormats=G,H.numberFormats=V,H.rt=te,H.te=v,H.tm=M,H.d=Y,H.n=me,H.getDateTimeFormat=U,H.setDateTimeFormat=d,H.mergeDateTimeFormat=p,H.getNumberFormat=C,H.setNumberFormat=x,H.mergeNumberFormat=q,H[Tc]=n,H[Hs]=de,H[Gs]=Ie,H[js]=re,H}function Wb(e){const t=J(e.locale)?e.locale:zo,o=J(e.fallbackLocale)||Ne(e.fallbackLocale)||ue(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Pe(e.missing)?e.missing:void 0,a=be(e.silentTranslationWarn)||Qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=be(e.silentFallbackWarn)||Qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=be(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ue(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Pe(e.postTranslation)?e.postTranslation:void 0,g=J(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,k=be(e.sync)?e.sync:!0;let w=e.messages;if(ue(e.sharedMessages)){const P=e.sharedMessages;w=Object.keys(P).reduce((E,y)=>{const j=E[y]||(E[y]={});return qe(j,P[y]),E},w||{})}const{__i18n:S,__root:I,__injectWithOption:N}=e,A=e.datetimeFormats,$=e.numberFormats,m=e.flatJson,T=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:m,datetimeFormats:A,numberFormats:$,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:T,__i18n:S,__root:I,__injectWithOption:N}}function Ws(e={},t){{const o=Ks(Wb(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return be(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=be(s)?!s:s},get silentFallbackWarn(){return be(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=be(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[i,r,l]=s,c={};let u=null,g=null;if(!J(i))throw je(He.INVALID_ARGUMENT);const f=i;return J(r)?c.locale=r:Ne(r)?u=r:ue(r)&&(g=r),Ne(l)?u=l:ue(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,g=null;if(!J(i))throw je(He.INVALID_ARGUMENT);const f=i;return J(r)?c.locale=r:ze(r)?c.plural=r:Ne(r)?u=r:ue(r)&&(g=r),J(l)?c.locale=l:Ne(l)?u=l:ue(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},te(s,i){return o.te(s,i)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,i){o.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){o.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,i){o.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){o.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,i){o.setNumberFormat(s,i)},mergeNumberFormat(s,i){o.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=n,a}}const qs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ke?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},we())}function xc(e){return Ke}const Fc=nn({name:"i18n-t",props:qe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ze(e)||!isNaN(e)}},qs),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||Bo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(g=>g!=="_"),i=we();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=J(e.plural)?+e.plural:e.plural);const r=qb(t,s),l=a[Hs](e.keypath,r,i),c=qe(we(),n),u=J(e.tag)||Se(e.tag)?e.tag:xc();return ll(u,c,l)}}});function Vb(e){return Ne(e)&&!J(e[0])}function Oc(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=we();e.locale&&(i.locale=e.locale),J(e.format)?i.key=e.format:Se(e.format)&&(J(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((f,k)=>o.includes(k)?qe(we(),f,{[k]:e.format[k]}):f,we()));const l=n(e.value,i,r);let c=[i.key];Ne(l)?c=l.map((f,k)=>{const w=a[f.type],S=w?w({[f.type]:f.value,index:k,parts:l}):[f.value];return Vb(S)&&(S[0].key=`${f.type}-${k}`),S}):J(l)&&(c=[l]);const u=qe(we(),s),g=J(e.tag)||Se(e.tag)?e.tag:xc();return ll(g,u,c)}}const Rc=nn({name:"i18n-n",props:qe({value:{type:Number,required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||Bo({useScope:e.scope,__useComponent:!0});return Oc(e,t,vc,(...n)=>o[js](...n))}}),Dc=nn({name:"i18n-d",props:qe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||Bo({useScope:e.scope,__useComponent:!0});return Oc(e,t,$c,(...n)=>o[Gs](...n))}});function Yb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Jb(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw je(He.UNEXPECTED_ERROR);const u=Yb(e,r.$),g=zc(c);return[Reflect.apply(u.t,u,[...Bc(g)]),u]};return{created:(i,r)=>{const[l,c]=t(r);ga&&e.global===c&&(i.__i18nWatcher=ut(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{ga&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=zc(r);i.textContent=Reflect.apply(l.t,l,[...Bc(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function zc(e){if(J(e))return{path:e};if(ue(e)){if(!("path"in e))throw je(He.REQUIRED_VALUE,"path");return e}else throw je(He.INVALID_VALUE)}function Bc(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,i={},r=n||{};return J(o)&&(i.locale=o),ze(a)&&(i.plural=a),ze(s)&&(i.plural=s),[t,r,i]}function Xb(e,t,...o){const n=ue(o[0])?o[0]:{},a=!!n.useI18nComponentName;(be(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Fc.name,"I18nT"].forEach(i=>e.component(i,Fc)),[Rc.name,"I18nN"].forEach(i=>e.component(i,Rc)),[Dc.name,"I18nD"].forEach(i=>e.component(i,Dc))),e.directive("t",Jb(t))}function Zb(e,t,o){return{beforeCreate(){const n=Ct();if(!n)throw je(He.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=Hc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Ws(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Hc(e,a);else{this.$i18n=Ws({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Cc(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Ct();if(!n)throw je(He.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Hc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[wc](t.pluralizationRules||e.pluralizationRules);const o=va(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Qb=Zt("global-vue-i18n");function e_(e={},t){const o=__VUE_I18N_LEGACY_API__&&be(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=be(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[i,r]=t_(e,o),l=Zt("");function c(f){return s.get(f)||null}function u(f,k){s.set(f,k)}function g(f){s.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,f),ue(w[0])){const N=w[0];f.__composerExtend=N.__composerExtend,f.__vueI18nExtend=N.__vueI18nExtend}let S=null;!o&&n&&(S=u_(k,f.global)),__VUE_I18N_FULL_INSTALL__&&Xb(k,f,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(Zb(r,r.__composer,f));const I=k.unmount;k.unmount=()=>{S&&S(),f.dispose(),I()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function Bo(e={}){const t=Ct();if(t==null)throw je(He.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw je(He.NOT_INSTALLED);const o=o_(t),n=a_(o),a=Lc(t),s=n_(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw je(He.NOT_AVAILABLE_IN_LEGACY_MODE);return l_(t,s,n,e)}if(s==="global")return Cc(n,e,a),n;if(s==="parent"){let l=s_(o,t,e.__useComponent);return l==null&&(l=n),l}const i=o;let r=i.__getInstance(t);if(r==null){const l=qe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),r=Ks(l),i.__composerExtend&&(r[Us]=i.__composerExtend(r)),r_(i,t,r),i.__setInstance(t,r)}return r}function t_(e,t,o){const n=On();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ws(e)):n.run(()=>Ks(e));if(a==null)throw je(He.UNEXPECTED_ERROR);return[n,a]}}function o_(e){{const t=De(e.isCE?Qb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw je(e.isCE?He.NOT_INSTALLED_WITH_PROVIDE:He.UNEXPECTED_ERROR);return t}}function n_(e,t){return ha(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function a_(e){return e.mode==="composition"?e.global:e.global.__composer}function s_(e,t,o=!1){let n=null;const a=t.root;let s=i_(t,o);for(;s!=null;){const i=e;if(e.mode==="composition")n=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(n=r.__composer,o&&n&&!n[Tc]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function i_(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function r_(e,t,o){No(()=>{},t),oa(()=>{const n=o;e.__deleteInstance(t);const a=n[Us];a&&(a(),delete n[Us])},t)}function l_(e,t,o,n={}){const a=t==="local",s=Ja(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw je(He.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=be(n.inheritLocale)?n.inheritLocale:!J(n.locale),r=ce(!a||i?o.locale.value:J(n.locale)?n.locale:zo),l=ce(!a||i?o.fallbackLocale.value:J(n.fallbackLocale)||Ne(n.fallbackLocale)||ue(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:r.value),c=ce(va(r.value,n)),u=ce(ue(n.datetimeFormats)?n.datetimeFormats:{[r.value]:{}}),g=ce(ue(n.numberFormats)?n.numberFormats:{[r.value]:{}}),f=a?o.missingWarn:be(n.missingWarn)||Qt(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:be(n.fallbackWarn)||Qt(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:be(n.fallbackRoot)?n.fallbackRoot:!0,S=!!n.fallbackFormat,I=Pe(n.missing)?n.missing:null,N=Pe(n.postTranslation)?n.postTranslation:null,A=a?o.warnHtmlMessage:be(n.warnHtmlMessage)?n.warnHtmlMessage:!0,$=!!n.escapeParameter,m=a?o.modifiers:ue(n.modifiers)?n.modifiers:{},T=n.pluralRules||a&&o.pluralRules;function P(){return[r.value,l.value,c.value,u.value,g.value]}const b=ye({get:()=>s.value?s.value.locale.value:r.value,set:_=>{s.value&&(s.value.locale.value=_),r.value=_}}),E=ye({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:_=>{s.value&&(s.value.fallbackLocale.value=_),l.value=_}}),y=ye(()=>s.value?s.value.messages.value:c.value),j=ye(()=>u.value),Z=ye(()=>g.value);function B(){return s.value?s.value.getPostTranslationHandler():N}function Q(_){s.value&&s.value.setPostTranslationHandler(_)}function ie(){return s.value?s.value.getMissingHandler():I}function G(_){s.value&&s.value.setMissingHandler(_)}function V(_){return P(),_()}function z(..._){return s.value?V(()=>Reflect.apply(s.value.t,null,[..._])):V(()=>"")}function D(..._){return s.value?Reflect.apply(s.value.rt,null,[..._]):""}function ee(..._){return s.value?V(()=>Reflect.apply(s.value.d,null,[..._])):V(()=>"")}function pe(..._){return s.value?V(()=>Reflect.apply(s.value.n,null,[..._])):V(()=>"")}function fe(_){return s.value?s.value.tm(_):{}}function W(_,M){return s.value?s.value.te(_,M):!1}function te(_){return s.value?s.value.getLocaleMessage(_):{}}function Y(_,M){s.value&&(s.value.setLocaleMessage(_,M),c.value[_]=M)}function me(_,M){s.value&&s.value.mergeLocaleMessage(_,M)}function X(_){return s.value?s.value.getDateTimeFormat(_):{}}function ge(_,M){s.value&&(s.value.setDateTimeFormat(_,M),u.value[_]=M)}function _e(_,M){s.value&&s.value.mergeDateTimeFormat(_,M)}function de(_){return s.value?s.value.getNumberFormat(_):{}}function re(_,M){s.value&&(s.value.setNumberFormat(_,M),g.value[_]=M)}function Ie(_,M){s.value&&s.value.mergeNumberFormat(_,M)}const h={get id(){return s.value?s.value.id:-1},locale:b,fallbackLocale:E,messages:y,datetimeFormats:j,numberFormats:Z,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(_){s.value&&(s.value.inheritLocale=_)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:m},get pluralRules(){return s.value?s.value.pluralRules:T},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:f},set missingWarn(_){s.value&&(s.value.missingWarn=_)},get fallbackWarn(){return s.value?s.value.fallbackWarn:k},set fallbackWarn(_){s.value&&(s.value.missingWarn=_)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(_){s.value&&(s.value.fallbackRoot=_)},get fallbackFormat(){return s.value?s.value.fallbackFormat:S},set fallbackFormat(_){s.value&&(s.value.fallbackFormat=_)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:A},set warnHtmlMessage(_){s.value&&(s.value.warnHtmlMessage=_)},get escapeParameter(){return s.value?s.value.escapeParameter:$},set escapeParameter(_){s.value&&(s.value.escapeParameter=_)},t:z,getPostTranslationHandler:B,setPostTranslationHandler:Q,getMissingHandler:ie,setMissingHandler:G,rt:D,d:ee,n:pe,tm:fe,te:W,getLocaleMessage:te,setLocaleMessage:Y,mergeLocaleMessage:me,getDateTimeFormat:X,setDateTimeFormat:ge,mergeDateTimeFormat:_e,getNumberFormat:de,setNumberFormat:re,mergeNumberFormat:Ie};function v(_){_.locale.value=r.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{_.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{_.mergeDateTimeFormat(M,u.value[M])}),Object.keys(g.value).forEach(M=>{_.mergeNumberFormat(M,g.value[M])}),_.escapeParameter=$,_.fallbackFormat=S,_.fallbackRoot=w,_.fallbackWarn=k,_.missingWarn=f,_.warnHtmlMessage=A}return wr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw je(He.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,u.value=_.datetimeFormats.value,g.value=_.numberFormats.value):a&&v(_)}),h}const c_=["locale","fallbackLocale","availableLocales"],Gc=["t","rt","d","n","tm","te"];function u_(e,t){const o=Object.create(null);return c_.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw je(He.UNEXPECTED_ERROR);const i=Me(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,i)}),e.config.globalProperties.$i18n=o,Gc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw je(He.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Gc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Gb(),kb(Ob),wb(ab),Tb(oc),__INTLIFY_PROD_DEVTOOLS__){const e=_n();e.__INTLIFY__=!0,gb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const d_=Object.assign({"./locales/ar/allPeopleGroups.json":Ug,"./locales/ar/aria.json":Kg,"./locales/ar/buttons.json":Wg,"./locales/ar/detail.json":qg,"./locales/ar/gospel.json":Vg,"./locales/ar/grid.json":Yg,"./locales/ar/lists.json":Jg,"./locales/ar/mapui.json":Xg,"./locales/ar/messages.json":Zg,"./locales/ar/religion.json":Qg,"./locales/ar/share.json":eh,"./locales/de/allPeopleGroups.json":th,"./locales/de/aria.json":oh,"./locales/de/buttons.json":nh,"./locales/de/detail.json":ah,"./locales/de/gospel.json":sh,"./locales/de/grid.json":ih,"./locales/de/lists.json":rh,"./locales/de/mapui.json":lh,"./locales/de/messages.json":ch,"./locales/de/religion.json":uh,"./locales/de/share.json":dh,"./locales/en/allPeopleGroups.json":ph,"./locales/en/aria.json":gh,"./locales/en/buttons.json":hh,"./locales/en/detail.json":fh,"./locales/en/gospel.json":mh,"./locales/en/grid.json":bh,"./locales/en/lists.json":_h,"./locales/en/mapui.json":$h,"./locales/en/messages.json":yh,"./locales/en/religion.json":Sh,"./locales/en/share.json":vh,"./locales/es/allPeopleGroups.json":Ah,"./locales/es/aria.json":kh,"./locales/es/buttons.json":wh,"./locales/es/detail.json":Th,"./locales/es/gospel.json":Lh,"./locales/es/grid.json":Ch,"./locales/es/lists.json":Ph,"./locales/es/mapui.json":Eh,"./locales/es/messages.json":Nh,"./locales/es/religion.json":Ih,"./locales/es/share.json":Mh,"./locales/fr/allPeopleGroups.json":xh,"./locales/fr/aria.json":Fh,"./locales/fr/buttons.json":Oh,"./locales/fr/detail.json":Rh,"./locales/fr/gospel.json":Dh,"./locales/fr/grid.json":zh,"./locales/fr/lists.json":Bh,"./locales/fr/mapui.json":Hh,"./locales/fr/messages.json":Gh,"./locales/fr/religion.json":jh,"./locales/fr/share.json":Uh,"./locales/hi/allPeopleGroups.json":Kh,"./locales/hi/aria.json":Wh,"./locales/hi/buttons.json":qh,"./locales/hi/detail.json":Vh,"./locales/hi/gospel.json":Yh,"./locales/hi/grid.json":Jh,"./locales/hi/lists.json":Xh,"./locales/hi/mapui.json":Zh,"./locales/hi/messages.json":Qh,"./locales/hi/religion.json":ef,"./locales/hi/share.json":tf,"./locales/it/allPeopleGroups.json":of,"./locales/it/aria.json":nf,"./locales/it/buttons.json":af,"./locales/it/detail.json":sf,"./locales/it/gospel.json":rf,"./locales/it/grid.json":lf,"./locales/it/lists.json":cf,"./locales/it/mapui.json":uf,"./locales/it/messages.json":df,"./locales/it/religion.json":pf,"./locales/it/share.json":gf,"./locales/pt/allPeopleGroups.json":hf,"./locales/pt/aria.json":ff,"./locales/pt/buttons.json":mf,"./locales/pt/detail.json":bf,"./locales/pt/gospel.json":_f,"./locales/pt/grid.json":$f,"./locales/pt/lists.json":yf,"./locales/pt/mapui.json":Sf,"./locales/pt/messages.json":vf,"./locales/pt/religion.json":Af,"./locales/pt/share.json":kf,"./locales/ro/allPeopleGroups.json":wf,"./locales/ro/aria.json":Tf,"./locales/ro/buttons.json":Lf,"./locales/ro/detail.json":Cf,"./locales/ro/gospel.json":Pf,"./locales/ro/grid.json":Ef,"./locales/ro/lists.json":Nf,"./locales/ro/mapui.json":If,"./locales/ro/messages.json":Mf,"./locales/ro/religion.json":xf,"./locales/ro/share.json":Ff,"./locales/ru/allPeopleGroups.json":Of,"./locales/ru/aria.json":Rf,"./locales/ru/buttons.json":Df,"./locales/ru/detail.json":zf,"./locales/ru/gospel.json":Bf,"./locales/ru/grid.json":Hf,"./locales/ru/lists.json":Gf,"./locales/ru/mapui.json":jf,"./locales/ru/messages.json":Uf,"./locales/ru/religion.json":Kf,"./locales/ru/share.json":Wf,"./locales/zh/allPeopleGroups.json":qf,"./locales/zh/aria.json":Vf,"./locales/zh/buttons.json":Yf,"./locales/zh/detail.json":Jf,"./locales/zh/gospel.json":Xf,"./locales/zh/grid.json":Zf,"./locales/zh/lists.json":Qf,"./locales/zh/mapui.json":em,"./locales/zh/messages.json":tm,"./locales/zh/religion.json":om,"./locales/zh/share.json":nm}),yo={};for(const[e,t]of Object.entries(d_)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;yo[n]??(yo[n]={}),yo[n][a]=t}yo.en;const Aa=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],jc=new Set(["ar"]);function p_(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Uc(){var n;const e=p_();if(Aa.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Aa.includes(o)?o:"en"}function g_(){const e=Uc();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&jc.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=On(!0),o=t.run(()=>e_({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:yo,missingWarn:!1,fallbackWarn:!1}));t.run(()=>ut(o.global.locale,a=>Wc(a),{immediate:!0}));const n=o.install.bind(o);return o.install=(a,...s)=>{const i=n(a,...s);a.provide("appI18n",o);const r=a.provide.bind(a);return a.provide=(l,c)=>l==="appI18n"&&c===o?a:r(l,c),i},o}const Kc="__DOXA_PAGE_LOCALE";function Wc(e){const t=String(e||"").split("-")[0].toLowerCase();if(Aa.includes(t))try{typeof window<"u"&&(window[Kc]=t)}catch{}}function h_(){try{return typeof window<"u"&&window[Kc]||""}catch{return""}}function So(e,t){const o=a=>{let s=yo[a];for(const i of String(e).split(".")){if(!s||typeof s!="object")return;s=s[i]}return typeof s=="string"?s:void 0},n=t||h_()||Uc();return o(n)??o("en")}function qc(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function ka(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function f_(e,t={}){const o=typeof t.fallback=="function"?(n,a)=>qc(t.fallback(ka(e,n),a)??n,a):(n,a)=>qc(So(ka(e,n))??n,a);try{const n=Bo();return(a,s)=>{const i=ka(e,a),r=n.t(i,s||{});return r===i?o(a,s):r}}catch{return o}}function Vc(e,t={}){const o=f_(e,t);try{const n=Bo();return{t:o,te:a=>n.te(ka(e,a)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}function Ho(e,t){const o=Ct(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:b_(e));No(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot))return;if(!s.querySelector('style[data-shadow-styles="reduced-motion"]')){const c=document.createElement("style");c.setAttribute("data-shadow-styles","reduced-motion"),c.textContent=m_,s.appendChild(c)}const i=s.querySelector(`style[data-shadow-styles="${n}"]`);if(i){i.textContent!==e&&(i.textContent=e);return}const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,s.appendChild(r)})}const m_=`@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +}`;function b_(e){let t=0;for(let o=0;oSo(z)||D,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=Vc("",{fallback:z=>o[z]}),s=De("uiStore",null),i=De("profileConfig",null),r=ye(()=>(s==null?void 0:s.theme)==="dark"),l=ye(()=>{var ee;const z=(ee=i==null?void 0:i.value)==null?void 0:ee.pinHintLabel;if(z)return z;const D="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):D}catch{return D}}),c=ce(!1),u=ce(!0);let g=null;const f=ce(!0);let k=[];const w=["inert","hidden","aria-hidden"];function S(z){const D=[];let ee=z;for(;ee;)ee.nodeType===1&&D.push(ee),ee=ee.parentNode||ee.host||null;return D}function I(z){return S(z).some(D=>D.hasAttribute("inert")||D.hasAttribute("hidden")||D.getAttribute("aria-hidden")==="true")}function N(z){const D=()=>{const ee=!I(z);ee!==f.value&&(f.value=ee,ee&&po(G))};if(D(),!(typeof MutationObserver>"u"))for(const ee of S(z))try{const pe=new MutationObserver(D);pe.observe(ee,{attributes:!0,attributeFilter:w}),k.push(pe)}catch{}}const A=ce(null);let $=null,m=null,T=null,P=null,b=null,E=null,y=[],j=null,Z=null;function B(){c.value=!1}function Q(z,D){var pe;let ee=z==null?void 0:z.parentElement;for(let fe=0;ee&&fe<12;fe++,ee=ee.parentElement){if(ee===D||(pe=ee.classList)!=null&&pe.contains("profile-loader"))return null;let W="";try{W=getComputedStyle(ee).position}catch{}if(W&&W!=="static"){const te=ee.getBoundingClientRect();if(te.height>=120&&te.width>=160)return ee}}return null}function ie(z){var ee;const D=(ee=P==null?void 0:P.querySelector)==null?void 0:ee.call(P,".legend-mobile-sheet");if(!D)return 1/0;if(b&&E!==D){try{b.disconnect()}catch{}b=null}if(!b&&typeof ResizeObserver<"u")try{b=new ResizeObserver(()=>G()),b.observe(D),E=D}catch{b=null}try{const pe=D.getBoundingClientRect();return!(pe.height>16)||!(pe.width>16)||z.right<=pe.left||pe.right<=z.left?1/0:pe.top}catch{return 1/0}}function G(){const z=A.value;if(!(!z||!u.value||!f.value))try{z.style.removeProperty("--pin-hint-lift");const D=z.getBoundingClientRect();if(!D.height)return;const ee=Math.min(window.innerHeight,ie(D)),pe=Math.round(D.bottom-ee);pe>0&&z.style.setProperty("--pin-hint-lift",pe+8+"px")}catch{}}function V(z){const D=A.value;if(!D||!(z!=null&&z.querySelector))return;let ee=0;try{const fe=z.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(fe){const W=fe.getBoundingClientRect(),te=D.parentElement,Y=te?te.getBoundingClientRect():null;if(ee=Y?Math.max(W.height||0,Y.bottom-W.top):W.height||0,Z!==fe&&typeof ResizeObserver<"u"){if(T)try{T.disconnect()}catch{}Z=fe,T=new ResizeObserver(()=>V(z)),T.observe(fe)}}}catch{}const pe=Math.min(Math.max(Math.ceil(ee)||20,20),72);D.style.setProperty("--pin-hint-attrib-clear",pe+"px"),G()}return No(()=>{var pe,fe,W;const z=Ct(),D=(W=(fe=(pe=z==null?void 0:z.proxy)==null?void 0:pe.$el)==null?void 0:fe.getRootNode)==null?void 0:W.call(fe);if(!D||typeof D.querySelector!="function")return;P=D;let ee=0;$=setInterval(()=>{ee++;const te=D.querySelector("canvas");te?(clearInterval($),$=null,c.value=!0,po(()=>{const Y=Q(te,D),me=A.value;if(Y&&me&&me.parentElement!==Y)try{Y.appendChild(me),m=Y}catch{}if(Y&&N(Y),Y&&typeof IntersectionObserver<"u")try{g=new IntersectionObserver(X=>{const ge=X[X.length-1],_e=!!ge&&ge.isIntersecting&&ge.intersectionRatio>=.2;_e!==u.value&&(u.value=_e,_e&&po(G))},{threshold:[0,.2,.5]}),g.observe(Y)}catch{}V(D),G(),y.push(setTimeout(G,1200),setTimeout(G,3e3),setTimeout(G,6e3));try{const X=A.value&&A.value.offsetParent||null;if(X&&typeof ResizeObserver<"u"){if(j)try{j.disconnect()}catch{}j=new ResizeObserver(()=>G()),j.observe(X)}}catch{}})):ee>40&&(clearInterval($),$=null)},300)}),sn(()=>{var z;if($&&clearInterval($),g){try{g.disconnect()}catch{}g=null}for(const D of k)try{D.disconnect()}catch{}if(k=[],T){try{T.disconnect()}catch{}T=null}if(Z=null,j){try{j.disconnect()}catch{}j=null}if(b){try{b.disconnect()}catch{}b=null}E=null;for(const D of y)clearTimeout(D);if(y=[],P=null,m&&((z=A.value)==null?void 0:z.parentElement)===m)try{m.removeChild(A.value)}catch{}m=null}),Ho(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -71,9 +78,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(z,D)=>c.value?Jd((ke(),Fe("div",{key:0,ref_key:"hintEl",ref:A,class:ot(["pin-hint",{dark:r.value}]),role:"status"},[ae("span",b_,[D[0]||(D[0]=ae("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),mt(" "+Re(l.value)+" ",1),ae("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:B},"×",8,__)])],2)),[[dg,u.value&&f.value]]):zt("",!0)}};let y_=0;const S_=ws("ui",{state:()=>({_storeInstanceId:++y_,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&n>0&&setTimeout(()=>{this.removeToast(i.id)},n),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),v_=ws("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),A_=ws("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Zo({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Zo({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Yc={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},k_=".profile-loader[data-v-01687ae5]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-01687ae5]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",w_=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},T_=["dir"],L_={key:0,class:"profile-error"},C_={key:1,class:"profile-error"},P_=w_({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var P;const o=e,n=De("profileConfig",null),a=ye(()=>{var E;if(!o.profileConfig)return null;let b;try{b=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(b&&b.assetsBase===void 0){const y=(E=n==null?void 0:n.value)==null?void 0:E.assetsBase;typeof y=="string"&&y&&(b.assetsBase=y)}return b}),s=ye(()=>{var b;return((b=a.value)==null?void 0:b.profile)||null}),i=Hg(),r=ye(()=>{var E;const b=(E=a.value)==null?void 0:E.tk;return typeof b=="string"&&b?b:i.value||""});ut(()=>{var b;return(b=a.value)==null?void 0:b.tk},b=>{typeof b=="string"&&b&&Cs(b)},{immediate:!0}),ut(()=>{var b;return(b=a.value)==null?void 0:b.tokenUrl},b=>{var E;b&&!((E=a.value)!=null&&E.tk)&&!i.value&&Gg(b)},{immediate:!0});const l=ye(()=>{var b;return((b=a.value)==null?void 0:b.dataSource)||Yc.activeSource||"doxa-csv"}),c=ye(()=>{var b;return((b=a.value)==null?void 0:b.colorSet)||"default"}),u=ye(()=>!1),g=ye(()=>{var b;return((b=a.value)==null?void 0:b.pinHint)!==!1}),f=ye(()=>{var E,y;const b=(((E=a.value)==null?void 0:E.locale)||((y=a.value)==null?void 0:y.lang)||"").split("-")[0].toLowerCase();return Aa.includes(b)?b:""}),k=De("appI18n",null);ep(()=>{f.value&&(k&&(k.global.locale.value=f.value),Wc(f.value))});const w=ye(()=>{var b,E;return f.value||((E=(b=k==null?void 0:k.global)==null?void 0:b.locale)==null?void 0:E.value)||"en"}),S=ye(()=>jc.has(w.value)?"rtl":"ltr"),I=ye(()=>{var b;return((b=a.value)==null?void 0:b.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),N=De("profileModules",null);if(!N)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const A=ye(()=>{if(!s.value)return null;const b=`./${s.value}.vue`;return N[b]?jg(N[b]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(N)),null)});it("mapboxToken",r),it("dataSource",l),it("colorSet",c),it("profileConfig",a),it("instanceId",I),it("lang",w);const $=S_(),m=v_(),T=A_();try{const b=typeof localStorage<"u"?localStorage.getItem("theme"):null;b&&((P=$.setTheme)==null||P.call($,b))}catch{}return it("uiStore",$),it("mapStore",m),it("dataStore",T),(b,E)=>(ke(),Fe("div",{class:"profile-loader",dir:S.value},[a.value?A.value?(ke(),bo(Lr(A.value),{key:2})):(ke(),Fe("div",C_,[ae("p",null,[E[1]||(E[1]=mt("⚠️ Profile ",-1)),ae("strong",null,'"'+Re(s.value)+'"',1),E[2]||(E[2]=mt(" not found.",-1))])])):(ke(),Fe("div",L_,[...E[0]||(E[0]=[ae("p",null,[mt("⚠️ "),ae("strong",null,"doxa-map"),mt(": missing or invalid "),ae("code",null,"profile-config"),mt(" prop.")],-1),ae("p",null,[mt("Example: "),ae("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),A.value&&u.value?(ke(),bo(Lr(Je(null)),{key:3})):zt("",!0),A.value&&g.value?(ke(),bo($_,{key:4})):zt("",!0)],8,T_))}},[["styles",[k_]],["__scopeId","data-v-01687ae5"]]),E_=Object.assign({"./all-people-groups.vue":()=>od(()=>Promise.resolve().then(()=>Ly),void 0)}),N_=Pg(P_,{configureApp(e){e.use(Fg());const t=g_();e.use(t),e.provide("appI18n",t),e.provide("profileModules",E_)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",N_);const I_="rgba(120, 128, 134, 0.28)",Jc="36px",Xc=()=>{};function M_(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Xc;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Xc;const a=A=>A.classList.contains("map-scroll-edge--left");for(const A of n)A.style.background=`linear-gradient(${a(A)?"to right":"to left"}, ${I_} ${Jc}, transparent ${Jc})`,A.style.opacity="0",A.style.transition="opacity 0.16s ease",A.style.userSelect="none",A.style.webkitUserSelect="none";const s=A=>{A.style.opacity="1"},i=A=>{A.style.opacity="0"},r=()=>n.find(A=>!a(A))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const A of n)l.has(A)||i(A)},f=()=>{const A=r();A&&(s(A),u&&clearTimeout(u),u=setTimeout(g,250))},k=()=>f(),w=A=>{if(!(A.touches&&A.touches.length===1))return;const $=A.target;$&&$.classList&&$.classList.contains("map-scroll-edge")||f()},S=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",S,{passive:!0}),e.addEventListener("touchcancel",S,{passive:!0});const I=()=>{c||f()};typeof window<"u"&&window.addEventListener("scroll",I,{passive:!0});const N=[];for(const A of n){const $=()=>{l.add(A),s(A)},m=()=>{l.delete(A),i(A)},T=()=>{c=!0,s(A)},P=()=>{c=!1,i(A)};A.addEventListener("mouseenter",$),A.addEventListener("mouseleave",m),A.addEventListener("touchstart",T,{passive:!0}),A.addEventListener("touchend",P,{passive:!0}),N.push(()=>{A.removeEventListener("mouseenter",$),A.removeEventListener("mouseleave",m),A.removeEventListener("touchstart",T),A.removeEventListener("touchend",P)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",S),e.removeEventListener("touchcancel",S),typeof window<"u"&&window.removeEventListener("scroll",I);for(const $ of N)$();for(const $ of n)i($)}}const x_=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function F_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=x_[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function O_(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const R_=["mapbox","maplibre"],D_="auto";function Zc(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Qc(e){const t=o=>typeof o=="string"&&!!o.trim()&&!/^YOUR_/.test(o.trim());return t(e==null?void 0:e.tk)||/^https?:\/\//i.test(String((e==null?void 0:e.tokenUrl)||""))?!0:typeof window>"u"?!1:t(window.MAP_TOKEN)||t(window.__doxaMapToken)||!!window.__doxaMapTokenPending}function eu(e,{token:t}={}){const o=Zc(e);return tu(o)||(Qc(o)||Qc({tk:t})?"mapbox":"maplibre")}function tu(e){const t=Zc(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(o||n||a||D_).toLowerCase().trim();return R_.includes(s)?s:""}function z_(e,t){if(!e||!t||typeof e.setProjection!="function")return!1;const o=typeof window<"u"?window.maplibregl:null,n=!!(o&&o.Map&&e instanceof o.Map);try{return e.setProjection(n?{type:t}:t),!0}catch{return!1}}const An={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function Vs(e,t){const o=Object.values(An).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const ou={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function B_(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function H_(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(B_(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(ou.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(ou.mapbox,null,!0);o=!0}catch{}return o}const G_=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,nu=new WeakMap;function j_(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function au(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!j_(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=nu.get(e);a||(a=new Map,nu.set(e,a));let s=0;for(const i of n.layers){if(i.type!=="symbol"||!i.layout||i.layout["text-field"]==null)continue;const r=i.layout["text-field"],l=JSON.stringify(r);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(i.id))continue}else{if(!G_.test(l))continue;a.set(i.id,r)}const c=o==="en"?a.get(i.id):["coalesce",["get","name:"+o],["get","name:latin"],["get","name"]];e.setLayoutProperty(i.id,"text-field",c),s++}return s}catch{return 0}}const Go={mapbox:{global:"mapboxgl",js:An.mapboxGlJs.url,css:An.mapboxGlCss.url},maplibre:{global:"maplibregl",js:An.maplibreGlJs.url,css:An.maplibreGlCss.url}},U_={"Map.Title":"map","Marker.Title":"marker","Popup.Close":"closePopup","NavigationControl.ZoomIn":"zoomIn","NavigationControl.ZoomOut":"zoomOut","NavigationControl.ResetBearing":"resetBearing","AttributionControl.ToggleAttribution":"toggleAttribution","AttributionControl.MapFeedback":"mapFeedback","FullscreenControl.Enter":"enterFullscreen","FullscreenControl.Exit":"exitFullscreen","GeolocateControl.FindMyLocation":"findMyLocation","GeolocateControl.LocationNotAvailable":"locationNotAvailable","GlobeControl.Enable":"enableGlobe","GlobeControl.Disable":"disableGlobe","CooperativeGesturesHandler.WindowsHelpText":"ctrlScroll","CooperativeGesturesHandler.MacHelpText":"cmdScroll","CooperativeGesturesHandler.MobileHelpText":"twoFingers","ScrollZoomBlocker.CtrlMessage":"ctrlScroll","ScrollZoomBlocker.CmdMessage":"cmdScroll","TouchPanBlocker.Message":"twoFingers"};function su(e,t){const o={};for(const[a,s]of Object.entries(U_)){const i=So(`mapui.${s}`,e);i&&(o[a]=i)}const n=So(t==="maplibre"?"mapui.maplibreLogo":"mapui.mapboxHomepage",e);return n&&(o["LogoControl.Title"]=n),o}function iu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const K_=Go.mapbox.css,W_="https://tiles.openfreemap.org/styles/liberty",q_="https://tiles.openfreemap.org/styles/fiord";function wa(e){var o;const t=((o=Go[e])==null?void 0:o.global)||Go.mapbox.global;return typeof window<"u"?window[t]:void 0}async function V_(e){const t=Go[e]||Go.mapbox;if(wa(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,Vs(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(wa(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=t.js,Vs(s,t.js),s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Y_(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=i=>new Promise(r=>setTimeout(r,i)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,Vs(s,t),await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),o.prepend(s)}),n(2e3)])}function J_(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?q_:W_}const X_=85.0511,Ys=-2,Z_=0,Q_=-60;function ru(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function e$(e,t,o,n){if(!e||e<=0||!t||t<=0)return Z_;const a=Math.log2(e/512),s=ru(n)-ru(X_),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Ys,Math.min(r,(o??18)-1))}function t$({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:i=2,bounds:r=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:g=18,pitch:f=0,bearing:k=0,renderWorldCopies:w=!0,showEdgeBorders:S=!0,southCutoff:I=Q_,maxBounds:N=void 0}){const A=Ja(null),$=ce(!1);let m=null,T=null,P=null,b=null;try{b=De("profileConfig",null)}catch{}const E=!a&&!tu(b);a=a||eu(b,{token:t});let y=a==="maplibre",j=null;try{j=De("lang",null)}catch{}const Z=()=>{const ie=j&&typeof j=="object"&&"value"in j?j.value:j;if(typeof ie=="string"&&ie)return ie;const G=b&&typeof b=="object"&&"value"in b?b.value:b;if(G&&(G.locale||G.lang))return String(G.locale||G.lang);try{const V=new URLSearchParams(location.search);return V.get("lang")||V.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function B(){var _e;if(E&&!y&&!t&&typeof window<"u"&&window.__doxaMapTokenPending){if(await window.__doxaMapTokenPending,!e.value)return;typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN||(a="maplibre",y=!0)}const ie=F_(o,a),G=ie.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const V=()=>!e.value;if(await V_(a),V())return;const z=wa(a);if(!z){console.error(`[useMapInstance] ${y?"maplibregl":"mapboxgl"} is not available. Add the ${y?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(H_(z),!y){if(!t&&typeof window<"u"&&window.__doxaMapTokenPending&&(await window.__doxaMapTokenPending,V()))return;if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await Y_(e.value,y?Go.maplibre.css:K_),V()||(await new Promise(de=>requestAnimationFrame(de)),V()))return;const D=e.value,ee=D.clientWidth,pe=D.clientHeight;if(ee===0||pe===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${pe}). Map will be invisible. Check that parent elements have CSS sizing.`);let de=D.parentElement,re=0;for(;de&&re<5;)de=de.parentElement,re++}const fe=t;y||(z.accessToken=fe);const W=()=>typeof window<"u"&&window.innerWidth>=1024,te=(de,re)=>{if(u)return typeof c=="number"?c:Ys;if(!W())return Ys;const Ie=e$(de,re,g,I);return typeof c=="number"?Math.max(c,Ie):Ie},Y=te(D.clientWidth,D.clientHeight),me=ie.lightPreset||(()=>{var de;try{const re=typeof n=="function"?n():n;return(de=re==null?void 0:re.basemap)==null?void 0:de.lightPreset}catch{return}})();if(y){A.value=new z.Map({container:e.value,style:J_(G,me),locale:su(Z(),"maplibre"),center:s,zoom:i,minZoom:Y,maxZoom:g,pitch:f,bearing:k,dragRotate:!1,renderWorldCopies:w,...r?{bounds:r,...l?{fitBoundsOptions:l}:{}}:{},...N?{maxBounds:N}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),iu(A.value);try{e.value.__doxaMap=A.value}catch{}}else{const de=typeof n=="function"?n():n;A.value=new z.Map({accessToken:fe,container:e.value,style:G,locale:su(Z(),"mapbox"),...de?{config:de}:{},center:s,zoom:i,minZoom:Y,maxZoom:g,pitch:f,bearing:k,dragRotate:!1,touchPitch:!1,renderWorldCopies:w,...r?{bounds:r,...l?{fitBoundsOptions:l}:{}}:{},...N?{maxBounds:N}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),iu(A.value);try{e.value.__doxaMap=A.value}catch{}}try{let de=!1;A.value.on("error",re=>{var v,_;const Ie=((v=re==null?void 0:re.error)==null?void 0:v.status)??(re==null?void 0:re.status),h=String(((_=re==null?void 0:re.error)==null?void 0:_.url)||(re==null?void 0:re.sourceId)||"");Ie!==401&&Ie!==403||de||(de=!0,console.error(`[doxa-maps] Mapbox returned ${Ie} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(h?` First failing request: ${h.slice(0,120)}`:"")))})}catch{}try{A.value.touchZoomRotate.disableRotation()}catch{}P=M_(((_e=e.value)==null?void 0:_e.parentElement)||null,{enabled:S});let X=Y,ge=null;m=()=>{const de=A.value;if(!de)return;const re=te(D.clientWidth,D.clientHeight);re!==X&&(X=re,de.setMinZoom(re)),de.getZoom(){ge=null;const Ie=A.value;if(!Ie)return;const h=te(D.clientWidth,D.clientHeight);if(Ie.getZoom(){ge&&(clearTimeout(ge),ge=null)},A.value.on("resize",m),typeof window<"u"&&(window.addEventListener("resize",m),window.addEventListener("orientationchange",m)),A.value.on("style.load",()=>{if(A.value&&au(A.value,Z()),ie.paint&&A.value){const de=O_(A.value,ie.paint);console.info("[useMapInstance] style paint applied ("+a+"):",de.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var de;(de=A.value)==null||de.resize(),A.value&&A.value.setMinZoom(te(D.clientWidth,D.clientHeight)),$.value=!0})})}function Q(){if(A.value){if(m&&(A.value.off("resize",m),typeof window<"u"&&(window.removeEventListener("resize",m),window.removeEventListener("orientationchange",m)),m=null),T){try{T()}catch{}T=null}P&&(P(),P=null),A.value.remove(),A.value=null,$.value=!1}}if(j&&typeof j=="object"&&"value"in j)try{ut(j,()=>{A.value&&$.value&&au(A.value,Z())})}catch{}return{map:A,isMapReady:$,initializeMap:B,destroy:Q}}const lu="doxa-prayed-local",o$=7*24*60*60*1e3;function n$(){try{const e=localStorage.getItem(lu);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function a$(e){try{localStorage.setItem(lu,JSON.stringify(e))}catch{}}function s$(){const e=Date.now(),t=n$();let o=!1;for(const[n,a]of Object.entries(t))(typeof a!="number"||e-a>o$)&&(delete t[n],o=!0);return o&&a$(t),new Set(Object.keys(t))}function i$(e){const t=s$();return!t.size||!Array.isArray(e)?e:e.map(o=>(Number(o&&o.peoplePraying)||0)>0||!o||!t.has(o.slug)?o:{...o,peoplePraying:1})}const no={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},cu={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Js="languageFamily",r$="#000000",ao={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},l$=ao;function Xs(e){return ao[e]||r$}const c$=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ao))t[e(o)]=o;return t})(),u$={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zs(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return u$[o]||c$[o]||t}function uu(e){var t;return Xs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Qs(){const e=["match",["get",Js]];return Object.entries(ao).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const du=Qs,d$=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:l$,PALETTE:ao,PROPERTY_KEY:Js,applyColor:Qs,buildColorExpression:du,canonicalFamilyName:Zs,default:{name:"Language Family",propertyKey:Js,palette:ao,colors:ao,getColor:uu,applyColor:Qs,buildColorExpression:du,getLanguageFamilyColor:Xs,canonicalFamilyName:Zs},defaultFamilyColor:"#95a5a6",getColor:uu,getLanguageFamilyColor:Xs,languageFamilyColors:ao},Symbol.toStringTag,{value:"Module"})),pu="adoptionStatus",Kt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},p$=Kt,ei={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},g$=ei;function gu(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Kt.hasAdoption:Kt.notAdopted}function ti({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Kt.hasAdoption,["==",t,1],Kt.hasAdoption,Kt.notAdopted]}const hu=ti,h$=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:p$,ADOPTION_LABELS:g$,LABELS:ei,PALETTE:Kt,PROPERTY_KEY:pu,applyColor:ti,buildColorExpression:hu,default:{name:"Adoption Progress",propertyKey:pu,palette:Kt,colors:Kt,labels:ei,getColor:gu,applyColor:ti,buildColorExpression:hu},getColor:gu},Symbol.toStringTag,{value:"Module"})),oi="affinityBlock",jo="#95a5a6",Wt={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ta={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},so=Ta,fu=Object.entries(Wt).reduce((e,[t,o])=>(e[o]=t,e),{}),ni=Object.entries(Wt).reduce((e,[t,o])=>(e[o]=so[t],e),{}),mu=Wt;function ai(e){return Wt[e]||"Unknown"}function si(e){return so[e]||jo}function bu(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?so[e]||jo:ni[e]||jo:jo}function _u(){return Object.entries(Wt).map(([e,t])=>({code:e,name:t,color:so[e]}))}function $u(e){return{code:e,name:Wt[e]||"Unknown",color:so[e]||jo}}function yu(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return si(t)}function Su(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return ai(t)}function ii(){const e=["match",["get",oi]];return Object.entries(so).forEach(([t,o])=>{e.push(t,o)}),e.push(jo),e}const vu=ii,f$=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:so,AFFINITY_BLOCK_COLORS_BY_NAME:ni,AFFINITY_BLOCK_NAMES:Wt,AFFINITY_BLOCK_NAME_TO_CODE:fu,NAMES:mu,PALETTE:Ta,PROPERTY_KEY:oi,affinityBlockCodeLookup:Wt,affinityBlockCodeToColor:so,affinityBlockCodeToName:Wt,affinityBlockColors:ni,affinityBlockNameToCode:fu,applyColor:ii,buildColorExpression:vu,default:{name:"Affinity Block",propertyKey:oi,palette:Ta,colors:Ta,names:mu,getColor:yu,applyColor:ii,buildColorExpression:vu,getName:Su,getAffinityBlockName:ai,getAffinityBlockColor:bu,getAffinityBlockColorByCode:si,getAffinityBlocksArray:_u,getAffinityBlockData:$u},getAffinityBlockColor:bu,getAffinityBlockColorByCode:si,getAffinityBlockData:$u,getAffinityBlockName:ai,getAffinityBlocksArray:_u,getColor:yu,getName:Su},Symbol.toStringTag,{value:"Module"}));function m$(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(li),e}const Tu=di,_$=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:b$,PALETTE:La,PROPERTY_KEY:ri,REGION_COLOR_ALIASES:ui,SLUG_PALETTE:Ca,applyColor:di,buildColorExpression:Tu,default:{name:"DOXA Region",propertyKey:ri,palette:La,colors:La,slugColors:Ca,aliases:ui,fallback:li,getColor:wu,applyColor:di,buildColorExpression:Tu,getRegionColor:ku,getRegionColorBySlug:ci},getColor:wu,getRegionColor:ku,getRegionColorBySlug:ci},Symbol.toStringTag,{value:"Module"})),Lu="engagementStatus",qt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},$$=qt,pi={notEngaged:"Unengaged",hasEngagement:"Engaged"},y$=pi;function Cu(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?qt.hasEngagement:qt.notEngaged}function gi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],qt.hasEngagement,["==",t,1],qt.hasEngagement,qt.notEngaged]}const Pu=gi,S$=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:$$,ENGAGEMENT_LABELS:y$,LABELS:pi,PALETTE:qt,PROPERTY_KEY:Lu,applyColor:gi,buildColorExpression:Pu,default:{name:"Engagement Progress",propertyKey:Lu,palette:qt,colors:qt,labels:pi,getColor:Cu,applyColor:gi,buildColorExpression:Pu},getColor:Cu},Symbol.toStringTag,{value:"Module"})),Eu="peoplePraying",Pa=144,io={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},v$=io,hi={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},A$=hi;function Ea(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=Pa?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function fi(e){return io[Ea(e)]}function Nu(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Iu(e){return Ea(e)==="fullPrayer"}function Mu(e){return fi(e)}function mi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Pa],io.fullPrayer,[">",t,0],io.hasPrayer,io.noPrayer]}const xu=mi,k$=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Pa,LABELS:hi,PALETTE:io,PRAYER_COLORS:v$,PRAYER_LABELS:A$,PROPERTY_KEY:Eu,applyColor:mi,buildColorExpression:xu,checkHasFullPrayer:Iu,checkHasPrayer:Nu,default:{name:"Prayer Progress",propertyKey:Eu,palette:io,colors:io,labels:hi,threshold:Pa,getColor:Mu,applyColor:mi,buildColorExpression:xu,getPrayerLevel:Ea,getPrayerColor:fi,checkHasPrayer:Nu,checkHasFullPrayer:Iu},getColor:Mu,getPrayerColor:fi,getPrayerLevel:Ea},Symbol.toStringTag,{value:"Module"})),Fu="religion",bi="#94a3b8",Na={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},pt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ou(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Na[t]?t:"U"}function Ru(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return pt[Ou(t)]||bi}function _i(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",pt.C,"M",pt.M,"H",pt.H,"B",pt.B,"E",pt.E,"J",pt.J,"S",pt.S,"N",pt.N,"O",pt.O,bi]}const Du=_i,w$={name:"Religion",propertyKey:Fu,palette:pt,families:Na,getColor:Ru,applyColor:_i,buildColorExpression:Du,fallback:bi};function T$(e){const t=String(e||""),o=Na[t]||t;return o?So("religion.family."+o)||o:""}const L$=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:pt,PROPERTY_KEY:Fu,RELIGION_FAMILIES:Na,applyColor:_i,buildColorExpression:Du,default:w$,getColor:Ru,getReligionFamily:Ou,religionFamilyLabel:T$},Symbol.toStringTag,{value:"Module"})),zu="resourceType",ro={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},C$=ro,kn=["bible","jesusFilm","radio","gospel","audio","stories"],$i={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},P$=$i;function wn(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Bu(e){var t;for(const o of kn)if((e[o]||((t=e._raw)==null?void 0:t[wn(o)]))==="Available")return ro.hasResources;return ro.noResources}function Hu(e){var t;for(const o of kn)if((e[o]||((t=e._raw)==null?void 0:t[wn(o)]))==="Available")return!0;return!1}function Gu(e){var t;for(const o of kn)if((e[o]||((t=e._raw)==null?void 0:t[wn(o)]))==="Available")return o;return"noResources"}function yi(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],ro.hasResources,ro.noResources]}const ju=yi,E$=Object.freeze(Object.defineProperty({__proto__:null,NAMES:$i,PALETTE:ro,PROPERTY_KEY:zu,RESOURCE_COLORS:C$,RESOURCE_NAMES:P$,RESOURCE_PRIORITY:kn,applyColor:yi,buildColorExpression:ju,default:{name:"Gospel Resources",propertyKey:zu,palette:ro,colors:ro,names:$i,priority:kn,getColor:Bu,applyColor:yi,buildColorExpression:ju,hasAnyResource:Hu,getResourceType:Gu,getCSVColumn:wn},getCSVColumn:wn,getColor:Bu,getResourceType:Gu,hasAnyResource:Hu},Symbol.toStringTag,{value:"Module"})),Uu="region",Si="#6d766e",Ku={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},Tn={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},vi=Object.keys(Tn);function Wu(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return Tn[t]||Si}function Ai(){const e=["match",["coalesce",["get","region"],""]];for(const t of vi)e.push(t,Tn[t]);return e.push(Si),e}const qu=Ai,N$=Object.assign({"./adoption.js":h$,"./affinity-block.js":f$,"./doxa-region.js":_$,"./engagement.js":S$,"./language-family.js":d$,"./prayer-progress.js":k$,"./religion.js":L$,"./resource.js":E$,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Tn,PROPERTY_KEY:Uu,REGION_ORDER:vi,WAGF_REGIONS:Ku,applyColor:Ai,buildColorExpression:qu,default:{name:"WAGF Region",propertyKey:Uu,palette:Tn,regions:Ku,order:vi,getColor:Wu,applyColor:Ai,buildColorExpression:qu,fallback:Si},getColor:Wu},Symbol.toStringTag,{value:"Module"}))}),I$=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),M$=e=>e.replace(/-/g,"_").toUpperCase(),x$={...{STATUS:"status",CUSTOM:"custom"}};function F$(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith(".")||!e[t].default)continue;const a=I$(o);x$[M$(o)]=a}}F$(N$);function ki(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const O$=[[/ sign language$/i,"Sign Language"]];function R$(e){var r,l;const t=ki(e.languageFamily);if(t)return t;const o=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(o&&cu[o])return cu[o];const n=ki(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(no[c])return no[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(no[u])return no[u]}}if(no[a])return no[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&no[i])return no[i];for(const[c,u]of O$)if(c.test(a))return u;return""}function D$(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=b=>b}=e;n||console.error("useMapData: dataSourceManager is required!");const i=ce(!1),r=ce(null),l=ce(!1),c=ce([]),u=ce([]);Ct()&&it("normalizedPeopleGroups",u);const g=ce(null),f=ce([]),k=ce([]),w=ce([]),S=ce(null);async function I(){if(!n)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const G=a.getSourceData(o);u.value=s(G.normalizedData||[])}else{const G=await n.setActiveSource(o);for(const V of G){const z=ki(V.language||V.primary_language);z&&(V.language=z);const D=R$(V);V.languageFamily=Zs(D)}u.value=s(G),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:G,timestamp:Date.now()})}c.value=s(i$(u.value.map(G=>({id:G.uniqueId,slug:G.slug||"",rop3:G.peopleGroupId,peopleId3:G.peopleId3,name:G.name,language:G.language,languageFamily:G.languageFamily,country:G.country,population:G.population,status:G.engagementStatus||G.status,latitude:G.latitude,longitude:G.longitude,lng:G.longitude,lat:G.latitude,description:G.description,imageUrl:G.imageUrl,doxaRegion:G.doxaRegion||G.wagfRegion||"",peoplePraying:G.peoplePraying??null,_normalized:G}))));const b=n.getDataByLanguageFamily();f.value=Object.entries(b).map(([G,V])=>{const z=V.reduce((D,ee)=>{const pe=parseInt(ee.population)||0;return D+pe},0);return{name:G,count:V.length,peopleGroupCount:V.length,population:z,groups:V}}).sort((G,V)=>V.count-G.count);const E=n.getDataByRegion();k.value=Object.entries(E).map(([G,V])=>{const z=V.reduce((D,ee)=>{const pe=parseInt(ee.population)||0;return D+pe},0);return{name:G,count:V.length,peopleGroupCount:V.length,population:z,groups:V}}).sort((G,V)=>G.name.localeCompare(V.name));const y={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(G=>{const V=parseInt(G.population)||0;let z=!1;G.bible==="Available"&&(y.bible.count++,y.bible.population+=V,y.bible.groups.push(G),z=!0),G.jesusFilm==="Available"&&(y.jesusFilm.count++,y.jesusFilm.population+=V,y.jesusFilm.groups.push(G),z=!0),G.radio==="Available"&&(y.radio.count++,y.radio.population+=V,y.radio.groups.push(G),z=!0),G.gospel==="Available"&&(y.gospel.count++,y.gospel.population+=V,y.gospel.groups.push(G),z=!0),G.audio==="Available"&&(y.audio.count++,y.audio.population+=V,y.audio.groups.push(G),z=!0),G.stories==="Available"&&(y.stories.count++,y.stories.population+=V,y.stories.groups.push(G),z=!0),z?(y.hasResources.count++,y.hasResources.population+=V,y.hasResources.groups.push(G)):(y.noResources.count++,y.noResources.population+=V,y.noResources.groups.push(G))});const j=u.value.length,Z=u.value.reduce((G,V)=>G+(parseInt(V.population)||0),0),B={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Q={bible:{count:j-y.bible.count,population:Z-y.bible.population},jesusFilm:{count:j-y.jesusFilm.count,population:Z-y.jesusFilm.population},radio:{count:j-y.radio.count,population:Z-y.radio.population},gospel:{count:j-y.gospel.count,population:Z-y.gospel.population},audio:{count:j-y.audio.count,population:Z-y.audio.population},stories:{count:j-y.stories.count,population:Z-y.stories.population}},ie="#2c3e50";return w.value=[{name:B.bible,key:"bible",count:y.bible.count,population:y.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:Q.bible.count,population:Q.bible.population,color:ie}]},{name:B.jesusFilm,key:"jesusFilm",count:y.jesusFilm.count,population:y.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:Q.jesusFilm.count,population:Q.jesusFilm.population,color:ie}]},{name:B.radio,key:"radio",count:y.radio.count,population:y.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:Q.radio.count,population:Q.radio.population,color:ie}]},{name:B.gospel,key:"gospel",count:y.gospel.count,population:y.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:Q.gospel.count,population:Q.gospel.population,color:ie}]},{name:B.audio,key:"audio",count:y.audio.count,population:y.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:Q.audio.count,population:Q.audio.population,color:ie}]},{name:B.stories,key:"stories",count:y.stories.count,population:y.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:Q.stories.count,population:Q.stories.population,color:ie}]},{name:B.hasResources,key:"hasResources",count:y.hasResources.count,population:y.hasResources.population,isParent:!0,children:[{name:B.noResources,key:"noResources",count:y.noResources.count,population:y.noResources.population,color:ie}]}],S.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:f.value,doxaRegionsData:k.value,resourcesData:w.value,stats:S.value}}catch(b){throw console.error(`Failed to load data for map "${t}":`,b),r.value=b.message||"Failed to load data",b}finally{i.value=!1}}async function N(){var b,E,y;try{const j={},Z=u.value||[];for(const B of Z){const Q=B.countryIso||((E=(b=B._raw)==null?void 0:b.country_code)==null?void 0:E.value)||"",ie=(y=B._raw)==null?void 0:y.wagf_region,G=B.doxaRegion||B.wagfRegion||(ie&&typeof ie=="object"?ie.value:"")||"";Q&&G&&!j[Q]&&(j[Q]=G)}return g.value={isoToRegion:j},g.value}catch(j){throw console.error(`Error building regions data for map "${t}":`,j),r.value=j.message||"Failed to build regions",j}}function A(){return n?n.getDataByLanguageFamily():{}}function $(){return n?n.getDataByRegion():{}}function m(b){return A()[b]||[]}function T(b){return $()[b]||[]}function P(){c.value=[],u.value=[],g.value=null,f.value=[],k.value=[],w.value=[],S.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:g,languageFamiliesData:f,doxaRegionsData:k,resourcesData:w,stats:S,loadData:I,loadRegionsData:N,getDataByLanguageFamily:A,getDataByRegion:$,getPeopleGroupsByFamily:m,getPeopleGroupsByRegion:T,clearData:P}}const wi={};function z$(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Ao&&Ao.tagName.toUpperCase()==="SCRIPT"&&Ao.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(wi==null?void 0:wi.VITE_API_BASE_URL)||""}const Ti={default:"doxa",lists:[{id:"doxa",aliases:["2000","project-2000"],label:"Project 2000: DOXA's people groups",definition:"The people groups DOXA serves, as its live list gives them",source:"doxa",filter:null},{id:"unreached",aliases:["7000","project-7000"],label:"Project 7000: unreached people groups",definition:"IMB Lostness Priority 0-2 (Frontier, Pioneer or Expanding Unreached: under 2% evangelical)",source:"imb",filter:{lostness:[0,1,2]}},{id:"frontier",aliases:["4700","project-4700"],label:"Project 4700: frontier people groups",definition:"IMB Lostness Priority 0 (Frontier Unreached: 0.1% evangelical or less)",source:"imb",filter:{lostness:[0]}},{id:"frontier-500k",aliases:["700","project-700"],label:"Project 700: frontier people groups of 500,000 or more",definition:"IMB Lostness Priority 0 and Population of at least 500,000",source:"imb",filter:{lostness:[0],minPopulation:5e5}},{id:"unengaged",aliases:[],label:"Unengaged unreached people groups",definition:"IMB Lostness Priority 0-2 and Engagement Status Unengaged",source:"imb",filter:{lostness:[0,1,2],engagement:["Unengaged"]}}]},B$=Ao&&Ao.tagName.toUpperCase()==="SCRIPT"&&Ao.src||new URL("all-people-groups.js",document.baseURI).href,lo=e=>String(e||"").trim().replace(/\/+$/,"");function Vu(){try{const t=String(B$||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function H$(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return lo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return lo(o)}return lo(Vu()||"")}function Yu(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=lo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=lo((e==null?void 0:e.treeBase)||"")||lo(Vu()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return lo(new URL(o+"/assets",n).href)}catch{return lo(o+"/assets")}return"./assets"}function G$({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const i=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(i){if(/^https?:\/\//i.test(i))return i;if(i.startsWith("/"))return a?window.location.origin+i:i;const r=H$(n),l=i.replace(/^\.\//,"");if(r)return r+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const Ia=Ti.default,Li=new Map;for(const e of Ti.lists){Li.set(e.id,e);for(const t of e.aliases||[])Li.set(String(t).toLowerCase(),e)}function j$(e){return Li.get(String(e??"").toLowerCase().trim())||null}function Ju(e){let t=e;if(t&&typeof t=="object"&&"value"in t&&!("list"in t)&&!("profile"in t)&&(t=t.value),typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return t&&typeof t=="object"?t:null}const Xu=new Set;function U$(e){const t=Ju(e),o=t==null?void 0:t.list,n=typeof location<"u"?new URLSearchParams(location.search).get("list"):null,a=typeof window<"u"?window.MAP_LIST:void 0,s=o||n||a||Ia,i=j$(s);return i?i.id:(Xu.has(s)||(Xu.add(s),console.warn(`[list] unknown people-group list "${s}", showing "${Ia}". Known: ${Ti.lists.map(r=>r.id).join(", ")}`)),Ia)}const Ma=new Map;function K$(e,t){const o=`${Yu(Ju(t))}/people-groups/lists/${e}.json`;return Ma.has(o)||Ma.set(o,fetch(o).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()}).then(n=>new Set(Array.isArray(n==null?void 0:n.slugs)?n.slugs:[])).catch(n=>{throw Ma.delete(o),new Error(`list "${e}" membership ${o}: ${n.message}`)})),Ma.get(o)}async function Zu(e,t,{key:o=n=>n==null?void 0:n.slug}={}){const n=U$(t);if(n===Ia||!Array.isArray(e))return e;try{const a=await K$(n,t);return e.filter(s=>a.has(o(s)))}catch(a){return console.error(`[list] ${a.message}. Showing no people groups rather than the wrong list.`),[]}}class Qu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.profileConfig=t.profileConfig||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Yc,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let a="",s=!1,i=[],r=!0;for(let l=0;lc.value?Jd((ke(),Fe("div",{key:0,ref_key:"hintEl",ref:A,class:ot(["pin-hint",{dark:r.value}]),role:"status"},[ae("span",__,[D[0]||(D[0]=ae("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),mt(" "+Re(l.value)+" ",1),ae("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:B},"×",8,$_)])],2)),[[dg,u.value&&f.value]]):zt("",!0)}};let S_=0;const v_=ws("ui",{state:()=>({_storeInstanceId:++S_,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&n>0&&setTimeout(()=>{this.removeToast(i.id)},n),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),A_=ws("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),k_=ws("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Zo({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Zo({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Yc={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},w_=".profile-loader[data-v-01687ae5]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-01687ae5]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",T_=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},L_=["dir"],C_={key:0,class:"profile-error"},P_={key:1,class:"profile-error"},E_=T_({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var P;const o=e,n=De("profileConfig",null),a=ye(()=>{var E;if(!o.profileConfig)return null;let b;try{b=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(b&&b.assetsBase===void 0){const y=(E=n==null?void 0:n.value)==null?void 0:E.assetsBase;typeof y=="string"&&y&&(b.assetsBase=y)}return b}),s=ye(()=>{var b;return((b=a.value)==null?void 0:b.profile)||null}),i=Hg(),r=ye(()=>{var E;const b=(E=a.value)==null?void 0:E.tk;return typeof b=="string"&&b?b:i.value||""});ut(()=>{var b;return(b=a.value)==null?void 0:b.tk},b=>{typeof b=="string"&&b&&Cs(b)},{immediate:!0}),ut(()=>{var b;return(b=a.value)==null?void 0:b.tokenUrl},b=>{var E;b&&!((E=a.value)!=null&&E.tk)&&!i.value&&Gg(b)},{immediate:!0});const l=ye(()=>{var b;return((b=a.value)==null?void 0:b.dataSource)||Yc.activeSource||"doxa-csv"}),c=ye(()=>{var b;return((b=a.value)==null?void 0:b.colorSet)||"default"}),u=ye(()=>!1),g=ye(()=>{var b;return((b=a.value)==null?void 0:b.pinHint)!==!1}),f=ye(()=>{var E,y;const b=(((E=a.value)==null?void 0:E.locale)||((y=a.value)==null?void 0:y.lang)||"").split("-")[0].toLowerCase();return Aa.includes(b)?b:""}),k=De("appI18n",null);ep(()=>{f.value&&(k&&(k.global.locale.value=f.value),Wc(f.value))});const w=ye(()=>{var b,E;return f.value||((E=(b=k==null?void 0:k.global)==null?void 0:b.locale)==null?void 0:E.value)||"en"}),S=ye(()=>jc.has(w.value)?"rtl":"ltr"),I=ye(()=>{var b;return((b=a.value)==null?void 0:b.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),N=De("profileModules",null);if(!N)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const A=ye(()=>{if(!s.value)return null;const b=`./${s.value}.vue`;return N[b]?jg(N[b]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(N)),null)});it("mapboxToken",r),it("dataSource",l),it("colorSet",c),it("profileConfig",a),it("instanceId",I),it("lang",w);const $=v_(),m=A_(),T=k_();try{const b=typeof localStorage<"u"?localStorage.getItem("theme"):null;b&&((P=$.setTheme)==null||P.call($,b))}catch{}return it("uiStore",$),it("mapStore",m),it("dataStore",T),(b,E)=>(ke(),Fe("div",{class:"profile-loader",dir:S.value},[a.value?A.value?(ke(),bo(Lr(A.value),{key:2})):(ke(),Fe("div",P_,[ae("p",null,[E[1]||(E[1]=mt("⚠️ Profile ",-1)),ae("strong",null,'"'+Re(s.value)+'"',1),E[2]||(E[2]=mt(" not found.",-1))])])):(ke(),Fe("div",C_,[...E[0]||(E[0]=[ae("p",null,[mt("⚠️ "),ae("strong",null,"doxa-map"),mt(": missing or invalid "),ae("code",null,"profile-config"),mt(" prop.")],-1),ae("p",null,[mt("Example: "),ae("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),A.value&&u.value?(ke(),bo(Lr(Je(null)),{key:3})):zt("",!0),A.value&&g.value?(ke(),bo(y_,{key:4})):zt("",!0)],8,L_))}},[["styles",[w_]],["__scopeId","data-v-01687ae5"]]),N_=Object.assign({"./all-people-groups.vue":()=>od(()=>Promise.resolve().then(()=>Cy),void 0)}),I_=Pg(E_,{configureApp(e){e.use(Fg());const t=g_();e.use(t),e.provide("appI18n",t),e.provide("profileModules",N_)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",I_);const M_="rgba(120, 128, 134, 0.28)",Jc="36px",Xc=()=>{};function x_(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Xc;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Xc;const a=A=>A.classList.contains("map-scroll-edge--left");for(const A of n)A.style.background=`linear-gradient(${a(A)?"to right":"to left"}, ${M_} ${Jc}, transparent ${Jc})`,A.style.opacity="0",A.style.transition="opacity 0.16s ease",A.style.userSelect="none",A.style.webkitUserSelect="none";const s=A=>{A.style.opacity="1"},i=A=>{A.style.opacity="0"},r=()=>n.find(A=>!a(A))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const A of n)l.has(A)||i(A)},f=()=>{const A=r();A&&(s(A),u&&clearTimeout(u),u=setTimeout(g,250))},k=()=>f(),w=A=>{if(!(A.touches&&A.touches.length===1))return;const $=A.target;$&&$.classList&&$.classList.contains("map-scroll-edge")||f()},S=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",S,{passive:!0}),e.addEventListener("touchcancel",S,{passive:!0});const I=()=>{c||f()};typeof window<"u"&&window.addEventListener("scroll",I,{passive:!0});const N=[];for(const A of n){const $=()=>{l.add(A),s(A)},m=()=>{l.delete(A),i(A)},T=()=>{c=!0,s(A)},P=()=>{c=!1,i(A)};A.addEventListener("mouseenter",$),A.addEventListener("mouseleave",m),A.addEventListener("touchstart",T,{passive:!0}),A.addEventListener("touchend",P,{passive:!0}),N.push(()=>{A.removeEventListener("mouseenter",$),A.removeEventListener("mouseleave",m),A.removeEventListener("touchstart",T),A.removeEventListener("touchend",P)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",S),e.removeEventListener("touchcancel",S),typeof window<"u"&&window.removeEventListener("scroll",I);for(const $ of N)$();for(const $ of n)i($)}}const F_=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function O_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=F_[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function R_(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const D_=["mapbox","maplibre"],z_="auto";function Zc(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Qc(e){const t=o=>typeof o=="string"&&!!o.trim()&&!/^YOUR_/.test(o.trim());return t(e==null?void 0:e.tk)||/^https?:\/\//i.test(String((e==null?void 0:e.tokenUrl)||""))?!0:typeof window>"u"?!1:t(window.MAP_TOKEN)||t(window.__doxaMapToken)||!!window.__doxaMapTokenPending}function eu(e,{token:t}={}){const o=Zc(e);return tu(o)||(Qc(o)||Qc({tk:t})?"mapbox":"maplibre")}function tu(e){const t=Zc(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(o||n||a||z_).toLowerCase().trim();return D_.includes(s)?s:""}function B_(e,t){if(!e||!t||typeof e.setProjection!="function")return!1;const o=typeof window<"u"?window.maplibregl:null,n=!!(o&&o.Map&&e instanceof o.Map);try{return e.setProjection(n?{type:t}:t),!0}catch{return!1}}const An={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function Vs(e,t){const o=Object.values(An).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const ou={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function H_(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function G_(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(H_(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(ou.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(ou.mapbox,null,!0);o=!0}catch{}return o}const j_=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,nu=new WeakMap;function U_(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function au(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!U_(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=nu.get(e);a||(a=new Map,nu.set(e,a));let s=0;for(const i of n.layers){if(i.type!=="symbol"||!i.layout||i.layout["text-field"]==null)continue;const r=i.layout["text-field"],l=JSON.stringify(r);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(i.id))continue}else{if(!j_.test(l))continue;a.set(i.id,r)}const c=o==="en"?a.get(i.id):["coalesce",["get","name:"+o],["get","name:latin"],["get","name"]];e.setLayoutProperty(i.id,"text-field",c),s++}return s}catch{return 0}}const Go={mapbox:{global:"mapboxgl",js:An.mapboxGlJs.url,css:An.mapboxGlCss.url},maplibre:{global:"maplibregl",js:An.maplibreGlJs.url,css:An.maplibreGlCss.url}},K_={"Map.Title":"map","Marker.Title":"marker","Popup.Close":"closePopup","NavigationControl.ZoomIn":"zoomIn","NavigationControl.ZoomOut":"zoomOut","NavigationControl.ResetBearing":"resetBearing","AttributionControl.ToggleAttribution":"toggleAttribution","AttributionControl.MapFeedback":"mapFeedback","FullscreenControl.Enter":"enterFullscreen","FullscreenControl.Exit":"exitFullscreen","GeolocateControl.FindMyLocation":"findMyLocation","GeolocateControl.LocationNotAvailable":"locationNotAvailable","GlobeControl.Enable":"enableGlobe","GlobeControl.Disable":"disableGlobe","CooperativeGesturesHandler.WindowsHelpText":"ctrlScroll","CooperativeGesturesHandler.MacHelpText":"cmdScroll","CooperativeGesturesHandler.MobileHelpText":"twoFingers","ScrollZoomBlocker.CtrlMessage":"ctrlScroll","ScrollZoomBlocker.CmdMessage":"cmdScroll","TouchPanBlocker.Message":"twoFingers"};function su(e,t){const o={};for(const[a,s]of Object.entries(K_)){const i=So(`mapui.${s}`,e);i&&(o[a]=i)}const n=So(t==="maplibre"?"mapui.maplibreLogo":"mapui.mapboxHomepage",e);return n&&(o["LogoControl.Title"]=n),o}function iu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const W_=Go.mapbox.css,q_="https://tiles.openfreemap.org/styles/liberty",V_="https://tiles.openfreemap.org/styles/fiord";function wa(e){var o;const t=((o=Go[e])==null?void 0:o.global)||Go.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Y_(e){const t=Go[e]||Go.mapbox;if(wa(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,Vs(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(wa(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=t.js,Vs(s,t.js),s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function J_(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=i=>new Promise(r=>setTimeout(r,i)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,Vs(s,t),await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),o.prepend(s)}),n(2e3)])}function X_(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?V_:q_}const Z_=85.0511,Ys=-2,Q_=0,e$=-60;function ru(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function t$(e,t,o,n){if(!e||e<=0||!t||t<=0)return Q_;const a=Math.log2(e/512),s=ru(n)-ru(Z_),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Ys,Math.min(r,(o??18)-1))}function o$({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:i=2,bounds:r=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:g=18,pitch:f=0,bearing:k=0,renderWorldCopies:w=!0,showEdgeBorders:S=!0,southCutoff:I=e$,maxBounds:N=void 0}){const A=Ja(null),$=ce(!1);let m=null,T=null,P=null,b=null;try{b=De("profileConfig",null)}catch{}const E=!a&&!tu(b);a=a||eu(b,{token:t});let y=a==="maplibre",j=null;try{j=De("lang",null)}catch{}const Z=()=>{const ie=j&&typeof j=="object"&&"value"in j?j.value:j;if(typeof ie=="string"&&ie)return ie;const G=b&&typeof b=="object"&&"value"in b?b.value:b;if(G&&(G.locale||G.lang))return String(G.locale||G.lang);try{const V=new URLSearchParams(location.search);return V.get("lang")||V.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function B(){var _e;if(E&&!y&&!t&&typeof window<"u"&&window.__doxaMapTokenPending){if(await window.__doxaMapTokenPending,!e.value)return;typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN||(a="maplibre",y=!0)}const ie=O_(o,a),G=ie.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const V=()=>!e.value;if(await Y_(a),V())return;const z=wa(a);if(!z){console.error(`[useMapInstance] ${y?"maplibregl":"mapboxgl"} is not available. Add the ${y?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(G_(z),!y){if(!t&&typeof window<"u"&&window.__doxaMapTokenPending&&(await window.__doxaMapTokenPending,V()))return;if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await J_(e.value,y?Go.maplibre.css:W_),V()||(await new Promise(de=>requestAnimationFrame(de)),V()))return;const D=e.value,ee=D.clientWidth,pe=D.clientHeight;if(ee===0||pe===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${pe}). Map will be invisible. Check that parent elements have CSS sizing.`);let de=D.parentElement,re=0;for(;de&&re<5;)de=de.parentElement,re++}const fe=t;y||(z.accessToken=fe);const W=()=>typeof window<"u"&&window.innerWidth>=1024,te=(de,re)=>{if(u)return typeof c=="number"?c:Ys;if(!W())return Ys;const Ie=t$(de,re,g,I);return typeof c=="number"?Math.max(c,Ie):Ie},Y=te(D.clientWidth,D.clientHeight),me=ie.lightPreset||(()=>{var de;try{const re=typeof n=="function"?n():n;return(de=re==null?void 0:re.basemap)==null?void 0:de.lightPreset}catch{return}})();if(y){A.value=new z.Map({container:e.value,style:X_(G,me),locale:su(Z(),"maplibre"),center:s,zoom:i,minZoom:Y,maxZoom:g,pitch:f,bearing:k,dragRotate:!1,renderWorldCopies:w,...r?{bounds:r,...l?{fitBoundsOptions:l}:{}}:{},...N?{maxBounds:N}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),iu(A.value);try{e.value.__doxaMap=A.value}catch{}}else{const de=typeof n=="function"?n():n;A.value=new z.Map({accessToken:fe,container:e.value,style:G,locale:su(Z(),"mapbox"),...de?{config:de}:{},center:s,zoom:i,minZoom:Y,maxZoom:g,pitch:f,bearing:k,dragRotate:!1,touchPitch:!1,renderWorldCopies:w,...r?{bounds:r,...l?{fitBoundsOptions:l}:{}}:{},...N?{maxBounds:N}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),iu(A.value);try{e.value.__doxaMap=A.value}catch{}}try{let de=!1;A.value.on("error",re=>{var v,_;const Ie=((v=re==null?void 0:re.error)==null?void 0:v.status)??(re==null?void 0:re.status),h=String(((_=re==null?void 0:re.error)==null?void 0:_.url)||(re==null?void 0:re.sourceId)||"");Ie!==401&&Ie!==403||de||(de=!0,console.error(`[doxa-maps] Mapbox returned ${Ie} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(h?` First failing request: ${h.slice(0,120)}`:"")))})}catch{}try{A.value.touchZoomRotate.disableRotation()}catch{}P=x_(((_e=e.value)==null?void 0:_e.parentElement)||null,{enabled:S});let X=Y,ge=null;m=()=>{const de=A.value;if(!de)return;const re=te(D.clientWidth,D.clientHeight);re!==X&&(X=re,de.setMinZoom(re)),de.getZoom(){ge=null;const Ie=A.value;if(!Ie)return;const h=te(D.clientWidth,D.clientHeight);if(Ie.getZoom(){ge&&(clearTimeout(ge),ge=null)},A.value.on("resize",m),typeof window<"u"&&(window.addEventListener("resize",m),window.addEventListener("orientationchange",m)),A.value.on("style.load",()=>{if(A.value&&au(A.value,Z()),ie.paint&&A.value){const de=R_(A.value,ie.paint);console.info("[useMapInstance] style paint applied ("+a+"):",de.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var de;(de=A.value)==null||de.resize(),A.value&&A.value.setMinZoom(te(D.clientWidth,D.clientHeight)),$.value=!0})})}function Q(){if(A.value){if(m&&(A.value.off("resize",m),typeof window<"u"&&(window.removeEventListener("resize",m),window.removeEventListener("orientationchange",m)),m=null),T){try{T()}catch{}T=null}P&&(P(),P=null),A.value.remove(),A.value=null,$.value=!1}}if(j&&typeof j=="object"&&"value"in j)try{ut(j,()=>{A.value&&$.value&&au(A.value,Z())})}catch{}return{map:A,isMapReady:$,initializeMap:B,destroy:Q}}const lu="doxa-prayed-local",n$=7*24*60*60*1e3;function a$(){try{const e=localStorage.getItem(lu);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function s$(e){try{localStorage.setItem(lu,JSON.stringify(e))}catch{}}function i$(){const e=Date.now(),t=a$();let o=!1;for(const[n,a]of Object.entries(t))(typeof a!="number"||e-a>n$)&&(delete t[n],o=!0);return o&&s$(t),new Set(Object.keys(t))}function r$(e){const t=i$();return!t.size||!Array.isArray(e)?e:e.map(o=>(Number(o&&o.peoplePraying)||0)>0||!o||!t.has(o.slug)?o:{...o,peoplePraying:1})}const no={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},cu={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Js="languageFamily",l$="#000000",ao={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},c$=ao;function Xs(e){return ao[e]||l$}const u$=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ao))t[e(o)]=o;return t})(),d$={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zs(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return d$[o]||u$[o]||t}function uu(e){var t;return Xs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Qs(){const e=["match",["get",Js]];return Object.entries(ao).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const du=Qs,p$=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:c$,PALETTE:ao,PROPERTY_KEY:Js,applyColor:Qs,buildColorExpression:du,canonicalFamilyName:Zs,default:{name:"Language Family",propertyKey:Js,palette:ao,colors:ao,getColor:uu,applyColor:Qs,buildColorExpression:du,getLanguageFamilyColor:Xs,canonicalFamilyName:Zs},defaultFamilyColor:"#95a5a6",getColor:uu,getLanguageFamilyColor:Xs,languageFamilyColors:ao},Symbol.toStringTag,{value:"Module"})),pu="adoptionStatus",Kt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},g$=Kt,ei={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},h$=ei;function gu(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Kt.hasAdoption:Kt.notAdopted}function ti({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Kt.hasAdoption,["==",t,1],Kt.hasAdoption,Kt.notAdopted]}const hu=ti,f$=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:g$,ADOPTION_LABELS:h$,LABELS:ei,PALETTE:Kt,PROPERTY_KEY:pu,applyColor:ti,buildColorExpression:hu,default:{name:"Adoption Progress",propertyKey:pu,palette:Kt,colors:Kt,labels:ei,getColor:gu,applyColor:ti,buildColorExpression:hu},getColor:gu},Symbol.toStringTag,{value:"Module"})),oi="affinityBlock",jo="#95a5a6",Wt={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ta={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},so=Ta,fu=Object.entries(Wt).reduce((e,[t,o])=>(e[o]=t,e),{}),ni=Object.entries(Wt).reduce((e,[t,o])=>(e[o]=so[t],e),{}),mu=Wt;function ai(e){return Wt[e]||"Unknown"}function si(e){return so[e]||jo}function bu(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?so[e]||jo:ni[e]||jo:jo}function _u(){return Object.entries(Wt).map(([e,t])=>({code:e,name:t,color:so[e]}))}function $u(e){return{code:e,name:Wt[e]||"Unknown",color:so[e]||jo}}function yu(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return si(t)}function Su(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return ai(t)}function ii(){const e=["match",["get",oi]];return Object.entries(so).forEach(([t,o])=>{e.push(t,o)}),e.push(jo),e}const vu=ii,m$=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:so,AFFINITY_BLOCK_COLORS_BY_NAME:ni,AFFINITY_BLOCK_NAMES:Wt,AFFINITY_BLOCK_NAME_TO_CODE:fu,NAMES:mu,PALETTE:Ta,PROPERTY_KEY:oi,affinityBlockCodeLookup:Wt,affinityBlockCodeToColor:so,affinityBlockCodeToName:Wt,affinityBlockColors:ni,affinityBlockNameToCode:fu,applyColor:ii,buildColorExpression:vu,default:{name:"Affinity Block",propertyKey:oi,palette:Ta,colors:Ta,names:mu,getColor:yu,applyColor:ii,buildColorExpression:vu,getName:Su,getAffinityBlockName:ai,getAffinityBlockColor:bu,getAffinityBlockColorByCode:si,getAffinityBlocksArray:_u,getAffinityBlockData:$u},getAffinityBlockColor:bu,getAffinityBlockColorByCode:si,getAffinityBlockData:$u,getAffinityBlockName:ai,getAffinityBlocksArray:_u,getColor:yu,getName:Su},Symbol.toStringTag,{value:"Module"}));function b$(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(li),e}const Tu=di,$$=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:_$,PALETTE:La,PROPERTY_KEY:ri,REGION_COLOR_ALIASES:ui,SLUG_PALETTE:Ca,applyColor:di,buildColorExpression:Tu,default:{name:"DOXA Region",propertyKey:ri,palette:La,colors:La,slugColors:Ca,aliases:ui,fallback:li,getColor:wu,applyColor:di,buildColorExpression:Tu,getRegionColor:ku,getRegionColorBySlug:ci},getColor:wu,getRegionColor:ku,getRegionColorBySlug:ci},Symbol.toStringTag,{value:"Module"})),Lu="engagementStatus",qt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},y$=qt,pi={notEngaged:"Unengaged",hasEngagement:"Engaged"},S$=pi;function Cu(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?qt.hasEngagement:qt.notEngaged}function gi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],qt.hasEngagement,["==",t,1],qt.hasEngagement,qt.notEngaged]}const Pu=gi,v$=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:y$,ENGAGEMENT_LABELS:S$,LABELS:pi,PALETTE:qt,PROPERTY_KEY:Lu,applyColor:gi,buildColorExpression:Pu,default:{name:"Engagement Progress",propertyKey:Lu,palette:qt,colors:qt,labels:pi,getColor:Cu,applyColor:gi,buildColorExpression:Pu},getColor:Cu},Symbol.toStringTag,{value:"Module"})),Eu="peoplePraying",Pa=144,io={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},A$=io,hi={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},k$=hi;function Ea(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=Pa?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function fi(e){return io[Ea(e)]}function Nu(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Iu(e){return Ea(e)==="fullPrayer"}function Mu(e){return fi(e)}function mi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Pa],io.fullPrayer,[">",t,0],io.hasPrayer,io.noPrayer]}const xu=mi,w$=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Pa,LABELS:hi,PALETTE:io,PRAYER_COLORS:A$,PRAYER_LABELS:k$,PROPERTY_KEY:Eu,applyColor:mi,buildColorExpression:xu,checkHasFullPrayer:Iu,checkHasPrayer:Nu,default:{name:"Prayer Progress",propertyKey:Eu,palette:io,colors:io,labels:hi,threshold:Pa,getColor:Mu,applyColor:mi,buildColorExpression:xu,getPrayerLevel:Ea,getPrayerColor:fi,checkHasPrayer:Nu,checkHasFullPrayer:Iu},getColor:Mu,getPrayerColor:fi,getPrayerLevel:Ea},Symbol.toStringTag,{value:"Module"})),Fu="religion",bi="#94a3b8",Na={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},pt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ou(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Na[t]?t:"U"}function Ru(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return pt[Ou(t)]||bi}function _i(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",pt.C,"M",pt.M,"H",pt.H,"B",pt.B,"E",pt.E,"J",pt.J,"S",pt.S,"N",pt.N,"O",pt.O,bi]}const Du=_i,T$={name:"Religion",propertyKey:Fu,palette:pt,families:Na,getColor:Ru,applyColor:_i,buildColorExpression:Du,fallback:bi};function L$(e){const t=String(e||""),o=Na[t]||t;return o?So("religion.family."+o)||o:""}const C$=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:pt,PROPERTY_KEY:Fu,RELIGION_FAMILIES:Na,applyColor:_i,buildColorExpression:Du,default:T$,getColor:Ru,getReligionFamily:Ou,religionFamilyLabel:L$},Symbol.toStringTag,{value:"Module"})),zu="resourceType",ro={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},P$=ro,kn=["bible","jesusFilm","radio","gospel","audio","stories"],$i={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},E$=$i;function wn(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Bu(e){var t;for(const o of kn)if((e[o]||((t=e._raw)==null?void 0:t[wn(o)]))==="Available")return ro.hasResources;return ro.noResources}function Hu(e){var t;for(const o of kn)if((e[o]||((t=e._raw)==null?void 0:t[wn(o)]))==="Available")return!0;return!1}function Gu(e){var t;for(const o of kn)if((e[o]||((t=e._raw)==null?void 0:t[wn(o)]))==="Available")return o;return"noResources"}function yi(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],ro.hasResources,ro.noResources]}const ju=yi,N$=Object.freeze(Object.defineProperty({__proto__:null,NAMES:$i,PALETTE:ro,PROPERTY_KEY:zu,RESOURCE_COLORS:P$,RESOURCE_NAMES:E$,RESOURCE_PRIORITY:kn,applyColor:yi,buildColorExpression:ju,default:{name:"Gospel Resources",propertyKey:zu,palette:ro,colors:ro,names:$i,priority:kn,getColor:Bu,applyColor:yi,buildColorExpression:ju,hasAnyResource:Hu,getResourceType:Gu,getCSVColumn:wn},getCSVColumn:wn,getColor:Bu,getResourceType:Gu,hasAnyResource:Hu},Symbol.toStringTag,{value:"Module"})),Uu="region",Si="#6d766e",Ku={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},Tn={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},vi=Object.keys(Tn);function Wu(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return Tn[t]||Si}function Ai(){const e=["match",["coalesce",["get","region"],""]];for(const t of vi)e.push(t,Tn[t]);return e.push(Si),e}const qu=Ai,I$=Object.assign({"./adoption.js":f$,"./affinity-block.js":m$,"./doxa-region.js":$$,"./engagement.js":v$,"./language-family.js":p$,"./prayer-progress.js":w$,"./religion.js":C$,"./resource.js":N$,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Tn,PROPERTY_KEY:Uu,REGION_ORDER:vi,WAGF_REGIONS:Ku,applyColor:Ai,buildColorExpression:qu,default:{name:"WAGF Region",propertyKey:Uu,palette:Tn,regions:Ku,order:vi,getColor:Wu,applyColor:Ai,buildColorExpression:qu,fallback:Si},getColor:Wu},Symbol.toStringTag,{value:"Module"}))}),M$=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),x$=e=>e.replace(/-/g,"_").toUpperCase(),F$={...{STATUS:"status",CUSTOM:"custom"}};function O$(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith(".")||!e[t].default)continue;const a=M$(o);F$[x$(o)]=a}}O$(I$);function ki(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const R$=[[/ sign language$/i,"Sign Language"]];function D$(e){var r,l;const t=ki(e.languageFamily);if(t)return t;const o=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(o&&cu[o])return cu[o];const n=ki(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(no[c])return no[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(no[u])return no[u]}}if(no[a])return no[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&no[i])return no[i];for(const[c,u]of R$)if(c.test(a))return u;return""}function z$(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=b=>b}=e;n||console.error("useMapData: dataSourceManager is required!");const i=ce(!1),r=ce(null),l=ce(!1),c=ce([]),u=ce([]);Ct()&&it("normalizedPeopleGroups",u);const g=ce(null),f=ce([]),k=ce([]),w=ce([]),S=ce(null);async function I(){if(!n)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const G=a.getSourceData(o);u.value=s(G.normalizedData||[])}else{const G=await n.setActiveSource(o);for(const V of G){const z=ki(V.language||V.primary_language);z&&(V.language=z);const D=D$(V);V.languageFamily=Zs(D)}u.value=s(G),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:G,timestamp:Date.now()})}c.value=s(r$(u.value.map(G=>({id:G.uniqueId,slug:G.slug||"",rop3:G.peopleGroupId,peopleId3:G.peopleId3,name:G.name,language:G.language,languageFamily:G.languageFamily,country:G.country,population:G.population,status:G.engagementStatus||G.status,latitude:G.latitude,longitude:G.longitude,lng:G.longitude,lat:G.latitude,description:G.description,imageUrl:G.imageUrl,doxaRegion:G.doxaRegion||G.wagfRegion||"",peoplePraying:G.peoplePraying??null,_normalized:G}))));const b=n.getDataByLanguageFamily();f.value=Object.entries(b).map(([G,V])=>{const z=V.reduce((D,ee)=>{const pe=parseInt(ee.population)||0;return D+pe},0);return{name:G,count:V.length,peopleGroupCount:V.length,population:z,groups:V}}).sort((G,V)=>V.count-G.count);const E=n.getDataByRegion();k.value=Object.entries(E).map(([G,V])=>{const z=V.reduce((D,ee)=>{const pe=parseInt(ee.population)||0;return D+pe},0);return{name:G,count:V.length,peopleGroupCount:V.length,population:z,groups:V}}).sort((G,V)=>G.name.localeCompare(V.name));const y={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(G=>{const V=parseInt(G.population)||0;let z=!1;G.bible==="Available"&&(y.bible.count++,y.bible.population+=V,y.bible.groups.push(G),z=!0),G.jesusFilm==="Available"&&(y.jesusFilm.count++,y.jesusFilm.population+=V,y.jesusFilm.groups.push(G),z=!0),G.radio==="Available"&&(y.radio.count++,y.radio.population+=V,y.radio.groups.push(G),z=!0),G.gospel==="Available"&&(y.gospel.count++,y.gospel.population+=V,y.gospel.groups.push(G),z=!0),G.audio==="Available"&&(y.audio.count++,y.audio.population+=V,y.audio.groups.push(G),z=!0),G.stories==="Available"&&(y.stories.count++,y.stories.population+=V,y.stories.groups.push(G),z=!0),z?(y.hasResources.count++,y.hasResources.population+=V,y.hasResources.groups.push(G)):(y.noResources.count++,y.noResources.population+=V,y.noResources.groups.push(G))});const j=u.value.length,Z=u.value.reduce((G,V)=>G+(parseInt(V.population)||0),0),B={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Q={bible:{count:j-y.bible.count,population:Z-y.bible.population},jesusFilm:{count:j-y.jesusFilm.count,population:Z-y.jesusFilm.population},radio:{count:j-y.radio.count,population:Z-y.radio.population},gospel:{count:j-y.gospel.count,population:Z-y.gospel.population},audio:{count:j-y.audio.count,population:Z-y.audio.population},stories:{count:j-y.stories.count,population:Z-y.stories.population}},ie="#2c3e50";return w.value=[{name:B.bible,key:"bible",count:y.bible.count,population:y.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:Q.bible.count,population:Q.bible.population,color:ie}]},{name:B.jesusFilm,key:"jesusFilm",count:y.jesusFilm.count,population:y.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:Q.jesusFilm.count,population:Q.jesusFilm.population,color:ie}]},{name:B.radio,key:"radio",count:y.radio.count,population:y.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:Q.radio.count,population:Q.radio.population,color:ie}]},{name:B.gospel,key:"gospel",count:y.gospel.count,population:y.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:Q.gospel.count,population:Q.gospel.population,color:ie}]},{name:B.audio,key:"audio",count:y.audio.count,population:y.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:Q.audio.count,population:Q.audio.population,color:ie}]},{name:B.stories,key:"stories",count:y.stories.count,population:y.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:Q.stories.count,population:Q.stories.population,color:ie}]},{name:B.hasResources,key:"hasResources",count:y.hasResources.count,population:y.hasResources.population,isParent:!0,children:[{name:B.noResources,key:"noResources",count:y.noResources.count,population:y.noResources.population,color:ie}]}],S.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:f.value,doxaRegionsData:k.value,resourcesData:w.value,stats:S.value}}catch(b){throw console.error(`Failed to load data for map "${t}":`,b),r.value=b.message||"Failed to load data",b}finally{i.value=!1}}async function N(){var b,E,y;try{const j={},Z=u.value||[];for(const B of Z){const Q=B.countryIso||((E=(b=B._raw)==null?void 0:b.country_code)==null?void 0:E.value)||"",ie=(y=B._raw)==null?void 0:y.wagf_region,G=B.doxaRegion||B.wagfRegion||(ie&&typeof ie=="object"?ie.value:"")||"";Q&&G&&!j[Q]&&(j[Q]=G)}return g.value={isoToRegion:j},g.value}catch(j){throw console.error(`Error building regions data for map "${t}":`,j),r.value=j.message||"Failed to build regions",j}}function A(){return n?n.getDataByLanguageFamily():{}}function $(){return n?n.getDataByRegion():{}}function m(b){return A()[b]||[]}function T(b){return $()[b]||[]}function P(){c.value=[],u.value=[],g.value=null,f.value=[],k.value=[],w.value=[],S.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:g,languageFamiliesData:f,doxaRegionsData:k,resourcesData:w,stats:S,loadData:I,loadRegionsData:N,getDataByLanguageFamily:A,getDataByRegion:$,getPeopleGroupsByFamily:m,getPeopleGroupsByRegion:T,clearData:P}}const wi={};function B$(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Ao&&Ao.tagName.toUpperCase()==="SCRIPT"&&Ao.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(wi==null?void 0:wi.VITE_API_BASE_URL)||""}const Ti={default:"doxa",lists:[{id:"doxa",aliases:["2000","project-2000"],label:"Project 2000: DOXA's people groups",definition:"The people groups DOXA serves, as its live list gives them",source:"doxa",filter:null},{id:"unreached",aliases:["7000","project-7000"],label:"Project 7000: unreached people groups",definition:"IMB Lostness Priority 0-2 (Frontier, Pioneer or Expanding Unreached: under 2% evangelical)",source:"imb",filter:{lostness:[0,1,2]}},{id:"frontier",aliases:["4700","project-4700"],label:"Project 4700: frontier people groups",definition:"IMB Lostness Priority 0 (Frontier Unreached: 0.1% evangelical or less)",source:"imb",filter:{lostness:[0]}},{id:"frontier-500k",aliases:["700","project-700"],label:"Project 700: frontier people groups of 500,000 or more",definition:"IMB Lostness Priority 0 and Population of at least 500,000",source:"imb",filter:{lostness:[0],minPopulation:5e5}},{id:"unengaged",aliases:[],label:"Unengaged unreached people groups",definition:"IMB Lostness Priority 0-2 and Engagement Status Unengaged",source:"imb",filter:{lostness:[0,1,2],engagement:["Unengaged"]}}]},H$=Ao&&Ao.tagName.toUpperCase()==="SCRIPT"&&Ao.src||new URL("all-people-groups.js",document.baseURI).href,lo=e=>String(e||"").trim().replace(/\/+$/,"");function Vu(){try{const t=String(H$||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function G$(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return lo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return lo(o)}return lo(Vu()||"")}function Yu(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=lo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=lo((e==null?void 0:e.treeBase)||"")||lo(Vu()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return lo(new URL(o+"/assets",n).href)}catch{return lo(o+"/assets")}return"./assets"}function j$({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const i=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(i){if(/^https?:\/\//i.test(i))return i;if(i.startsWith("/"))return a?window.location.origin+i:i;const r=G$(n),l=i.replace(/^\.\//,"");if(r)return r+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const Ia=Ti.default,Li=new Map;for(const e of Ti.lists){Li.set(e.id,e);for(const t of e.aliases||[])Li.set(String(t).toLowerCase(),e)}function U$(e){return Li.get(String(e??"").toLowerCase().trim())||null}function Ju(e){let t=e;if(t&&typeof t=="object"&&"value"in t&&!("list"in t)&&!("profile"in t)&&(t=t.value),typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return t&&typeof t=="object"?t:null}const Xu=new Set;function K$(e){const t=Ju(e),o=t==null?void 0:t.list,n=typeof location<"u"?new URLSearchParams(location.search).get("list"):null,a=typeof window<"u"?window.MAP_LIST:void 0,s=o||n||a||Ia,i=U$(s);return i?i.id:(Xu.has(s)||(Xu.add(s),console.warn(`[list] unknown people-group list "${s}", showing "${Ia}". Known: ${Ti.lists.map(r=>r.id).join(", ")}`)),Ia)}const Ma=new Map;function W$(e,t){const o=`${Yu(Ju(t))}/people-groups/lists/${e}.json`;return Ma.has(o)||Ma.set(o,fetch(o).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()}).then(n=>new Set(Array.isArray(n==null?void 0:n.slugs)?n.slugs:[])).catch(n=>{throw Ma.delete(o),new Error(`list "${e}" membership ${o}: ${n.message}`)})),Ma.get(o)}async function Zu(e,t,{key:o=n=>n==null?void 0:n.slug}={}){const n=K$(t);if(n===Ia||!Array.isArray(e))return e;try{const a=await W$(n,t);return e.filter(s=>a.has(o(s)))}catch(a){return console.error(`[list] ${a.message}. Showing no people groups rather than the wrong list.`),[]}}class Qu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.profileConfig=t.profileConfig||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Yc,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let a="",s=!1,i=[],r=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)n.push(...i),r=!1;else if(i.length>1){const g={};n.forEach((f,k)=>{g[f]=i[k]||""}),o.push(g)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};n.forEach((c,u)=>{l[c]=i[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=await Zu(Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.profileConfig),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=z$(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,g]of Object.entries(i))s.push(`${u}=${encodeURIComponent(g)}`);const r=`${o}${n}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const g=u.headers.get("content-type")||"";if(!g.includes("application/json"))throw new Error(`API returned "${g}" instead of JSON. Server at ${o} may be down or misconfigured.`);const f=await u.json();return this.rawData=await Zu(Array.isArray(f)?f:f.posts||f.data||f.results||[],this.profileConfig),this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(n,g));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Qu;const W$={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ce(null);return it("mapToolbar",{el:t}),Ho(` +`&&l++,a||i.length>0){if(i.push(a.trim()),a="",r)n.push(...i),r=!1;else if(i.length>1){const g={};n.forEach((f,k)=>{g[f]=i[k]||""}),o.push(g)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};n.forEach((c,u)=>{l[c]=i[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=await Zu(Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.profileConfig),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=B$(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,g]of Object.entries(i))s.push(`${u}=${encodeURIComponent(g)}`);const r=`${o}${n}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const g=u.headers.get("content-type")||"";if(!g.includes("application/json"))throw new Error(`API returned "${g}" instead of JSON. Server at ${o} may be down or misconfigured.`);const f=await u.json();return this.rawData=await Zu(Array.isArray(f)?f:f.posts||f.data||f.results||[],this.profileConfig),this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(n,g));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Qu;const q$={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ce(null);return it("mapToolbar",{el:t}),Ho(` .map-toolbar { position: absolute; top: 6px; @@ -90,7 +97,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(ke(),Fe("div",{ref_key:"toolbarEl",ref:t,class:ot(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[is(o.$slots,"default")],2))}},q$=["title","aria-label","disabled"],V$={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Ho(` +`,"map-toolbar"),(o,n)=>(ke(),Fe("div",{ref_key:"toolbarEl",ref:t,class:ot(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[is(o.$slots,"default")],2))}},V$=["title","aria-label","disabled"],Y$={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Ho(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -116,7 +123,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,o)=>(ke(),Fe("button",{class:ot(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[is(t.$slots,"default")],10,q$))}},Y$=["aria-label"],J$={class:"mcm-header"},X$={class:"mcm-title"},Z$=["aria-label"],Q$={class:"mcm-body"},ey=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Ci="doxa-map-menu-open",ty={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){const o=(w,S)=>So(w)||S;Ho(` +`,"map-control-button"),(t,o)=>(ke(),Fe("button",{class:ot(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[is(t.$slots,"default")],10,V$))}},J$=["aria-label"],X$={class:"mcm-header"},Z$={class:"mcm-title"},Q$=["aria-label"],ey={class:"mcm-body"},ty=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Ci="doxa-map-menu-open",oy={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){const o=(w,S)=>So(w)||S;Ho(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -132,7 +139,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const n=e,a=t,s=De("mapToolbar",null),i=ce(null),r=ce(null),l=ce({});function c(){var j;const w=(j=s==null?void 0:s.el)==null?void 0:j.value,S=i.value;if(!w||!S){l.value={};return}const I=S.getBoundingClientRect(),N=w.getBoundingClientRect(),A=(N.left+N.right)/2>(I.left+I.right)/2,$=8,m=12,T=A?I.right-N.left+$:N.right-I.left+$,P=Math.max(200,Math.min(n.width,I.width-T-m)),b=Math.max(0,N.top-I.top);let y=S.getAttribute&&S.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-N.top-m):Math.max(120,I.height-b-m);n.matchToolbar&&(y=Math.max(120,Math.min(y,N.height))),n.maxHeight&&(y=Math.min(y,n.maxHeight)),l.value={top:`${Math.round(b)}px`,[A?"right":"left"]:`${Math.round(T)}px`,width:`${Math.round(P)}px`,maxHeight:`${Math.round(y)}px`,...n.height?{height:`${Math.round(Math.min(n.height,y))}px`}:{}}}function u(w){n.open&&w.detail!==r.value&&a("close")}ut(()=>n.open,async w=>{var S;if(w){await po(),c();try{(S=i.value)==null||S.dispatchEvent(new CustomEvent(Ci,{detail:r.value}))}catch{}}});function g(){n.open&&c()}function f(w){w.key==="Escape"&&n.open&&a("close")}function k(w){var I;if(!n.open)return;const S=w.composedPath?w.composedPath():[w.target];r.value&&S.includes(r.value)||(I=s==null?void 0:s.el)!=null&&I.value&&S.includes(s.el.value)||S.some(N=>{var A,$,m,T;return(($=(A=N==null?void 0:N.classList)==null?void 0:A.contains)==null?void 0:$.call(A,"mapboxgl-canvas"))||((T=(m=N==null?void 0:N.classList)==null?void 0:m.contains)==null?void 0:T.call(m,"maplibregl-canvas"))})&&a("close")}return No(()=>{var w,S,I;i.value=((S=(w=s==null?void 0:s.el)==null?void 0:w.value)==null?void 0:S.closest(ey))||null,(I=i.value)==null||I.addEventListener(Ci,u),window.addEventListener("resize",g),document.addEventListener("click",k,!0),document.addEventListener("keydown",f)}),sn(()=>{var w;(w=i.value)==null||w.removeEventListener(Ci,u),window.removeEventListener("resize",g),document.removeEventListener("click",k,!0),document.removeEventListener("keydown",f)}),(w,S)=>(ke(),bo(sp,{to:i.value,disabled:!i.value},[e.open?(ke(),Fe("div",{key:0,ref_key:"el",ref:r,class:ot(["mcm",{light:!e.isDark}]),style:Wo(l.value),role:"dialog","aria-label":e.title},[ae("div",J$,[ae("span",X$,Re(e.title),1),ae("button",{class:"mcm-close",type:"button","aria-label":o("buttons.close","Close"),onClick:S[0]||(S[0]=I=>a("close"))},[...S[1]||(S[1]=[ae("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[ae("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),ae("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])],8,Z$)]),ae("div",Q$,[is(w.$slots,"default")])],14,Y$)):zt("",!0)],8,["to","disabled"]))}},oy={class:"share-steps"},ny={class:"share-tabs"},ay={key:0,class:"share-body"},sy={class:"share-url-box"},iy={class:"share-url-text"},ry={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ly={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},cy={key:1,class:"share-body"},uy={class:"share-embed-desc"},dy={class:"share-size-pills"},py=["onClick"],gy={class:"share-code-box"},hy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},fy={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},my={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){const t=(Z,B)=>So(Z)||B;Ho(` +`,"map-control-menu");const n=e,a=t,s=De("mapToolbar",null),i=ce(null),r=ce(null),l=ce({});function c(){var j;const w=(j=s==null?void 0:s.el)==null?void 0:j.value,S=i.value;if(!w||!S){l.value={};return}const I=S.getBoundingClientRect(),N=w.getBoundingClientRect(),A=(N.left+N.right)/2>(I.left+I.right)/2,$=8,m=12,T=A?I.right-N.left+$:N.right-I.left+$,P=Math.max(200,Math.min(n.width,I.width-T-m)),b=Math.max(0,N.top-I.top);let y=S.getAttribute&&S.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-N.top-m):Math.max(120,I.height-b-m);n.matchToolbar&&(y=Math.max(120,Math.min(y,N.height))),n.maxHeight&&(y=Math.min(y,n.maxHeight)),l.value={top:`${Math.round(b)}px`,[A?"right":"left"]:`${Math.round(T)}px`,width:`${Math.round(P)}px`,maxHeight:`${Math.round(y)}px`,...n.height?{height:`${Math.round(Math.min(n.height,y))}px`}:{}}}function u(w){n.open&&w.detail!==r.value&&a("close")}ut(()=>n.open,async w=>{var S;if(w){await po(),c();try{(S=i.value)==null||S.dispatchEvent(new CustomEvent(Ci,{detail:r.value}))}catch{}}});function g(){n.open&&c()}function f(w){w.key==="Escape"&&n.open&&a("close")}function k(w){var I;if(!n.open)return;const S=w.composedPath?w.composedPath():[w.target];r.value&&S.includes(r.value)||(I=s==null?void 0:s.el)!=null&&I.value&&S.includes(s.el.value)||S.some(N=>{var A,$,m,T;return(($=(A=N==null?void 0:N.classList)==null?void 0:A.contains)==null?void 0:$.call(A,"mapboxgl-canvas"))||((T=(m=N==null?void 0:N.classList)==null?void 0:m.contains)==null?void 0:T.call(m,"maplibregl-canvas"))})&&a("close")}return No(()=>{var w,S,I;i.value=((S=(w=s==null?void 0:s.el)==null?void 0:w.value)==null?void 0:S.closest(ty))||null,(I=i.value)==null||I.addEventListener(Ci,u),window.addEventListener("resize",g),document.addEventListener("click",k,!0),document.addEventListener("keydown",f)}),sn(()=>{var w;(w=i.value)==null||w.removeEventListener(Ci,u),window.removeEventListener("resize",g),document.removeEventListener("click",k,!0),document.removeEventListener("keydown",f)}),(w,S)=>(ke(),bo(sp,{to:i.value,disabled:!i.value},[e.open?(ke(),Fe("div",{key:0,ref_key:"el",ref:r,class:ot(["mcm",{light:!e.isDark}]),style:Wo(l.value),role:"dialog","aria-label":e.title},[ae("div",X$,[ae("span",Z$,Re(e.title),1),ae("button",{class:"mcm-close",type:"button","aria-label":o("buttons.close","Close"),onClick:S[0]||(S[0]=I=>a("close"))},[...S[1]||(S[1]=[ae("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[ae("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),ae("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])],8,Q$)]),ae("div",ey,[is(w.$slots,"default")])],14,J$)):zt("",!0)],8,["to","disabled"]))}},ny={class:"share-steps"},ay={class:"share-tabs"},sy={key:0,class:"share-body"},iy={class:"share-url-box"},ry={class:"share-url-text"},ly={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},cy={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},uy={key:1,class:"share-body"},dy={class:"share-embed-desc"},py={class:"share-size-pills"},gy=["onClick"],hy={class:"share-code-box"},fy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},my={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},by={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){const t=(Z,B)=>So(Z)||B;Ho(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -384,7 +391,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t:o,tm:n,rt:a}=Bo(),s=e,i=ce(null),r=ce(!1),l=ce(null),c=ce(null),u=ce("link"),g=ce(!1),f=ce(!1),k=ce("medium"),w={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=De("profileConfig",null),I=ye(()=>G$({embedPath:s.embedPath,profileConfig:Je(S)||null})),N=ye(()=>{const Z=w[k.value].height;return''});function A(){r.value=!r.value,r.value&&(u.value="link",g.value=!1,f.value=!1)}function $(){r.value=!1}async function m(Z){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(Z),!0}catch{}try{const B=document.createElement("textarea");B.value=Z,B.setAttribute("readonly",""),B.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(B),B.select();const Q=document.execCommand("copy");return document.body.removeChild(B),Q}catch{return!1}}async function T(){await m(I.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}async function P(){await m(N.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const b=De("mapToolbar",null),E=ce(null);it("mapToolbar",b||{el:E});const y=!b;function j(Z){if(i.value=Z||null,!y||!Z){Z||(E.value=null);return}const B=Z.offsetParent||Z.parentElement;B&&!B.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&B.setAttribute("data-map-area","share-fallback"),E.value=Z}return(Z,B)=>(ke(),Fe("div",{ref:j,class:"share-wrap","data-share-root":""},[xe(V$,{ref_key:"btnEl",ref:c,"is-dark":e.isDark,active:r.value,title:Je(o)("buttons.share"),onClick:A},{default:Yn(()=>[...B[2]||(B[2]=[ae("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[ae("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),ae("polyline",{points:"16 6 12 2 8 6"}),ae("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),xe(ty,{open:r.value,title:Je(o)("buttons.share"),"is-dark":e.isDark,onClose:$},{default:Yn(()=>[ae("div",{ref_key:"popoverEl",ref:l,class:ot(["share-pop",{light:!e.isDark}])},[ae("ul",oy,[(ke(!0),Fe(Ke,null,ss(Je(n)("buttons.shareSteps"),(Q,ie)=>(ke(),Fe("li",{key:ie},Re(Je(a)(Q)),1))),128))]),ae("div",ny,[ae("button",{class:ot(["share-tab",{active:u.value==="link"}]),onClick:B[0]||(B[0]=Q=>u.value="link")},Re(t("share.embed_link","Embed link")),3),ae("button",{class:ot(["share-tab",{active:u.value==="embed"}]),onClick:B[1]||(B[1]=Q=>u.value="embed")},Re(t("share.add_to_website","Add to Your Website")),3)]),u.value==="link"?(ke(),Fe("div",ay,[ae("div",sy,[ae("div",iy,Re(I.value),1)]),ae("button",{class:ot(["share-primary-btn",{copied:g.value}]),onClick:T},[g.value?(ke(),Fe("svg",ly,[...B[4]||(B[4]=[ae("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ke(),Fe("svg",ry,[...B[3]||(B[3]=[ae("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),ae("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),mt(" "+Re(g.value?"Copied!":"Copy Link"),1)],2)])):zt("",!0),u.value==="embed"?(ke(),Fe("div",cy,[ae("div",uy,Re(t("share.embed_paste_hint","Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets).")),1),ae("div",dy,[(ke(),Fe(Ke,null,ss(w,(Q,ie)=>ae("button",{key:ie,class:ot(["share-size-pill",{active:k.value===ie}]),onClick:G=>k.value=ie},Re(Q.label),11,py)),64))]),ae("div",gy,Re(N.value),1),ae("button",{class:ot(["share-secondary-btn",{copied:f.value}]),onClick:P},[f.value?(ke(),Fe("svg",fy,[...B[6]||(B[6]=[ae("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ke(),Fe("svg",hy,[...B[5]||(B[5]=[ae("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),ae("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),mt(" "+Re(f.value?"Copied!":"Copy Code"),1)],2)])):zt("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},by={class:"apg-root"},_y={key:0,class:"apg-loading"},$y={key:1,class:"apg-error"},yy={key:2,class:"apg-legend"},Sy={class:"apg-legend-title"},vy={class:"apg-legend-sub"},Ay=["onClick"],ky={class:"apg-count"},wy={class:"apg-hint"},Ty="all-people-groups/all-people-groups/index.html",Ly=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var fe;Ho(` +`,"share-button");const{t:o,tm:n,rt:a}=Bo(),s=e,i=ce(null),r=ce(!1),l=ce(null),c=ce(null),u=ce("link"),g=ce(!1),f=ce(!1),k=ce("medium"),w={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=De("profileConfig",null),I=ye(()=>j$({embedPath:s.embedPath,profileConfig:Je(S)||null})),N=ye(()=>{const Z=w[k.value].height;return''});function A(){r.value=!r.value,r.value&&(u.value="link",g.value=!1,f.value=!1)}function $(){r.value=!1}async function m(Z){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(Z),!0}catch{}try{const B=document.createElement("textarea");B.value=Z,B.setAttribute("readonly",""),B.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(B),B.select();const Q=document.execCommand("copy");return document.body.removeChild(B),Q}catch{return!1}}async function T(){await m(I.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}async function P(){await m(N.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const b=De("mapToolbar",null),E=ce(null);it("mapToolbar",b||{el:E});const y=!b;function j(Z){if(i.value=Z||null,!y||!Z){Z||(E.value=null);return}const B=Z.offsetParent||Z.parentElement;B&&!B.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&B.setAttribute("data-map-area","share-fallback"),E.value=Z}return(Z,B)=>(ke(),Fe("div",{ref:j,class:"share-wrap","data-share-root":""},[xe(Y$,{ref_key:"btnEl",ref:c,"is-dark":e.isDark,active:r.value,title:Je(o)("buttons.share"),onClick:A},{default:Yn(()=>[...B[2]||(B[2]=[ae("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[ae("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),ae("polyline",{points:"16 6 12 2 8 6"}),ae("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),xe(oy,{open:r.value,title:Je(o)("buttons.share"),"is-dark":e.isDark,onClose:$},{default:Yn(()=>[ae("div",{ref_key:"popoverEl",ref:l,class:ot(["share-pop",{light:!e.isDark}])},[ae("ul",ny,[(ke(!0),Fe(Ke,null,ss(Je(n)("buttons.shareSteps"),(Q,ie)=>(ke(),Fe("li",{key:ie},Re(Je(a)(Q)),1))),128))]),ae("div",ay,[ae("button",{class:ot(["share-tab",{active:u.value==="link"}]),onClick:B[0]||(B[0]=Q=>u.value="link")},Re(t("share.embed_link","Embed link")),3),ae("button",{class:ot(["share-tab",{active:u.value==="embed"}]),onClick:B[1]||(B[1]=Q=>u.value="embed")},Re(t("share.add_to_website","Add to Your Website")),3)]),u.value==="link"?(ke(),Fe("div",sy,[ae("div",iy,[ae("div",ry,Re(I.value),1)]),ae("button",{class:ot(["share-primary-btn",{copied:g.value}]),onClick:T},[g.value?(ke(),Fe("svg",cy,[...B[4]||(B[4]=[ae("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ke(),Fe("svg",ly,[...B[3]||(B[3]=[ae("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),ae("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),mt(" "+Re(g.value?"Copied!":"Copy Link"),1)],2)])):zt("",!0),u.value==="embed"?(ke(),Fe("div",uy,[ae("div",dy,Re(t("share.embed_paste_hint","Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets).")),1),ae("div",py,[(ke(),Fe(Ke,null,ss(w,(Q,ie)=>ae("button",{key:ie,class:ot(["share-size-pill",{active:k.value===ie}]),onClick:G=>k.value=ie},Re(Q.label),11,gy)),64))]),ae("div",hy,Re(N.value),1),ae("button",{class:ot(["share-secondary-btn",{copied:f.value}]),onClick:P},[f.value?(ke(),Fe("svg",my,[...B[6]||(B[6]=[ae("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ke(),Fe("svg",fy,[...B[5]||(B[5]=[ae("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),ae("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),mt(" "+Re(f.value?"Copied!":"Copy Code"),1)],2)])):zt("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},_y={class:"apg-root"},$y={key:0,class:"apg-loading"},yy={key:1,class:"apg-error"},Sy={key:2,class:"apg-legend"},vy={class:"apg-legend-title"},Ay={class:"apg-legend-sub"},ky=["onClick"],wy={class:"apg-count"},Ty={class:"apg-hint"},Ly="all-people-groups/all-people-groups/index.html",Cy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var fe;Ho(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -415,10 +422,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=De("profileConfig"),o=De("mapboxToken"),n=De("dataSource"),a=De("dataStore"),s=De("mapStore"),i=ye(()=>{var W;return((W=t.value)==null?void 0:W.isDark)===!0}),r=eu(t),l=ye(()=>Yu((t==null?void 0:t.value)||{})),{t:c,locale:u}=Vc("allPeopleGroups"),g=ye(()=>{const W=u;return(W&&typeof W=="object"&&"value"in W?W.value:W)||"en"}),f=W=>{try{return Number(W).toLocaleString(g.value)}catch{return Number(W).toLocaleString()}},k=[{id:"doxa",color:"#111827"},{id:"frontier",color:"#e0392b"},{id:"unreached",color:"#e6a800"},{id:"reached",color:"#23a45a"}],w=Object.fromEntries(k.map(W=>[W.id,W.color])),S=ce({doxa:0,frontier:0,unreached:0,reached:0}),I=ce(!1);function N(W,te){if(te.has(String(W.ROP3Code||"")))return"doxa";const Y=Number(W.GSEC);return!Number.isFinite(Y)||Y<=1?"frontier":Y<=3?"unreached":"reached"}function A(){var Y;let W="";try{W=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const te=(Y=t==null?void 0:t.value)==null?void 0:Y.utmSource;return encodeURIComponent(String(W||te||"agwm"))}const $=ce(null),m=ce(!1),T=ce(null),{map:P,initializeMap:b,destroy:E}=t$({containerRef:$,accessToken:o.value,provider:r,style:((fe=t==null?void 0:t.value)==null?void 0:fe.style)??"paper",center:[20,12],zoom:1.6}),y=new Qu,j=D$({mapId:"all-people-groups",dataSourceId:n.value,dataSourceManager:y,dataStore:a,markRaw:W=>W});let Z=[],B=new Map;function Q(W){return String(W??"").replace(/[&<>"']/g,te=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[te])}async function ie(){const W=l.value,te=await fetch(`${W}/people-groups/people-groups-points.json`);if(te.ok){const X=await te.json(),ge=X.dicts||{};return(X.rows||[]).map(_e=>({lng:_e[0],lat:_e[1],gsec:_e[2],rop3:_e[3],name:_e[4],country:(ge.country||[])[_e[5]]||"",population:_e[6],language:(ge.language||[])[_e[7]]||"",religion:(ge.religion||[])[_e[8]]||"",evangelical:(ge.evangelical||[])[_e[9]]||""}))}const Y=await fetch(`${W}/people-groups/people-groups-slim.json`);if(!Y.ok)throw new Error(`people-groups-points.json ${te.status}`);return((await Y.json()).rows||[]).map(X=>({lng:Number(X.Long),lat:Number(X.Lat),gsec:X.GSEC,rop3:String(X.ROP3Code||""),name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,language:X.LanguageName||"",religion:X.ReligionName||"",evangelical:X.EvangelicalLevel||""}))}function G(W,te){const Y=[],me={doxa:0,frontier:0,unreached:0,reached:0};for(const X of W){const ge=Number(X.lat),_e=Number(X.lng);if(!Number.isFinite(ge)||!Number.isFinite(_e)||ge===0&&_e===0)continue;const de=N({ROP3Code:X.rop3,GSEC:X.gsec},te);me[de]++,Y.push({type:"Feature",geometry:{type:"Point",coordinates:[_e,ge]},properties:{name:X.name,country:X.country,population:Number(X.population)||0,gsec:X.gsec,evangelical:X.evangelical,language:X.language,religion:X.religion,rop3:String(X.rop3||""),category:de}})}return S.value=me,Z=Y,{type:"FeatureCollection",features:Y}}async function V(){let W=[];try{await j.loadData(),W=j.normalizedPeopleGroups.value||[]}catch(Y){console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Y)}const te=new Set;for(const Y of W){const me=String(Y.peopleGroupId||Y.rop3||Y.peopleGroupCountry||"");me&&(te.add(me),B.has(me)||B.set(me,{slug:Y.slug||"",name:Y.name||""}))}return te}function z(W){const te=P.value;te.addSource("apg",{type:"geojson",data:W}),te.addLayer({id:"apg-pins",type:"circle",source:"apg",layout:{"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]},paint:{"circle-color":["match",["get","category"],"doxa",w.doxa,"frontier",w.frontier,"unreached",w.unreached,w.reached],"circle-stroke-color":"#1f2937","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.3,6,.6,12,1],"circle-stroke-opacity":.55,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92}}),te.on("mouseenter","apg-pins",()=>{te.getCanvas().style.cursor="pointer"}),te.on("mouseleave","apg-pins",()=>{te.getCanvas().style.cursor=""}),te.on("click","apg-pins",Y=>{const me=Y.features&&Y.features[0];if(!me)return;const X=me.properties,ge=X.category==="doxa"?B.get(X.rop3):null,_e=k.find(Ie=>Ie.id===X.category),de=ge&&ge.slug?`${Q(c("pray"))}`:"",re=wa(r);new re.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(Y.lngLat).setHTML(`
+`,"all-people-groups");const t=De("profileConfig"),o=De("mapboxToken"),n=De("dataSource"),a=De("dataStore"),s=De("mapStore"),i=ye(()=>{var W;return((W=t.value)==null?void 0:W.isDark)===!0}),r=eu(t),l=ye(()=>Yu((t==null?void 0:t.value)||{})),{t:c,locale:u}=Vc("allPeopleGroups"),g=ye(()=>{const W=u;return(W&&typeof W=="object"&&"value"in W?W.value:W)||"en"}),f=W=>{try{return Number(W).toLocaleString(g.value)}catch{return Number(W).toLocaleString()}},k=[{id:"doxa",color:"#111827"},{id:"frontier",color:"#e0392b"},{id:"unreached",color:"#e6a800"},{id:"reached",color:"#23a45a"}],w=Object.fromEntries(k.map(W=>[W.id,W.color])),S=ce({doxa:0,frontier:0,unreached:0,reached:0}),I=ce(!1);function N(W,te){if(te.has(String(W.ROP3Code||"")))return"doxa";const Y=Number(W.GSEC);return!Number.isFinite(Y)||Y<=1?"frontier":Y<=3?"unreached":"reached"}function A(){var Y;let W="";try{W=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const te=(Y=t==null?void 0:t.value)==null?void 0:Y.utmSource;return encodeURIComponent(String(W||te||"agwm"))}const $=ce(null),m=ce(!1),T=ce(null),{map:P,initializeMap:b,destroy:E}=o$({containerRef:$,accessToken:o.value,provider:r,style:((fe=t==null?void 0:t.value)==null?void 0:fe.style)??"paper",center:[20,12],zoom:1.6}),y=new Qu,j=z$({mapId:"all-people-groups",dataSourceId:n.value,dataSourceManager:y,dataStore:a,markRaw:W=>W});let Z=[],B=new Map;function Q(W){return String(W??"").replace(/[&<>"']/g,te=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[te])}async function ie(){const W=l.value,te=await fetch(`${W}/people-groups/people-groups-points.json`);if(te.ok){const X=await te.json(),ge=X.dicts||{};return(X.rows||[]).map(_e=>({lng:_e[0],lat:_e[1],gsec:_e[2],rop3:_e[3],name:_e[4],country:(ge.country||[])[_e[5]]||"",population:_e[6],language:(ge.language||[])[_e[7]]||"",religion:(ge.religion||[])[_e[8]]||"",evangelical:(ge.evangelical||[])[_e[9]]||""}))}const Y=await fetch(`${W}/people-groups/people-groups-slim.json`);if(!Y.ok)throw new Error(`people-groups-points.json ${te.status}`);return((await Y.json()).rows||[]).map(X=>({lng:Number(X.Long),lat:Number(X.Lat),gsec:X.GSEC,rop3:String(X.ROP3Code||""),name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,language:X.LanguageName||"",religion:X.ReligionName||"",evangelical:X.EvangelicalLevel||""}))}function G(W,te){const Y=[],me={doxa:0,frontier:0,unreached:0,reached:0};for(const X of W){const ge=Number(X.lat),_e=Number(X.lng);if(!Number.isFinite(ge)||!Number.isFinite(_e)||ge===0&&_e===0)continue;const de=N({ROP3Code:X.rop3,GSEC:X.gsec},te);me[de]++,Y.push({type:"Feature",geometry:{type:"Point",coordinates:[_e,ge]},properties:{name:X.name,country:X.country,population:Number(X.population)||0,gsec:X.gsec,evangelical:X.evangelical,language:X.language,religion:X.religion,rop3:String(X.rop3||""),category:de}})}return S.value=me,Z=Y,{type:"FeatureCollection",features:Y}}async function V(){let W=[];try{await j.loadData(),W=j.normalizedPeopleGroups.value||[]}catch(Y){console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Y)}const te=new Set;for(const Y of W){const me=String(Y.peopleGroupId||Y.rop3||Y.peopleGroupCountry||"");me&&(te.add(me),B.has(me)||B.set(me,{slug:Y.slug||"",name:Y.name||""}))}return te}function z(W){const te=P.value;te.addSource("apg",{type:"geojson",data:W}),te.addLayer({id:"apg-pins",type:"circle",source:"apg",layout:{"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]},paint:{"circle-color":["match",["get","category"],"doxa",w.doxa,"frontier",w.frontier,"unreached",w.unreached,w.reached],"circle-stroke-color":"#1f2937","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.3,6,.6,12,1],"circle-stroke-opacity":.55,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92}}),te.on("mouseenter","apg-pins",()=>{te.getCanvas().style.cursor="pointer"}),te.on("mouseleave","apg-pins",()=>{te.getCanvas().style.cursor=""}),te.on("click","apg-pins",Y=>{const me=Y.features&&Y.features[0];if(!me)return;const X=me.properties,ge=X.category==="doxa"?B.get(X.rop3):null,_e=k.find(Ie=>Ie.id===X.category),de=ge&&ge.slug?`${Q(c("pray"))}`:"",re=wa(r);new re.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(Y.lngLat).setHTML(`
${Q(X.name)} ${Q(c(_e.id).split(" — ")[0])}
${Q(X.country)} · ${Q(c("population",{n:f(X.population)}))}
${Q(X.evangelical||"GSEC "+X.gsec)}
${Q(X.language)}${X.religion?" · "+Q(X.religion):""}
${de} -
`).addTo(te)})}const D=ce(null);function ee(W){const te=P.value;if(!te||!te.getLayer("apg-pins"))return;if(D.value===W){D.value=null,te.setFilter("apg-pins",null),te.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}D.value=W,te.setFilter("apg-pins",["==",["get","category"],W]);let Y=180,me=85,X=-180,ge=-85,_e=0;for(const de of Z){if(de.properties.category!==W)continue;const[re,Ie]=de.geometry.coordinates;reX&&(X=re),Iege&&(ge=Ie),_e++}_e&&te.fitBounds([[Y,me],[X,ge]],{padding:60,duration:900,maxZoom:6})}No(async()=>{const W=ie().catch(Y=>(T.value=String((Y==null?void 0:Y.message)||Y),null)),te=V();try{await b()}catch(Y){T.value=String((Y==null?void 0:Y.message)||Y);return}if(!P.value){$.value&&(T.value="Map failed to initialize — check token and container");return}P.value.once("style.load",async()=>{var Y;try{const me=await W;if(!me||!P.value)return;z_(P.value,"mercator"),z(G(me,new Set)),(Y=s==null?void 0:s.registerMap)==null||Y.call(s,"all-people-groups",P.value),m.value=!0;const X=await te;X.size&&P.value&&P.value.getSource("apg")&&P.value.getSource("apg").setData(G(me,X)),I.value=!0}catch(me){T.value=String((me==null?void 0:me.message)||me)}})}),sn(()=>{var W;(W=s==null?void 0:s.unregisterMap)==null||W.call(s,"all-people-groups"),E()});const pe=ye(()=>S.value.doxa+S.value.frontier+S.value.unreached+S.value.reached);return(W,te)=>(ke(),Fe("div",by,[!m.value&&!T.value?(ke(),Fe("div",_y,Re(Je(c)("loading")),1)):zt("",!0),T.value?(ke(),Fe("div",$y,Re(Je(c)("loadError"))+" "+Re(T.value),1)):zt("",!0),ae("div",{ref_key:"mapContainer",ref:$,class:"apg-canvas"},null,512),xe(W$,{"has-geocoder":!1},{default:Yn(()=>[xe(my,{"is-dark":i.value,"embed-path":Ty},null,8,["is-dark"])]),_:1}),m.value?(ke(),Fe("div",yy,[ae("div",Sy,Re(Je(c)("title")),1),ae("div",vy,Re(Je(c)("locations",{n:f(pe.value)})),1),(ke(),Fe(Ke,null,ss(k,Y=>ae("div",{key:Y.id,class:ot(["apg-row",{active:D.value===Y.id}]),onClick:me=>ee(Y.id)},[ae("span",{class:"apg-dot",style:Wo({background:Y.color})},null,4),mt(" "+Re(Je(c)(Y.id))+" ",1),ae("span",ky,Re(Y.id==="doxa"&&!I.value?"…":f(S.value[Y.id]||0)),1)],10,Ay)),64)),ae("div",wy,Re(Je(c)("hint")),1)])):zt("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`).addTo(te)})}const D=ce(null);function ee(W){const te=P.value;if(!te||!te.getLayer("apg-pins"))return;if(D.value===W){D.value=null,te.setFilter("apg-pins",null),te.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}D.value=W,te.setFilter("apg-pins",["==",["get","category"],W]);let Y=180,me=85,X=-180,ge=-85,_e=0;for(const de of Z){if(de.properties.category!==W)continue;const[re,Ie]=de.geometry.coordinates;reX&&(X=re),Iege&&(ge=Ie),_e++}_e&&te.fitBounds([[Y,me],[X,ge]],{padding:60,duration:900,maxZoom:6})}No(async()=>{const W=ie().catch(Y=>(T.value=String((Y==null?void 0:Y.message)||Y),null)),te=V();try{await b()}catch(Y){T.value=String((Y==null?void 0:Y.message)||Y);return}if(!P.value){$.value&&(T.value="Map failed to initialize — check token and container");return}P.value.once("style.load",async()=>{var Y;try{const me=await W;if(!me||!P.value)return;B_(P.value,"mercator"),z(G(me,new Set)),(Y=s==null?void 0:s.registerMap)==null||Y.call(s,"all-people-groups",P.value),m.value=!0;const X=await te;X.size&&P.value&&P.value.getSource("apg")&&P.value.getSource("apg").setData(G(me,X)),I.value=!0}catch(me){T.value=String((me==null?void 0:me.message)||me)}})}),sn(()=>{var W;(W=s==null?void 0:s.unregisterMap)==null||W.call(s,"all-people-groups"),E()});const pe=ye(()=>S.value.doxa+S.value.frontier+S.value.unreached+S.value.reached);return(W,te)=>(ke(),Fe("div",_y,[!m.value&&!T.value?(ke(),Fe("div",$y,Re(Je(c)("loading")),1)):zt("",!0),T.value?(ke(),Fe("div",yy,Re(Je(c)("loadError"))+" "+Re(T.value),1)):zt("",!0),ae("div",{ref_key:"mapContainer",ref:$,class:"apg-canvas"},null,512),xe(q$,{"has-geocoder":!1},{default:Yn(()=>[xe(by,{"is-dark":i.value,"embed-path":Ly},null,8,["is-dark"])]),_:1}),m.value?(ke(),Fe("div",Sy,[ae("div",vy,Re(Je(c)("title")),1),ae("div",Ay,Re(Je(c)("locations",{n:f(pe.value)})),1),(ke(),Fe(Ke,null,ss(k,Y=>ae("div",{key:Y.id,class:ot(["apg-row",{active:D.value===Y.id}]),onClick:me=>ee(Y.id)},[ae("span",{class:"apg-dot",style:Wo({background:Y.color})},null,4),mt(" "+Re(Je(c)(Y.id))+" ",1),ae("span",wy,Re(Y.id==="doxa"&&!I.value?"…":f(S.value[Y.id]||0)),1)],10,ky)),64)),ae("div",Ty,Re(Je(c)("hint")),1)])):zt("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/dx-maps/all-people-groups/all-people-groups/index.html b/public/dx-maps/all-people-groups/all-people-groups/index.html index f7983648..60d0f190 100644 --- a/public/dx-maps/all-people-groups/all-people-groups/index.html +++ b/public/dx-maps/all-people-groups/all-people-groups/index.html @@ -36,7 +36,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + \n\n" + "script": "\n\n\n\n" }, "bundle": "all-people-groups" } @@ -38,7 +38,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "dx-maps/big-picture/big-picture.js", - "integrity": "sha384-4//gka76np8NjhhynRAoi+IwIomgQsIz8IG27CXFo9rBWS/isxI+Rka1nRLjj1fY", + "integrity": "sha384-0PLnZBlIJMdSAz9YdW4iQz2rVzuXLDHNV7DgzSqQAPj0eSFMs0sb8PT79RQDYHeY", "elements": [ "bp-big-picture", "bp-research-header", @@ -60,7 +60,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -104,7 +104,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "dx-maps/cities-internet/cities-internet.js", - "integrity": "sha384-2rtoS9XCrYHb8fyfn+1chxTdqur2bOIHEIesWPj26wXrpT9im/4lGReHEBFgEzBA", + "integrity": "sha384-+nq6GCAyhJFlTGD+AenO5/OhtPfbNxIexYundFjlZUJECI7Fa3NdVyAnl6ijmBbl", "elements": [ "cities-internet-map" ], @@ -120,7 +120,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -134,7 +134,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -148,7 +148,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -157,7 +157,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "dx-maps/country-posters/country-posters.js", - "integrity": "sha384-o7B7KJJHelXLgG5ID+C434LC74qZH/lW4N0zsMN+RTQU8OBoRr/8vIE0XJhwsA12", + "integrity": "sha384-qd1dgYkpExev37T81TzsSOLiXz4Ts0FH+efwHF8QBcSWxFQQvbglHa2FiM0yN9uN", "elements": [ "country-posters-map" ], @@ -177,7 +177,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -191,7 +191,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -205,7 +205,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -214,7 +214,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "dx-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-SwGjy6nKza+3ths+kDMc7srH9hg4Qgcx7SZF/UzGuw9oXEQuDYtXDY9nsCsQXN5s", + "integrity": "sha384-/kZKKn306T0Fd6nAEn8Pq/5DSA9T2iF7aozfGxsych2hDNkIK1wKKLI6LQY+BuwO", "elements": [ "dashboard-plus-grid" ], @@ -234,7 +234,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -258,7 +258,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "dx-maps/demo-map/demo-map.js", - "integrity": "sha384-GDoTiG1SCQiDcW34dT5UWyQGmek2ac0u3XSfZyygWTX68Rkj1CC8LcrBCrVPBmbu", + "integrity": "sha384-5OLSI2MOHUjXFOjqlsdvUY53dISZbT0LKkqtQAmc5N2LEkijcPQ/m+G014KKl05D", "elements": [ "demo-map" ], @@ -274,7 +274,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -301,7 +301,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-Tdo0i709tiAco2crqldBRggQUoZ8lj1oZT/gVR9HVaB6wwtRg80/RE2l1DeZ2uLL", + "integrity": "sha384-p3mrseluGiP7Uj0HWWEA5IeZcGisLZwSBMxvkcTKROt8Qdlkb4s4NFCZigNWP5dY", "elements": [ "doxa-maps-spa" ], @@ -326,7 +326,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -353,7 +353,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "dx-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-4MNCWFPnp5h89HDGfgyRf5OdHGPpqvUH+YD5qpF5yBFNewu3EUMpIbhoX+tjAUgX", + "integrity": "sha384-fCobW4BrwyvEO6WLLTAFrV1Ohg5OygfMFhQ74BfNZKfrAeHWZtLPfADZn8MAh+yW", "elements": [ "doxa-research-map" ], @@ -369,7 +369,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -395,7 +395,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "dx-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-w3iO9hBP3UHuqDt0AZXp1lmtXKxQE/jyymbGBh48g3+0WNO5cNpO5XRFibYhvENY", + "integrity": "sha384-Kf975BxLFGhgM+2N07E8/R+Vt1m5eXBCKYw9P7DO2ZeXPv5sLjuumAHF222hUla8", "elements": [ "doxa-map", "doxa-simple-map" @@ -412,7 +412,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -578,7 +578,7 @@ "bundle": "gospel-internet", "scriptUrl": "./gospel-internet/gospel-internet.js", "output": "dx-maps/gospel-internet/gospel-internet.js", - "integrity": "sha384-ocVLoiTEZC1fgM7DaVpISSp6a1smcnMqhgPvm7X5Af81oFDuKU3z46/BeJ0ebaQ7", + "integrity": "sha384-sxAzwBWTEP+ZkJ9p+KniylXumjhKTApk4vesSX/VVILejGxjwZJZWMLP2ZD1UPXg", "elements": [ "gospel-internet-board" ], @@ -594,7 +594,7 @@ "scriptUrl": "./gospel-internet/gospel-internet.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -694,7 +694,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "dx-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-OXIwjO/c3AlWq74w6SEjVStRvX5itVNo2QJBpCgkSNwyTuhKPyoBIvPuQKnDnLy0", + "integrity": "sha384-rr2LL3X9rupZfSgkQdItn6yVFwj2oJmIaEYlvylWQKR1h44PFC8HeBeUyGxhPNN3", "elements": [ "gospel-resources-map" ], @@ -714,7 +714,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -728,7 +728,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -742,7 +742,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -756,7 +756,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -770,7 +770,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -779,7 +779,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "dx-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-PtRRtuSZEE1ZdU2lJ8kKQE6jLKK+1OcfR/NV1efLaoEZHoWGQWBwkwXhn/mu5bF6", + "integrity": "sha384-VUNzolsh8VsXhm3gvMWyCnxyX1ZOwLEQaRVJ2lVO3UYLTjlGtHulCjPpGkCDfuWo", "elements": [ "my-upg-100-list-map" ], @@ -799,7 +799,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -813,7 +813,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -827,7 +827,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -836,7 +836,7 @@ "bundle": "people-groups-grid", "scriptUrl": "./people-groups-grid/people-groups-grid.js", "output": "dx-maps/people-groups-grid/people-groups-grid.js", - "integrity": "sha384-tp61XV2xYud3vQ487gn6dAdZ7POrL8AevcdZP6aCzetjcvgkU416Z/fhTRD/kcH3", + "integrity": "sha384-Oop/RQS45fb0cRhvbJzVO1gOIG9esrS7jCXI4Fd6zb41hyZ3M/hHgl4P/mA0aiPh", "elements": [ "people-groups-grid" ], @@ -852,7 +852,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -897,7 +897,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "dx-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-cbpP8E0zMOrDfytDAeQh59xd7cgU6G6P6hlwb/Lx5XCEF0QmQn0M1ax8vtD4qGvU", + "integrity": "sha384-Eoi+z+jQODT5YVxDesHF1lQ56Y48rSR0ZFVCcwdqjmI7Lt8WA2426gA4obUhTD9z", "elements": [ "plugin-studio" ], @@ -925,7 +925,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -952,7 +952,7 @@ "bundle": "pplr-data-maps", "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "output": "dx-maps/pplr-data-maps/pplr-data-maps.js", - "integrity": "sha384-LpLVOsJRyacMqwKYW6iF43wTOiFaH7t8JkMYmjdBWDKjFP14/gqEFfxVS16PQjOt", + "integrity": "sha384-8mfImIF0wAkQIaik0Q6jgzX7YMRcIvgMyFsizjtPD5AWai4CYzVZQ0ha/QLRFbpP", "elements": [ "pplr-data-maps" ], @@ -968,7 +968,7 @@ "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "pplr-data-maps" } @@ -978,7 +978,7 @@ "bundle": "prayer-walk-planner", "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js", - "integrity": "sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8", + "integrity": "sha384-BiFtHG4M5sViRcXxJJNuTExUk7AlH1w1NVEiq/Oj7utQGYOiPzvciN9benC3PvUv", "elements": [ "prayer-walk-planner" ], @@ -994,7 +994,7 @@ "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -1003,7 +1003,7 @@ "bundle": "regions-dashboard", "scriptUrl": "./regions-dashboard/regions-dashboard.js", "output": "dx-maps/regions-dashboard/regions-dashboard.js", - "integrity": "sha384-sBJPYc4KST2eRWTL9kYzfsf7eQP/yqoxryqUyvUnEx1vRi9Q2+jgvR03sPGFWQFs", + "integrity": "sha384-VJmkesryYLF+l85H+jKOfIVxU7JgCc1TydzSoSeL/HY5dHff9TgjdLUFmioTDNm4", "elements": [ "regions-dashboard" ], @@ -1023,7 +1023,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -1037,7 +1037,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -1051,7 +1051,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -1060,7 +1060,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "dx-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-hxyp90rXuqUrjrpmweqcdkvvtx2oD6hYaxP+kpdcvqCEDRUTyleEmuz5X6FRr1k6", + "integrity": "sha384-PakvTvEIhg2eXG7SISNAW5wI9Qi3Y69svd5hIdP653GrXCPJr32vfOCajdiD/iKe", "elements": [ "research-dashboard-map" ], @@ -1076,7 +1076,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "research-dashboard" } @@ -1086,7 +1086,7 @@ "bundle": "research-map-plus-grid", "scriptUrl": "./research-map-plus-grid/research-map-plus-grid.js", "output": "dx-maps/research-map-plus-grid/research-map-plus-grid.js", - "integrity": "sha384-XyIzplVHeZOnYwSzrTi4LRS35Q4S7NruPFJtNxIxN7MmAhYmzfI2lGwBlOHTzAbp", + "integrity": "sha384-malo2pC/K0/1Xi9kyDubh+4tY9HC56zcO/VsgppNf5c4AXvXG9RMxqVHYoFAoOr5", "elements": [ "research-map-plus-grid" ], @@ -1106,7 +1106,7 @@ "scriptUrl": "./research-map-plus-grid/research-map-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -1130,7 +1130,7 @@ "bundle": "stack-demo", "scriptUrl": "./stack-demo/stack-demo.js", "output": "dx-maps/stack-demo/stack-demo.js", - "integrity": "sha384-9/bRDfPfFGVpqL8wP329Awt3U0PqrieIL89Dp4k6Nkp+D9S5GUCWxvj8fMGphzXo", + "integrity": "sha384-Pg93Oyzao9WxHJMSJZPF798o1/Klk2ie7EDLTpVpQd0HaKCDDEHRDWUjt6OYwzqi", "elements": [ "stack-demo" ], @@ -1150,7 +1150,7 @@ "scriptUrl": "./stack-demo/stack-demo.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -1174,7 +1174,7 @@ "bundle": "upg-neighbor", "scriptUrl": "./upg-neighbor/upg-neighbor.js", "output": "dx-maps/upg-neighbor/upg-neighbor.js", - "integrity": "sha384-Z31fwP+tmP5Rf273tgLVxae4/u2c3MLLZVHS5h4rXo+I8BGTk98QO0JXTCzgRvV2", + "integrity": "sha384-9OgYiYHltV2xO03pFAWT7VSwrBnDmmoCdLldwBj1myJYIcpmAdCzfhRI3xwL8vrt", "elements": [ "upg-neighbor" ], @@ -1190,7 +1190,7 @@ "scriptUrl": "./upg-neighbor/upg-neighbor.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -1273,7 +1273,7 @@ "bundle": "wall-of-people-groups", "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "output": "dx-maps/wall-of-people-groups/wall-of-people-groups.js", - "integrity": "sha384-1gX3wU3AHEuJtA0+UrPtrGzOR5uG5dkkO/Wt/Tftcu9ILYXSUNBwzGScDBaa7vlD", + "integrity": "sha384-ZB2ByAlJt/FfUfGif0zGwVsv3ldeYVax2C8NQdW0J50NIfe+3zXLaAh8KkQZDt8S", "elements": [ "wall-of-people-groups" ], @@ -1289,7 +1289,7 @@ "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "wall-of-people-groups" } diff --git a/public/dx-maps/doxa-research-map/doxa-research-map.js b/public/dx-maps/doxa-research-map/doxa-research-map.js index 82f83c29..e8694141 100644 --- a/public/dx-maps/doxa-research-map/doxa-research-map.js +++ b/public/dx-maps/doxa-research-map/doxa-research-map.js @@ -1,4 +1,4 @@ -(function(){"use strict";var Bn=typeof document<"u"?document.currentScript:null;const $T="modulepreload",_T=function(e){return"/"+e},yT={},po=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** +(function(){"use strict";var Bn=typeof document<"u"?document.currentScript:null;const _T="modulepreload",yT=function(e){return"/"+e},vT={},po=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Pt;class _c{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Pt&&(Pt.active?(this.parent=Pt,this.index=(Pt.scopes||(Pt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Pt===this)Pt=this.prevScope;else{let t=Pt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(wa){let t=wa;for(wa=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;va;){let t=va;for(va=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function xc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Sc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Zr(n),lh(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Yr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Pc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Pc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ka)||(e.globalVersion=ka,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Yr(e))))return;e.flags|=2;const t=e.dep,o=ct,n=go;ct=e,go=!0;try{xc(e);const a=e.fn(e._value);(t.version===0||ko(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ct=o,go=n,Sc(e),e.flags&=-3}}function Zr(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)Zr(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function lh(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let go=!0;const Ac=[];function xo(){Ac.push(go),go=!1}function So(){const e=Ac.pop();go=e===void 0?!0:e}function Lc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ct;ct=void 0;try{t()}finally{ct=o}}}let ka=0;class ch{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Xr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ct||!go||ct===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ct)o=this.activeLink=new ch(ct,this),ct.deps?(o.prevDep=ct.depsTail,ct.depsTail.nextDep=o,ct.depsTail=o):ct.deps=ct.depsTail=o,Cc(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ct.depsTail,o.nextDep=void 0,ct.depsTail.nextDep=o,ct.depsTail=o,ct.deps===o&&(ct.deps=n)}return o}trigger(t){this.version++,ka++,this.notify(t)}notify(t){Vr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{qr()}}}function Cc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Cc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const As=new WeakMap,wn=Symbol(""),Jr=Symbol(""),xa=Symbol("");function zt(e,t,o){if(go&&ct){let n=As.get(e);n||As.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Xr),a.map=n,a.key=o),a.track()}}function zo(e,t,o,n,a,s){const r=As.get(e);if(!r){ka++;return}const i=l=>{l&&l.trigger()};if(Vr(),t==="clear")r.forEach(i);else{const l=Me(e),c=l&&ys(o);if(l&&o==="length"){const u=Number(n);r.forEach((h,g)=>{(g==="length"||g===xa||!Qt(g)&&g>=u)&&i(h)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(xa)),t){case"add":l?c&&i(r.get("length")):(i(r.get(wn)),nn(e)&&i(r.get(Jr)));break;case"delete":l||(i(r.get(wn)),nn(e)&&i(r.get(Jr)));break;case"set":nn(e)&&i(r.get(wn));break}}qr()}function uh(e,t){const o=As.get(e);return o&&o.get(t)}function Un(e){const t=qe(e);return t===e?t:(zt(t,"iterate",xa),eo(e)?t:t.map(fo))}function Ls(e){return zt(e=qe(e),"iterate",xa),e}function Po(e,t){return Uo(e)?Kn(jo(e)?fo(t):t):fo(t)}const ph={__proto__:null,[Symbol.iterator](){return Qr(this,Symbol.iterator,e=>Po(this,e))},concat(...e){return Un(this).concat(...e.map(t=>Me(t)?Un(t):t))},entries(){return Qr(this,"entries",e=>(e[1]=Po(this,e[1]),e))},every(e,t){return Bo(this,"every",e,t,void 0,arguments)},filter(e,t){return Bo(this,"filter",e,t,o=>o.map(n=>Po(this,n)),arguments)},find(e,t){return Bo(this,"find",e,t,o=>Po(this,o),arguments)},findIndex(e,t){return Bo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Bo(this,"findLast",e,t,o=>Po(this,o),arguments)},findLastIndex(e,t){return Bo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Bo(this,"forEach",e,t,void 0,arguments)},includes(...e){return ei(this,"includes",e)},indexOf(...e){return ei(this,"indexOf",e)},join(e){return Un(this).join(e)},lastIndexOf(...e){return ei(this,"lastIndexOf",e)},map(e,t){return Bo(this,"map",e,t,void 0,arguments)},pop(){return Sa(this,"pop")},push(...e){return Sa(this,"push",e)},reduce(e,...t){return Tc(this,"reduce",e,t)},reduceRight(e,...t){return Tc(this,"reduceRight",e,t)},shift(){return Sa(this,"shift")},some(e,t){return Bo(this,"some",e,t,void 0,arguments)},splice(...e){return Sa(this,"splice",e)},toReversed(){return Un(this).toReversed()},toSorted(e){return Un(this).toSorted(e)},toSpliced(...e){return Un(this).toSpliced(...e)},unshift(...e){return Sa(this,"unshift",e)},values(){return Qr(this,"values",e=>Po(this,e))}};function Qr(e,t,o){const n=Ls(e),a=n[t]();return n!==e&&!eo(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const dh=Array.prototype;function Bo(e,t,o,n,a,s){const r=Ls(e),i=r!==e&&!eo(e),l=r[t];if(l!==dh[t]){const h=l.apply(e,s);return i?fo(h):h}let c=o;r!==e&&(i?c=function(h,g){return o.call(this,Po(e,h),g,e)}:o.length>2&&(c=function(h,g){return o.call(this,h,g,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function Tc(e,t,o,n){const a=Ls(e),s=a!==e&&!eo(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,h){return i&&(i=!1,c=Po(e,c)),o.call(this,c,Po(e,u),h,e)}):o.length>3&&(r=function(c,u,h){return o.call(this,c,u,h,e)}));const l=a[t](r,...n);return i?Po(e,l):l}function ei(e,t,o){const n=qe(e);zt(n,"iterate",xa);const a=n[t](...o);return(a===-1||a===!1)&&Fs(o[0])?(o[0]=qe(o[0]),n[t](...o)):a}function Sa(e,t,o=[]){xo(),Vr();const n=qe(e)[t].apply(e,o);return qr(),So(),n}const gh=Br("__proto__,__v_isRef,__isVue"),Ec=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qt));function fh(e){Qt(e)||(e=String(e));const t=qe(this);return zt(t,"has",e),t.hasOwnProperty(e)}class Rc{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Dc:Oc:s?Mc:Ic).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Me(t);if(!a){let l;if(r&&(l=ph[o]))return l;if(o==="hasOwnProperty")return fh}const i=Reflect.get(t,o,dt(t)?t:n);if((Qt(o)?Ec.has(o):gh(o))||(a||zt(t,"get",o),s))return i;if(dt(i)){const l=r&&ys(o)?i:i.value;return a&&ot(l)?kn(l):l}return ot(i)?a?kn(i):Hn(i):i}}class Fc extends Rc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Me(t)&&ys(o);if(!this._isShallow){const c=Uo(s);if(!eo(n)&&!Uo(n)&&(s=qe(s),n=qe(n)),!r&&dt(s)&&!dt(n))return c||(s.value=n),!0}const i=r?Number(o)e,Cs=e=>Reflect.getPrototypeOf(e);function _h(e,t,o){return function(...n){const a=this.__v_raw,s=qe(a),r=nn(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?ti:t?Kn:fo;return!t&&zt(s,"iterate",l?Jr:wn),$t(Object.create(c),{next(){const{value:h,done:g}=c.next();return g?{value:h,done:g}:{value:i?[u(h[0]),u(h[1])]:u(h),done:g}}})}}function Ts(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yh(e,t){const o={get(a){const s=this.__v_raw,r=qe(s),i=qe(a);e||(ko(a,i)&&zt(r,"get",a),zt(r,"get",i));const{has:l}=Cs(r),c=t?ti:e?Kn:fo;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&zt(qe(a),"iterate",wn),a.size},has(a){const s=this.__v_raw,r=qe(s),i=qe(a);return e||(ko(a,i)&&zt(r,"has",a),zt(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=qe(i),c=t?ti:e?Kn:fo;return!e&&zt(l,"iterate",wn),i.forEach((u,h)=>a.call(s,c(u),c(h),r))}};return $t(o,e?{add:Ts("add"),set:Ts("set"),delete:Ts("delete"),clear:Ts("clear")}:{add(a){const s=qe(this),r=Cs(s),i=qe(a),l=!t&&!eo(a)&&!Uo(a)?i:a;return r.has.call(s,l)||ko(a,l)&&r.has.call(s,a)||ko(i,l)&&r.has.call(s,i)||(s.add(l),zo(s,"add",l,l)),this},set(a,s){!t&&!eo(s)&&!Uo(s)&&(s=qe(s));const r=qe(this),{has:i,get:l}=Cs(r);let c=i.call(r,a);c||(a=qe(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?ko(s,u)&&zo(r,"set",a,s):zo(r,"add",a,s),this},delete(a){const s=qe(this),{has:r,get:i}=Cs(s);let l=r.call(s,a);l||(a=qe(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&zo(s,"delete",a,void 0),c},clear(){const a=qe(this),s=a.size!==0,r=a.clear();return s&&zo(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=_h(a,e,t)}),o}function Es(e,t){const o=yh(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Qe(o,a)&&a in n?o:n,a,s)}const vh={get:Es(!1,!1)},wh={get:Es(!1,!0)},kh={get:Es(!0,!1)},xh={get:Es(!0,!0)},Ic=new WeakMap,Mc=new WeakMap,Oc=new WeakMap,Dc=new WeakMap;function Sh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Hn(e){return Uo(e)?e:Rs(e,!1,hh,vh,Ic)}function Ph(e){return Rs(e,!1,bh,wh,Mc)}function kn(e){return Rs(e,!0,mh,kh,Oc)}function wT(e){return Rs(e,!0,$h,xh,Dc)}function Rs(e,t,o,n,a){if(!ot(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Sh(Jf(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function jo(e){return Uo(e)?jo(e.__v_raw):!!(e&&e.__v_isReactive)}function Uo(e){return!!(e&&e.__v_isReadonly)}function eo(e){return!!(e&&e.__v_isShallow)}function Fs(e){return e?!!e.__v_raw:!1}function qe(e){const t=e&&e.__v_raw;return t?qe(t):e}function Wn(e){return!Qe(e,"__v_skip")&&Object.isExtensible(e)&&dc(e,"__v_skip",!0),e}const fo=e=>ot(e)?Hn(e):e,Kn=e=>ot(e)?kn(e):e;function dt(e){return e?e.__v_isRef===!0:!1}function _e(e){return Gc(e,!1)}function Pa(e){return Gc(e,!0)}function Gc(e,t){return dt(e)?e:new Ah(e,t)}class Ah{constructor(t,o){this.dep=new Xr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:qe(t),this._value=o?t:fo(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||eo(t)||Uo(t);t=n?t:qe(t),ko(t,o)&&(this._rawValue=t,this._value=n?t:fo(t),this.dep.trigger())}}function he(e){return dt(e)?e.value:e}const Lh={get:(e,t,o)=>t==="__v_raw"?e:he(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return dt(a)&&!dt(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function zc(e){return jo(e)?e:new Proxy(e,Lh)}function Ch(e){const t=Me(e)?new Array(e.length):{};for(const o in e)t[o]=Bc(e,o);return t}class Th{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Qt(o)?o:String(o),this._raw=qe(t);let a=!0,s=t;if(!Me(t)||Qt(this._key)||!ys(this._key))do a=!Fs(s)||eo(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=he(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&dt(this._raw[this._key])){const o=this._object[this._key];if(dt(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return uh(this._raw,this._key)}}class Eh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Ns(e,t,o){return dt(e)?e:De(e)?new Eh(e):ot(e)&&arguments.length>1?Bc(e,t,o):_e(e)}function Bc(e,t,o){return new Th(e,t,o)}class Rh{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Xr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ka-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ct!==this)return kc(this,!0),!0}get value(){const t=this.dep.track();return Pc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Fh(e,t,o=!1){let n,a;return De(e)?n=e:(n=e.get,a=e.set),new Rh(n,a,o)}const Is={},Ms=new WeakMap;let xn;function Nh(e,t=!1,o=xn){if(o){let n=Ms.get(o);n||Ms.set(o,n=[]),n.push(e)}}function Ih(e,t,o=it){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=k=>a?k:eo(k)||a===!1||a===0?Ho(k,1):Ho(k);let u,h,g,L,w=!1,m=!1;if(dt(e)?(h=()=>e.value,w=eo(e)):jo(e)?(h=()=>c(e),w=!0):Me(e)?(m=!0,w=e.some(k=>jo(k)||eo(k)),h=()=>e.map(k=>{if(dt(k))return k.value;if(jo(k))return c(k);if(De(k))return l?l(k,2):k()})):De(e)?t?h=l?()=>l(e,2):e:h=()=>{if(g){xo();try{g()}finally{So()}}const k=xn;xn=u;try{return l?l(e,3,[L]):e(L)}finally{xn=k}}:h=wo,t&&a){const k=h,A=a===!0?1/0:a;h=()=>Ho(k(),A)}const b=yc(),$=()=>{u.stop(),b&&b.active&&jr(b.effects,u)};if(s&&t){const k=t;t=(...A)=>{const p=k(...A);return $(),p}}let d=m?new Array(e.length).fill(Is):Is;const f=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const A=u.run();if(k||a||w||(m?A.some((p,_)=>ko(p,d[_])):ko(A,d))){g&&g();const p=xn;xn=u;try{const _=[A,d===Is?void 0:m&&d[0]===Is?[]:d,L];d=A,l?l(t,3,_):t(..._)}finally{xn=p}}}else u.run()};return i&&i(f),u=new vc(h),u.scheduler=r?()=>r(f,!1):f,L=k=>Nh(k,!1,u),g=u.onStop=()=>{const k=Ms.get(u);if(k){if(l)l(k,4);else for(const A of k)A();Ms.delete(u)}},t?n?f(!0):d=u.run():r?r(f.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function Ho(e,t=1/0,o){if(t<=0||!ot(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,dt(e))Ho(e.value,t,o);else if(Me(e))for(let n=0;n{Ho(n,t,o)});else if(_s(e)){for(const n in e)Ho(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ho(e[n],t,o)}return e}/** +**/let Pt;class _c{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Pt&&(Pt.active?(this.parent=Pt,this.index=(Pt.scopes||(Pt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Pt===this)Pt=this.prevScope;else{let t=Pt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(wa){let t=wa;for(wa=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;va;){let t=va;for(va=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function xc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Sc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Zr(n),lh(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Yr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Pc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Pc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ka)||(e.globalVersion=ka,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Yr(e))))return;e.flags|=2;const t=e.dep,o=ct,n=go;ct=e,go=!0;try{xc(e);const a=e.fn(e._value);(t.version===0||ko(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ct=o,go=n,Sc(e),e.flags&=-3}}function Zr(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)Zr(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function lh(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let go=!0;const Ac=[];function xo(){Ac.push(go),go=!1}function So(){const e=Ac.pop();go=e===void 0?!0:e}function Lc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ct;ct=void 0;try{t()}finally{ct=o}}}let ka=0;class ch{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Xr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ct||!go||ct===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ct)o=this.activeLink=new ch(ct,this),ct.deps?(o.prevDep=ct.depsTail,ct.depsTail.nextDep=o,ct.depsTail=o):ct.deps=ct.depsTail=o,Cc(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ct.depsTail,o.nextDep=void 0,ct.depsTail.nextDep=o,ct.depsTail=o,ct.deps===o&&(ct.deps=n)}return o}trigger(t){this.version++,ka++,this.notify(t)}notify(t){Vr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{qr()}}}function Cc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Cc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const As=new WeakMap,wn=Symbol(""),Jr=Symbol(""),xa=Symbol("");function zt(e,t,o){if(go&&ct){let n=As.get(e);n||As.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Xr),a.map=n,a.key=o),a.track()}}function zo(e,t,o,n,a,s){const r=As.get(e);if(!r){ka++;return}const i=l=>{l&&l.trigger()};if(Vr(),t==="clear")r.forEach(i);else{const l=Me(e),c=l&&ys(o);if(l&&o==="length"){const u=Number(n);r.forEach((h,g)=>{(g==="length"||g===xa||!Qt(g)&&g>=u)&&i(h)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(xa)),t){case"add":l?c&&i(r.get("length")):(i(r.get(wn)),nn(e)&&i(r.get(Jr)));break;case"delete":l||(i(r.get(wn)),nn(e)&&i(r.get(Jr)));break;case"set":nn(e)&&i(r.get(wn));break}}qr()}function uh(e,t){const o=As.get(e);return o&&o.get(t)}function Un(e){const t=qe(e);return t===e?t:(zt(t,"iterate",xa),eo(e)?t:t.map(fo))}function Ls(e){return zt(e=qe(e),"iterate",xa),e}function Po(e,t){return Uo(e)?Kn(jo(e)?fo(t):t):fo(t)}const ph={__proto__:null,[Symbol.iterator](){return Qr(this,Symbol.iterator,e=>Po(this,e))},concat(...e){return Un(this).concat(...e.map(t=>Me(t)?Un(t):t))},entries(){return Qr(this,"entries",e=>(e[1]=Po(this,e[1]),e))},every(e,t){return Bo(this,"every",e,t,void 0,arguments)},filter(e,t){return Bo(this,"filter",e,t,o=>o.map(n=>Po(this,n)),arguments)},find(e,t){return Bo(this,"find",e,t,o=>Po(this,o),arguments)},findIndex(e,t){return Bo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Bo(this,"findLast",e,t,o=>Po(this,o),arguments)},findLastIndex(e,t){return Bo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Bo(this,"forEach",e,t,void 0,arguments)},includes(...e){return ei(this,"includes",e)},indexOf(...e){return ei(this,"indexOf",e)},join(e){return Un(this).join(e)},lastIndexOf(...e){return ei(this,"lastIndexOf",e)},map(e,t){return Bo(this,"map",e,t,void 0,arguments)},pop(){return Sa(this,"pop")},push(...e){return Sa(this,"push",e)},reduce(e,...t){return Tc(this,"reduce",e,t)},reduceRight(e,...t){return Tc(this,"reduceRight",e,t)},shift(){return Sa(this,"shift")},some(e,t){return Bo(this,"some",e,t,void 0,arguments)},splice(...e){return Sa(this,"splice",e)},toReversed(){return Un(this).toReversed()},toSorted(e){return Un(this).toSorted(e)},toSpliced(...e){return Un(this).toSpliced(...e)},unshift(...e){return Sa(this,"unshift",e)},values(){return Qr(this,"values",e=>Po(this,e))}};function Qr(e,t,o){const n=Ls(e),a=n[t]();return n!==e&&!eo(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const dh=Array.prototype;function Bo(e,t,o,n,a,s){const r=Ls(e),i=r!==e&&!eo(e),l=r[t];if(l!==dh[t]){const h=l.apply(e,s);return i?fo(h):h}let c=o;r!==e&&(i?c=function(h,g){return o.call(this,Po(e,h),g,e)}:o.length>2&&(c=function(h,g){return o.call(this,h,g,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function Tc(e,t,o,n){const a=Ls(e),s=a!==e&&!eo(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,h){return i&&(i=!1,c=Po(e,c)),o.call(this,c,Po(e,u),h,e)}):o.length>3&&(r=function(c,u,h){return o.call(this,c,u,h,e)}));const l=a[t](r,...n);return i?Po(e,l):l}function ei(e,t,o){const n=qe(e);zt(n,"iterate",xa);const a=n[t](...o);return(a===-1||a===!1)&&Fs(o[0])?(o[0]=qe(o[0]),n[t](...o)):a}function Sa(e,t,o=[]){xo(),Vr();const n=qe(e)[t].apply(e,o);return qr(),So(),n}const gh=Br("__proto__,__v_isRef,__isVue"),Ec=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qt));function fh(e){Qt(e)||(e=String(e));const t=qe(this);return zt(t,"has",e),t.hasOwnProperty(e)}class Rc{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Dc:Oc:s?Mc:Ic).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Me(t);if(!a){let l;if(r&&(l=ph[o]))return l;if(o==="hasOwnProperty")return fh}const i=Reflect.get(t,o,dt(t)?t:n);if((Qt(o)?Ec.has(o):gh(o))||(a||zt(t,"get",o),s))return i;if(dt(i)){const l=r&&ys(o)?i:i.value;return a&&ot(l)?kn(l):l}return ot(i)?a?kn(i):Hn(i):i}}class Fc extends Rc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Me(t)&&ys(o);if(!this._isShallow){const c=Uo(s);if(!eo(n)&&!Uo(n)&&(s=qe(s),n=qe(n)),!r&&dt(s)&&!dt(n))return c||(s.value=n),!0}const i=r?Number(o)e,Cs=e=>Reflect.getPrototypeOf(e);function _h(e,t,o){return function(...n){const a=this.__v_raw,s=qe(a),r=nn(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?ti:t?Kn:fo;return!t&&zt(s,"iterate",l?Jr:wn),$t(Object.create(c),{next(){const{value:h,done:g}=c.next();return g?{value:h,done:g}:{value:i?[u(h[0]),u(h[1])]:u(h),done:g}}})}}function Ts(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yh(e,t){const o={get(a){const s=this.__v_raw,r=qe(s),i=qe(a);e||(ko(a,i)&&zt(r,"get",a),zt(r,"get",i));const{has:l}=Cs(r),c=t?ti:e?Kn:fo;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&zt(qe(a),"iterate",wn),a.size},has(a){const s=this.__v_raw,r=qe(s),i=qe(a);return e||(ko(a,i)&&zt(r,"has",a),zt(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=qe(i),c=t?ti:e?Kn:fo;return!e&&zt(l,"iterate",wn),i.forEach((u,h)=>a.call(s,c(u),c(h),r))}};return $t(o,e?{add:Ts("add"),set:Ts("set"),delete:Ts("delete"),clear:Ts("clear")}:{add(a){const s=qe(this),r=Cs(s),i=qe(a),l=!t&&!eo(a)&&!Uo(a)?i:a;return r.has.call(s,l)||ko(a,l)&&r.has.call(s,a)||ko(i,l)&&r.has.call(s,i)||(s.add(l),zo(s,"add",l,l)),this},set(a,s){!t&&!eo(s)&&!Uo(s)&&(s=qe(s));const r=qe(this),{has:i,get:l}=Cs(r);let c=i.call(r,a);c||(a=qe(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?ko(s,u)&&zo(r,"set",a,s):zo(r,"add",a,s),this},delete(a){const s=qe(this),{has:r,get:i}=Cs(s);let l=r.call(s,a);l||(a=qe(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&zo(s,"delete",a,void 0),c},clear(){const a=qe(this),s=a.size!==0,r=a.clear();return s&&zo(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=_h(a,e,t)}),o}function Es(e,t){const o=yh(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Qe(o,a)&&a in n?o:n,a,s)}const vh={get:Es(!1,!1)},wh={get:Es(!1,!0)},kh={get:Es(!0,!1)},xh={get:Es(!0,!0)},Ic=new WeakMap,Mc=new WeakMap,Oc=new WeakMap,Dc=new WeakMap;function Sh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Hn(e){return Uo(e)?e:Rs(e,!1,hh,vh,Ic)}function Ph(e){return Rs(e,!1,bh,wh,Mc)}function kn(e){return Rs(e,!0,mh,kh,Oc)}function kT(e){return Rs(e,!0,$h,xh,Dc)}function Rs(e,t,o,n,a){if(!ot(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Sh(Jf(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function jo(e){return Uo(e)?jo(e.__v_raw):!!(e&&e.__v_isReactive)}function Uo(e){return!!(e&&e.__v_isReadonly)}function eo(e){return!!(e&&e.__v_isShallow)}function Fs(e){return e?!!e.__v_raw:!1}function qe(e){const t=e&&e.__v_raw;return t?qe(t):e}function Wn(e){return!Qe(e,"__v_skip")&&Object.isExtensible(e)&&dc(e,"__v_skip",!0),e}const fo=e=>ot(e)?Hn(e):e,Kn=e=>ot(e)?kn(e):e;function dt(e){return e?e.__v_isRef===!0:!1}function _e(e){return Gc(e,!1)}function Pa(e){return Gc(e,!0)}function Gc(e,t){return dt(e)?e:new Ah(e,t)}class Ah{constructor(t,o){this.dep=new Xr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:qe(t),this._value=o?t:fo(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||eo(t)||Uo(t);t=n?t:qe(t),ko(t,o)&&(this._rawValue=t,this._value=n?t:fo(t),this.dep.trigger())}}function he(e){return dt(e)?e.value:e}const Lh={get:(e,t,o)=>t==="__v_raw"?e:he(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return dt(a)&&!dt(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function zc(e){return jo(e)?e:new Proxy(e,Lh)}function Ch(e){const t=Me(e)?new Array(e.length):{};for(const o in e)t[o]=Bc(e,o);return t}class Th{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Qt(o)?o:String(o),this._raw=qe(t);let a=!0,s=t;if(!Me(t)||Qt(this._key)||!ys(this._key))do a=!Fs(s)||eo(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=he(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&dt(this._raw[this._key])){const o=this._object[this._key];if(dt(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return uh(this._raw,this._key)}}class Eh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Ns(e,t,o){return dt(e)?e:De(e)?new Eh(e):ot(e)&&arguments.length>1?Bc(e,t,o):_e(e)}function Bc(e,t,o){return new Th(e,t,o)}class Rh{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Xr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ka-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ct!==this)return kc(this,!0),!0}get value(){const t=this.dep.track();return Pc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Fh(e,t,o=!1){let n,a;return De(e)?n=e:(n=e.get,a=e.set),new Rh(n,a,o)}const Is={},Ms=new WeakMap;let xn;function Nh(e,t=!1,o=xn){if(o){let n=Ms.get(o);n||Ms.set(o,n=[]),n.push(e)}}function Ih(e,t,o=it){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=k=>a?k:eo(k)||a===!1||a===0?Ho(k,1):Ho(k);let u,h,g,L,w=!1,m=!1;if(dt(e)?(h=()=>e.value,w=eo(e)):jo(e)?(h=()=>c(e),w=!0):Me(e)?(m=!0,w=e.some(k=>jo(k)||eo(k)),h=()=>e.map(k=>{if(dt(k))return k.value;if(jo(k))return c(k);if(De(k))return l?l(k,2):k()})):De(e)?t?h=l?()=>l(e,2):e:h=()=>{if(g){xo();try{g()}finally{So()}}const k=xn;xn=u;try{return l?l(e,3,[L]):e(L)}finally{xn=k}}:h=wo,t&&a){const k=h,A=a===!0?1/0:a;h=()=>Ho(k(),A)}const b=yc(),$=()=>{u.stop(),b&&b.active&&jr(b.effects,u)};if(s&&t){const k=t;t=(...A)=>{const p=k(...A);return $(),p}}let d=m?new Array(e.length).fill(Is):Is;const f=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const A=u.run();if(k||a||w||(m?A.some((p,_)=>ko(p,d[_])):ko(A,d))){g&&g();const p=xn;xn=u;try{const _=[A,d===Is?void 0:m&&d[0]===Is?[]:d,L];d=A,l?l(t,3,_):t(..._)}finally{xn=p}}}else u.run()};return i&&i(f),u=new vc(h),u.scheduler=r?()=>r(f,!1):f,L=k=>Nh(k,!1,u),g=u.onStop=()=>{const k=Ms.get(u);if(k){if(l)l(k,4);else for(const A of k)A();Ms.delete(u)}},t?n?f(!0):d=u.run():r?r(f.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function Ho(e,t=1/0,o){if(t<=0||!ot(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,dt(e))Ho(e.value,t,o);else if(Me(e))for(let n=0;n{Ho(n,t,o)});else if(_s(e)){for(const n in e)Ho(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ho(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Aa=[];let oi=!1;function kT(e,...t){if(oi)return;oi=!0,xo();const o=Aa.length?Aa[Aa.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Mh();if(n)Vn(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${zu(o,s.type)}>`).join(` +**/const Aa=[];let oi=!1;function xT(e,...t){if(oi)return;oi=!0,xo();const o=Aa.length?Aa[Aa.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Mh();if(n)Vn(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${zu(o,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` `,...Oh(a)),console.warn(...s)}So(),oi=!1}function Mh(){let e=Aa[Aa.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function Oh(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Dh(o))}),t}function Dh({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${zu(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Gh(e.props),s]:[a+s]}function Gh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...jc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function jc(e,t,o){return lt(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:dt(t)?(t=jc(e,qe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):De(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=qe(t),o?t:[`${e}=`,t])}function Vn(e,t,o,n){try{return n?e(...n):e()}catch(a){La(a,t,o)}}function ho(e,t,o,n){if(De(e)){const a=Vn(e,t,o,n);return a&&uc(a)&&a.catch(s=>{La(s,t,o)}),a}if(Me(e)){const a=[];for(let s=0;s>>1,a=Ht[n],s=Ca(a);s=Ca(o)?Ht.push(e):Ht.splice(Bh(t),0,e),e.flags|=1,Hc()}}function Hc(){Os||(Os=Uc.then(Vc))}function jh(e){if(!Me(e))an&&e.id===-1?an.splice(Yn+1,0,e):e.flags&1||(qn.push(e),e.flags|=1);else for(let t=0;tCa(o)-Ca(n));if(qn.length=0,an){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Vc(e){try{for(Ao=0;Ao{n._d&&Ys(-1);const s=Ds(t),r=Ko.length;let i;try{i=e(...a)}finally{for(let l=Ko.length;l>r;l--)yi();Ds(s),n._d&&Ys(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Gs(e,t){if(Nt===null)return e;const o=Qs(Nt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&De(t)?t.call(n&&n.proxy):t}}function Uh(){return!!(mo()||Ln)}const Hh=Symbol.for("v-scx"),Wh=()=>Ce(Hh);function Kh(e,t){return ai(e,null,t)}function Ne(e,t,o){return ai(e,t,o)}function ai(e,t,o=it){const{immediate:n,deep:a,flush:s,once:r}=o,i=$t({},o),l=t&&n||!t&&s!=="post";let c;if(Jn){if(s==="sync"){const L=Wh();c=L.__watcherHandles||(L.__watcherHandles=[])}else if(!l){const L=()=>{};return L.stop=wo,L.resume=wo,L.pause=wo,L}}const u=It;i.call=(L,w,m)=>ho(L,u,w,m);let h=!1;s==="post"?i.scheduler=L=>{Kt(L,u&&u.suspense)}:s!=="sync"&&(h=!0,i.scheduler=(L,w)=>{w?L():ni(L)}),i.augmentJob=L=>{t&&(L.flags|=4),h&&(L.flags|=2,u&&(L.id=u.uid,L.i=u))};const g=Ih(e,t,i);return Jn&&(c?c.push(g):l&&g()),g}function Vh(e,t,o){const n=this.proxy,a=lt(e)?e.includes(".")?Yc(n,e):()=>n[e]:e.bind(n,n);let s;De(t)?s=t:(s=t.handler,o=t);const r=za(this),i=ai(a,s.bind(n),o);return r(),i}function Yc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Pn=e=>e&&(e.disabled||e.disabled===""),qh=e=>e&&(e.defer||e.defer===""),Xc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Jc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,si=(e,t)=>{const o=e&&e.to;return lt(o)?t?t(o):null:o},Yh={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,r,i,l,c){const{mc:u,pc:h,pbc:g,o:{insert:L,querySelector:w,createText:m,createComment:b,parentNode:$}}=c,d=Pn(t.props);let{dynamicChildren:f}=t;const k=(_,x,C)=>{_.shapeFlag&16&&u(_.children,x,C,a,s,r,i,l)},A=(_=t)=>{const x=Pn(_.props),C=_.target=si(_.props,w),K=ri(C,_,m,L);C&&(r!=="svg"&&Xc(C)?r="svg":r!=="mathml"&&Jc(C)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(C),x||(k(_,C,K),Ta(_,!1)))},p=_=>{const x=()=>{if(sn.get(_)===x){if(sn.delete(_),Pn(_.props)){const C=$(_.el)||o;k(_,C,_.anchor),Ta(_,!0)}A(_)}};sn.set(_,x),Kt(x,s)};if(e==null){const _=t.el=m(""),x=t.anchor=m("");if(L(_,o,n),L(x,o,n),qh(t.props)||s&&s.pendingBranch){p(t);return}d&&(k(t,o,x),Ta(t,!0)),A()}else{t.el=e.el;const _=t.anchor=e.anchor,x=sn.get(e);if(x){x.flags|=8,sn.delete(e),p(t);return}t.targetStart=e.targetStart;const C=t.target=e.target,K=t.targetAnchor=e.targetAnchor,ee=Pn(e.props),Z=ee?o:C,W=ee?_:K;if(r==="svg"||Xc(C)?r="svg":(r==="mathml"||Jc(C))&&(r="mathml"),f?(g(e.dynamicChildren,f,Z,a,s,r,i),$i(e,t,!0)):l||h(e,t,Z,W,a,s,r,i,!1),d)ee?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Bs(t,o,_,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const pe=si(t.props,w);pe&&(t.target=pe,Bs(t,pe,null,c,0))}else ee&&Bs(t,C,K,c,1);Ta(t,d)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:h,props:g}=e,L=Pn(g),w=s||!L,m=sn.get(e);if(m&&(m.flags|=8,sn.delete(e)),h&&(a(c),a(u)),s&&a(l),!m&&(L||h)&&r&16)for(let b=0;b1){for(const o of e)if(o.type!==Co){t=o;break}}return t}function Qc(e){if(!Hs(e))return zs(e.type)&&e.children?Jh(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&De(o.default))return o.default()}}function li(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;li(zs(o.type)&&Qc(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ea(e,t){return De(e)?$t({name:e.name},t,{setup:e}):e}function ci(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function eu(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const js=new WeakMap;function Ra(e,t,o,n,a=!1){if(Me(e)){e.forEach((m,b)=>Ra(m,t&&(Me(t)?t[b]:t),o,n,a));return}if(Zn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ra(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Qs(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===it?i.refs={}:i.refs,h=i.setupState,g=qe(h),L=h===it?lc:m=>eu(u,m)?!1:Qe(g,m),w=(m,b)=>!(b&&eu(u,b));if(c!=null&&c!==l){if(tu(t),lt(c))u[c]=null,L(c)&&(h[c]=null);else if(dt(c)){const m=t;w(c,m.k)&&(c.value=null),m.k&&(u[m.k]=null)}}if(De(l))Vn(l,i,12,[r,u]);else{const m=lt(l),b=dt(l);if(m||b){const $=()=>{if(e.f){const d=m?L(l)?h[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Me(d)&&jr(d,s);else if(Me(d))d.includes(s)||d.push(s);else if(m)u[l]=[s],L(l)&&(h[l]=u[l]);else{const f=[s];w(l,e.k)&&(l.value=f),e.k&&(u[e.k]=f)}}else m?(u[l]=r,L(l)&&(h[l]=r)):b&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const d=()=>{$(),js.delete(e)};d.id=-1,js.set(e,d),Kt(d,o)}else tu(e),$()}}}function tu(e){const t=js.get(e);t&&(t.flags|=8,js.delete(e))}const ou=e=>e.nodeType===8;xs().requestIdleCallback,xs().cancelIdleCallback;function Qh(e,t){if(ou(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(ou(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Zn=e=>!!e.type.__asyncLoader;function em(e){De(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,h=0;const g=()=>(h++,c=null,L()),L=()=>{let w;return c||(w=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((b,$)=>{l(m,()=>b(g()),()=>$(m),h+1)});throw m}).then(m=>w!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),u=m,m)))};return Ea({name:"AsyncComponentWrapper",__asyncLoader:L,__asyncHydrate(w,m,b){const $=w.isConnected;let d=!1;(m.bu||(m.bu=[])).push(()=>d=!0);const f=()=>{d||!w.parentNode||$&&!w.isConnected||b()},k=s?()=>{const A=s(f,p=>Qh(w,p));A&&(m.bum||(m.bum=[])).push(A)}:f;u?k():L().then(()=>!m.isUnmounted&&k())},get __asyncResolved(){return u},setup(){const w=It;if(ci(w),u)return()=>Us(u,w);const m=A=>{c=null,La(A,w,13,!n)};if(i&&w.suspense||Jn)return L().then(A=>()=>Us(A,w)).catch(A=>(m(A),()=>n?nt(n,{error:A}):null));const b=_e(!1),$=_e(),d=_e(!!a);let f,k;return Ks(()=>{f!=null&&clearTimeout(f),k!=null&&clearTimeout(k)}),a&&(k=setTimeout(()=>{w.isUnmounted||(d.value=!1)},a)),r!=null&&(f=setTimeout(()=>{if(!w.isUnmounted&&!b.value&&!$.value){const A=new Error(`Async component timed out after ${r}ms.`);m(A),$.value=A}},r)),L().then(()=>{w.isUnmounted||(b.value=!0,w.parent&&Hs(w.parent.vnode)&&w.parent.update())}).catch(A=>{if(w.isUnmounted){c=null;return}m(A),$.value=A}),()=>{if(b.value&&u)return Us(u,w);if($.value&&n)return nt(n,{error:$.value});if(o&&!d.value)return Us(o,w)}}})}function Us(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=nt(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Hs=e=>e.type.__isKeepAlive;function tm(e,t){nu(e,"a",t)}function om(e,t){nu(e,"da",t)}function nu(e,t,o=It){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ws(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Hs(a.parent.vnode)&&nm(n,t,o,a),a=a.parent}}function nm(e,t,o,n){const a=Ws(t,e,n,!0);Ks(()=>{jr(n[t],a)},o)}function Ws(e,t,o=It,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{xo();const i=za(o),l=ho(t,o,e,r);return i(),So(),l});return n?a.unshift(s):a.push(s),s}}const Wo=e=>(t,o=It)=>{(!Jn||e==="sp")&&Ws(e,(...n)=>t(...n),o)},au=Wo("bm"),Lo=Wo("m"),am=Wo("bu"),sm=Wo("u"),ro=Wo("bum"),Ks=Wo("um"),rm=Wo("sp"),im=Wo("rtg"),lm=Wo("rtc");function cm(e,t=It){Ws("ec",e,t)}const um="components",su=Symbol.for("v-ndc");function ru(e){return lt(e)?pm(um,e,!1)||e:e||su}function pm(e,t,o=!0,n=!1){const a=Nt||It;if(a){const s=a.type;{const i=Gu(s,!1);if(i&&(i===t||i===Et(t)||i===ws(Et(t))))return s}const r=iu(a[e]||s[e],t)||iu(a.appContext[e],t);return!r&&n?s:r}}function iu(e,t){return e&&(e[t]||e[Et(t)]||e[ws(Et(t))])}function Bt(e,t,o,n){let a;const s=o,r=Me(e);if(r||lt(e)){const i=r&&jo(e);let l=!1,c=!1;i&&(l=!eo(e),c=Uo(e),e=Ls(e)),a=new Array(e.length);for(let u=0,h=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),oe(),Ze(Ue,null,[nt("slot",c,n)],u?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=Ko.length;oe();let l;try{const c=r&&lu(r(o)),u=o.key||s||c&&c.key;l=Ze(Ue,{key:(u&&!Qt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Ko.length;u>i;u--)yi();throw c}finally{r&&r._c&&(r._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function lu(e){return e.some(t=>Oa(t)?!(t.type===Co||t.type===Ue&&!lu(t.children)):!0)?e:null}const ui=e=>e?Mu(e)?Qs(e):ui(e.parent):null,Fa=$t(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ui(e.parent),$root:e=>ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>du(e),$forceUpdate:e=>e.f||(e.f=()=>{ni(e.update)}),$nextTick:e=>e.n||(e.n=Ft.bind(e.proxy)),$watch:e=>Vh.bind(e)}),pi=(e,t)=>e!==it&&!e.__isScriptSetup&&Qe(e,t),dm={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(pi(n,t))return r[t]=1,n[t];if(a!==it&&Qe(a,t))return r[t]=2,a[t];if(Qe(s,t))return r[t]=3,s[t];if(o!==it&&Qe(o,t))return r[t]=4,o[t];di&&(r[t]=0)}}const c=Fa[t];let u,h;if(c)return t==="$attrs"&&zt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==it&&Qe(o,t))return r[t]=4,o[t];if(h=l.config.globalProperties,Qe(h,t))return h[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return pi(a,t)?(a[t]=o,!0):n!==it&&Qe(n,t)?(n[t]=o,!0):Qe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==it&&i[0]!=="$"&&Qe(e,i)||pi(t,i)||Qe(s,i)||Qe(n,i)||Qe(Fa,i)||Qe(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Qe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function cu(e){return Me(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let di=!0;function gm(e){const t=du(e),o=e.proxy,n=e.ctx;di=!1,t.beforeCreate&&uu(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:h,mounted:g,beforeUpdate:L,updated:w,activated:m,deactivated:b,beforeDestroy:$,beforeUnmount:d,destroyed:f,unmounted:k,render:A,renderTracked:p,renderTriggered:_,errorCaptured:x,serverPrefetch:C,expose:K,inheritAttrs:ee,components:Z,directives:W,filters:pe}=t;if(c&&fm(c,n,null),r)for(const E in r){const T=r[E];De(T)&&(n[E]=T.bind(o))}if(a){const E=a.call(o,o);ot(E)&&(e.data=Hn(E))}if(di=!0,s)for(const E in s){const T=s[E],R=De(T)?T.bind(o,o):De(T.get)?T.get.bind(o,o):wo,D=!De(T)&&De(T.set)?T.set.bind(o):wo,X=te({get:R,set:D});Object.defineProperty(n,E,{enumerable:!0,configurable:!0,get:()=>X.value,set:M=>X.value=M})}if(i)for(const E in i)pu(i[E],n,o,E);if(l){const E=De(l)?l.call(o):l;Reflect.ownKeys(E).forEach(T=>{xt(T,E[T])})}u&&uu(u,e,"c");function y(E,T){Me(T)?T.forEach(R=>E(R.bind(o))):T&&E(T.bind(o))}if(y(au,h),y(Lo,g),y(am,L),y(sm,w),y(tm,m),y(om,b),y(cm,x),y(lm,p),y(im,_),y(ro,d),y(Ks,k),y(rm,C),Me(K))if(K.length){const E=e.exposed||(e.exposed={});K.forEach(T=>{Object.defineProperty(E,T,{get:()=>o[T],set:R=>o[T]=R,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===wo&&(e.render=A),ee!=null&&(e.inheritAttrs=ee),Z&&(e.components=Z),W&&(e.directives=W),C&&ci(e)}function fm(e,t,o=wo){Me(e)&&(e=gi(e));for(const n in e){const a=e[n];let s;ot(a)?"default"in a?s=Ce(a.from||n,a.default,!0):s=Ce(a.from||n):s=Ce(a),dt(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function uu(e,t,o){ho(Me(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function pu(e,t,o,n){let a=n.includes(".")?Yc(o,n):()=>o[n];if(lt(e)){const s=t[e];De(s)&&Ne(a,s)}else if(De(e))Ne(a,e.bind(o));else if(ot(e))if(Me(e))e.forEach(s=>pu(s,t,o,n));else{const s=De(e.handler)?e.handler.bind(o):t[e.handler];De(s)&&Ne(a,s,e)}}function du(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Vs(l,c,r,!0)),Vs(l,t,r)),ot(t)&&s.set(t,l),l}function Vs(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&Vs(e,s,o,!0),a&&a.forEach(r=>Vs(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=hm[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const hm={data:gu,props:fu,emits:fu,methods:Na,computed:Na,beforeCreate:Wt,created:Wt,beforeMount:Wt,mounted:Wt,beforeUpdate:Wt,updated:Wt,beforeDestroy:Wt,beforeUnmount:Wt,destroyed:Wt,unmounted:Wt,activated:Wt,deactivated:Wt,errorCaptured:Wt,serverPrefetch:Wt,components:Na,directives:Na,watch:bm,provide:gu,inject:mm};function gu(e,t){return t?e?function(){return $t(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function mm(e,t){return Na(gi(e),gi(t))}function gi(e){if(Me(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Et(t)}Modifiers`]||e[`${so(t)}Modifiers`];function vm(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||it;let a=o;const s=t.startsWith("update:"),r=s&&ym(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>lt(u)?u.trim():u)),r.number&&(a=a.map(Hr)));let i,l=n[i=Ur(t)]||n[i=Ur(Et(t))];!l&&s&&(l=n[i=Ur(so(t))]),l&&ho(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,ho(c,e,6,a)}}const wm=new WeakMap;function mu(e,t,o=!1){const n=o?wm:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!De(e)){const l=c=>{const u=mu(c,t,!0);u&&(i=!0,$t(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(ot(e)&&n.set(e,null),null):(Me(s)?s.forEach(l=>r[l]=null):$t(r,s),ot(e)&&n.set(e,r),r)}function qs(e,t){return!e||!ms(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Qe(e,t[0].toLowerCase()+t.slice(1))||Qe(e,so(t))||Qe(e,t))}function xT(){}function bu(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:h,data:g,setupState:L,ctx:w,inheritAttrs:m}=e,b=Ds(e);let $,d;try{if(o.shapeFlag&4){const k=a||n,A=k;$=To(c.call(A,k,u,h,L,g,w)),d=i}else{const k=t;$=To(k.length>1?k(h,{attrs:i,slots:r,emit:l}):k(h,null)),d=t.props?i:km(i)}}catch(k){Ko.length=0,La(k,e,1),$=nt(Co)}let f=$;if(d&&m!==!1){const k=Object.keys(d),{shapeFlag:A}=f;k.length&&A&7&&(s&&k.some(bs)&&(d=xm(d,s)),f=Xn(f,d,!1,!0))}if(o.dirs&&(f=Xn(f,null,!1,!0),f.dirs=f.dirs?f.dirs.concat(o.dirs):o.dirs),o.transition){const k=zs(f.type)&&Qc(f)||f;li(k,o.transition)}return $=f,Ds(b),$}const km=e=>{let t;for(const o in e)(o==="class"||o==="style"||ms(o))&&((t||(t={}))[o]=e[o]);return t},xm=(e,t)=>{const o={};for(const n in e)(!bs(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sm(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?$u(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let h=0;hObject.create(yu),wu=e=>Object.getPrototypeOf(e)===yu;function Am(e,t,o,n=!1){const a={},s=vu();e.propsDefaults=Object.create(null),ku(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:Ph(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Lm(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=qe(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[g,L]=xu(h,t,!0);$t(r,g),L&&i.push(...L)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ot(e)&&n.set(e,jn),jn;if(Me(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",mi=e=>Me(e)?e.map(To):[To(e)],Tm=(e,t,o)=>{if(t._n)return t;const n=Yt((...a)=>mi(t(...a)),o);return n._c=!1,n},Pu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(hi(a))continue;const s=e[a];if(De(s))t[a]=Tm(a,s,n);else if(s!=null){const r=mi(s);t[a]=()=>r}}},Au=(e,t)=>{const o=mi(t);e.slots.default=()=>o},Lu=(e,t,o)=>{for(const n in t)(o||!hi(n))&&(e[n]=t[n])},Em=(e,t,o)=>{const n=e.slots=vu();if(e.vnode.shapeFlag&32){const a=t._;a?(Lu(n,t,o),o&&dc(n,"_",a,!0)):Pu(t,n)}else t&&Au(e,t)},Rm=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=it;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:Lu(a,t,o):(s=!t.$stable,Pu(t,a)),r=t}else t&&(Au(e,t),r={default:1});if(s)for(const i in a)!hi(i)&&r[i]==null&&delete a[i]},Kt=Om;function Fm(e){return Nm(e)}function Nm(e,t){const o=xs();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:h,nextSibling:g,setScopeId:L=wo,insertStaticContent:w}=e,m=(N,z,I,Q=null,ne=null,G=null,re=void 0,ge=null,v=!!z.dynamicChildren)=>{if(N===z)return;N&&!Da(N,z)&&(Q=me(N),M(N,ne,G,!0),N=null),z.patchFlag===-2&&(v=!1,z.dynamicChildren=null);const{type:P,ref:Y,shapeFlag:H}=z;switch(P){case Ia:b(N,z,I,Q);break;case Co:$(N,z,I,Q);break;case _i:N==null&&d(z,I,Q,re);break;case Ue:Z(N,z,I,Q,ne,G,re,ge,v);break;default:H&1?A(N,z,I,Q,ne,G,re,ge,v):H&6?W(N,z,I,Q,ne,G,re,ge,v):(H&64||H&128)&&P.process(N,z,I,Q,ne,G,re,ge,v,q)}Y!=null&&ne?Ra(Y,N&&N.ref,G,z||N,!z):Y==null&&N&&N.ref!=null&&Ra(N.ref,null,G,N,!0)},b=(N,z,I,Q)=>{if(N==null)n(z.el=i(z.children),I,Q);else{const ne=z.el=N.el;z.children!==N.children&&c(ne,z.children)}},$=(N,z,I,Q)=>{N==null?n(z.el=l(z.children||""),I,Q):z.el=N.el},d=(N,z,I,Q)=>{[N.el,N.anchor]=w(N.children,z,I,Q,N.el,N.anchor)},f=({el:N,anchor:z},I,Q)=>{let ne;for(;N&&N!==z;)ne=g(N),n(N,I,Q),N=ne;n(z,I,Q)},k=({el:N,anchor:z})=>{let I;for(;N&&N!==z;)I=g(N),a(N),N=I;a(z)},A=(N,z,I,Q,ne,G,re,ge,v)=>{if(z.type==="svg"?re="svg":z.type==="math"&&(re="mathml"),N==null)p(z,I,Q,ne,G,re,ge,v);else{const P=N.el&&N.el._isVueCE?N.el:null;try{P&&P._beginPatch(),C(N,z,ne,G,re,ge,v)}finally{P&&P._endPatch()}}},p=(N,z,I,Q,ne,G,re,ge)=>{let v,P;const{props:Y,shapeFlag:H,transition:ae,dirs:ce}=N;if(v=N.el=r(N.type,G,Y&&Y.is,Y),H&8?u(v,N.children):H&16&&x(N.children,v,null,Q,ne,bi(N,G),re,ge),ce&&Sn(N,null,Q,"created"),_(v,N,N.scopeId,re,Q),Y){for(const ie in Y)ie!=="value"&&!ya(ie)&&s(v,ie,null,Y[ie],G,Q);"value"in Y&&s(v,"value",null,Y.value,G),(P=Y.onVnodeBeforeMount)&&Eo(P,Q,N)}ce&&Sn(N,null,Q,"beforeMount");const j=Im(ne,ae);j&&ae.beforeEnter(v),n(v,z,I),((P=Y&&Y.onVnodeMounted)||j||ce)&&Kt(()=>{try{P&&Eo(P,Q,N),j&&ae.enter(v),ce&&Sn(N,null,Q,"mounted")}finally{}},ne)},_=(N,z,I,Q,ne)=>{if(I&&L(N,I),Q)for(let G=0;G{for(let P=v;P{const ge=z.el=N.el;let{patchFlag:v,dynamicChildren:P,dirs:Y}=z;v|=N.patchFlag&16;const H=N.props||it,ae=z.props||it;let ce;if(I&&Cn(I,!1),(ce=ae.onVnodeBeforeUpdate)&&Eo(ce,I,z,N),Y&&Sn(z,N,I,"beforeUpdate"),I&&Cn(I,!0),P&&(!N.dynamicChildren||N.dynamicChildren.length!==P.length)&&(v=0,re=!1,P=null),(H.innerHTML&&ae.innerHTML==null||H.textContent&&ae.textContent==null)&&u(ge,""),P?K(N.dynamicChildren,P,ge,I,Q,bi(z,ne),G):re||T(N,z,ge,null,I,Q,bi(z,ne),G,!1),v>0){if(v&16)ee(ge,H,ae,I,ne);else if(v&2&&H.class!==ae.class&&s(ge,"class",null,ae.class,ne),v&4&&s(ge,"style",H.style,ae.style,ne),v&8){const j=z.dynamicProps;for(let ie=0;ie{ce&&Eo(ce,I,z,N),Y&&Sn(z,N,I,"updated")},Q)},K=(N,z,I,Q,ne,G,re)=>{for(let ge=0;ge{if(z!==I){if(z!==it)for(const G in z)!ya(G)&&!(G in I)&&s(N,G,z[G],null,ne,Q);for(const G in I){if(ya(G))continue;const re=I[G],ge=z[G];re!==ge&&G!=="value"&&s(N,G,ge,re,ne,Q)}"value"in I&&s(N,"value",z.value,I.value,ne)}},Z=(N,z,I,Q,ne,G,re,ge,v)=>{const P=z.el=N?N.el:i(""),Y=z.anchor=N?N.anchor:i("");let{patchFlag:H,dynamicChildren:ae,slotScopeIds:ce}=z;ce&&(ge=ge?ge.concat(ce):ce),N==null?(n(P,I,Q),n(Y,I,Q),x(z.children||[],I,Y,ne,G,re,ge,v)):H>0&&H&64&&ae&&N.dynamicChildren&&N.dynamicChildren.length===ae.length?(K(N.dynamicChildren,ae,I,ne,G,re,ge),(z.key!=null||ne&&z===ne.subTree)&&$i(N,z,!0)):T(N,z,I,Y,ne,G,re,ge,v)},W=(N,z,I,Q,ne,G,re,ge,v)=>{z.slotScopeIds=ge,N==null?z.shapeFlag&512?ne.ctx.activate(z,I,Q,re,v):pe(z,I,Q,ne,G,re,v):B(N,z,v)},pe=(N,z,I,Q,ne,G,re)=>{const ge=N.component=Um(N,Q,ne);if(Hs(N)&&(ge.ctx.renderer=q),Hm(ge,!1,re),ge.asyncDep){if(ne&&ne.registerDep(ge,y,re),!N.el){const v=ge.subTree=nt(Co);$(null,v,z,I),N.placeholder=v.el}}else y(ge,N,z,I,ne,G,re)},B=(N,z,I)=>{const Q=z.component=N.component;if(Sm(N,z,I))if(Q.asyncDep&&!Q.asyncResolved){E(Q,z,I);return}else Q.next=z,Q.update();else z.el=N.el,Q.vnode=z},y=(N,z,I,Q,ne,G,re)=>{const ge=()=>{if(N.isMounted){let{next:H,bu:ae,u:ce,parent:j,vnode:ie}=N;{const at=Cu(N);if(at){H&&(H.el=ie.el,E(N,H,re)),at.asyncDep.then(()=>{Kt(()=>{N.isUnmounted||P()},ne)});return}}let Ae=H,Ie;Cn(N,!1),H?(H.el=ie.el,E(N,H,re)):H=ie,ae&&ks(ae),(Ie=H.props&&H.props.onVnodeBeforeUpdate)&&Eo(Ie,j,H,ie),Cn(N,!0);const Ke=bu(N),ft=N.subTree;N.subTree=Ke,m(ft,Ke,h(ft.el),me(ft),N,ne,G),H.el=Ke.el,Ae===null&&Pm(N,Ke.el),ce&&Kt(ce,ne),(Ie=H.props&&H.props.onVnodeUpdated)&&Kt(()=>Eo(Ie,j,H,ie),ne)}else{let H;const{el:ae,props:ce}=z,{bm:j,m:ie,parent:Ae,root:Ie,type:Ke}=N,ft=Zn(z);Cn(N,!1),j&&ks(j),!ft&&(H=ce&&ce.onVnodeBeforeMount)&&Eo(H,Ae,z),Cn(N,!0);{Ie.ce&&Ie.ce._hasShadowRoot()&&Ie.ce._injectChildStyle(Ke,N.parent?N.parent.type:void 0);const at=N.subTree=bu(N);m(null,at,I,Q,N,ne,G),z.el=at.el}if(ie&&Kt(ie,ne),!ft&&(H=ce&&ce.onVnodeMounted)){const at=z;Kt(()=>Eo(H,Ae,at),ne)}(z.shapeFlag&256||Ae&&Zn(Ae.vnode)&&Ae.vnode.shapeFlag&256)&&N.a&&Kt(N.a,ne),N.isMounted=!0,z=I=Q=null}};N.scope.on();const v=N.effect=new vc(ge);N.scope.off();const P=N.update=v.run.bind(v),Y=N.job=v.runIfDirty.bind(v);Y.i=N,Y.id=N.uid,v.scheduler=()=>ni(Y),Cn(N,!0),P()},E=(N,z,I)=>{z.component=N;const Q=N.vnode.props;N.vnode=z,N.next=null,Lm(N,z.props,Q,I),Rm(N,z.children,I),xo(),Wc(N),So()},T=(N,z,I,Q,ne,G,re,ge,v=!1)=>{const P=N&&N.children,Y=N?N.shapeFlag:0,H=z.children,{patchFlag:ae,shapeFlag:ce}=z;if(ae>0){if(ae&128){D(P,H,I,Q,ne,G,re,ge,v);return}else if(ae&256){R(P,H,I,Q,ne,G,re,ge,v);return}}ce&8?(Y&16&&we(P,ne,G),H!==P&&u(I,H)):Y&16?ce&16?D(P,H,I,Q,ne,G,re,ge,v):we(P,ne,G,!0):(Y&8&&u(I,""),ce&16&&x(H,I,Q,ne,G,re,ge,v))},R=(N,z,I,Q,ne,G,re,ge,v)=>{N=N||jn,z=z||jn;const P=N.length,Y=z.length,H=Math.min(P,Y);let ae;for(ae=0;aeY?we(N,ne,G,!0,!1,H):x(z,I,Q,ne,G,re,ge,v,H)},D=(N,z,I,Q,ne,G,re,ge,v)=>{let P=0;const Y=z.length;let H=N.length-1,ae=Y-1;for(;P<=H&&P<=ae;){const ce=N[P],j=z[P]=v?Vo(z[P]):To(z[P]);if(Da(ce,j))m(ce,j,I,null,ne,G,re,ge,v);else break;P++}for(;P<=H&&P<=ae;){const ce=N[H],j=z[ae]=v?Vo(z[ae]):To(z[ae]);if(Da(ce,j))m(ce,j,I,null,ne,G,re,ge,v);else break;H--,ae--}if(P>H){if(P<=ae){const ce=ae+1,j=ceae)for(;P<=H;)M(N[P],ne,G,!0),P++;else{const ce=P,j=P,ie=new Map;for(P=j;P<=ae;P++){const bt=z[P]=v?Vo(z[P]):To(z[P]);bt.key!=null&&ie.set(bt.key,P)}let Ae,Ie=0;const Ke=ae-j+1;let ft=!1,at=0;const St=new Array(Ke);for(P=0;P=Ke){M(bt,ne,G,!0);continue}let kt;if(bt.key!=null)kt=ie.get(bt.key);else for(Ae=j;Ae<=ae;Ae++)if(St[Ae-j]===0&&Da(bt,z[Ae])){kt=Ae;break}kt===void 0?M(bt,ne,G,!0):(St[kt-j]=P+1,kt>=at?at=kt:ft=!0,m(bt,z[kt],I,null,ne,G,re,ge,v),Ie++)}const Xt=ft?Mm(St):jn;for(Ae=Xt.length-1,P=Ke-1;P>=0;P--){const bt=j+P,kt=z[bt],co=z[bt+1],V=bt+1{const{el:G,type:re,transition:ge,children:v,shapeFlag:P}=N;if(P&6){X(N.component.subTree,z,I,Q);return}if(P&128){N.suspense.move(z,I,Q);return}if(P&64){re.move(N,z,I,q);return}if(re===Ue){n(G,z,I);for(let H=0;Hge.enter(G),ne));else{const{leave:H,delayLeave:ae,afterLeave:ce}=ge,j=()=>{N.ctx.isUnmounted?a(G):n(G,z,I)},ie=()=>{const Ae=G._isLeaving||!!G[ii];G._isLeaving&&G[ii](!0),ge.persisted&&!Ae?j():H(G,()=>{j(),ce&&ce()})};ae?ae(G,j,ie):ie()}else n(G,z,I)},M=(N,z,I,Q=!1,ne=!1)=>{const{type:G,props:re,ref:ge,children:v,dynamicChildren:P,shapeFlag:Y,patchFlag:H,dirs:ae,cacheIndex:ce,memo:j}=N;if(H===-2&&(ne=!1),ge!=null&&(xo(),Ra(ge,null,I,N,!0),So()),ce!=null&&(z.renderCache[ce]=void 0),Y&256){z.ctx.deactivate(N);return}const ie=Y&1&&ae,Ae=!Zn(N);let Ie;if(Ae&&(Ie=re&&re.onVnodeBeforeUnmount)&&Eo(Ie,z,N),Y&6)ke(N.component,I,Q);else{if(Y&128){N.suspense.unmount(I,Q);return}ie&&Sn(N,null,z,"beforeUnmount"),Y&64?N.type.remove(N,z,I,q,Q):P&&!P.hasOnce&&(G!==Ue||H>0&&H&64)?we(P,z,I,!1,!0):(G===Ue&&H&384||!ne&&Y&16)&&we(v,z,I),Q&&ue(N)}const Ke=j!=null&&ce==null;(Ae&&(Ie=re&&re.onVnodeUnmounted)||ie||Ke)&&Kt(()=>{Ie&&Eo(Ie,z,N),ie&&Sn(N,null,z,"unmounted"),Ke&&(N.el=null)},I)},ue=N=>{const{type:z,el:I,anchor:Q,transition:ne}=N;if(z===Ue){be(I,Q);return}if(z===_i){k(N);return}const G=()=>{a(I),ne&&!ne.persisted&&ne.afterLeave&&ne.afterLeave()};if(N.shapeFlag&1&&ne&&!ne.persisted){const{leave:re,delayLeave:ge}=ne,v=()=>re(I,G);ge?ge(N.el,G,v):v()}else G()},be=(N,z)=>{let I;for(;N!==z;)I=g(N),a(N),N=I;a(z)},ke=(N,z,I)=>{const{bum:Q,scope:ne,job:G,subTree:re,um:ge,m:v,a:P}=N;Tu(v),Tu(P),Q&&ks(Q),ne.stop(),G&&(G.flags|=8,M(re,N,z,I)),ge&&Kt(ge,z),Kt(()=>{N.isUnmounted=!0},z)},we=(N,z,I,Q=!1,ne=!1,G=0)=>{for(let re=G;re{if(N.shapeFlag&6)return me(N.component.subTree);if(N.shapeFlag&128)return N.suspense.next();const z=g(N.anchor||N.el),I=z&&z[Zc];return I?g(I):z};let J=!1;const fe=(N,z,I)=>{let Q;N==null?z._vnode&&(M(z._vnode,null,null,!0),Q=z._vnode.component):m(z._vnode||null,N,z,null,null,null,I),z._vnode=N,J||(J=!0,Wc(Q),Kc(),J=!1)},q={p:m,um:M,m:X,r:ue,mt:pe,mc:x,pc:T,pbc:K,n:me,o:e};return{render:fe,hydrate:void 0,createApp:_m(fe)}}function bi({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Cn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Im(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $i(e,t,o=!1){const n=e.children,a=t.children;if(Me(n)&&Me(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function Cu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Cu(t)}function Tu(e){if(e)for(let t=0;te.__isSuspense;function Om(e,t){t&&t.pendingBranch?Me(e)?t.effects.push(...e):t.effects.push(e):jh(e)}const Ue=Symbol.for("v-fgt"),Ia=Symbol.for("v-txt"),Co=Symbol.for("v-cmt"),_i=Symbol.for("v-stc"),Ko=[];let to=null;function oe(e=!1){Ko.push(to=e?null:[])}function yi(){Ko.pop(),to=Ko[Ko.length-1]||null}let Ma=1;function Ys(e,t=!1){Ma+=e,e<0&&to&&t&&(to.hasOnce=!0)}function Fu(e){return e.dynamicChildren=Ma>0?to||jn:null,yi(),Ma>0&&to&&to.push(e),e}function de(e,t,o,n,a,s){return Fu(O(e,t,o,n,a,s,!0))}function Ze(e,t,o,n,a){return Fu(nt(e,t,o,n,a,!0))}function Oa(e){return e?e.__v_isVNode===!0:!1}function Da(e,t){return e.type===t.type&&e.key===t.key}const Nu=({key:e})=>e??null,Zs=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?lt(e)||dt(e)||De(e)?{i:Nt,r:e,k:t,f:!!o}:e:null);function O(e,t=null,o=null,n=0,a=null,s=e===Ue?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Nu(t),ref:t&&Zs(t),scopeId:qc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Nt};return i?(Xs(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=lt(o)?8:16),Ma>0&&!r&&to&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&to.push(l),l}const nt=Dm;function Dm(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===su)&&(e=Co),Oa(e)){const i=Xn(e,t,!0);return o&&Xs(i,o),Ma>0&&!s&&to&&(i.shapeFlag&6?to[to.indexOf(e)]=i:to.push(i)),i.patchFlag=-2,i}if(Zm(e)&&(e=e.__vccOpts),t){t=Gm(t);let{class:i,style:l}=t;i&&!lt(i)&&(t.class=Fe(i)),ot(l)&&(Fs(l)&&!Me(l)&&(l=$t({},l)),t.style=pt(l))}const r=lt(e)?1:Ru(e)?128:zs(e)?64:ot(e)?4:De(e)?2:0;return O(e,t,o,n,a,r,s,!0)}function Gm(e){return e?Fs(e)||wu(e)?$t({},e):e:null}function Xn(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?zm(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Nu(c),ref:t&&t.ref?o&&s?Me(s)?s.concat(Zs(t)):[s,Zs(t)]:Zs(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xn(e.ssContent),ssFallback:e.ssFallback&&Xn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&li(u,l.clone(u)),u}function At(e=" ",t=0){return nt(Ia,null,e,t)}function Se(e="",t=!1){return t?(oe(),Ze(Co,null,e)):nt(Co,null,e)}function To(e){return e==null||typeof e=="boolean"?nt(Co):Me(e)?nt(Ue,null,e.slice()):Oa(e)?Vo(e):nt(Ia,null,String(e))}function Vo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xn(e)}function Xs(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Me(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Xs(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!wu(t)?t._ctx=Nt:a===3&&Nt&&(Nt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(De(t)){if(n&65){Xs(e,{default:t});return}t={default:t,_ctx:Nt},o=32}else t=String(t),n&64?(o=16,t=[At(t)]):o=8;e.children=t,e.shapeFlag|=o}function zm(...e){const t={};for(let o=0;oIt||Nt;let Js,Ga;{const e=xs(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Js=t("__VUE_INSTANCE_SETTERS__",o=>It=o),Ga=t("__VUE_SSR_SETTERS__",o=>Jn=o)}const za=e=>{const t=It;return Js(e),e.scope.on(),()=>{e.scope.off(),Js(t)}},Iu=()=>{It&&It.scope.off(),Js(null)};function Mu(e){return e.vnode.shapeFlag&4}let Jn=!1;function Hm(e,t=!1,o=!1){t&&Ga(t);const{props:n,children:a}=e.vnode,s=Mu(e);Am(e,n,s,t),Em(e,a,o||t);const r=s?Wm(e,t):void 0;return t&&Ga(!1),r}function Wm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,dm);const{setup:n}=o;if(n){xo();const a=e.setupContext=n.length>1?Vm(e):null,s=za(e),r=Vn(n,e,0,[e.props,a]),i=uc(r);if(So(),s(),(i||e.sp)&&!Zn(e)&&ci(e),i){if(r.then(Iu,Iu),t)return r.then(l=>{Ga(!0);try{Ou(e,l,t)}finally{Ga(!1)}}).catch(l=>{La(l,e,0)});e.asyncDep=r}else Ou(e,r)}else Du(e)}function Ou(e,t,o){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ot(t)&&(e.setupState=zc(t)),Du(e)}function Du(e,t,o){const n=e.type;e.render||(e.render=n.render||wo);{const a=za(e);xo();try{gm(e)}finally{So(),a()}}}const Km={get(e,t){return zt(e,"get",""),e[t]}};function Vm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Km),slots:e.slots,emit:e.emit,expose:t}}function Qs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zc(Wn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Fa)return Fa[o](e)},has(t,o){return o in t||o in Fa}})):e.proxy}const qm=/(?:^|[-_])\w/g,Ym=e=>e.replace(qm,t=>t.toUpperCase()).replace(/[-_]/g,"");function Gu(e,t=!0){return De(e)?e.displayName||e.name:e.name||t&&e.__name}function zu(e,t,o=!1){let n=Gu(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Ym(n):o?"App":"Anonymous"}function Zm(e){return De(e)&&"__vccOpts"in e}const te=(e,t)=>Fh(e,t,Jn);function Bu(e,t,o){try{Ys(-1);const n=arguments.length;return n===2?ot(t)&&!Me(t)?Oa(t)?nt(e,null,[t]):nt(e,t):nt(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Oa(o)&&(o=[o]),nt(e,t,o))}finally{Ys(1)}}const Xm="3.5.42";/** +`],...Dh(o))}),t}function Dh({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${zu(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Gh(e.props),s]:[a+s]}function Gh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...jc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function jc(e,t,o){return lt(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:dt(t)?(t=jc(e,qe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):De(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=qe(t),o?t:[`${e}=`,t])}function Vn(e,t,o,n){try{return n?e(...n):e()}catch(a){La(a,t,o)}}function ho(e,t,o,n){if(De(e)){const a=Vn(e,t,o,n);return a&&uc(a)&&a.catch(s=>{La(s,t,o)}),a}if(Me(e)){const a=[];for(let s=0;s>>1,a=Ht[n],s=Ca(a);s=Ca(o)?Ht.push(e):Ht.splice(Bh(t),0,e),e.flags|=1,Hc()}}function Hc(){Os||(Os=Uc.then(Vc))}function jh(e){if(!Me(e))an&&e.id===-1?an.splice(Yn+1,0,e):e.flags&1||(qn.push(e),e.flags|=1);else for(let t=0;tCa(o)-Ca(n));if(qn.length=0,an){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Vc(e){try{for(Ao=0;Ao{n._d&&Ys(-1);const s=Ds(t),r=Ko.length;let i;try{i=e(...a)}finally{for(let l=Ko.length;l>r;l--)yi();Ds(s),n._d&&Ys(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Gs(e,t){if(Nt===null)return e;const o=Qs(Nt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&De(t)?t.call(n&&n.proxy):t}}function Uh(){return!!(mo()||Ln)}const Hh=Symbol.for("v-scx"),Wh=()=>Ce(Hh);function Kh(e,t){return ai(e,null,t)}function Ne(e,t,o){return ai(e,t,o)}function ai(e,t,o=it){const{immediate:n,deep:a,flush:s,once:r}=o,i=$t({},o),l=t&&n||!t&&s!=="post";let c;if(Jn){if(s==="sync"){const L=Wh();c=L.__watcherHandles||(L.__watcherHandles=[])}else if(!l){const L=()=>{};return L.stop=wo,L.resume=wo,L.pause=wo,L}}const u=It;i.call=(L,w,m)=>ho(L,u,w,m);let h=!1;s==="post"?i.scheduler=L=>{Kt(L,u&&u.suspense)}:s!=="sync"&&(h=!0,i.scheduler=(L,w)=>{w?L():ni(L)}),i.augmentJob=L=>{t&&(L.flags|=4),h&&(L.flags|=2,u&&(L.id=u.uid,L.i=u))};const g=Ih(e,t,i);return Jn&&(c?c.push(g):l&&g()),g}function Vh(e,t,o){const n=this.proxy,a=lt(e)?e.includes(".")?Yc(n,e):()=>n[e]:e.bind(n,n);let s;De(t)?s=t:(s=t.handler,o=t);const r=za(this),i=ai(a,s.bind(n),o);return r(),i}function Yc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Pn=e=>e&&(e.disabled||e.disabled===""),qh=e=>e&&(e.defer||e.defer===""),Xc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Jc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,si=(e,t)=>{const o=e&&e.to;return lt(o)?t?t(o):null:o},Yh={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,r,i,l,c){const{mc:u,pc:h,pbc:g,o:{insert:L,querySelector:w,createText:m,createComment:b,parentNode:$}}=c,d=Pn(t.props);let{dynamicChildren:f}=t;const k=(_,x,C)=>{_.shapeFlag&16&&u(_.children,x,C,a,s,r,i,l)},A=(_=t)=>{const x=Pn(_.props),C=_.target=si(_.props,w),K=ri(C,_,m,L);C&&(r!=="svg"&&Xc(C)?r="svg":r!=="mathml"&&Jc(C)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(C),x||(k(_,C,K),Ta(_,!1)))},p=_=>{const x=()=>{if(sn.get(_)===x){if(sn.delete(_),Pn(_.props)){const C=$(_.el)||o;k(_,C,_.anchor),Ta(_,!0)}A(_)}};sn.set(_,x),Kt(x,s)};if(e==null){const _=t.el=m(""),x=t.anchor=m("");if(L(_,o,n),L(x,o,n),qh(t.props)||s&&s.pendingBranch){p(t);return}d&&(k(t,o,x),Ta(t,!0)),A()}else{t.el=e.el;const _=t.anchor=e.anchor,x=sn.get(e);if(x){x.flags|=8,sn.delete(e),p(t);return}t.targetStart=e.targetStart;const C=t.target=e.target,K=t.targetAnchor=e.targetAnchor,ee=Pn(e.props),Z=ee?o:C,W=ee?_:K;if(r==="svg"||Xc(C)?r="svg":(r==="mathml"||Jc(C))&&(r="mathml"),f?(g(e.dynamicChildren,f,Z,a,s,r,i),$i(e,t,!0)):l||h(e,t,Z,W,a,s,r,i,!1),d)ee?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Bs(t,o,_,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const pe=si(t.props,w);pe&&(t.target=pe,Bs(t,pe,null,c,0))}else ee&&Bs(t,C,K,c,1);Ta(t,d)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:h,props:g}=e,L=Pn(g),w=s||!L,m=sn.get(e);if(m&&(m.flags|=8,sn.delete(e)),h&&(a(c),a(u)),s&&a(l),!m&&(L||h)&&r&16)for(let b=0;b1){for(const o of e)if(o.type!==Co){t=o;break}}return t}function Qc(e){if(!Hs(e))return zs(e.type)&&e.children?Jh(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&De(o.default))return o.default()}}function li(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;li(zs(o.type)&&Qc(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ea(e,t){return De(e)?$t({name:e.name},t,{setup:e}):e}function ci(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function eu(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const js=new WeakMap;function Ra(e,t,o,n,a=!1){if(Me(e)){e.forEach((m,b)=>Ra(m,t&&(Me(t)?t[b]:t),o,n,a));return}if(Zn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ra(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Qs(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===it?i.refs={}:i.refs,h=i.setupState,g=qe(h),L=h===it?lc:m=>eu(u,m)?!1:Qe(g,m),w=(m,b)=>!(b&&eu(u,b));if(c!=null&&c!==l){if(tu(t),lt(c))u[c]=null,L(c)&&(h[c]=null);else if(dt(c)){const m=t;w(c,m.k)&&(c.value=null),m.k&&(u[m.k]=null)}}if(De(l))Vn(l,i,12,[r,u]);else{const m=lt(l),b=dt(l);if(m||b){const $=()=>{if(e.f){const d=m?L(l)?h[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Me(d)&&jr(d,s);else if(Me(d))d.includes(s)||d.push(s);else if(m)u[l]=[s],L(l)&&(h[l]=u[l]);else{const f=[s];w(l,e.k)&&(l.value=f),e.k&&(u[e.k]=f)}}else m?(u[l]=r,L(l)&&(h[l]=r)):b&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const d=()=>{$(),js.delete(e)};d.id=-1,js.set(e,d),Kt(d,o)}else tu(e),$()}}}function tu(e){const t=js.get(e);t&&(t.flags|=8,js.delete(e))}const ou=e=>e.nodeType===8;xs().requestIdleCallback,xs().cancelIdleCallback;function Qh(e,t){if(ou(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(ou(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Zn=e=>!!e.type.__asyncLoader;function em(e){De(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,h=0;const g=()=>(h++,c=null,L()),L=()=>{let w;return c||(w=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((b,$)=>{l(m,()=>b(g()),()=>$(m),h+1)});throw m}).then(m=>w!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),u=m,m)))};return Ea({name:"AsyncComponentWrapper",__asyncLoader:L,__asyncHydrate(w,m,b){const $=w.isConnected;let d=!1;(m.bu||(m.bu=[])).push(()=>d=!0);const f=()=>{d||!w.parentNode||$&&!w.isConnected||b()},k=s?()=>{const A=s(f,p=>Qh(w,p));A&&(m.bum||(m.bum=[])).push(A)}:f;u?k():L().then(()=>!m.isUnmounted&&k())},get __asyncResolved(){return u},setup(){const w=It;if(ci(w),u)return()=>Us(u,w);const m=A=>{c=null,La(A,w,13,!n)};if(i&&w.suspense||Jn)return L().then(A=>()=>Us(A,w)).catch(A=>(m(A),()=>n?nt(n,{error:A}):null));const b=_e(!1),$=_e(),d=_e(!!a);let f,k;return Ks(()=>{f!=null&&clearTimeout(f),k!=null&&clearTimeout(k)}),a&&(k=setTimeout(()=>{w.isUnmounted||(d.value=!1)},a)),r!=null&&(f=setTimeout(()=>{if(!w.isUnmounted&&!b.value&&!$.value){const A=new Error(`Async component timed out after ${r}ms.`);m(A),$.value=A}},r)),L().then(()=>{w.isUnmounted||(b.value=!0,w.parent&&Hs(w.parent.vnode)&&w.parent.update())}).catch(A=>{if(w.isUnmounted){c=null;return}m(A),$.value=A}),()=>{if(b.value&&u)return Us(u,w);if($.value&&n)return nt(n,{error:$.value});if(o&&!d.value)return Us(o,w)}}})}function Us(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=nt(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Hs=e=>e.type.__isKeepAlive;function tm(e,t){nu(e,"a",t)}function om(e,t){nu(e,"da",t)}function nu(e,t,o=It){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ws(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Hs(a.parent.vnode)&&nm(n,t,o,a),a=a.parent}}function nm(e,t,o,n){const a=Ws(t,e,n,!0);Ks(()=>{jr(n[t],a)},o)}function Ws(e,t,o=It,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{xo();const i=za(o),l=ho(t,o,e,r);return i(),So(),l});return n?a.unshift(s):a.push(s),s}}const Wo=e=>(t,o=It)=>{(!Jn||e==="sp")&&Ws(e,(...n)=>t(...n),o)},au=Wo("bm"),Lo=Wo("m"),am=Wo("bu"),sm=Wo("u"),ro=Wo("bum"),Ks=Wo("um"),rm=Wo("sp"),im=Wo("rtg"),lm=Wo("rtc");function cm(e,t=It){Ws("ec",e,t)}const um="components",su=Symbol.for("v-ndc");function ru(e){return lt(e)?pm(um,e,!1)||e:e||su}function pm(e,t,o=!0,n=!1){const a=Nt||It;if(a){const s=a.type;{const i=Gu(s,!1);if(i&&(i===t||i===Et(t)||i===ws(Et(t))))return s}const r=iu(a[e]||s[e],t)||iu(a.appContext[e],t);return!r&&n?s:r}}function iu(e,t){return e&&(e[t]||e[Et(t)]||e[ws(Et(t))])}function Bt(e,t,o,n){let a;const s=o,r=Me(e);if(r||lt(e)){const i=r&&jo(e);let l=!1,c=!1;i&&(l=!eo(e),c=Uo(e),e=Ls(e)),a=new Array(e.length);for(let u=0,h=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),oe(),Ze(Ue,null,[nt("slot",c,n)],u?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=Ko.length;oe();let l;try{const c=r&&lu(r(o)),u=o.key||s||c&&c.key;l=Ze(Ue,{key:(u&&!Qt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Ko.length;u>i;u--)yi();throw c}finally{r&&r._c&&(r._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function lu(e){return e.some(t=>Oa(t)?!(t.type===Co||t.type===Ue&&!lu(t.children)):!0)?e:null}const ui=e=>e?Mu(e)?Qs(e):ui(e.parent):null,Fa=$t(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ui(e.parent),$root:e=>ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>du(e),$forceUpdate:e=>e.f||(e.f=()=>{ni(e.update)}),$nextTick:e=>e.n||(e.n=Ft.bind(e.proxy)),$watch:e=>Vh.bind(e)}),pi=(e,t)=>e!==it&&!e.__isScriptSetup&&Qe(e,t),dm={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(pi(n,t))return r[t]=1,n[t];if(a!==it&&Qe(a,t))return r[t]=2,a[t];if(Qe(s,t))return r[t]=3,s[t];if(o!==it&&Qe(o,t))return r[t]=4,o[t];di&&(r[t]=0)}}const c=Fa[t];let u,h;if(c)return t==="$attrs"&&zt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==it&&Qe(o,t))return r[t]=4,o[t];if(h=l.config.globalProperties,Qe(h,t))return h[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return pi(a,t)?(a[t]=o,!0):n!==it&&Qe(n,t)?(n[t]=o,!0):Qe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==it&&i[0]!=="$"&&Qe(e,i)||pi(t,i)||Qe(s,i)||Qe(n,i)||Qe(Fa,i)||Qe(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Qe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function cu(e){return Me(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let di=!0;function gm(e){const t=du(e),o=e.proxy,n=e.ctx;di=!1,t.beforeCreate&&uu(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:h,mounted:g,beforeUpdate:L,updated:w,activated:m,deactivated:b,beforeDestroy:$,beforeUnmount:d,destroyed:f,unmounted:k,render:A,renderTracked:p,renderTriggered:_,errorCaptured:x,serverPrefetch:C,expose:K,inheritAttrs:ee,components:Z,directives:W,filters:pe}=t;if(c&&fm(c,n,null),r)for(const E in r){const T=r[E];De(T)&&(n[E]=T.bind(o))}if(a){const E=a.call(o,o);ot(E)&&(e.data=Hn(E))}if(di=!0,s)for(const E in s){const T=s[E],R=De(T)?T.bind(o,o):De(T.get)?T.get.bind(o,o):wo,D=!De(T)&&De(T.set)?T.set.bind(o):wo,X=te({get:R,set:D});Object.defineProperty(n,E,{enumerable:!0,configurable:!0,get:()=>X.value,set:M=>X.value=M})}if(i)for(const E in i)pu(i[E],n,o,E);if(l){const E=De(l)?l.call(o):l;Reflect.ownKeys(E).forEach(T=>{xt(T,E[T])})}u&&uu(u,e,"c");function y(E,T){Me(T)?T.forEach(R=>E(R.bind(o))):T&&E(T.bind(o))}if(y(au,h),y(Lo,g),y(am,L),y(sm,w),y(tm,m),y(om,b),y(cm,x),y(lm,p),y(im,_),y(ro,d),y(Ks,k),y(rm,C),Me(K))if(K.length){const E=e.exposed||(e.exposed={});K.forEach(T=>{Object.defineProperty(E,T,{get:()=>o[T],set:R=>o[T]=R,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===wo&&(e.render=A),ee!=null&&(e.inheritAttrs=ee),Z&&(e.components=Z),W&&(e.directives=W),C&&ci(e)}function fm(e,t,o=wo){Me(e)&&(e=gi(e));for(const n in e){const a=e[n];let s;ot(a)?"default"in a?s=Ce(a.from||n,a.default,!0):s=Ce(a.from||n):s=Ce(a),dt(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function uu(e,t,o){ho(Me(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function pu(e,t,o,n){let a=n.includes(".")?Yc(o,n):()=>o[n];if(lt(e)){const s=t[e];De(s)&&Ne(a,s)}else if(De(e))Ne(a,e.bind(o));else if(ot(e))if(Me(e))e.forEach(s=>pu(s,t,o,n));else{const s=De(e.handler)?e.handler.bind(o):t[e.handler];De(s)&&Ne(a,s,e)}}function du(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Vs(l,c,r,!0)),Vs(l,t,r)),ot(t)&&s.set(t,l),l}function Vs(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&Vs(e,s,o,!0),a&&a.forEach(r=>Vs(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=hm[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const hm={data:gu,props:fu,emits:fu,methods:Na,computed:Na,beforeCreate:Wt,created:Wt,beforeMount:Wt,mounted:Wt,beforeUpdate:Wt,updated:Wt,beforeDestroy:Wt,beforeUnmount:Wt,destroyed:Wt,unmounted:Wt,activated:Wt,deactivated:Wt,errorCaptured:Wt,serverPrefetch:Wt,components:Na,directives:Na,watch:bm,provide:gu,inject:mm};function gu(e,t){return t?e?function(){return $t(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function mm(e,t){return Na(gi(e),gi(t))}function gi(e){if(Me(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Et(t)}Modifiers`]||e[`${so(t)}Modifiers`];function vm(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||it;let a=o;const s=t.startsWith("update:"),r=s&&ym(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>lt(u)?u.trim():u)),r.number&&(a=a.map(Hr)));let i,l=n[i=Ur(t)]||n[i=Ur(Et(t))];!l&&s&&(l=n[i=Ur(so(t))]),l&&ho(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,ho(c,e,6,a)}}const wm=new WeakMap;function mu(e,t,o=!1){const n=o?wm:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!De(e)){const l=c=>{const u=mu(c,t,!0);u&&(i=!0,$t(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(ot(e)&&n.set(e,null),null):(Me(s)?s.forEach(l=>r[l]=null):$t(r,s),ot(e)&&n.set(e,r),r)}function qs(e,t){return!e||!ms(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Qe(e,t[0].toLowerCase()+t.slice(1))||Qe(e,so(t))||Qe(e,t))}function ST(){}function bu(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:h,data:g,setupState:L,ctx:w,inheritAttrs:m}=e,b=Ds(e);let $,d;try{if(o.shapeFlag&4){const k=a||n,A=k;$=To(c.call(A,k,u,h,L,g,w)),d=i}else{const k=t;$=To(k.length>1?k(h,{attrs:i,slots:r,emit:l}):k(h,null)),d=t.props?i:km(i)}}catch(k){Ko.length=0,La(k,e,1),$=nt(Co)}let f=$;if(d&&m!==!1){const k=Object.keys(d),{shapeFlag:A}=f;k.length&&A&7&&(s&&k.some(bs)&&(d=xm(d,s)),f=Xn(f,d,!1,!0))}if(o.dirs&&(f=Xn(f,null,!1,!0),f.dirs=f.dirs?f.dirs.concat(o.dirs):o.dirs),o.transition){const k=zs(f.type)&&Qc(f)||f;li(k,o.transition)}return $=f,Ds(b),$}const km=e=>{let t;for(const o in e)(o==="class"||o==="style"||ms(o))&&((t||(t={}))[o]=e[o]);return t},xm=(e,t)=>{const o={};for(const n in e)(!bs(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sm(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?$u(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let h=0;hObject.create(yu),wu=e=>Object.getPrototypeOf(e)===yu;function Am(e,t,o,n=!1){const a={},s=vu();e.propsDefaults=Object.create(null),ku(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:Ph(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Lm(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=qe(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[g,L]=xu(h,t,!0);$t(r,g),L&&i.push(...L)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ot(e)&&n.set(e,jn),jn;if(Me(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",mi=e=>Me(e)?e.map(To):[To(e)],Tm=(e,t,o)=>{if(t._n)return t;const n=Yt((...a)=>mi(t(...a)),o);return n._c=!1,n},Pu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(hi(a))continue;const s=e[a];if(De(s))t[a]=Tm(a,s,n);else if(s!=null){const r=mi(s);t[a]=()=>r}}},Au=(e,t)=>{const o=mi(t);e.slots.default=()=>o},Lu=(e,t,o)=>{for(const n in t)(o||!hi(n))&&(e[n]=t[n])},Em=(e,t,o)=>{const n=e.slots=vu();if(e.vnode.shapeFlag&32){const a=t._;a?(Lu(n,t,o),o&&dc(n,"_",a,!0)):Pu(t,n)}else t&&Au(e,t)},Rm=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=it;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:Lu(a,t,o):(s=!t.$stable,Pu(t,a)),r=t}else t&&(Au(e,t),r={default:1});if(s)for(const i in a)!hi(i)&&r[i]==null&&delete a[i]},Kt=Om;function Fm(e){return Nm(e)}function Nm(e,t){const o=xs();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:h,nextSibling:g,setScopeId:L=wo,insertStaticContent:w}=e,m=(N,z,I,Q=null,ne=null,G=null,re=void 0,ge=null,v=!!z.dynamicChildren)=>{if(N===z)return;N&&!Da(N,z)&&(Q=me(N),M(N,ne,G,!0),N=null),z.patchFlag===-2&&(v=!1,z.dynamicChildren=null);const{type:P,ref:Y,shapeFlag:H}=z;switch(P){case Ia:b(N,z,I,Q);break;case Co:$(N,z,I,Q);break;case _i:N==null&&d(z,I,Q,re);break;case Ue:Z(N,z,I,Q,ne,G,re,ge,v);break;default:H&1?A(N,z,I,Q,ne,G,re,ge,v):H&6?W(N,z,I,Q,ne,G,re,ge,v):(H&64||H&128)&&P.process(N,z,I,Q,ne,G,re,ge,v,q)}Y!=null&&ne?Ra(Y,N&&N.ref,G,z||N,!z):Y==null&&N&&N.ref!=null&&Ra(N.ref,null,G,N,!0)},b=(N,z,I,Q)=>{if(N==null)n(z.el=i(z.children),I,Q);else{const ne=z.el=N.el;z.children!==N.children&&c(ne,z.children)}},$=(N,z,I,Q)=>{N==null?n(z.el=l(z.children||""),I,Q):z.el=N.el},d=(N,z,I,Q)=>{[N.el,N.anchor]=w(N.children,z,I,Q,N.el,N.anchor)},f=({el:N,anchor:z},I,Q)=>{let ne;for(;N&&N!==z;)ne=g(N),n(N,I,Q),N=ne;n(z,I,Q)},k=({el:N,anchor:z})=>{let I;for(;N&&N!==z;)I=g(N),a(N),N=I;a(z)},A=(N,z,I,Q,ne,G,re,ge,v)=>{if(z.type==="svg"?re="svg":z.type==="math"&&(re="mathml"),N==null)p(z,I,Q,ne,G,re,ge,v);else{const P=N.el&&N.el._isVueCE?N.el:null;try{P&&P._beginPatch(),C(N,z,ne,G,re,ge,v)}finally{P&&P._endPatch()}}},p=(N,z,I,Q,ne,G,re,ge)=>{let v,P;const{props:Y,shapeFlag:H,transition:ae,dirs:ce}=N;if(v=N.el=r(N.type,G,Y&&Y.is,Y),H&8?u(v,N.children):H&16&&x(N.children,v,null,Q,ne,bi(N,G),re,ge),ce&&Sn(N,null,Q,"created"),_(v,N,N.scopeId,re,Q),Y){for(const ie in Y)ie!=="value"&&!ya(ie)&&s(v,ie,null,Y[ie],G,Q);"value"in Y&&s(v,"value",null,Y.value,G),(P=Y.onVnodeBeforeMount)&&Eo(P,Q,N)}ce&&Sn(N,null,Q,"beforeMount");const j=Im(ne,ae);j&&ae.beforeEnter(v),n(v,z,I),((P=Y&&Y.onVnodeMounted)||j||ce)&&Kt(()=>{try{P&&Eo(P,Q,N),j&&ae.enter(v),ce&&Sn(N,null,Q,"mounted")}finally{}},ne)},_=(N,z,I,Q,ne)=>{if(I&&L(N,I),Q)for(let G=0;G{for(let P=v;P{const ge=z.el=N.el;let{patchFlag:v,dynamicChildren:P,dirs:Y}=z;v|=N.patchFlag&16;const H=N.props||it,ae=z.props||it;let ce;if(I&&Cn(I,!1),(ce=ae.onVnodeBeforeUpdate)&&Eo(ce,I,z,N),Y&&Sn(z,N,I,"beforeUpdate"),I&&Cn(I,!0),P&&(!N.dynamicChildren||N.dynamicChildren.length!==P.length)&&(v=0,re=!1,P=null),(H.innerHTML&&ae.innerHTML==null||H.textContent&&ae.textContent==null)&&u(ge,""),P?K(N.dynamicChildren,P,ge,I,Q,bi(z,ne),G):re||T(N,z,ge,null,I,Q,bi(z,ne),G,!1),v>0){if(v&16)ee(ge,H,ae,I,ne);else if(v&2&&H.class!==ae.class&&s(ge,"class",null,ae.class,ne),v&4&&s(ge,"style",H.style,ae.style,ne),v&8){const j=z.dynamicProps;for(let ie=0;ie{ce&&Eo(ce,I,z,N),Y&&Sn(z,N,I,"updated")},Q)},K=(N,z,I,Q,ne,G,re)=>{for(let ge=0;ge{if(z!==I){if(z!==it)for(const G in z)!ya(G)&&!(G in I)&&s(N,G,z[G],null,ne,Q);for(const G in I){if(ya(G))continue;const re=I[G],ge=z[G];re!==ge&&G!=="value"&&s(N,G,ge,re,ne,Q)}"value"in I&&s(N,"value",z.value,I.value,ne)}},Z=(N,z,I,Q,ne,G,re,ge,v)=>{const P=z.el=N?N.el:i(""),Y=z.anchor=N?N.anchor:i("");let{patchFlag:H,dynamicChildren:ae,slotScopeIds:ce}=z;ce&&(ge=ge?ge.concat(ce):ce),N==null?(n(P,I,Q),n(Y,I,Q),x(z.children||[],I,Y,ne,G,re,ge,v)):H>0&&H&64&&ae&&N.dynamicChildren&&N.dynamicChildren.length===ae.length?(K(N.dynamicChildren,ae,I,ne,G,re,ge),(z.key!=null||ne&&z===ne.subTree)&&$i(N,z,!0)):T(N,z,I,Y,ne,G,re,ge,v)},W=(N,z,I,Q,ne,G,re,ge,v)=>{z.slotScopeIds=ge,N==null?z.shapeFlag&512?ne.ctx.activate(z,I,Q,re,v):pe(z,I,Q,ne,G,re,v):B(N,z,v)},pe=(N,z,I,Q,ne,G,re)=>{const ge=N.component=Um(N,Q,ne);if(Hs(N)&&(ge.ctx.renderer=q),Hm(ge,!1,re),ge.asyncDep){if(ne&&ne.registerDep(ge,y,re),!N.el){const v=ge.subTree=nt(Co);$(null,v,z,I),N.placeholder=v.el}}else y(ge,N,z,I,ne,G,re)},B=(N,z,I)=>{const Q=z.component=N.component;if(Sm(N,z,I))if(Q.asyncDep&&!Q.asyncResolved){E(Q,z,I);return}else Q.next=z,Q.update();else z.el=N.el,Q.vnode=z},y=(N,z,I,Q,ne,G,re)=>{const ge=()=>{if(N.isMounted){let{next:H,bu:ae,u:ce,parent:j,vnode:ie}=N;{const at=Cu(N);if(at){H&&(H.el=ie.el,E(N,H,re)),at.asyncDep.then(()=>{Kt(()=>{N.isUnmounted||P()},ne)});return}}let Ae=H,Ie;Cn(N,!1),H?(H.el=ie.el,E(N,H,re)):H=ie,ae&&ks(ae),(Ie=H.props&&H.props.onVnodeBeforeUpdate)&&Eo(Ie,j,H,ie),Cn(N,!0);const Ke=bu(N),ft=N.subTree;N.subTree=Ke,m(ft,Ke,h(ft.el),me(ft),N,ne,G),H.el=Ke.el,Ae===null&&Pm(N,Ke.el),ce&&Kt(ce,ne),(Ie=H.props&&H.props.onVnodeUpdated)&&Kt(()=>Eo(Ie,j,H,ie),ne)}else{let H;const{el:ae,props:ce}=z,{bm:j,m:ie,parent:Ae,root:Ie,type:Ke}=N,ft=Zn(z);Cn(N,!1),j&&ks(j),!ft&&(H=ce&&ce.onVnodeBeforeMount)&&Eo(H,Ae,z),Cn(N,!0);{Ie.ce&&Ie.ce._hasShadowRoot()&&Ie.ce._injectChildStyle(Ke,N.parent?N.parent.type:void 0);const at=N.subTree=bu(N);m(null,at,I,Q,N,ne,G),z.el=at.el}if(ie&&Kt(ie,ne),!ft&&(H=ce&&ce.onVnodeMounted)){const at=z;Kt(()=>Eo(H,Ae,at),ne)}(z.shapeFlag&256||Ae&&Zn(Ae.vnode)&&Ae.vnode.shapeFlag&256)&&N.a&&Kt(N.a,ne),N.isMounted=!0,z=I=Q=null}};N.scope.on();const v=N.effect=new vc(ge);N.scope.off();const P=N.update=v.run.bind(v),Y=N.job=v.runIfDirty.bind(v);Y.i=N,Y.id=N.uid,v.scheduler=()=>ni(Y),Cn(N,!0),P()},E=(N,z,I)=>{z.component=N;const Q=N.vnode.props;N.vnode=z,N.next=null,Lm(N,z.props,Q,I),Rm(N,z.children,I),xo(),Wc(N),So()},T=(N,z,I,Q,ne,G,re,ge,v=!1)=>{const P=N&&N.children,Y=N?N.shapeFlag:0,H=z.children,{patchFlag:ae,shapeFlag:ce}=z;if(ae>0){if(ae&128){D(P,H,I,Q,ne,G,re,ge,v);return}else if(ae&256){R(P,H,I,Q,ne,G,re,ge,v);return}}ce&8?(Y&16&&we(P,ne,G),H!==P&&u(I,H)):Y&16?ce&16?D(P,H,I,Q,ne,G,re,ge,v):we(P,ne,G,!0):(Y&8&&u(I,""),ce&16&&x(H,I,Q,ne,G,re,ge,v))},R=(N,z,I,Q,ne,G,re,ge,v)=>{N=N||jn,z=z||jn;const P=N.length,Y=z.length,H=Math.min(P,Y);let ae;for(ae=0;aeY?we(N,ne,G,!0,!1,H):x(z,I,Q,ne,G,re,ge,v,H)},D=(N,z,I,Q,ne,G,re,ge,v)=>{let P=0;const Y=z.length;let H=N.length-1,ae=Y-1;for(;P<=H&&P<=ae;){const ce=N[P],j=z[P]=v?Vo(z[P]):To(z[P]);if(Da(ce,j))m(ce,j,I,null,ne,G,re,ge,v);else break;P++}for(;P<=H&&P<=ae;){const ce=N[H],j=z[ae]=v?Vo(z[ae]):To(z[ae]);if(Da(ce,j))m(ce,j,I,null,ne,G,re,ge,v);else break;H--,ae--}if(P>H){if(P<=ae){const ce=ae+1,j=ceae)for(;P<=H;)M(N[P],ne,G,!0),P++;else{const ce=P,j=P,ie=new Map;for(P=j;P<=ae;P++){const bt=z[P]=v?Vo(z[P]):To(z[P]);bt.key!=null&&ie.set(bt.key,P)}let Ae,Ie=0;const Ke=ae-j+1;let ft=!1,at=0;const St=new Array(Ke);for(P=0;P=Ke){M(bt,ne,G,!0);continue}let kt;if(bt.key!=null)kt=ie.get(bt.key);else for(Ae=j;Ae<=ae;Ae++)if(St[Ae-j]===0&&Da(bt,z[Ae])){kt=Ae;break}kt===void 0?M(bt,ne,G,!0):(St[kt-j]=P+1,kt>=at?at=kt:ft=!0,m(bt,z[kt],I,null,ne,G,re,ge,v),Ie++)}const Xt=ft?Mm(St):jn;for(Ae=Xt.length-1,P=Ke-1;P>=0;P--){const bt=j+P,kt=z[bt],co=z[bt+1],V=bt+1{const{el:G,type:re,transition:ge,children:v,shapeFlag:P}=N;if(P&6){X(N.component.subTree,z,I,Q);return}if(P&128){N.suspense.move(z,I,Q);return}if(P&64){re.move(N,z,I,q);return}if(re===Ue){n(G,z,I);for(let H=0;Hge.enter(G),ne));else{const{leave:H,delayLeave:ae,afterLeave:ce}=ge,j=()=>{N.ctx.isUnmounted?a(G):n(G,z,I)},ie=()=>{const Ae=G._isLeaving||!!G[ii];G._isLeaving&&G[ii](!0),ge.persisted&&!Ae?j():H(G,()=>{j(),ce&&ce()})};ae?ae(G,j,ie):ie()}else n(G,z,I)},M=(N,z,I,Q=!1,ne=!1)=>{const{type:G,props:re,ref:ge,children:v,dynamicChildren:P,shapeFlag:Y,patchFlag:H,dirs:ae,cacheIndex:ce,memo:j}=N;if(H===-2&&(ne=!1),ge!=null&&(xo(),Ra(ge,null,I,N,!0),So()),ce!=null&&(z.renderCache[ce]=void 0),Y&256){z.ctx.deactivate(N);return}const ie=Y&1&&ae,Ae=!Zn(N);let Ie;if(Ae&&(Ie=re&&re.onVnodeBeforeUnmount)&&Eo(Ie,z,N),Y&6)ke(N.component,I,Q);else{if(Y&128){N.suspense.unmount(I,Q);return}ie&&Sn(N,null,z,"beforeUnmount"),Y&64?N.type.remove(N,z,I,q,Q):P&&!P.hasOnce&&(G!==Ue||H>0&&H&64)?we(P,z,I,!1,!0):(G===Ue&&H&384||!ne&&Y&16)&&we(v,z,I),Q&&ue(N)}const Ke=j!=null&&ce==null;(Ae&&(Ie=re&&re.onVnodeUnmounted)||ie||Ke)&&Kt(()=>{Ie&&Eo(Ie,z,N),ie&&Sn(N,null,z,"unmounted"),Ke&&(N.el=null)},I)},ue=N=>{const{type:z,el:I,anchor:Q,transition:ne}=N;if(z===Ue){be(I,Q);return}if(z===_i){k(N);return}const G=()=>{a(I),ne&&!ne.persisted&&ne.afterLeave&&ne.afterLeave()};if(N.shapeFlag&1&&ne&&!ne.persisted){const{leave:re,delayLeave:ge}=ne,v=()=>re(I,G);ge?ge(N.el,G,v):v()}else G()},be=(N,z)=>{let I;for(;N!==z;)I=g(N),a(N),N=I;a(z)},ke=(N,z,I)=>{const{bum:Q,scope:ne,job:G,subTree:re,um:ge,m:v,a:P}=N;Tu(v),Tu(P),Q&&ks(Q),ne.stop(),G&&(G.flags|=8,M(re,N,z,I)),ge&&Kt(ge,z),Kt(()=>{N.isUnmounted=!0},z)},we=(N,z,I,Q=!1,ne=!1,G=0)=>{for(let re=G;re{if(N.shapeFlag&6)return me(N.component.subTree);if(N.shapeFlag&128)return N.suspense.next();const z=g(N.anchor||N.el),I=z&&z[Zc];return I?g(I):z};let J=!1;const fe=(N,z,I)=>{let Q;N==null?z._vnode&&(M(z._vnode,null,null,!0),Q=z._vnode.component):m(z._vnode||null,N,z,null,null,null,I),z._vnode=N,J||(J=!0,Wc(Q),Kc(),J=!1)},q={p:m,um:M,m:X,r:ue,mt:pe,mc:x,pc:T,pbc:K,n:me,o:e};return{render:fe,hydrate:void 0,createApp:_m(fe)}}function bi({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Cn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Im(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $i(e,t,o=!1){const n=e.children,a=t.children;if(Me(n)&&Me(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function Cu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Cu(t)}function Tu(e){if(e)for(let t=0;te.__isSuspense;function Om(e,t){t&&t.pendingBranch?Me(e)?t.effects.push(...e):t.effects.push(e):jh(e)}const Ue=Symbol.for("v-fgt"),Ia=Symbol.for("v-txt"),Co=Symbol.for("v-cmt"),_i=Symbol.for("v-stc"),Ko=[];let to=null;function oe(e=!1){Ko.push(to=e?null:[])}function yi(){Ko.pop(),to=Ko[Ko.length-1]||null}let Ma=1;function Ys(e,t=!1){Ma+=e,e<0&&to&&t&&(to.hasOnce=!0)}function Fu(e){return e.dynamicChildren=Ma>0?to||jn:null,yi(),Ma>0&&to&&to.push(e),e}function de(e,t,o,n,a,s){return Fu(O(e,t,o,n,a,s,!0))}function Ze(e,t,o,n,a){return Fu(nt(e,t,o,n,a,!0))}function Oa(e){return e?e.__v_isVNode===!0:!1}function Da(e,t){return e.type===t.type&&e.key===t.key}const Nu=({key:e})=>e??null,Zs=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?lt(e)||dt(e)||De(e)?{i:Nt,r:e,k:t,f:!!o}:e:null);function O(e,t=null,o=null,n=0,a=null,s=e===Ue?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Nu(t),ref:t&&Zs(t),scopeId:qc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Nt};return i?(Xs(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=lt(o)?8:16),Ma>0&&!r&&to&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&to.push(l),l}const nt=Dm;function Dm(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===su)&&(e=Co),Oa(e)){const i=Xn(e,t,!0);return o&&Xs(i,o),Ma>0&&!s&&to&&(i.shapeFlag&6?to[to.indexOf(e)]=i:to.push(i)),i.patchFlag=-2,i}if(Zm(e)&&(e=e.__vccOpts),t){t=Gm(t);let{class:i,style:l}=t;i&&!lt(i)&&(t.class=Fe(i)),ot(l)&&(Fs(l)&&!Me(l)&&(l=$t({},l)),t.style=pt(l))}const r=lt(e)?1:Ru(e)?128:zs(e)?64:ot(e)?4:De(e)?2:0;return O(e,t,o,n,a,r,s,!0)}function Gm(e){return e?Fs(e)||wu(e)?$t({},e):e:null}function Xn(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?zm(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Nu(c),ref:t&&t.ref?o&&s?Me(s)?s.concat(Zs(t)):[s,Zs(t)]:Zs(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xn(e.ssContent),ssFallback:e.ssFallback&&Xn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&li(u,l.clone(u)),u}function At(e=" ",t=0){return nt(Ia,null,e,t)}function Se(e="",t=!1){return t?(oe(),Ze(Co,null,e)):nt(Co,null,e)}function To(e){return e==null||typeof e=="boolean"?nt(Co):Me(e)?nt(Ue,null,e.slice()):Oa(e)?Vo(e):nt(Ia,null,String(e))}function Vo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xn(e)}function Xs(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Me(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Xs(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!wu(t)?t._ctx=Nt:a===3&&Nt&&(Nt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(De(t)){if(n&65){Xs(e,{default:t});return}t={default:t,_ctx:Nt},o=32}else t=String(t),n&64?(o=16,t=[At(t)]):o=8;e.children=t,e.shapeFlag|=o}function zm(...e){const t={};for(let o=0;oIt||Nt;let Js,Ga;{const e=xs(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Js=t("__VUE_INSTANCE_SETTERS__",o=>It=o),Ga=t("__VUE_SSR_SETTERS__",o=>Jn=o)}const za=e=>{const t=It;return Js(e),e.scope.on(),()=>{e.scope.off(),Js(t)}},Iu=()=>{It&&It.scope.off(),Js(null)};function Mu(e){return e.vnode.shapeFlag&4}let Jn=!1;function Hm(e,t=!1,o=!1){t&&Ga(t);const{props:n,children:a}=e.vnode,s=Mu(e);Am(e,n,s,t),Em(e,a,o||t);const r=s?Wm(e,t):void 0;return t&&Ga(!1),r}function Wm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,dm);const{setup:n}=o;if(n){xo();const a=e.setupContext=n.length>1?Vm(e):null,s=za(e),r=Vn(n,e,0,[e.props,a]),i=uc(r);if(So(),s(),(i||e.sp)&&!Zn(e)&&ci(e),i){if(r.then(Iu,Iu),t)return r.then(l=>{Ga(!0);try{Ou(e,l,t)}finally{Ga(!1)}}).catch(l=>{La(l,e,0)});e.asyncDep=r}else Ou(e,r)}else Du(e)}function Ou(e,t,o){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ot(t)&&(e.setupState=zc(t)),Du(e)}function Du(e,t,o){const n=e.type;e.render||(e.render=n.render||wo);{const a=za(e);xo();try{gm(e)}finally{So(),a()}}}const Km={get(e,t){return zt(e,"get",""),e[t]}};function Vm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Km),slots:e.slots,emit:e.emit,expose:t}}function Qs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zc(Wn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Fa)return Fa[o](e)},has(t,o){return o in t||o in Fa}})):e.proxy}const qm=/(?:^|[-_])\w/g,Ym=e=>e.replace(qm,t=>t.toUpperCase()).replace(/[-_]/g,"");function Gu(e,t=!0){return De(e)?e.displayName||e.name:e.name||t&&e.__name}function zu(e,t,o=!1){let n=Gu(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Ym(n):o?"App":"Anonymous"}function Zm(e){return De(e)&&"__vccOpts"in e}const te=(e,t)=>Fh(e,t,Jn);function Bu(e,t,o){try{Ys(-1);const n=arguments.length;return n===2?ot(t)&&!Me(t)?Oa(t)?nt(e,null,[t]):nt(e,t):nt(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Oa(o)&&(o=[o]),nt(e,t,o))}finally{Ys(1)}}const Xm="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -40,7 +40,14 @@ * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const N1="9.14.5";function I1(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ha().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ha().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ha().__INTLIFY_PROD_DEVTOOLS__=!1)}const M1=p1.__EXTEND_POINT__,Xo=lr(M1);Xo(),Xo(),Xo(),Xo(),Xo(),Xo(),Xo(),Xo(),Xo();const id=Fo.__EXTEND_POINT__,Zt=lr(id),Lt={UNEXPECTED_RETURN_TYPE:id,INVALID_ARGUMENT:Zt(),MUST_BE_CALL_SETUP_TOP:Zt(),NOT_INSTALLED:Zt(),NOT_AVAILABLE_IN_LEGACY_MODE:Zt(),REQUIRED_VALUE:Zt(),INVALID_VALUE:Zt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Zt(),NOT_INSTALLED_WITH_PROVIDE:Zt(),UNEXPECTED_ERROR:Zt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Zt(),BRIDGE_SUPPORT_VUE_2_ONLY:Zt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Zt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Zt(),__EXTEND_POINT__:Zt()};function Rt(e,...t){return oa(e,null,void 0)}const Wi=ln("__translateVNode"),Ki=ln("__datetimeParts"),Vi=ln("__numberParts"),ld=ln("__setPluralRules"),cd=ln("__injectWithOption"),qi=ln("__dispose");function qa(e){if(!Xe(e)||Ro(e))return e;for(const t in e)if(bo(e,t))if(!t.includes("."))Xe(e[t])&&qa(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||rt(),ur(c,r[l])):ur(c,r)}else Pe(i)&&ur(JSON.parse(i),r)}),a==null&&s)for(const i in r)bo(r,i)&&qa(r[i]);return r}function ud(e){return e.type}function pd(e,t,o){let n=Xe(t.messages)?t.messages:rt();"__i18nGlobal"in o&&(n=hr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Xe(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Xe(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function dd(e){return nt(Ia,null,e,0)}const gd="__INTLIFY_META__",fd=()=>[],O1=()=>!1;let hd=0;function md(e){return(t,o,n,a)=>e(o,n,mo()||void 0,a)}const D1=()=>{const e=mo();let t=null;return e&&(t=ud(e)[gd])?{[gd]:t}:null};function Yi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=rr?_e:Pa,i=!!e.translateExistCompatible;let l=Ve(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:Pe(e.locale)?e.locale:sa),u=r(o&&l?o.fallbackLocale.value:Pe(e.fallbackLocale)||gt(e.fallbackLocale)||ze(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=r(hr(c.value,e)),g=r(ze(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),L=r(ze(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Ve(e.missingWarn)||cn(e.missingWarn)?e.missingWarn:!0,m=o?o.fallbackWarn:Ve(e.fallbackWarn)||cn(e.fallbackWarn)?e.fallbackWarn:!0,b=o?o.fallbackRoot:Ve(e.fallbackRoot)?e.fallbackRoot:!0,$=!!e.fallbackFormat,d=ut(e.missing)?e.missing:null,f=ut(e.missing)?md(e.missing):null,k=ut(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter;const _=o?o.modifiers:ze(e.modifiers)?e.modifiers:{};let x=e.pluralRules||o&&o.pluralRules,C;C=(()=>{a&&qp(null);const j={version:N1,locale:c.value,fallbackLocale:u.value,messages:h.value,modifiers:_,pluralRules:x,missing:f===null?void 0:f,missingWarn:w,fallbackWarn:m,fallbackFormat:$,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:p,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=g.value,j.numberFormats=L.value,j.__datetimeFormatters=ze(C)?C.__datetimeFormatters:void 0,j.__numberFormatters=ze(C)?C.__numberFormatters:void 0;const ie=k1(j);return a&&qp(ie),ie})(),Va(C,c.value,u.value);function ee(){return[c.value,u.value,h.value,g.value,L.value]}const Z=te({get:()=>c.value,set:j=>{c.value=j,C.locale=c.value}}),W=te({get:()=>u.value,set:j=>{u.value=j,C.fallbackLocale=u.value,Va(C,c.value,j)}}),pe=te(()=>h.value),B=te(()=>g.value),y=te(()=>L.value);function E(){return ut(k)?k:null}function T(j){k=j,C.postTranslation=j}function R(){return d}function D(j){j!==null&&(f=md(j)),d=j,C.missing=f}const X=(j,ie,Ae,Ie,Ke,ft)=>{ee();let at;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=o?w1():void 0),at=j(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(Ae!=="translate exists"&&vt(at)&&at===gr||Ae==="translate exists"&&!at){const[St,Xt]=ie();return o&&b?Ie(o):Ke(St)}else{if(ft(at))return at;throw Rt(Lt.UNEXPECTED_RETURN_TYPE)}};function M(...j){return X(ie=>Reflect.apply(Jp,null,[ie,...j]),()=>ji(...j),"translate",ie=>Reflect.apply(ie.t,ie,[...j]),ie=>ie,ie=>Pe(ie))}function ue(...j){const[ie,Ae,Ie]=j;if(Ie&&!Xe(Ie))throw Rt(Lt.INVALID_ARGUMENT);return M(ie,Ae,Mt({resolvedMessage:!0},Ie||{}))}function be(...j){return X(ie=>Reflect.apply(td,null,[ie,...j]),()=>Ui(...j),"datetime format",ie=>Reflect.apply(ie.d,ie,[...j]),()=>Bp,ie=>Pe(ie))}function ke(...j){return X(ie=>Reflect.apply(ad,null,[ie,...j]),()=>Hi(...j),"number format",ie=>Reflect.apply(ie.n,ie,[...j]),()=>Bp,ie=>Pe(ie))}function we(j){return j.map(ie=>Pe(ie)||vt(ie)||Ve(ie)?dd(String(ie)):ie)}const J={normalize:we,interpolate:j=>j,type:"vnode"};function fe(...j){return X(ie=>{let Ae;const Ie=ie;try{Ie.processor=J,Ae=Reflect.apply(Jp,null,[Ie,...j])}finally{Ie.processor=null}return Ae},()=>ji(...j),"translate",ie=>ie[Wi](...j),ie=>[dd(ie)],ie=>gt(ie))}function q(...j){return X(ie=>Reflect.apply(ad,null,[ie,...j]),()=>Hi(...j),"number format",ie=>ie[Vi](...j),fd,ie=>Pe(ie)||gt(ie))}function xe(...j){return X(ie=>Reflect.apply(td,null,[ie,...j]),()=>Ui(...j),"datetime format",ie=>ie[Ki](...j),fd,ie=>Pe(ie)||gt(ie))}function N(j){x=j,C.pluralRules=x}function z(j,ie){return X(()=>{if(!j)return!1;const Ae=Pe(ie)?ie:c.value,Ie=ne(Ae),Ke=C.messageResolver(Ie,j);return i?Ke!=null:Ro(Ke)||io(Ke)||Pe(Ke)},()=>[j],"translate exists",Ae=>Reflect.apply(Ae.te,Ae,[j,ie]),O1,Ae=>Ve(Ae))}function I(j){let ie=null;const Ae=Gp(C,u.value,c.value);for(let Ie=0;Ie{l&&(c.value=j,C.locale=j,Va(C,c.value,u.value))}),Ne(o.fallbackLocale,j=>{l&&(u.value=j,C.fallbackLocale=j,Va(C,c.value,u.value))}));const ce={id:hd,locale:Z,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Va(C,c.value,u.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:pe,get modifiers(){return _},get pluralRules(){return x||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(j){w=j,C.missingWarn=w},get fallbackWarn(){return m},set fallbackWarn(j){m=j,C.fallbackWarn=m},get fallbackRoot(){return b},set fallbackRoot(j){b=j},get fallbackFormat(){return $},set fallbackFormat(j){$=j,C.fallbackFormat=$},get warnHtmlMessage(){return A},set warnHtmlMessage(j){A=j,C.warnHtmlMessage=j},get escapeParameter(){return p},set escapeParameter(j){p=j,C.escapeParameter=j},t:M,getLocaleMessage:ne,setLocaleMessage:G,mergeLocaleMessage:re,getPostTranslationHandler:E,setPostTranslationHandler:T,getMissingHandler:R,setMissingHandler:D,[ld]:N};return ce.datetimeFormats=B,ce.numberFormats=y,ce.rt=ue,ce.te=z,ce.tm=Q,ce.d=be,ce.n=ke,ce.getDateTimeFormat=ge,ce.setDateTimeFormat=v,ce.mergeDateTimeFormat=P,ce.getNumberFormat=Y,ce.setNumberFormat=H,ce.mergeNumberFormat=ae,ce[cd]=n,ce[Wi]=fe,ce[Ki]=xe,ce[Vi]=q,ce}function G1(e){const t=Pe(e.locale)?e.locale:sa,o=Pe(e.fallbackLocale)||gt(e.fallbackLocale)||ze(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ut(e.missing)?e.missing:void 0,a=Ve(e.silentTranslationWarn)||cn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ve(e.silentFallbackWarn)||cn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=Ve(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ze(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ut(e.postTranslation)?e.postTranslation:void 0,h=Pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,L=Ve(e.sync)?e.sync:!0;let w=e.messages;if(ze(e.sharedMessages)){const p=e.sharedMessages;w=Object.keys(p).reduce((x,C)=>{const K=x[C]||(x[C]={});return Mt(K,p[C]),x},w||{})}const{__i18n:m,__root:b,__injectWithOption:$}=e,d=e.datetimeFormats,f=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:k,datetimeFormats:d,numberFormats:f,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:h,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:L,translateExistCompatible:A,__i18n:m,__root:b,__injectWithOption:$}}function Zi(e={},t){{const o=Yi(G1(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Ve(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ve(s)?!s:s},get silentFallbackWarn(){return Ve(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ve(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,h=null;if(!Pe(r))throw Rt(Lt.INVALID_ARGUMENT);const g=r;return Pe(i)?c.locale=i:gt(i)?u=i:ze(i)&&(h=i),gt(l)?u=l:ze(l)&&(h=l),Reflect.apply(o.t,o,[g,u||h||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,h=null;if(!Pe(r))throw Rt(Lt.INVALID_ARGUMENT);const g=r;return Pe(i)?c.locale=i:vt(i)?c.plural=i:gt(i)?u=i:ze(i)&&(h=i),Pe(l)?c.locale=l:gt(l)?u=l:ze(l)&&(h=l),Reflect.apply(o.t,o,[g,u||h||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Xi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function z1({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ue?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},rt())}function bd(e){return Ue}const $d=Ea({name:"i18n-t",props:Mt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>vt(e)||!isNaN(e)}},Xi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||_t({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(h=>h!=="_"),r=rt();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=Pe(e.plural)?+e.plural:e.plural);const i=z1(t,s),l=a[Wi](e.keypath,i,r),c=Mt(rt(),n),u=Pe(e.tag)||Xe(e.tag)?e.tag:bd();return Bu(u,c,l)}}});function B1(e){return gt(e)&&!Pe(e[0])}function _d(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=rt();e.locale&&(r.locale=e.locale),Pe(e.format)?r.key=e.format:Xe(e.format)&&(Pe(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((g,L)=>o.includes(L)?Mt(rt(),g,{[L]:e.format[L]}):g,rt()));const l=n(e.value,r,i);let c=[r.key];gt(l)?c=l.map((g,L)=>{const w=a[g.type],m=w?w({[g.type]:g.value,index:L,parts:l}):[g.value];return B1(m)&&(m[0].key=`${g.type}-${L}`),m}):Pe(l)&&(c=[l]);const u=Mt(rt(),s),h=Pe(e.tag)||Xe(e.tag)?e.tag:bd();return Bu(h,u,c)}}const yd=Ea({name:"i18n-n",props:Mt({value:{type:Number,required:!0},format:{type:[String,Object]}},Xi),setup(e,t){const o=e.i18n||_t({useScope:e.scope,__useComponent:!0});return _d(e,t,sd,(...n)=>o[Vi](...n))}}),vd=Ea({name:"i18n-d",props:Mt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Xi),setup(e,t){const o=e.i18n||_t({useScope:e.scope,__useComponent:!0});return _d(e,t,od,(...n)=>o[Ki](...n))}});function j1(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function U1(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Rt(Lt.UNEXPECTED_ERROR);const u=j1(e,i.$),h=wd(c);return[Reflect.apply(u.t,u,[...kd(h)]),u]};return{created:(r,i)=>{const[l,c]=t(i);rr&&e.global===c&&(r.__i18nWatcher=Ne(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{rr&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=wd(i);r.textContent=Reflect.apply(l.t,l,[...kd(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function wd(e){if(Pe(e))return{path:e};if(ze(e)){if(!("path"in e))throw Rt(Lt.REQUIRED_VALUE,"path");return e}else throw Rt(Lt.INVALID_VALUE)}function kd(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return Pe(o)&&(r.locale=o),vt(a)&&(r.plural=a),vt(s)&&(r.plural=s),[t,i,r]}function H1(e,t,...o){const n=ze(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ve(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":$d.name,"I18nT"].forEach(r=>e.component(r,$d)),[yd.name,"I18nN"].forEach(r=>e.component(r,yd)),[vd.name,"I18nD"].forEach(r=>e.component(r,vd))),e.directive("t",U1(t))}function W1(e,t,o){return{beforeCreate(){const n=mo();if(!n)throw Rt(Lt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=xd(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Zi(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xd(e,a);else{this.$i18n=Zi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&pd(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=mo();if(!n)throw Rt(Lt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function xd(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[ld](t.pluralizationRules||e.pluralizationRules);const o=hr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const K1=ln("global-vue-i18n");function V1(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ve(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ve(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=q1(e,o),l=ln("");function c(g){return s.get(g)||null}function u(g,L){s.set(g,L)}function h(g){s.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(L,...w){if(L.__VUE_I18N_SYMBOL__=l,L.provide(L.__VUE_I18N_SYMBOL__,g),ze(w[0])){const $=w[0];g.__composerExtend=$.__composerExtend,g.__vueI18nExtend=$.__vueI18nExtend}let m=null;!o&&n&&(m=nw(L,g.global)),__VUE_I18N_FULL_INSTALL__&&H1(L,g,...w),__VUE_I18N_LEGACY_API__&&o&&L.mixin(W1(i,i.__composer,g));const b=L.unmount;L.unmount=()=>{m&&m(),g.dispose(),b()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:h};return g}}function _t(e={}){const t=mo();if(t==null)throw Rt(Lt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Rt(Lt.NOT_INSTALLED);const o=Y1(t),n=X1(o),a=ud(t),s=Z1(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Rt(Lt.NOT_AVAILABLE_IN_LEGACY_MODE);return tw(t,s,n,e)}if(s==="global")return pd(n,e,a),n;if(s==="parent"){let l=J1(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=Mt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Yi(l),r.__composerExtend&&(i[qi]=r.__composerExtend(i)),ew(r,t,i),r.__setInstance(t,i)}return i}function q1(e,t,o){const n=Ps();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Zi(e)):n.run(()=>Yi(e));if(a==null)throw Rt(Lt.UNEXPECTED_ERROR);return[n,a]}}function Y1(e){{const t=Ce(e.isCE?K1:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Rt(e.isCE?Lt.NOT_INSTALLED_WITH_PROVIDE:Lt.UNEXPECTED_ERROR);return t}}function Z1(e,t){return ir(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function X1(e){return e.mode==="composition"?e.global:e.global.__composer}function J1(e,t,o=!1){let n=null;const a=t.root;let s=Q1(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[cd]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Q1(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ew(e,t,o){Lo(()=>{},t),Ks(()=>{const n=o;e.__deleteInstance(t);const a=n[qi];a&&(a(),delete n[qi])},t)}function tw(e,t,o,n={}){const a=t==="local",s=Pa(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Rt(Lt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=Ve(n.inheritLocale)?n.inheritLocale:!Pe(n.locale),i=_e(!a||r?o.locale.value:Pe(n.locale)?n.locale:sa),l=_e(!a||r?o.fallbackLocale.value:Pe(n.fallbackLocale)||gt(n.fallbackLocale)||ze(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=_e(hr(i.value,n)),u=_e(ze(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),h=_e(ze(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:Ve(n.missingWarn)||cn(n.missingWarn)?n.missingWarn:!0,L=a?o.fallbackWarn:Ve(n.fallbackWarn)||cn(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Ve(n.fallbackRoot)?n.fallbackRoot:!0,m=!!n.fallbackFormat,b=ut(n.missing)?n.missing:null,$=ut(n.postTranslation)?n.postTranslation:null,d=a?o.warnHtmlMessage:Ve(n.warnHtmlMessage)?n.warnHtmlMessage:!0,f=!!n.escapeParameter,k=a?o.modifiers:ze(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function p(){return[i.value,l.value,c.value,u.value,h.value]}const _=te({get:()=>s.value?s.value.locale.value:i.value,set:I=>{s.value&&(s.value.locale.value=I),i.value=I}}),x=te({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:I=>{s.value&&(s.value.fallbackLocale.value=I),l.value=I}}),C=te(()=>s.value?s.value.messages.value:c.value),K=te(()=>u.value),ee=te(()=>h.value);function Z(){return s.value?s.value.getPostTranslationHandler():$}function W(I){s.value&&s.value.setPostTranslationHandler(I)}function pe(){return s.value?s.value.getMissingHandler():b}function B(I){s.value&&s.value.setMissingHandler(I)}function y(I){return p(),I()}function E(...I){return s.value?y(()=>Reflect.apply(s.value.t,null,[...I])):y(()=>"")}function T(...I){return s.value?Reflect.apply(s.value.rt,null,[...I]):""}function R(...I){return s.value?y(()=>Reflect.apply(s.value.d,null,[...I])):y(()=>"")}function D(...I){return s.value?y(()=>Reflect.apply(s.value.n,null,[...I])):y(()=>"")}function X(I){return s.value?s.value.tm(I):{}}function M(I,Q){return s.value?s.value.te(I,Q):!1}function ue(I){return s.value?s.value.getLocaleMessage(I):{}}function be(I,Q){s.value&&(s.value.setLocaleMessage(I,Q),c.value[I]=Q)}function ke(I,Q){s.value&&s.value.mergeLocaleMessage(I,Q)}function we(I){return s.value?s.value.getDateTimeFormat(I):{}}function me(I,Q){s.value&&(s.value.setDateTimeFormat(I,Q),u.value[I]=Q)}function J(I,Q){s.value&&s.value.mergeDateTimeFormat(I,Q)}function fe(I){return s.value?s.value.getNumberFormat(I):{}}function q(I,Q){s.value&&(s.value.setNumberFormat(I,Q),h.value[I]=Q)}function xe(I,Q){s.value&&s.value.mergeNumberFormat(I,Q)}const N={get id(){return s.value?s.value.id:-1},locale:_,fallbackLocale:x,messages:C,datetimeFormats:K,numberFormats:ee,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(I){s.value&&(s.value.inheritLocale=I)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:k},get pluralRules(){return s.value?s.value.pluralRules:A},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:g},set missingWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackWarn(){return s.value?s.value.fallbackWarn:L},set fallbackWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(I){s.value&&(s.value.fallbackRoot=I)},get fallbackFormat(){return s.value?s.value.fallbackFormat:m},set fallbackFormat(I){s.value&&(s.value.fallbackFormat=I)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:d},set warnHtmlMessage(I){s.value&&(s.value.warnHtmlMessage=I)},get escapeParameter(){return s.value?s.value.escapeParameter:f},set escapeParameter(I){s.value&&(s.value.escapeParameter=I)},t:E,getPostTranslationHandler:Z,setPostTranslationHandler:W,getMissingHandler:pe,setMissingHandler:B,rt:T,d:R,n:D,tm:X,te:M,getLocaleMessage:ue,setLocaleMessage:be,mergeLocaleMessage:ke,getDateTimeFormat:we,setDateTimeFormat:me,mergeDateTimeFormat:J,getNumberFormat:fe,setNumberFormat:q,mergeNumberFormat:xe};function z(I){I.locale.value=i.value,I.fallbackLocale.value=l.value,Object.keys(c.value).forEach(Q=>{I.mergeLocaleMessage(Q,c.value[Q])}),Object.keys(u.value).forEach(Q=>{I.mergeDateTimeFormat(Q,u.value[Q])}),Object.keys(h.value).forEach(Q=>{I.mergeNumberFormat(Q,h.value[Q])}),I.escapeParameter=f,I.fallbackFormat=m,I.fallbackRoot=w,I.fallbackWarn=L,I.missingWarn=g,I.warnHtmlMessage=d}return au(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Rt(Lt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const I=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=I.locale.value,l.value=I.fallbackLocale.value,c.value=I.messages.value,u.value=I.datetimeFormats.value,h.value=I.numberFormats.value):a&&z(I)}),N}const ow=["locale","fallbackLocale","availableLocales"],Sd=["t","rt","d","n","tm","te"];function nw(e,t){const o=Object.create(null);return ow.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Rt(Lt.UNEXPECTED_ERROR);const r=dt(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,Sd.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Rt(Lt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Sd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(I1(),b1(C1),$1(Xv),_1(Gp),__INTLIFY_PROD_DEVTOOLS__){const e=Ha();e.__INTLIFY__=!0,r1(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const aw=Object.assign({"./locales/ar/allPeopleGroups.json":Mb,"./locales/ar/aria.json":Ob,"./locales/ar/buttons.json":Db,"./locales/ar/controls.json":Gb,"./locales/ar/dashboard.json":zb,"./locales/ar/detail.json":Bb,"./locales/ar/gospel.json":jb,"./locales/ar/grid.json":Ub,"./locales/ar/legend.json":Hb,"./locales/ar/lists.json":Wb,"./locales/ar/mapui.json":Kb,"./locales/ar/messages.json":Vb,"./locales/ar/options.json":qb,"./locales/ar/pins.json":Yb,"./locales/ar/popup.json":Zb,"./locales/ar/poster.json":Xb,"./locales/ar/regions.json":Jb,"./locales/ar/religion.json":Qb,"./locales/ar/search.json":e$,"./locales/ar/share.json":t$,"./locales/ar/tabs.json":o$,"./locales/de/allPeopleGroups.json":n$,"./locales/de/aria.json":a$,"./locales/de/buttons.json":s$,"./locales/de/controls.json":r$,"./locales/de/dashboard.json":i$,"./locales/de/detail.json":l$,"./locales/de/gospel.json":c$,"./locales/de/grid.json":u$,"./locales/de/legend.json":p$,"./locales/de/lists.json":d$,"./locales/de/mapui.json":g$,"./locales/de/messages.json":f$,"./locales/de/options.json":h$,"./locales/de/pins.json":m$,"./locales/de/popup.json":b$,"./locales/de/poster.json":$$,"./locales/de/regions.json":_$,"./locales/de/religion.json":y$,"./locales/de/search.json":v$,"./locales/de/share.json":w$,"./locales/de/tabs.json":k$,"./locales/en/allPeopleGroups.json":x$,"./locales/en/aria.json":S$,"./locales/en/buttons.json":P$,"./locales/en/controls.json":A$,"./locales/en/dashboard.json":L$,"./locales/en/detail.json":C$,"./locales/en/gospel.json":T$,"./locales/en/grid.json":E$,"./locales/en/legend.json":R$,"./locales/en/lists.json":F$,"./locales/en/mapui.json":N$,"./locales/en/messages.json":I$,"./locales/en/options.json":M$,"./locales/en/pins.json":O$,"./locales/en/popup.json":D$,"./locales/en/poster.json":G$,"./locales/en/regions.json":z$,"./locales/en/religion.json":B$,"./locales/en/search.json":j$,"./locales/en/share.json":U$,"./locales/en/tabs.json":H$,"./locales/es/allPeopleGroups.json":W$,"./locales/es/aria.json":K$,"./locales/es/buttons.json":V$,"./locales/es/controls.json":q$,"./locales/es/dashboard.json":Y$,"./locales/es/detail.json":Z$,"./locales/es/gospel.json":X$,"./locales/es/grid.json":J$,"./locales/es/legend.json":Q$,"./locales/es/lists.json":e_,"./locales/es/mapui.json":t_,"./locales/es/messages.json":o_,"./locales/es/options.json":n_,"./locales/es/pins.json":a_,"./locales/es/popup.json":s_,"./locales/es/poster.json":r_,"./locales/es/regions.json":i_,"./locales/es/religion.json":l_,"./locales/es/search.json":c_,"./locales/es/share.json":u_,"./locales/es/tabs.json":p_,"./locales/fr/allPeopleGroups.json":d_,"./locales/fr/aria.json":g_,"./locales/fr/buttons.json":f_,"./locales/fr/controls.json":h_,"./locales/fr/dashboard.json":m_,"./locales/fr/detail.json":b_,"./locales/fr/gospel.json":$_,"./locales/fr/grid.json":__,"./locales/fr/legend.json":y_,"./locales/fr/lists.json":v_,"./locales/fr/mapui.json":w_,"./locales/fr/messages.json":k_,"./locales/fr/options.json":x_,"./locales/fr/pins.json":S_,"./locales/fr/popup.json":P_,"./locales/fr/poster.json":A_,"./locales/fr/regions.json":L_,"./locales/fr/religion.json":C_,"./locales/fr/search.json":T_,"./locales/fr/share.json":E_,"./locales/fr/tabs.json":R_,"./locales/hi/allPeopleGroups.json":F_,"./locales/hi/aria.json":N_,"./locales/hi/buttons.json":I_,"./locales/hi/controls.json":M_,"./locales/hi/dashboard.json":O_,"./locales/hi/detail.json":D_,"./locales/hi/gospel.json":G_,"./locales/hi/grid.json":z_,"./locales/hi/legend.json":B_,"./locales/hi/lists.json":j_,"./locales/hi/mapui.json":U_,"./locales/hi/messages.json":H_,"./locales/hi/options.json":W_,"./locales/hi/pins.json":K_,"./locales/hi/popup.json":V_,"./locales/hi/poster.json":q_,"./locales/hi/regions.json":Y_,"./locales/hi/religion.json":Z_,"./locales/hi/search.json":X_,"./locales/hi/share.json":J_,"./locales/hi/tabs.json":Q_,"./locales/it/allPeopleGroups.json":ey,"./locales/it/aria.json":ty,"./locales/it/buttons.json":oy,"./locales/it/controls.json":ny,"./locales/it/dashboard.json":ay,"./locales/it/detail.json":sy,"./locales/it/gospel.json":ry,"./locales/it/grid.json":iy,"./locales/it/legend.json":ly,"./locales/it/lists.json":cy,"./locales/it/mapui.json":uy,"./locales/it/messages.json":py,"./locales/it/options.json":dy,"./locales/it/pins.json":gy,"./locales/it/popup.json":fy,"./locales/it/poster.json":hy,"./locales/it/regions.json":my,"./locales/it/religion.json":by,"./locales/it/search.json":$y,"./locales/it/share.json":_y,"./locales/it/tabs.json":yy,"./locales/pt/allPeopleGroups.json":vy,"./locales/pt/aria.json":wy,"./locales/pt/buttons.json":ky,"./locales/pt/controls.json":xy,"./locales/pt/dashboard.json":Sy,"./locales/pt/detail.json":Py,"./locales/pt/gospel.json":Ay,"./locales/pt/grid.json":Ly,"./locales/pt/legend.json":Cy,"./locales/pt/lists.json":Ty,"./locales/pt/mapui.json":Ey,"./locales/pt/messages.json":Ry,"./locales/pt/options.json":Fy,"./locales/pt/pins.json":Ny,"./locales/pt/popup.json":Iy,"./locales/pt/poster.json":My,"./locales/pt/regions.json":Oy,"./locales/pt/religion.json":Dy,"./locales/pt/search.json":Gy,"./locales/pt/share.json":zy,"./locales/pt/tabs.json":By,"./locales/ro/allPeopleGroups.json":jy,"./locales/ro/aria.json":Uy,"./locales/ro/buttons.json":Hy,"./locales/ro/controls.json":Wy,"./locales/ro/dashboard.json":Ky,"./locales/ro/detail.json":Vy,"./locales/ro/gospel.json":qy,"./locales/ro/grid.json":Yy,"./locales/ro/legend.json":Zy,"./locales/ro/lists.json":Xy,"./locales/ro/mapui.json":Jy,"./locales/ro/messages.json":Qy,"./locales/ro/options.json":e0,"./locales/ro/pins.json":t0,"./locales/ro/popup.json":o0,"./locales/ro/poster.json":n0,"./locales/ro/regions.json":a0,"./locales/ro/religion.json":s0,"./locales/ro/search.json":r0,"./locales/ro/share.json":i0,"./locales/ro/tabs.json":l0,"./locales/ru/allPeopleGroups.json":c0,"./locales/ru/aria.json":u0,"./locales/ru/buttons.json":p0,"./locales/ru/controls.json":d0,"./locales/ru/dashboard.json":g0,"./locales/ru/detail.json":f0,"./locales/ru/gospel.json":h0,"./locales/ru/grid.json":m0,"./locales/ru/legend.json":b0,"./locales/ru/lists.json":$0,"./locales/ru/mapui.json":_0,"./locales/ru/messages.json":y0,"./locales/ru/options.json":v0,"./locales/ru/pins.json":w0,"./locales/ru/popup.json":k0,"./locales/ru/poster.json":x0,"./locales/ru/regions.json":S0,"./locales/ru/religion.json":P0,"./locales/ru/search.json":A0,"./locales/ru/share.json":L0,"./locales/ru/tabs.json":C0,"./locales/zh/allPeopleGroups.json":T0,"./locales/zh/aria.json":E0,"./locales/zh/buttons.json":R0,"./locales/zh/controls.json":F0,"./locales/zh/dashboard.json":N0,"./locales/zh/detail.json":I0,"./locales/zh/gospel.json":M0,"./locales/zh/grid.json":O0,"./locales/zh/legend.json":D0,"./locales/zh/lists.json":G0,"./locales/zh/mapui.json":z0,"./locales/zh/messages.json":B0,"./locales/zh/options.json":j0,"./locales/zh/pins.json":U0,"./locales/zh/popup.json":H0,"./locales/zh/poster.json":W0,"./locales/zh/regions.json":K0,"./locales/zh/religion.json":V0,"./locales/zh/search.json":q0,"./locales/zh/share.json":Y0,"./locales/zh/tabs.json":Z0}),Rn={};for(const[e,t]of Object.entries(aw)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Rn[n]??(Rn[n]={}),Rn[n][a]=t}Rn.en;const Ya=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Pd=new Set(["ar"]);function sw(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Ad(){var n;const e=sw();if(Ya.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Ya.includes(o)?o:"en"}function rw(){const e=Ad();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&Pd.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=Ps(!0),o=t.run(()=>V1({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:Rn,missingWarn:!1,fallbackWarn:!1}));t.run(()=>Ne(o.global.locale,a=>Cd(a),{immediate:!0}));const n=o.install.bind(o);return o.install=(a,...s)=>{const r=n(a,...s);a.provide("appI18n",o);const i=a.provide.bind(a);return a.provide=(l,c)=>l==="appI18n"&&c===o?a:i(l,c),r},o}const Ld="__DOXA_PAGE_LOCALE";function Cd(e){const t=String(e||"").split("-")[0].toLowerCase();if(Ya.includes(t))try{typeof window<"u"&&(window[Ld]=t)}catch{}}function iw(){try{return typeof window<"u"&&window[Ld]||""}catch{return""}}function jt(e,t){const o=a=>{let s=Rn[a];for(const r of String(e).split(".")){if(!s||typeof s!="object")return;s=s[r]}return typeof s=="string"?s:void 0},n=t||iw()||Ad();return o(n)??o("en")}function Td(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function mr(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function Ed(e,t={}){const o=typeof t.fallback=="function"?(n,a)=>Td(t.fallback(mr(e,n),a)??n,a):(n,a)=>Td(jt(mr(e,n))??n,a);try{const n=_t();return(a,s)=>{const r=mr(e,a),i=n.t(r,s||{});return i===r?o(a,s):i}}catch{return o}}function Rd(e,t={}){const o=Ed(e,t);try{const n=_t();return{t:o,te:a=>n.te(mr(e,a)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}function Ct(e,t){const o=mo(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:lw(e));Lo(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot))return;const r=s.querySelector(`style[data-shadow-styles="${n}"]`);if(r){r.textContent!==e&&(r.textContent=e);return}const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}function lw(e){let t=0;for(let o=0;ojt(E)||T,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=Rd("",{fallback:E=>o[E]}),s=Ce("uiStore",null),r=Ce("profileConfig",null),i=te(()=>(s==null?void 0:s.theme)==="dark"),l=te(()=>{var R;const E=(R=r==null?void 0:r.value)==null?void 0:R.pinHintLabel;if(E)return E;const T="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):T}catch{return T}}),c=_e(!1),u=_e(!0);let h=null;const g=_e(!0);let L=[];const w=["inert","hidden","aria-hidden"];function m(E){const T=[];let R=E;for(;R;)R.nodeType===1&&T.push(R),R=R.parentNode||R.host||null;return T}function b(E){return m(E).some(T=>T.hasAttribute("inert")||T.hasAttribute("hidden")||T.getAttribute("aria-hidden")==="true")}function $(E){const T=()=>{const R=!b(E);R!==g.value&&(g.value=R,R&&Ft(B))};if(T(),!(typeof MutationObserver>"u"))for(const R of m(E))try{const D=new MutationObserver(T);D.observe(R,{attributes:!0,attributeFilter:w}),L.push(D)}catch{}}const d=_e(null);let f=null,k=null,A=null,p=null,_=null,x=null,C=[],K=null,ee=null;function Z(){c.value=!1}function W(E,T){var D;let R=E==null?void 0:E.parentElement;for(let X=0;R&&X<12;X++,R=R.parentElement){if(R===T||(D=R.classList)!=null&&D.contains("profile-loader"))return null;let M="";try{M=getComputedStyle(R).position}catch{}if(M&&M!=="static"){const ue=R.getBoundingClientRect();if(ue.height>=120&&ue.width>=160)return R}}return null}function pe(E){var R;const T=(R=p==null?void 0:p.querySelector)==null?void 0:R.call(p,".legend-mobile-sheet");if(!T)return 1/0;if(_&&x!==T){try{_.disconnect()}catch{}_=null}if(!_&&typeof ResizeObserver<"u")try{_=new ResizeObserver(()=>B()),_.observe(T),x=T}catch{_=null}try{const D=T.getBoundingClientRect();return!(D.height>16)||!(D.width>16)||E.right<=D.left||D.right<=E.left?1/0:D.top}catch{return 1/0}}function B(){const E=d.value;if(!(!E||!u.value||!g.value))try{E.style.removeProperty("--pin-hint-lift");const T=E.getBoundingClientRect();if(!T.height)return;const R=Math.min(window.innerHeight,pe(T)),D=Math.round(T.bottom-R);D>0&&E.style.setProperty("--pin-hint-lift",D+8+"px")}catch{}}function y(E){const T=d.value;if(!T||!(E!=null&&E.querySelector))return;let R=0;try{const X=E.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(X){const M=X.getBoundingClientRect(),ue=T.parentElement,be=ue?ue.getBoundingClientRect():null;if(R=be?Math.max(M.height||0,be.bottom-M.top):M.height||0,ee!==X&&typeof ResizeObserver<"u"){if(A)try{A.disconnect()}catch{}ee=X,A=new ResizeObserver(()=>y(E)),A.observe(X)}}}catch{}const D=Math.min(Math.max(Math.ceil(R)||20,20),72);T.style.setProperty("--pin-hint-attrib-clear",D+"px"),B()}return Lo(()=>{var D,X,M;const E=mo(),T=(M=(X=(D=E==null?void 0:E.proxy)==null?void 0:D.$el)==null?void 0:X.getRootNode)==null?void 0:M.call(X);if(!T||typeof T.querySelector!="function")return;p=T;let R=0;f=setInterval(()=>{R++;const ue=T.querySelector("canvas");ue?(clearInterval(f),f=null,c.value=!0,Ft(()=>{const be=W(ue,T),ke=d.value;if(be&&ke&&ke.parentElement!==be)try{be.appendChild(ke),k=be}catch{}if(be&&$(be),be&&typeof IntersectionObserver<"u")try{h=new IntersectionObserver(we=>{const me=we[we.length-1],J=!!me&&me.isIntersecting&&me.intersectionRatio>=.2;J!==u.value&&(u.value=J,J&&Ft(B))},{threshold:[0,.2,.5]}),h.observe(be)}catch{}y(T),B(),C.push(setTimeout(B,1200),setTimeout(B,3e3),setTimeout(B,6e3));try{const we=d.value&&d.value.offsetParent||null;if(we&&typeof ResizeObserver<"u"){if(K)try{K.disconnect()}catch{}K=new ResizeObserver(()=>B()),K.observe(we)}}catch{}})):R>40&&(clearInterval(f),f=null)},300)}),ro(()=>{var E;if(f&&clearInterval(f),h){try{h.disconnect()}catch{}h=null}for(const T of L)try{T.disconnect()}catch{}if(L=[],A){try{A.disconnect()}catch{}A=null}if(ee=null,K){try{K.disconnect()}catch{}K=null}if(_){try{_.disconnect()}catch{}_=null}x=null;for(const T of C)clearTimeout(T);if(C=[],p=null,k&&((E=d.value)==null?void 0:E.parentElement)===k)try{k.removeChild(d.value)}catch{}k=null}),Ct(` + */const N1="9.14.5";function I1(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ha().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ha().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ha().__INTLIFY_PROD_DEVTOOLS__=!1)}const M1=p1.__EXTEND_POINT__,Xo=lr(M1);Xo(),Xo(),Xo(),Xo(),Xo(),Xo(),Xo(),Xo(),Xo();const id=Fo.__EXTEND_POINT__,Zt=lr(id),Lt={UNEXPECTED_RETURN_TYPE:id,INVALID_ARGUMENT:Zt(),MUST_BE_CALL_SETUP_TOP:Zt(),NOT_INSTALLED:Zt(),NOT_AVAILABLE_IN_LEGACY_MODE:Zt(),REQUIRED_VALUE:Zt(),INVALID_VALUE:Zt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Zt(),NOT_INSTALLED_WITH_PROVIDE:Zt(),UNEXPECTED_ERROR:Zt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Zt(),BRIDGE_SUPPORT_VUE_2_ONLY:Zt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Zt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Zt(),__EXTEND_POINT__:Zt()};function Rt(e,...t){return oa(e,null,void 0)}const Wi=ln("__translateVNode"),Ki=ln("__datetimeParts"),Vi=ln("__numberParts"),ld=ln("__setPluralRules"),cd=ln("__injectWithOption"),qi=ln("__dispose");function qa(e){if(!Xe(e)||Ro(e))return e;for(const t in e)if(bo(e,t))if(!t.includes("."))Xe(e[t])&&qa(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||rt(),ur(c,r[l])):ur(c,r)}else Pe(i)&&ur(JSON.parse(i),r)}),a==null&&s)for(const i in r)bo(r,i)&&qa(r[i]);return r}function ud(e){return e.type}function pd(e,t,o){let n=Xe(t.messages)?t.messages:rt();"__i18nGlobal"in o&&(n=hr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Xe(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Xe(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function dd(e){return nt(Ia,null,e,0)}const gd="__INTLIFY_META__",fd=()=>[],O1=()=>!1;let hd=0;function md(e){return(t,o,n,a)=>e(o,n,mo()||void 0,a)}const D1=()=>{const e=mo();let t=null;return e&&(t=ud(e)[gd])?{[gd]:t}:null};function Yi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=rr?_e:Pa,i=!!e.translateExistCompatible;let l=Ve(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:Pe(e.locale)?e.locale:sa),u=r(o&&l?o.fallbackLocale.value:Pe(e.fallbackLocale)||gt(e.fallbackLocale)||ze(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=r(hr(c.value,e)),g=r(ze(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),L=r(ze(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Ve(e.missingWarn)||cn(e.missingWarn)?e.missingWarn:!0,m=o?o.fallbackWarn:Ve(e.fallbackWarn)||cn(e.fallbackWarn)?e.fallbackWarn:!0,b=o?o.fallbackRoot:Ve(e.fallbackRoot)?e.fallbackRoot:!0,$=!!e.fallbackFormat,d=ut(e.missing)?e.missing:null,f=ut(e.missing)?md(e.missing):null,k=ut(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter;const _=o?o.modifiers:ze(e.modifiers)?e.modifiers:{};let x=e.pluralRules||o&&o.pluralRules,C;C=(()=>{a&&qp(null);const j={version:N1,locale:c.value,fallbackLocale:u.value,messages:h.value,modifiers:_,pluralRules:x,missing:f===null?void 0:f,missingWarn:w,fallbackWarn:m,fallbackFormat:$,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:p,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=g.value,j.numberFormats=L.value,j.__datetimeFormatters=ze(C)?C.__datetimeFormatters:void 0,j.__numberFormatters=ze(C)?C.__numberFormatters:void 0;const ie=k1(j);return a&&qp(ie),ie})(),Va(C,c.value,u.value);function ee(){return[c.value,u.value,h.value,g.value,L.value]}const Z=te({get:()=>c.value,set:j=>{c.value=j,C.locale=c.value}}),W=te({get:()=>u.value,set:j=>{u.value=j,C.fallbackLocale=u.value,Va(C,c.value,j)}}),pe=te(()=>h.value),B=te(()=>g.value),y=te(()=>L.value);function E(){return ut(k)?k:null}function T(j){k=j,C.postTranslation=j}function R(){return d}function D(j){j!==null&&(f=md(j)),d=j,C.missing=f}const X=(j,ie,Ae,Ie,Ke,ft)=>{ee();let at;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=o?w1():void 0),at=j(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(Ae!=="translate exists"&&vt(at)&&at===gr||Ae==="translate exists"&&!at){const[St,Xt]=ie();return o&&b?Ie(o):Ke(St)}else{if(ft(at))return at;throw Rt(Lt.UNEXPECTED_RETURN_TYPE)}};function M(...j){return X(ie=>Reflect.apply(Jp,null,[ie,...j]),()=>ji(...j),"translate",ie=>Reflect.apply(ie.t,ie,[...j]),ie=>ie,ie=>Pe(ie))}function ue(...j){const[ie,Ae,Ie]=j;if(Ie&&!Xe(Ie))throw Rt(Lt.INVALID_ARGUMENT);return M(ie,Ae,Mt({resolvedMessage:!0},Ie||{}))}function be(...j){return X(ie=>Reflect.apply(td,null,[ie,...j]),()=>Ui(...j),"datetime format",ie=>Reflect.apply(ie.d,ie,[...j]),()=>Bp,ie=>Pe(ie))}function ke(...j){return X(ie=>Reflect.apply(ad,null,[ie,...j]),()=>Hi(...j),"number format",ie=>Reflect.apply(ie.n,ie,[...j]),()=>Bp,ie=>Pe(ie))}function we(j){return j.map(ie=>Pe(ie)||vt(ie)||Ve(ie)?dd(String(ie)):ie)}const J={normalize:we,interpolate:j=>j,type:"vnode"};function fe(...j){return X(ie=>{let Ae;const Ie=ie;try{Ie.processor=J,Ae=Reflect.apply(Jp,null,[Ie,...j])}finally{Ie.processor=null}return Ae},()=>ji(...j),"translate",ie=>ie[Wi](...j),ie=>[dd(ie)],ie=>gt(ie))}function q(...j){return X(ie=>Reflect.apply(ad,null,[ie,...j]),()=>Hi(...j),"number format",ie=>ie[Vi](...j),fd,ie=>Pe(ie)||gt(ie))}function xe(...j){return X(ie=>Reflect.apply(td,null,[ie,...j]),()=>Ui(...j),"datetime format",ie=>ie[Ki](...j),fd,ie=>Pe(ie)||gt(ie))}function N(j){x=j,C.pluralRules=x}function z(j,ie){return X(()=>{if(!j)return!1;const Ae=Pe(ie)?ie:c.value,Ie=ne(Ae),Ke=C.messageResolver(Ie,j);return i?Ke!=null:Ro(Ke)||io(Ke)||Pe(Ke)},()=>[j],"translate exists",Ae=>Reflect.apply(Ae.te,Ae,[j,ie]),O1,Ae=>Ve(Ae))}function I(j){let ie=null;const Ae=Gp(C,u.value,c.value);for(let Ie=0;Ie{l&&(c.value=j,C.locale=j,Va(C,c.value,u.value))}),Ne(o.fallbackLocale,j=>{l&&(u.value=j,C.fallbackLocale=j,Va(C,c.value,u.value))}));const ce={id:hd,locale:Z,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Va(C,c.value,u.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:pe,get modifiers(){return _},get pluralRules(){return x||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(j){w=j,C.missingWarn=w},get fallbackWarn(){return m},set fallbackWarn(j){m=j,C.fallbackWarn=m},get fallbackRoot(){return b},set fallbackRoot(j){b=j},get fallbackFormat(){return $},set fallbackFormat(j){$=j,C.fallbackFormat=$},get warnHtmlMessage(){return A},set warnHtmlMessage(j){A=j,C.warnHtmlMessage=j},get escapeParameter(){return p},set escapeParameter(j){p=j,C.escapeParameter=j},t:M,getLocaleMessage:ne,setLocaleMessage:G,mergeLocaleMessage:re,getPostTranslationHandler:E,setPostTranslationHandler:T,getMissingHandler:R,setMissingHandler:D,[ld]:N};return ce.datetimeFormats=B,ce.numberFormats=y,ce.rt=ue,ce.te=z,ce.tm=Q,ce.d=be,ce.n=ke,ce.getDateTimeFormat=ge,ce.setDateTimeFormat=v,ce.mergeDateTimeFormat=P,ce.getNumberFormat=Y,ce.setNumberFormat=H,ce.mergeNumberFormat=ae,ce[cd]=n,ce[Wi]=fe,ce[Ki]=xe,ce[Vi]=q,ce}function G1(e){const t=Pe(e.locale)?e.locale:sa,o=Pe(e.fallbackLocale)||gt(e.fallbackLocale)||ze(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ut(e.missing)?e.missing:void 0,a=Ve(e.silentTranslationWarn)||cn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ve(e.silentFallbackWarn)||cn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=Ve(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ze(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ut(e.postTranslation)?e.postTranslation:void 0,h=Pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,L=Ve(e.sync)?e.sync:!0;let w=e.messages;if(ze(e.sharedMessages)){const p=e.sharedMessages;w=Object.keys(p).reduce((x,C)=>{const K=x[C]||(x[C]={});return Mt(K,p[C]),x},w||{})}const{__i18n:m,__root:b,__injectWithOption:$}=e,d=e.datetimeFormats,f=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:k,datetimeFormats:d,numberFormats:f,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:h,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:L,translateExistCompatible:A,__i18n:m,__root:b,__injectWithOption:$}}function Zi(e={},t){{const o=Yi(G1(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Ve(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ve(s)?!s:s},get silentFallbackWarn(){return Ve(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ve(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,h=null;if(!Pe(r))throw Rt(Lt.INVALID_ARGUMENT);const g=r;return Pe(i)?c.locale=i:gt(i)?u=i:ze(i)&&(h=i),gt(l)?u=l:ze(l)&&(h=l),Reflect.apply(o.t,o,[g,u||h||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,h=null;if(!Pe(r))throw Rt(Lt.INVALID_ARGUMENT);const g=r;return Pe(i)?c.locale=i:vt(i)?c.plural=i:gt(i)?u=i:ze(i)&&(h=i),Pe(l)?c.locale=l:gt(l)?u=l:ze(l)&&(h=l),Reflect.apply(o.t,o,[g,u||h||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Xi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function z1({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ue?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},rt())}function bd(e){return Ue}const $d=Ea({name:"i18n-t",props:Mt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>vt(e)||!isNaN(e)}},Xi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||_t({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(h=>h!=="_"),r=rt();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=Pe(e.plural)?+e.plural:e.plural);const i=z1(t,s),l=a[Wi](e.keypath,i,r),c=Mt(rt(),n),u=Pe(e.tag)||Xe(e.tag)?e.tag:bd();return Bu(u,c,l)}}});function B1(e){return gt(e)&&!Pe(e[0])}function _d(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=rt();e.locale&&(r.locale=e.locale),Pe(e.format)?r.key=e.format:Xe(e.format)&&(Pe(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((g,L)=>o.includes(L)?Mt(rt(),g,{[L]:e.format[L]}):g,rt()));const l=n(e.value,r,i);let c=[r.key];gt(l)?c=l.map((g,L)=>{const w=a[g.type],m=w?w({[g.type]:g.value,index:L,parts:l}):[g.value];return B1(m)&&(m[0].key=`${g.type}-${L}`),m}):Pe(l)&&(c=[l]);const u=Mt(rt(),s),h=Pe(e.tag)||Xe(e.tag)?e.tag:bd();return Bu(h,u,c)}}const yd=Ea({name:"i18n-n",props:Mt({value:{type:Number,required:!0},format:{type:[String,Object]}},Xi),setup(e,t){const o=e.i18n||_t({useScope:e.scope,__useComponent:!0});return _d(e,t,sd,(...n)=>o[Vi](...n))}}),vd=Ea({name:"i18n-d",props:Mt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Xi),setup(e,t){const o=e.i18n||_t({useScope:e.scope,__useComponent:!0});return _d(e,t,od,(...n)=>o[Ki](...n))}});function j1(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function U1(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Rt(Lt.UNEXPECTED_ERROR);const u=j1(e,i.$),h=wd(c);return[Reflect.apply(u.t,u,[...kd(h)]),u]};return{created:(r,i)=>{const[l,c]=t(i);rr&&e.global===c&&(r.__i18nWatcher=Ne(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{rr&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=wd(i);r.textContent=Reflect.apply(l.t,l,[...kd(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function wd(e){if(Pe(e))return{path:e};if(ze(e)){if(!("path"in e))throw Rt(Lt.REQUIRED_VALUE,"path");return e}else throw Rt(Lt.INVALID_VALUE)}function kd(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return Pe(o)&&(r.locale=o),vt(a)&&(r.plural=a),vt(s)&&(r.plural=s),[t,i,r]}function H1(e,t,...o){const n=ze(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ve(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":$d.name,"I18nT"].forEach(r=>e.component(r,$d)),[yd.name,"I18nN"].forEach(r=>e.component(r,yd)),[vd.name,"I18nD"].forEach(r=>e.component(r,vd))),e.directive("t",U1(t))}function W1(e,t,o){return{beforeCreate(){const n=mo();if(!n)throw Rt(Lt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=xd(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Zi(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xd(e,a);else{this.$i18n=Zi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&pd(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=mo();if(!n)throw Rt(Lt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function xd(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[ld](t.pluralizationRules||e.pluralizationRules);const o=hr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const K1=ln("global-vue-i18n");function V1(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ve(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ve(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=q1(e,o),l=ln("");function c(g){return s.get(g)||null}function u(g,L){s.set(g,L)}function h(g){s.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(L,...w){if(L.__VUE_I18N_SYMBOL__=l,L.provide(L.__VUE_I18N_SYMBOL__,g),ze(w[0])){const $=w[0];g.__composerExtend=$.__composerExtend,g.__vueI18nExtend=$.__vueI18nExtend}let m=null;!o&&n&&(m=nw(L,g.global)),__VUE_I18N_FULL_INSTALL__&&H1(L,g,...w),__VUE_I18N_LEGACY_API__&&o&&L.mixin(W1(i,i.__composer,g));const b=L.unmount;L.unmount=()=>{m&&m(),g.dispose(),b()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:h};return g}}function _t(e={}){const t=mo();if(t==null)throw Rt(Lt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Rt(Lt.NOT_INSTALLED);const o=Y1(t),n=X1(o),a=ud(t),s=Z1(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Rt(Lt.NOT_AVAILABLE_IN_LEGACY_MODE);return tw(t,s,n,e)}if(s==="global")return pd(n,e,a),n;if(s==="parent"){let l=J1(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=Mt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Yi(l),r.__composerExtend&&(i[qi]=r.__composerExtend(i)),ew(r,t,i),r.__setInstance(t,i)}return i}function q1(e,t,o){const n=Ps();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Zi(e)):n.run(()=>Yi(e));if(a==null)throw Rt(Lt.UNEXPECTED_ERROR);return[n,a]}}function Y1(e){{const t=Ce(e.isCE?K1:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Rt(e.isCE?Lt.NOT_INSTALLED_WITH_PROVIDE:Lt.UNEXPECTED_ERROR);return t}}function Z1(e,t){return ir(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function X1(e){return e.mode==="composition"?e.global:e.global.__composer}function J1(e,t,o=!1){let n=null;const a=t.root;let s=Q1(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[cd]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Q1(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ew(e,t,o){Lo(()=>{},t),Ks(()=>{const n=o;e.__deleteInstance(t);const a=n[qi];a&&(a(),delete n[qi])},t)}function tw(e,t,o,n={}){const a=t==="local",s=Pa(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Rt(Lt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=Ve(n.inheritLocale)?n.inheritLocale:!Pe(n.locale),i=_e(!a||r?o.locale.value:Pe(n.locale)?n.locale:sa),l=_e(!a||r?o.fallbackLocale.value:Pe(n.fallbackLocale)||gt(n.fallbackLocale)||ze(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=_e(hr(i.value,n)),u=_e(ze(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),h=_e(ze(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:Ve(n.missingWarn)||cn(n.missingWarn)?n.missingWarn:!0,L=a?o.fallbackWarn:Ve(n.fallbackWarn)||cn(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Ve(n.fallbackRoot)?n.fallbackRoot:!0,m=!!n.fallbackFormat,b=ut(n.missing)?n.missing:null,$=ut(n.postTranslation)?n.postTranslation:null,d=a?o.warnHtmlMessage:Ve(n.warnHtmlMessage)?n.warnHtmlMessage:!0,f=!!n.escapeParameter,k=a?o.modifiers:ze(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function p(){return[i.value,l.value,c.value,u.value,h.value]}const _=te({get:()=>s.value?s.value.locale.value:i.value,set:I=>{s.value&&(s.value.locale.value=I),i.value=I}}),x=te({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:I=>{s.value&&(s.value.fallbackLocale.value=I),l.value=I}}),C=te(()=>s.value?s.value.messages.value:c.value),K=te(()=>u.value),ee=te(()=>h.value);function Z(){return s.value?s.value.getPostTranslationHandler():$}function W(I){s.value&&s.value.setPostTranslationHandler(I)}function pe(){return s.value?s.value.getMissingHandler():b}function B(I){s.value&&s.value.setMissingHandler(I)}function y(I){return p(),I()}function E(...I){return s.value?y(()=>Reflect.apply(s.value.t,null,[...I])):y(()=>"")}function T(...I){return s.value?Reflect.apply(s.value.rt,null,[...I]):""}function R(...I){return s.value?y(()=>Reflect.apply(s.value.d,null,[...I])):y(()=>"")}function D(...I){return s.value?y(()=>Reflect.apply(s.value.n,null,[...I])):y(()=>"")}function X(I){return s.value?s.value.tm(I):{}}function M(I,Q){return s.value?s.value.te(I,Q):!1}function ue(I){return s.value?s.value.getLocaleMessage(I):{}}function be(I,Q){s.value&&(s.value.setLocaleMessage(I,Q),c.value[I]=Q)}function ke(I,Q){s.value&&s.value.mergeLocaleMessage(I,Q)}function we(I){return s.value?s.value.getDateTimeFormat(I):{}}function me(I,Q){s.value&&(s.value.setDateTimeFormat(I,Q),u.value[I]=Q)}function J(I,Q){s.value&&s.value.mergeDateTimeFormat(I,Q)}function fe(I){return s.value?s.value.getNumberFormat(I):{}}function q(I,Q){s.value&&(s.value.setNumberFormat(I,Q),h.value[I]=Q)}function xe(I,Q){s.value&&s.value.mergeNumberFormat(I,Q)}const N={get id(){return s.value?s.value.id:-1},locale:_,fallbackLocale:x,messages:C,datetimeFormats:K,numberFormats:ee,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(I){s.value&&(s.value.inheritLocale=I)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:k},get pluralRules(){return s.value?s.value.pluralRules:A},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:g},set missingWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackWarn(){return s.value?s.value.fallbackWarn:L},set fallbackWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(I){s.value&&(s.value.fallbackRoot=I)},get fallbackFormat(){return s.value?s.value.fallbackFormat:m},set fallbackFormat(I){s.value&&(s.value.fallbackFormat=I)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:d},set warnHtmlMessage(I){s.value&&(s.value.warnHtmlMessage=I)},get escapeParameter(){return s.value?s.value.escapeParameter:f},set escapeParameter(I){s.value&&(s.value.escapeParameter=I)},t:E,getPostTranslationHandler:Z,setPostTranslationHandler:W,getMissingHandler:pe,setMissingHandler:B,rt:T,d:R,n:D,tm:X,te:M,getLocaleMessage:ue,setLocaleMessage:be,mergeLocaleMessage:ke,getDateTimeFormat:we,setDateTimeFormat:me,mergeDateTimeFormat:J,getNumberFormat:fe,setNumberFormat:q,mergeNumberFormat:xe};function z(I){I.locale.value=i.value,I.fallbackLocale.value=l.value,Object.keys(c.value).forEach(Q=>{I.mergeLocaleMessage(Q,c.value[Q])}),Object.keys(u.value).forEach(Q=>{I.mergeDateTimeFormat(Q,u.value[Q])}),Object.keys(h.value).forEach(Q=>{I.mergeNumberFormat(Q,h.value[Q])}),I.escapeParameter=f,I.fallbackFormat=m,I.fallbackRoot=w,I.fallbackWarn=L,I.missingWarn=g,I.warnHtmlMessage=d}return au(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Rt(Lt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const I=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=I.locale.value,l.value=I.fallbackLocale.value,c.value=I.messages.value,u.value=I.datetimeFormats.value,h.value=I.numberFormats.value):a&&z(I)}),N}const ow=["locale","fallbackLocale","availableLocales"],Sd=["t","rt","d","n","tm","te"];function nw(e,t){const o=Object.create(null);return ow.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Rt(Lt.UNEXPECTED_ERROR);const r=dt(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,Sd.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Rt(Lt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Sd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(I1(),b1(C1),$1(Xv),_1(Gp),__INTLIFY_PROD_DEVTOOLS__){const e=Ha();e.__INTLIFY__=!0,r1(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const aw=Object.assign({"./locales/ar/allPeopleGroups.json":Mb,"./locales/ar/aria.json":Ob,"./locales/ar/buttons.json":Db,"./locales/ar/controls.json":Gb,"./locales/ar/dashboard.json":zb,"./locales/ar/detail.json":Bb,"./locales/ar/gospel.json":jb,"./locales/ar/grid.json":Ub,"./locales/ar/legend.json":Hb,"./locales/ar/lists.json":Wb,"./locales/ar/mapui.json":Kb,"./locales/ar/messages.json":Vb,"./locales/ar/options.json":qb,"./locales/ar/pins.json":Yb,"./locales/ar/popup.json":Zb,"./locales/ar/poster.json":Xb,"./locales/ar/regions.json":Jb,"./locales/ar/religion.json":Qb,"./locales/ar/search.json":e$,"./locales/ar/share.json":t$,"./locales/ar/tabs.json":o$,"./locales/de/allPeopleGroups.json":n$,"./locales/de/aria.json":a$,"./locales/de/buttons.json":s$,"./locales/de/controls.json":r$,"./locales/de/dashboard.json":i$,"./locales/de/detail.json":l$,"./locales/de/gospel.json":c$,"./locales/de/grid.json":u$,"./locales/de/legend.json":p$,"./locales/de/lists.json":d$,"./locales/de/mapui.json":g$,"./locales/de/messages.json":f$,"./locales/de/options.json":h$,"./locales/de/pins.json":m$,"./locales/de/popup.json":b$,"./locales/de/poster.json":$$,"./locales/de/regions.json":_$,"./locales/de/religion.json":y$,"./locales/de/search.json":v$,"./locales/de/share.json":w$,"./locales/de/tabs.json":k$,"./locales/en/allPeopleGroups.json":x$,"./locales/en/aria.json":S$,"./locales/en/buttons.json":P$,"./locales/en/controls.json":A$,"./locales/en/dashboard.json":L$,"./locales/en/detail.json":C$,"./locales/en/gospel.json":T$,"./locales/en/grid.json":E$,"./locales/en/legend.json":R$,"./locales/en/lists.json":F$,"./locales/en/mapui.json":N$,"./locales/en/messages.json":I$,"./locales/en/options.json":M$,"./locales/en/pins.json":O$,"./locales/en/popup.json":D$,"./locales/en/poster.json":G$,"./locales/en/regions.json":z$,"./locales/en/religion.json":B$,"./locales/en/search.json":j$,"./locales/en/share.json":U$,"./locales/en/tabs.json":H$,"./locales/es/allPeopleGroups.json":W$,"./locales/es/aria.json":K$,"./locales/es/buttons.json":V$,"./locales/es/controls.json":q$,"./locales/es/dashboard.json":Y$,"./locales/es/detail.json":Z$,"./locales/es/gospel.json":X$,"./locales/es/grid.json":J$,"./locales/es/legend.json":Q$,"./locales/es/lists.json":e_,"./locales/es/mapui.json":t_,"./locales/es/messages.json":o_,"./locales/es/options.json":n_,"./locales/es/pins.json":a_,"./locales/es/popup.json":s_,"./locales/es/poster.json":r_,"./locales/es/regions.json":i_,"./locales/es/religion.json":l_,"./locales/es/search.json":c_,"./locales/es/share.json":u_,"./locales/es/tabs.json":p_,"./locales/fr/allPeopleGroups.json":d_,"./locales/fr/aria.json":g_,"./locales/fr/buttons.json":f_,"./locales/fr/controls.json":h_,"./locales/fr/dashboard.json":m_,"./locales/fr/detail.json":b_,"./locales/fr/gospel.json":$_,"./locales/fr/grid.json":__,"./locales/fr/legend.json":y_,"./locales/fr/lists.json":v_,"./locales/fr/mapui.json":w_,"./locales/fr/messages.json":k_,"./locales/fr/options.json":x_,"./locales/fr/pins.json":S_,"./locales/fr/popup.json":P_,"./locales/fr/poster.json":A_,"./locales/fr/regions.json":L_,"./locales/fr/religion.json":C_,"./locales/fr/search.json":T_,"./locales/fr/share.json":E_,"./locales/fr/tabs.json":R_,"./locales/hi/allPeopleGroups.json":F_,"./locales/hi/aria.json":N_,"./locales/hi/buttons.json":I_,"./locales/hi/controls.json":M_,"./locales/hi/dashboard.json":O_,"./locales/hi/detail.json":D_,"./locales/hi/gospel.json":G_,"./locales/hi/grid.json":z_,"./locales/hi/legend.json":B_,"./locales/hi/lists.json":j_,"./locales/hi/mapui.json":U_,"./locales/hi/messages.json":H_,"./locales/hi/options.json":W_,"./locales/hi/pins.json":K_,"./locales/hi/popup.json":V_,"./locales/hi/poster.json":q_,"./locales/hi/regions.json":Y_,"./locales/hi/religion.json":Z_,"./locales/hi/search.json":X_,"./locales/hi/share.json":J_,"./locales/hi/tabs.json":Q_,"./locales/it/allPeopleGroups.json":ey,"./locales/it/aria.json":ty,"./locales/it/buttons.json":oy,"./locales/it/controls.json":ny,"./locales/it/dashboard.json":ay,"./locales/it/detail.json":sy,"./locales/it/gospel.json":ry,"./locales/it/grid.json":iy,"./locales/it/legend.json":ly,"./locales/it/lists.json":cy,"./locales/it/mapui.json":uy,"./locales/it/messages.json":py,"./locales/it/options.json":dy,"./locales/it/pins.json":gy,"./locales/it/popup.json":fy,"./locales/it/poster.json":hy,"./locales/it/regions.json":my,"./locales/it/religion.json":by,"./locales/it/search.json":$y,"./locales/it/share.json":_y,"./locales/it/tabs.json":yy,"./locales/pt/allPeopleGroups.json":vy,"./locales/pt/aria.json":wy,"./locales/pt/buttons.json":ky,"./locales/pt/controls.json":xy,"./locales/pt/dashboard.json":Sy,"./locales/pt/detail.json":Py,"./locales/pt/gospel.json":Ay,"./locales/pt/grid.json":Ly,"./locales/pt/legend.json":Cy,"./locales/pt/lists.json":Ty,"./locales/pt/mapui.json":Ey,"./locales/pt/messages.json":Ry,"./locales/pt/options.json":Fy,"./locales/pt/pins.json":Ny,"./locales/pt/popup.json":Iy,"./locales/pt/poster.json":My,"./locales/pt/regions.json":Oy,"./locales/pt/religion.json":Dy,"./locales/pt/search.json":Gy,"./locales/pt/share.json":zy,"./locales/pt/tabs.json":By,"./locales/ro/allPeopleGroups.json":jy,"./locales/ro/aria.json":Uy,"./locales/ro/buttons.json":Hy,"./locales/ro/controls.json":Wy,"./locales/ro/dashboard.json":Ky,"./locales/ro/detail.json":Vy,"./locales/ro/gospel.json":qy,"./locales/ro/grid.json":Yy,"./locales/ro/legend.json":Zy,"./locales/ro/lists.json":Xy,"./locales/ro/mapui.json":Jy,"./locales/ro/messages.json":Qy,"./locales/ro/options.json":e0,"./locales/ro/pins.json":t0,"./locales/ro/popup.json":o0,"./locales/ro/poster.json":n0,"./locales/ro/regions.json":a0,"./locales/ro/religion.json":s0,"./locales/ro/search.json":r0,"./locales/ro/share.json":i0,"./locales/ro/tabs.json":l0,"./locales/ru/allPeopleGroups.json":c0,"./locales/ru/aria.json":u0,"./locales/ru/buttons.json":p0,"./locales/ru/controls.json":d0,"./locales/ru/dashboard.json":g0,"./locales/ru/detail.json":f0,"./locales/ru/gospel.json":h0,"./locales/ru/grid.json":m0,"./locales/ru/legend.json":b0,"./locales/ru/lists.json":$0,"./locales/ru/mapui.json":_0,"./locales/ru/messages.json":y0,"./locales/ru/options.json":v0,"./locales/ru/pins.json":w0,"./locales/ru/popup.json":k0,"./locales/ru/poster.json":x0,"./locales/ru/regions.json":S0,"./locales/ru/religion.json":P0,"./locales/ru/search.json":A0,"./locales/ru/share.json":L0,"./locales/ru/tabs.json":C0,"./locales/zh/allPeopleGroups.json":T0,"./locales/zh/aria.json":E0,"./locales/zh/buttons.json":R0,"./locales/zh/controls.json":F0,"./locales/zh/dashboard.json":N0,"./locales/zh/detail.json":I0,"./locales/zh/gospel.json":M0,"./locales/zh/grid.json":O0,"./locales/zh/legend.json":D0,"./locales/zh/lists.json":G0,"./locales/zh/mapui.json":z0,"./locales/zh/messages.json":B0,"./locales/zh/options.json":j0,"./locales/zh/pins.json":U0,"./locales/zh/popup.json":H0,"./locales/zh/poster.json":W0,"./locales/zh/regions.json":K0,"./locales/zh/religion.json":V0,"./locales/zh/search.json":q0,"./locales/zh/share.json":Y0,"./locales/zh/tabs.json":Z0}),Rn={};for(const[e,t]of Object.entries(aw)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Rn[n]??(Rn[n]={}),Rn[n][a]=t}Rn.en;const Ya=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Pd=new Set(["ar"]);function sw(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Ad(){var n;const e=sw();if(Ya.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Ya.includes(o)?o:"en"}function rw(){const e=Ad();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&Pd.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=Ps(!0),o=t.run(()=>V1({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:Rn,missingWarn:!1,fallbackWarn:!1}));t.run(()=>Ne(o.global.locale,a=>Cd(a),{immediate:!0}));const n=o.install.bind(o);return o.install=(a,...s)=>{const r=n(a,...s);a.provide("appI18n",o);const i=a.provide.bind(a);return a.provide=(l,c)=>l==="appI18n"&&c===o?a:i(l,c),r},o}const Ld="__DOXA_PAGE_LOCALE";function Cd(e){const t=String(e||"").split("-")[0].toLowerCase();if(Ya.includes(t))try{typeof window<"u"&&(window[Ld]=t)}catch{}}function iw(){try{return typeof window<"u"&&window[Ld]||""}catch{return""}}function jt(e,t){const o=a=>{let s=Rn[a];for(const r of String(e).split(".")){if(!s||typeof s!="object")return;s=s[r]}return typeof s=="string"?s:void 0},n=t||iw()||Ad();return o(n)??o("en")}function Td(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function mr(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function Ed(e,t={}){const o=typeof t.fallback=="function"?(n,a)=>Td(t.fallback(mr(e,n),a)??n,a):(n,a)=>Td(jt(mr(e,n))??n,a);try{const n=_t();return(a,s)=>{const r=mr(e,a),i=n.t(r,s||{});return i===r?o(a,s):i}}catch{return o}}function Rd(e,t={}){const o=Ed(e,t);try{const n=_t();return{t:o,te:a=>n.te(mr(e,a)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}function Ct(e,t){const o=mo(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:cw(e));Lo(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot))return;if(!s.querySelector('style[data-shadow-styles="reduced-motion"]')){const c=document.createElement("style");c.setAttribute("data-shadow-styles","reduced-motion"),c.textContent=lw,s.appendChild(c)}const r=s.querySelector(`style[data-shadow-styles="${n}"]`);if(r){r.textContent!==e&&(r.textContent=e);return}const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}const lw=`@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +}`;function cw(e){let t=0;for(let o=0;ojt(E)||T,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=Rd("",{fallback:E=>o[E]}),s=Ce("uiStore",null),r=Ce("profileConfig",null),i=te(()=>(s==null?void 0:s.theme)==="dark"),l=te(()=>{var R;const E=(R=r==null?void 0:r.value)==null?void 0:R.pinHintLabel;if(E)return E;const T="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):T}catch{return T}}),c=_e(!1),u=_e(!0);let h=null;const g=_e(!0);let L=[];const w=["inert","hidden","aria-hidden"];function m(E){const T=[];let R=E;for(;R;)R.nodeType===1&&T.push(R),R=R.parentNode||R.host||null;return T}function b(E){return m(E).some(T=>T.hasAttribute("inert")||T.hasAttribute("hidden")||T.getAttribute("aria-hidden")==="true")}function $(E){const T=()=>{const R=!b(E);R!==g.value&&(g.value=R,R&&Ft(B))};if(T(),!(typeof MutationObserver>"u"))for(const R of m(E))try{const D=new MutationObserver(T);D.observe(R,{attributes:!0,attributeFilter:w}),L.push(D)}catch{}}const d=_e(null);let f=null,k=null,A=null,p=null,_=null,x=null,C=[],K=null,ee=null;function Z(){c.value=!1}function W(E,T){var D;let R=E==null?void 0:E.parentElement;for(let X=0;R&&X<12;X++,R=R.parentElement){if(R===T||(D=R.classList)!=null&&D.contains("profile-loader"))return null;let M="";try{M=getComputedStyle(R).position}catch{}if(M&&M!=="static"){const ue=R.getBoundingClientRect();if(ue.height>=120&&ue.width>=160)return R}}return null}function pe(E){var R;const T=(R=p==null?void 0:p.querySelector)==null?void 0:R.call(p,".legend-mobile-sheet");if(!T)return 1/0;if(_&&x!==T){try{_.disconnect()}catch{}_=null}if(!_&&typeof ResizeObserver<"u")try{_=new ResizeObserver(()=>B()),_.observe(T),x=T}catch{_=null}try{const D=T.getBoundingClientRect();return!(D.height>16)||!(D.width>16)||E.right<=D.left||D.right<=E.left?1/0:D.top}catch{return 1/0}}function B(){const E=d.value;if(!(!E||!u.value||!g.value))try{E.style.removeProperty("--pin-hint-lift");const T=E.getBoundingClientRect();if(!T.height)return;const R=Math.min(window.innerHeight,pe(T)),D=Math.round(T.bottom-R);D>0&&E.style.setProperty("--pin-hint-lift",D+8+"px")}catch{}}function y(E){const T=d.value;if(!T||!(E!=null&&E.querySelector))return;let R=0;try{const X=E.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(X){const M=X.getBoundingClientRect(),ue=T.parentElement,be=ue?ue.getBoundingClientRect():null;if(R=be?Math.max(M.height||0,be.bottom-M.top):M.height||0,ee!==X&&typeof ResizeObserver<"u"){if(A)try{A.disconnect()}catch{}ee=X,A=new ResizeObserver(()=>y(E)),A.observe(X)}}}catch{}const D=Math.min(Math.max(Math.ceil(R)||20,20),72);T.style.setProperty("--pin-hint-attrib-clear",D+"px"),B()}return Lo(()=>{var D,X,M;const E=mo(),T=(M=(X=(D=E==null?void 0:E.proxy)==null?void 0:D.$el)==null?void 0:X.getRootNode)==null?void 0:M.call(X);if(!T||typeof T.querySelector!="function")return;p=T;let R=0;f=setInterval(()=>{R++;const ue=T.querySelector("canvas");ue?(clearInterval(f),f=null,c.value=!0,Ft(()=>{const be=W(ue,T),ke=d.value;if(be&&ke&&ke.parentElement!==be)try{be.appendChild(ke),k=be}catch{}if(be&&$(be),be&&typeof IntersectionObserver<"u")try{h=new IntersectionObserver(we=>{const me=we[we.length-1],J=!!me&&me.isIntersecting&&me.intersectionRatio>=.2;J!==u.value&&(u.value=J,J&&Ft(B))},{threshold:[0,.2,.5]}),h.observe(be)}catch{}y(T),B(),C.push(setTimeout(B,1200),setTimeout(B,3e3),setTimeout(B,6e3));try{const we=d.value&&d.value.offsetParent||null;if(we&&typeof ResizeObserver<"u"){if(K)try{K.disconnect()}catch{}K=new ResizeObserver(()=>B()),K.observe(we)}}catch{}})):R>40&&(clearInterval(f),f=null)},300)}),ro(()=>{var E;if(f&&clearInterval(f),h){try{h.disconnect()}catch{}h=null}for(const T of L)try{T.disconnect()}catch{}if(L=[],A){try{A.disconnect()}catch{}A=null}if(ee=null,K){try{K.disconnect()}catch{}K=null}if(_){try{_.disconnect()}catch{}_=null}x=null;for(const T of C)clearTimeout(T);if(C=[],p=null,k&&((E=d.value)==null?void 0:E.parentElement)===k)try{k.removeChild(d.value)}catch{}k=null}),Ct(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -72,7 +79,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(E,T)=>c.value?Gs((oe(),de("div",{key:0,ref_key:"hintEl",ref:d,class:Fe(["pin-hint",{dark:i.value}]),role:"status"},[O("span",cw,[T[0]||(T[0]=O("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),At(" "+$e(l.value)+" ",1),O("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:Z},"×",8,uw)])],2)),[[Ku,u.value&&g.value]]):Se("",!0)}},br="mapbox://styles/mapbox/standard",dw=br,gw=br,fw=!1,Fd={lightPreset:"night",theme:"default"},hw={lightPreset:"day",theme:"monochrome"};function mw(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function bw(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let s="dark";function r($){return mw($)}function i($,d){$!=="light"&&$!=="dark"||(s=$,d&&m(d))}function l(){return{...s==="light"?hw:Fd}}function c(){return br}function u(){return{basemap:l()}}function h($,d){try{return typeof $.getConfigProperty=="function"?$.getConfigProperty("basemap",d):void 0}catch{return}}function g($){return!!$&&typeof $.setConfigProperty=="function"&&typeof $.getConfigProperty=="function"}function L($,d=!1){if(!g($))return!1;const f=l();let k=!1;try{for(const[A,p]of Object.entries(f))!d&&h($,A)===p||($.setConfigProperty("basemap",A,p),k=!0)}catch(A){console.warn("[useMapTheme] setConfigProperty failed:",A)}return k}function w($){if(!o.has($)&&(o.add($),!!g($)))try{$.on("style.load",()=>L($)),$.on("styledata",()=>L($))}catch{}}function m($){if(!$)return;if(w($),L($)&&!t){t=!0;try{$.once("idle",()=>{t=!1,L($,!0)})}catch{t=!1}}}function b($){e.toggleTheme(),m($)}return{setLook:i,lookFor:r,STANDARD_STYLE:br,LIGHT_STYLE:dw,DARK_STYLE:gw,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:m,swapTheme:b}}let $w=0;const _w=Ci("ui",{state:()=>({_storeInstanceId:++$w,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),yw=Ci("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),vw=Ci("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Wn({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Wn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Fn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},ww=".profile-loader[data-v-01687ae5]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-01687ae5]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",gn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},kw=["dir"],xw={key:0,class:"profile-error"},Sw={key:1,class:"profile-error"},Pw=gn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var p;const o=e,n=Ce("profileConfig",null),a=te(()=>{var x;if(!o.profileConfig)return null;let _;try{_=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(_&&_.assetsBase===void 0){const C=(x=n==null?void 0:n.value)==null?void 0:x.assetsBase;typeof C=="string"&&C&&(_.assetsBase=C)}return _}),s=te(()=>{var _;return((_=a.value)==null?void 0:_.profile)||null}),r=Nb(),i=te(()=>{var x;const _=(x=a.value)==null?void 0:x.tk;return typeof _=="string"&&_?_:r.value||""});Ne(()=>{var _;return(_=a.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&Ri(_)},{immediate:!0}),Ne(()=>{var _;return(_=a.value)==null?void 0:_.tokenUrl},_=>{var x;_&&!((x=a.value)!=null&&x.tk)&&!r.value&&Ib(_)},{immediate:!0});const l=te(()=>{var _;return((_=a.value)==null?void 0:_.dataSource)||Fn.activeSource||"doxa-csv"}),c=te(()=>{var _;return((_=a.value)==null?void 0:_.colorSet)||"default"}),u=te(()=>!1),h=te(()=>{var _;return((_=a.value)==null?void 0:_.pinHint)!==!1}),g=te(()=>{var x,C;const _=(((x=a.value)==null?void 0:x.locale)||((C=a.value)==null?void 0:C.lang)||"").split("-")[0].toLowerCase();return Ya.includes(_)?_:""}),L=Ce("appI18n",null);Kh(()=>{g.value&&(L&&(L.global.locale.value=g.value),Cd(g.value))});const w=te(()=>{var _,x;return g.value||((x=(_=L==null?void 0:L.global)==null?void 0:_.locale)==null?void 0:x.value)||"en"}),m=te(()=>Pd.has(w.value)?"rtl":"ltr"),b=te(()=>{var _;return((_=a.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=Ce("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const d=te(()=>{if(!s.value)return null;const _=`./${s.value}.vue`;return $[_]?sr($[_]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});xt("mapboxToken",i),xt("dataSource",l),xt("colorSet",c),xt("profileConfig",a),xt("instanceId",b),xt("lang",w);const f=_w(),k=yw(),A=vw();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((p=f.setTheme)==null||p.call(f,_))}catch{}return xt("uiStore",f),xt("mapStore",k),xt("dataStore",A),(_,x)=>(oe(),de("div",{class:"profile-loader",dir:m.value},[a.value?d.value?(oe(),Ze(ru(d.value),{key:2})):(oe(),de("div",Sw,[O("p",null,[x[1]||(x[1]=At("⚠️ Profile ",-1)),O("strong",null,'"'+$e(s.value)+'"',1),x[2]||(x[2]=At(" not found.",-1))])])):(oe(),de("div",xw,[...x[0]||(x[0]=[O("p",null,[At("⚠️ "),O("strong",null,"doxa-map"),At(": missing or invalid "),O("code",null,"profile-config"),At(" prop.")],-1),O("p",null,[At("Example: "),O("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),d.value&&u.value?(oe(),Ze(ru(he(null)),{key:3})):Se("",!0),d.value&&h.value?(oe(),Ze(pw,{key:4})):Se("",!0)],8,kw))}},[["styles",[ww]],["__scopeId","data-v-01687ae5"]]),Aw=Object.assign({"./research-map.vue":()=>po(()=>Promise.resolve().then(()=>gC),void 0)});function Lw(){return _b(Pw,{configureApp(e){e.use(Lb());const t=rw();e.use(t),e.provide("appI18n",t),e.provide("profileModules",Aw)}})}const Cw=Lw();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",Cw));const Tw="rgba(120, 128, 134, 0.28)",Nd="36px",Id=()=>{};function Ew(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Id;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Id;const a=d=>d.classList.contains("map-scroll-edge--left");for(const d of n)d.style.background=`linear-gradient(${a(d)?"to right":"to left"}, ${Tw} ${Nd}, transparent ${Nd})`,d.style.opacity="0",d.style.transition="opacity 0.16s ease",d.style.userSelect="none",d.style.webkitUserSelect="none";const s=d=>{d.style.opacity="1"},r=d=>{d.style.opacity="0"},i=()=>n.find(d=>!a(d))||null,l=new Set;let c=!1,u=null;const h=()=>{for(const d of n)l.has(d)||r(d)},g=()=>{const d=i();d&&(s(d),u&&clearTimeout(u),u=setTimeout(h,250))},L=()=>g(),w=d=>{if(!(d.touches&&d.touches.length===1))return;const f=d.target;f&&f.classList&&f.classList.contains("map-scroll-edge")||g()},m=()=>{u&&clearTimeout(u),h()};e.addEventListener("wheel",L,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",m,{passive:!0}),e.addEventListener("touchcancel",m,{passive:!0});const b=()=>{c||g()};typeof window<"u"&&window.addEventListener("scroll",b,{passive:!0});const $=[];for(const d of n){const f=()=>{l.add(d),s(d)},k=()=>{l.delete(d),r(d)},A=()=>{c=!0,s(d)},p=()=>{c=!1,r(d)};d.addEventListener("mouseenter",f),d.addEventListener("mouseleave",k),d.addEventListener("touchstart",A,{passive:!0}),d.addEventListener("touchend",p,{passive:!0}),$.push(()=>{d.removeEventListener("mouseenter",f),d.removeEventListener("mouseleave",k),d.removeEventListener("touchstart",A),d.removeEventListener("touchend",p)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",L),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",m),e.removeEventListener("touchcancel",m),typeof window<"u"&&window.removeEventListener("scroll",b);for(const f of $)f();for(const f of n)r(f)}}const Rw=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Fw(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=Rw[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Nw(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const Iw=["mapbox","maplibre"],Mw="auto";function Md(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Od(e){const t=o=>typeof o=="string"&&!!o.trim()&&!/^YOUR_/.test(o.trim());return t(e==null?void 0:e.tk)||/^https?:\/\//i.test(String((e==null?void 0:e.tokenUrl)||""))?!0:typeof window>"u"?!1:t(window.MAP_TOKEN)||t(window.__doxaMapToken)||!!window.__doxaMapTokenPending}function Dd(e,{token:t}={}){const o=Md(e);return Gd(o)||(Od(o)||Od({tk:t})?"mapbox":"maplibre")}function Gd(e){const t=Md(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(o||n||a||Mw).toLowerCase().trim();return Iw.includes(s)?s:""}function Ow(e){return e==="maplibre"?"MapLibre":"Mapbox"}function zd(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function Dw(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;if(t&&t.Map&&e instanceof t.Map)return"maplibre";if(o&&o.Map&&e instanceof o.Map)return"mapbox"}function $r(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;return t&&t.Map&&e instanceof t.Map?t:o&&o.Map&&e instanceof o.Map?o:o||t}function Gw(e,t){if(!e||!t||typeof e.setProjection!="function")return!1;const o=typeof window<"u"?window.maplibregl:null,n=!!(o&&o.Map&&e instanceof o.Map);try{return e.setProjection(n?{type:t}:t),!0}catch{return!1}}function No(e,t="circle"){return zd(e)?{[`${t}-emissive-strength`]:1}:{}}const Jo={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function Za(e,t){const o=Object.values(Jo).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const Bd={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function zw(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function Bw(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(zw(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(Bd.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(Bd.mapbox,null,!0);o=!0}catch{}return o}const jw=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,jd=new WeakMap;function Uw(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Ud(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!Uw(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=jd.get(e);a||(a=new Map,jd.set(e,a));let s=0;for(const r of n.layers){if(r.type!=="symbol"||!r.layout||r.layout["text-field"]==null)continue;const i=r.layout["text-field"],l=JSON.stringify(i);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(r.id))continue}else{if(!jw.test(l))continue;a.set(r.id,i)}const c=o==="en"?a.get(r.id):["coalesce",["get","name:"+o],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),s++}return s}catch{return 0}}const ra={mapbox:{global:"mapboxgl",js:Jo.mapboxGlJs.url,css:Jo.mapboxGlCss.url},maplibre:{global:"maplibregl",js:Jo.maplibreGlJs.url,css:Jo.maplibreGlCss.url}},Hw={"Map.Title":"map","Marker.Title":"marker","Popup.Close":"closePopup","NavigationControl.ZoomIn":"zoomIn","NavigationControl.ZoomOut":"zoomOut","NavigationControl.ResetBearing":"resetBearing","AttributionControl.ToggleAttribution":"toggleAttribution","AttributionControl.MapFeedback":"mapFeedback","FullscreenControl.Enter":"enterFullscreen","FullscreenControl.Exit":"exitFullscreen","GeolocateControl.FindMyLocation":"findMyLocation","GeolocateControl.LocationNotAvailable":"locationNotAvailable","GlobeControl.Enable":"enableGlobe","GlobeControl.Disable":"disableGlobe","CooperativeGesturesHandler.WindowsHelpText":"ctrlScroll","CooperativeGesturesHandler.MacHelpText":"cmdScroll","CooperativeGesturesHandler.MobileHelpText":"twoFingers","ScrollZoomBlocker.CtrlMessage":"ctrlScroll","ScrollZoomBlocker.CmdMessage":"cmdScroll","TouchPanBlocker.Message":"twoFingers"};function Hd(e,t){const o={};for(const[a,s]of Object.entries(Hw)){const r=jt(`mapui.${s}`,e);r&&(o[a]=r)}const n=jt(t==="maplibre"?"mapui.maplibreLogo":"mapui.mapboxHomepage",e);return n&&(o["LogoControl.Title"]=n),o}function Wd(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Ww=ra.mapbox.css,Kw="https://tiles.openfreemap.org/styles/liberty",Vw="https://tiles.openfreemap.org/styles/fiord";function Ji(e){var o;const t=((o=ra[e])==null?void 0:o.global)||ra.mapbox.global;return typeof window<"u"?window[t]:void 0}async function qw(e){const t=ra[e]||ra.mapbox;if(Ji(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,Za(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ji(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=t.js,Za(s,t.js),s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Yw(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,Za(s,t),await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),o.prepend(s)}),n(2e3)])}function Zw(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Vw:Kw}const Xw=85.0511,Qi=-2,Jw=0,Qw=-60;function Kd(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function ek(e,t,o,n){if(!e||e<=0||!t||t<=0)return Jw;const a=Math.log2(e/512),s=Kd(n)-Kd(Xw),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(Qi,Math.min(i,(o??18)-1))}function tk({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:h=18,pitch:g=0,bearing:L=0,renderWorldCopies:w=!0,showEdgeBorders:m=!0,southCutoff:b=Qw,maxBounds:$=void 0}){const d=Pa(null),f=_e(!1);let k=null,A=null,p=null,_=null;try{_=Ce("profileConfig",null)}catch{}const x=!a&&!Gd(_);a=a||Dd(_,{token:t});let C=a==="maplibre",K=null;try{K=Ce("lang",null)}catch{}const ee=()=>{const pe=K&&typeof K=="object"&&"value"in K?K.value:K;if(typeof pe=="string"&&pe)return pe;const B=_&&typeof _=="object"&&"value"in _?_.value:_;if(B&&(B.locale||B.lang))return String(B.locale||B.lang);try{const y=new URLSearchParams(location.search);return y.get("lang")||y.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function Z(){var J;if(x&&!C&&!t&&typeof window<"u"&&window.__doxaMapTokenPending){if(await window.__doxaMapTokenPending,!e.value)return;typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN||(a="maplibre",C=!0)}const pe=Fw(o,a),B=pe.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const y=()=>!e.value;if(await qw(a),y())return;const E=Ji(a);if(!E){console.error(`[useMapInstance] ${C?"maplibregl":"mapboxgl"} is not available. Add the ${C?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(Bw(E),!C){if(!t&&typeof window<"u"&&window.__doxaMapTokenPending&&(await window.__doxaMapTokenPending,y()))return;if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await Yw(e.value,C?ra.maplibre.css:Ww),y()||(await new Promise(fe=>requestAnimationFrame(fe)),y()))return;const T=e.value,R=T.clientWidth,D=T.clientHeight;if(R===0||D===0){console.error(`[useMapInstance] Container has ZERO dimensions (${R}×${D}). Map will be invisible. Check that parent elements have CSS sizing.`);let fe=T.parentElement,q=0;for(;fe&&q<5;)fe=fe.parentElement,q++}const X=t;C||(E.accessToken=X);const M=()=>typeof window<"u"&&window.innerWidth>=1024,ue=(fe,q)=>{if(u)return typeof c=="number"?c:Qi;if(!M())return Qi;const xe=ek(fe,q,h,b);return typeof c=="number"?Math.max(c,xe):xe},be=ue(T.clientWidth,T.clientHeight),ke=pe.lightPreset||(()=>{var fe;try{const q=typeof n=="function"?n():n;return(fe=q==null?void 0:q.basemap)==null?void 0:fe.lightPreset}catch{return}})();if(C){d.value=new E.Map({container:e.value,style:Zw(B,ke),locale:Hd(ee(),"maplibre"),center:s,zoom:r,minZoom:be,maxZoom:h,pitch:g,bearing:L,dragRotate:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Wd(d.value);try{e.value.__doxaMap=d.value}catch{}}else{const fe=typeof n=="function"?n():n;d.value=new E.Map({accessToken:X,container:e.value,style:B,locale:Hd(ee(),"mapbox"),...fe?{config:fe}:{},center:s,zoom:r,minZoom:be,maxZoom:h,pitch:g,bearing:L,dragRotate:!1,touchPitch:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Wd(d.value);try{e.value.__doxaMap=d.value}catch{}}try{let fe=!1;d.value.on("error",q=>{var z,I;const xe=((z=q==null?void 0:q.error)==null?void 0:z.status)??(q==null?void 0:q.status),N=String(((I=q==null?void 0:q.error)==null?void 0:I.url)||(q==null?void 0:q.sourceId)||"");xe!==401&&xe!==403||fe||(fe=!0,console.error(`[doxa-maps] Mapbox returned ${xe} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(N?` First failing request: ${N.slice(0,120)}`:"")))})}catch{}try{d.value.touchZoomRotate.disableRotation()}catch{}p=Ew(((J=e.value)==null?void 0:J.parentElement)||null,{enabled:m});let we=be,me=null;k=()=>{const fe=d.value;if(!fe)return;const q=ue(T.clientWidth,T.clientHeight);q!==we&&(we=q,fe.setMinZoom(q)),fe.getZoom(){me=null;const xe=d.value;if(!xe)return;const N=ue(T.clientWidth,T.clientHeight);if(xe.getZoom(){me&&(clearTimeout(me),me=null)},d.value.on("resize",k),typeof window<"u"&&(window.addEventListener("resize",k),window.addEventListener("orientationchange",k)),d.value.on("style.load",()=>{if(d.value&&Ud(d.value,ee()),pe.paint&&d.value){const fe=Nw(d.value,pe.paint);console.info("[useMapInstance] style paint applied ("+a+"):",fe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var fe;(fe=d.value)==null||fe.resize(),d.value&&d.value.setMinZoom(ue(T.clientWidth,T.clientHeight)),f.value=!0})})}function W(){if(d.value){if(k&&(d.value.off("resize",k),typeof window<"u"&&(window.removeEventListener("resize",k),window.removeEventListener("orientationchange",k)),k=null),A){try{A()}catch{}A=null}p&&(p(),p=null),d.value.remove(),d.value=null,f.value=!1}}if(K&&typeof K=="object"&&"value"in K)try{Ne(K,()=>{d.value&&f.value&&Ud(d.value,ee())})}catch{}return{map:d,isMapReady:f,initializeMap:Z,destroy:W}}const ok=Bn&&Bn.tagName.toUpperCase()==="SCRIPT"&&Bn.src||new URL("doxa-research-map.js",document.baseURI).href,fn=e=>String(e||"").trim().replace(/\/+$/,"");function Vd(){try{const t=String(ok||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function nk(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return fn(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return fn(o)}return fn(Vd()||"")}function el(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=fn(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=fn((e==null?void 0:e.treeBase)||"")||fn(Vd()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return fn(new URL(o+"/assets",n).href)}catch{return fn(o+"/assets")}return"./assets"}function ak({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=nk(n),l=r.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const qd="adoptionStatus",Qo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},tl=Qo,ol={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},sk=ol;function Yd(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Qo.hasAdoption:Qo.notAdopted}function nl({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Qo.hasAdoption,["==",t,1],Qo.hasAdoption,Qo.notAdopted]}const Zd=nl,rk=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:tl,ADOPTION_LABELS:sk,LABELS:ol,PALETTE:Qo,PROPERTY_KEY:qd,applyColor:nl,buildColorExpression:Zd,default:{name:"Adoption Progress",propertyKey:qd,palette:Qo,colors:Qo,labels:ol,getColor:Yd,applyColor:nl,buildColorExpression:Zd},getColor:Yd},Symbol.toStringTag,{value:"Module"})),al="affinityBlock",ia="#95a5a6",en={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},_r={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},hn=_r,Xd=Object.entries(en).reduce((e,[t,o])=>(e[o]=t,e),{}),sl=Object.entries(en).reduce((e,[t,o])=>(e[o]=hn[t],e),{}),Jd=en;function rl(e){return en[e]||"Unknown"}function il(e){return hn[e]||ia}function Qd(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?hn[e]||ia:sl[e]||ia:ia}function eg(){return Object.entries(en).map(([e,t])=>({code:e,name:t,color:hn[e]}))}function tg(e){return{code:e,name:en[e]||"Unknown",color:hn[e]||ia}}function og(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return il(t)}function ng(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return rl(t)}function ll(){const e=["match",["get",al]];return Object.entries(hn).forEach(([t,o])=>{e.push(t,o)}),e.push(ia),e}const ag=ll,ik=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:hn,AFFINITY_BLOCK_COLORS_BY_NAME:sl,AFFINITY_BLOCK_NAMES:en,AFFINITY_BLOCK_NAME_TO_CODE:Xd,NAMES:Jd,PALETTE:_r,PROPERTY_KEY:al,affinityBlockCodeLookup:en,affinityBlockCodeToColor:hn,affinityBlockCodeToName:en,affinityBlockColors:sl,affinityBlockNameToCode:Xd,applyColor:ll,buildColorExpression:ag,default:{name:"Affinity Block",propertyKey:al,palette:_r,colors:_r,names:Jd,getColor:og,applyColor:ll,buildColorExpression:ag,getName:ng,getAffinityBlockName:rl,getAffinityBlockColor:Qd,getAffinityBlockColorByCode:il,getAffinityBlocksArray:eg,getAffinityBlockData:tg},getAffinityBlockColor:Qd,getAffinityBlockColorByCode:il,getAffinityBlockData:tg,getAffinityBlockName:rl,getAffinityBlocksArray:eg,getColor:og,getName:ng},Symbol.toStringTag,{value:"Module"}));function lk(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ul),e}const lg=gl,uk=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:ck,PALETTE:yr,PROPERTY_KEY:cl,REGION_COLOR_ALIASES:dl,SLUG_PALETTE:vr,applyColor:gl,buildColorExpression:lg,default:{name:"DOXA Region",propertyKey:cl,palette:yr,colors:yr,slugColors:vr,aliases:dl,fallback:ul,getColor:ig,applyColor:gl,buildColorExpression:lg,getRegionColor:rg,getRegionColorBySlug:pl},getColor:ig,getRegionColor:rg,getRegionColorBySlug:pl},Symbol.toStringTag,{value:"Module"})),cg="engagementStatus",tn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},fl=tn,hl={notEngaged:"Unengaged",hasEngagement:"Engaged"},pk=hl;function ug(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?tn.hasEngagement:tn.notEngaged}function ml({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],tn.hasEngagement,["==",t,1],tn.hasEngagement,tn.notEngaged]}const pg=ml,dk=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:fl,ENGAGEMENT_LABELS:pk,LABELS:hl,PALETTE:tn,PROPERTY_KEY:cg,applyColor:ml,buildColorExpression:pg,default:{name:"Engagement Progress",propertyKey:cg,palette:tn,colors:tn,labels:hl,getColor:ug,applyColor:ml,buildColorExpression:pg},getColor:ug},Symbol.toStringTag,{value:"Module"})),bl="languageFamily",gk="#000000",mn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},dg=mn;function _o(e){return mn[e]||gk}const fk=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(mn))t[e(o)]=o;return t})(),hk={"tai-kadai":"Kra-Dai",none:"Unknown"};function wr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return hk[o]||fk[o]||t}function gg(e){var t;return _o(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function $l(){const e=["match",["get",bl]];return Object.entries(mn).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const fg=$l,mk=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:dg,PALETTE:mn,PROPERTY_KEY:bl,applyColor:$l,buildColorExpression:fg,canonicalFamilyName:wr,default:{name:"Language Family",propertyKey:bl,palette:mn,colors:mn,getColor:gg,applyColor:$l,buildColorExpression:fg,getLanguageFamilyColor:_o,canonicalFamilyName:wr},defaultFamilyColor:"#95a5a6",getColor:gg,getLanguageFamilyColor:_o,languageFamilyColors:mn},Symbol.toStringTag,{value:"Module"})),hg="peoplePraying",Io=144,bn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Nn=bn,_l={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},bk=_l;function kr(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=Io?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function yl(e){return bn[kr(e)]}function mg(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function bg(e){return kr(e)==="fullPrayer"}function $g(e){return yl(e)}function vl({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Io],bn.fullPrayer,[">",t,0],bn.hasPrayer,bn.noPrayer]}const _g=vl,$k=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Io,LABELS:_l,PALETTE:bn,PRAYER_COLORS:Nn,PRAYER_LABELS:bk,PROPERTY_KEY:hg,applyColor:vl,buildColorExpression:_g,checkHasFullPrayer:bg,checkHasPrayer:mg,default:{name:"Prayer Progress",propertyKey:hg,palette:bn,colors:bn,labels:_l,threshold:Io,getColor:$g,applyColor:vl,buildColorExpression:_g,getPrayerLevel:kr,getPrayerColor:yl,checkHasPrayer:mg,checkHasFullPrayer:bg},getColor:$g,getPrayerColor:yl,getPrayerLevel:kr},Symbol.toStringTag,{value:"Module"})),yg="religion",wl="#94a3b8",yo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},oo={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Xa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return yo[t]?t:"U"}function vg(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return oo[Xa(t)]||wl}function kl(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",oo.C,"M",oo.M,"H",oo.H,"B",oo.B,"E",oo.E,"J",oo.J,"S",oo.S,"N",oo.N,"O",oo.O,wl]}const wg=kl,_k={name:"Religion",propertyKey:yg,palette:oo,families:yo,getColor:vg,applyColor:kl,buildColorExpression:wg,fallback:wl};function xl(e){const t=String(e||""),o=yo[t]||t;return o?jt("religion.family."+o)||o:""}const yk=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:oo,PROPERTY_KEY:yg,RELIGION_FAMILIES:yo,applyColor:kl,buildColorExpression:wg,default:_k,getColor:vg,getReligionFamily:Xa,religionFamilyLabel:xl},Symbol.toStringTag,{value:"Module"})),kg="resourceType",$n={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},vk=$n,Ja=["bible","jesusFilm","radio","gospel","audio","stories"],Sl={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},wk=Sl;function Qa(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function xg(e){var t;for(const o of Ja)if((e[o]||((t=e._raw)==null?void 0:t[Qa(o)]))==="Available")return $n.hasResources;return $n.noResources}function Sg(e){var t;for(const o of Ja)if((e[o]||((t=e._raw)==null?void 0:t[Qa(o)]))==="Available")return!0;return!1}function Pg(e){var t;for(const o of Ja)if((e[o]||((t=e._raw)==null?void 0:t[Qa(o)]))==="Available")return o;return"noResources"}function Pl(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],$n.hasResources,$n.noResources]}const Ag=Pl,kk=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Sl,PALETTE:$n,PROPERTY_KEY:kg,RESOURCE_COLORS:vk,RESOURCE_NAMES:wk,RESOURCE_PRIORITY:Ja,applyColor:Pl,buildColorExpression:Ag,default:{name:"Gospel Resources",propertyKey:kg,palette:$n,colors:$n,names:Sl,priority:Ja,getColor:xg,applyColor:Pl,buildColorExpression:Ag,hasAnyResource:Sg,getResourceType:Pg,getCSVColumn:Qa},getCSVColumn:Qa,getColor:xg,getResourceType:Pg,hasAnyResource:Sg},Symbol.toStringTag,{value:"Module"})),Lg="region",Al="#6d766e",Cg={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},es={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},Ll=Object.keys(es);function Tg(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return es[t]||Al}function Cl(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ll)e.push(t,es[t]);return e.push(Al),e}const Eg=Cl,xk=Object.assign({"./adoption.js":rk,"./affinity-block.js":ik,"./doxa-region.js":uk,"./engagement.js":dk,"./language-family.js":mk,"./prayer-progress.js":$k,"./religion.js":yk,"./resource.js":kk,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:es,PROPERTY_KEY:Lg,REGION_ORDER:Ll,WAGF_REGIONS:Cg,applyColor:Cl,buildColorExpression:Eg,default:{name:"WAGF Region",propertyKey:Lg,palette:es,regions:Cg,order:Ll,getColor:Tg,applyColor:Cl,buildColorExpression:Eg,fallback:Al},getColor:Tg},Symbol.toStringTag,{value:"Module"}))}),Sk=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Pk=e=>e.replace(/-/g,"_").toUpperCase(),la={...{STATUS:"status",CUSTOM:"custom"}},Tl={};function Ak(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const a=Sk(o);la[Pk(o)]=a,Tl[a]=n}}Ak(xk);function Mo(e){return Tl[e]||Tl[la.LANGUAGE_FAMILY]}function Lk(e,t={}){return Mo(e).applyColor(t)}const Ck={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},Rg={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function Tk(e){return Ck[e]||null}function El(e="standard"){return Rg.circleRadius[e]||Rg.circleRadius.standard}const Ek={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};function mt(e){return e==null?"":String(e).replace(/[&<>"'`]/g,t=>Ek[t])}function Rk(e,t=""){try{const o=new URL(String(e),typeof location<"u"?location.href:"https://example.invalid/");if(o.protocol==="http:"||o.protocol==="https:")return mt(o.href)}catch{}return mt(t)}function Fg(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Ce("uiStore"),{t:r,locale:i}=_t(),l=_e([]);function c(f){const k=n(f.languageFamily),A="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let p=f.imageUrl;(!p||p.includes("NoImageAvailable"))&&(p=A);const _=(f.name||"U")[0].toUpperCase(),x=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],C=_.charCodeAt(0)%x.length,K=x[C];return` +`,"pin-hint"),(E,T)=>c.value?Gs((oe(),de("div",{key:0,ref_key:"hintEl",ref:d,class:Fe(["pin-hint",{dark:i.value}]),role:"status"},[O("span",uw,[T[0]||(T[0]=O("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),At(" "+$e(l.value)+" ",1),O("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:Z},"×",8,pw)])],2)),[[Ku,u.value&&g.value]]):Se("",!0)}},br="mapbox://styles/mapbox/standard",gw=br,fw=br,hw=!1,Fd={lightPreset:"night",theme:"default"},mw={lightPreset:"day",theme:"monochrome"};function bw(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function $w(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let s="dark";function r($){return bw($)}function i($,d){$!=="light"&&$!=="dark"||(s=$,d&&m(d))}function l(){return{...s==="light"?mw:Fd}}function c(){return br}function u(){return{basemap:l()}}function h($,d){try{return typeof $.getConfigProperty=="function"?$.getConfigProperty("basemap",d):void 0}catch{return}}function g($){return!!$&&typeof $.setConfigProperty=="function"&&typeof $.getConfigProperty=="function"}function L($,d=!1){if(!g($))return!1;const f=l();let k=!1;try{for(const[A,p]of Object.entries(f))!d&&h($,A)===p||($.setConfigProperty("basemap",A,p),k=!0)}catch(A){console.warn("[useMapTheme] setConfigProperty failed:",A)}return k}function w($){if(!o.has($)&&(o.add($),!!g($)))try{$.on("style.load",()=>L($)),$.on("styledata",()=>L($))}catch{}}function m($){if(!$)return;if(w($),L($)&&!t){t=!0;try{$.once("idle",()=>{t=!1,L($,!0)})}catch{t=!1}}}function b($){e.toggleTheme(),m($)}return{setLook:i,lookFor:r,STANDARD_STYLE:br,LIGHT_STYLE:gw,DARK_STYLE:fw,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:m,swapTheme:b}}let _w=0;const yw=Ci("ui",{state:()=>({_storeInstanceId:++_w,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),vw=Ci("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),ww=Ci("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Wn({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Wn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Fn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},kw=".profile-loader[data-v-01687ae5]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-01687ae5]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",gn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},xw=["dir"],Sw={key:0,class:"profile-error"},Pw={key:1,class:"profile-error"},Aw=gn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var p;const o=e,n=Ce("profileConfig",null),a=te(()=>{var x;if(!o.profileConfig)return null;let _;try{_=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(_&&_.assetsBase===void 0){const C=(x=n==null?void 0:n.value)==null?void 0:x.assetsBase;typeof C=="string"&&C&&(_.assetsBase=C)}return _}),s=te(()=>{var _;return((_=a.value)==null?void 0:_.profile)||null}),r=Nb(),i=te(()=>{var x;const _=(x=a.value)==null?void 0:x.tk;return typeof _=="string"&&_?_:r.value||""});Ne(()=>{var _;return(_=a.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&Ri(_)},{immediate:!0}),Ne(()=>{var _;return(_=a.value)==null?void 0:_.tokenUrl},_=>{var x;_&&!((x=a.value)!=null&&x.tk)&&!r.value&&Ib(_)},{immediate:!0});const l=te(()=>{var _;return((_=a.value)==null?void 0:_.dataSource)||Fn.activeSource||"doxa-csv"}),c=te(()=>{var _;return((_=a.value)==null?void 0:_.colorSet)||"default"}),u=te(()=>!1),h=te(()=>{var _;return((_=a.value)==null?void 0:_.pinHint)!==!1}),g=te(()=>{var x,C;const _=(((x=a.value)==null?void 0:x.locale)||((C=a.value)==null?void 0:C.lang)||"").split("-")[0].toLowerCase();return Ya.includes(_)?_:""}),L=Ce("appI18n",null);Kh(()=>{g.value&&(L&&(L.global.locale.value=g.value),Cd(g.value))});const w=te(()=>{var _,x;return g.value||((x=(_=L==null?void 0:L.global)==null?void 0:_.locale)==null?void 0:x.value)||"en"}),m=te(()=>Pd.has(w.value)?"rtl":"ltr"),b=te(()=>{var _;return((_=a.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=Ce("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const d=te(()=>{if(!s.value)return null;const _=`./${s.value}.vue`;return $[_]?sr($[_]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});xt("mapboxToken",i),xt("dataSource",l),xt("colorSet",c),xt("profileConfig",a),xt("instanceId",b),xt("lang",w);const f=yw(),k=vw(),A=ww();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((p=f.setTheme)==null||p.call(f,_))}catch{}return xt("uiStore",f),xt("mapStore",k),xt("dataStore",A),(_,x)=>(oe(),de("div",{class:"profile-loader",dir:m.value},[a.value?d.value?(oe(),Ze(ru(d.value),{key:2})):(oe(),de("div",Pw,[O("p",null,[x[1]||(x[1]=At("⚠️ Profile ",-1)),O("strong",null,'"'+$e(s.value)+'"',1),x[2]||(x[2]=At(" not found.",-1))])])):(oe(),de("div",Sw,[...x[0]||(x[0]=[O("p",null,[At("⚠️ "),O("strong",null,"doxa-map"),At(": missing or invalid "),O("code",null,"profile-config"),At(" prop.")],-1),O("p",null,[At("Example: "),O("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),d.value&&u.value?(oe(),Ze(ru(he(null)),{key:3})):Se("",!0),d.value&&h.value?(oe(),Ze(dw,{key:4})):Se("",!0)],8,xw))}},[["styles",[kw]],["__scopeId","data-v-01687ae5"]]),Lw=Object.assign({"./research-map.vue":()=>po(()=>Promise.resolve().then(()=>fC),void 0)});function Cw(){return _b(Aw,{configureApp(e){e.use(Lb());const t=rw();e.use(t),e.provide("appI18n",t),e.provide("profileModules",Lw)}})}const Tw=Cw();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",Tw));const Ew="rgba(120, 128, 134, 0.28)",Nd="36px",Id=()=>{};function Rw(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Id;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Id;const a=d=>d.classList.contains("map-scroll-edge--left");for(const d of n)d.style.background=`linear-gradient(${a(d)?"to right":"to left"}, ${Ew} ${Nd}, transparent ${Nd})`,d.style.opacity="0",d.style.transition="opacity 0.16s ease",d.style.userSelect="none",d.style.webkitUserSelect="none";const s=d=>{d.style.opacity="1"},r=d=>{d.style.opacity="0"},i=()=>n.find(d=>!a(d))||null,l=new Set;let c=!1,u=null;const h=()=>{for(const d of n)l.has(d)||r(d)},g=()=>{const d=i();d&&(s(d),u&&clearTimeout(u),u=setTimeout(h,250))},L=()=>g(),w=d=>{if(!(d.touches&&d.touches.length===1))return;const f=d.target;f&&f.classList&&f.classList.contains("map-scroll-edge")||g()},m=()=>{u&&clearTimeout(u),h()};e.addEventListener("wheel",L,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",m,{passive:!0}),e.addEventListener("touchcancel",m,{passive:!0});const b=()=>{c||g()};typeof window<"u"&&window.addEventListener("scroll",b,{passive:!0});const $=[];for(const d of n){const f=()=>{l.add(d),s(d)},k=()=>{l.delete(d),r(d)},A=()=>{c=!0,s(d)},p=()=>{c=!1,r(d)};d.addEventListener("mouseenter",f),d.addEventListener("mouseleave",k),d.addEventListener("touchstart",A,{passive:!0}),d.addEventListener("touchend",p,{passive:!0}),$.push(()=>{d.removeEventListener("mouseenter",f),d.removeEventListener("mouseleave",k),d.removeEventListener("touchstart",A),d.removeEventListener("touchend",p)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",L),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",m),e.removeEventListener("touchcancel",m),typeof window<"u"&&window.removeEventListener("scroll",b);for(const f of $)f();for(const f of n)r(f)}}const Fw=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Nw(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=Fw[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Iw(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const Mw=["mapbox","maplibre"],Ow="auto";function Md(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Od(e){const t=o=>typeof o=="string"&&!!o.trim()&&!/^YOUR_/.test(o.trim());return t(e==null?void 0:e.tk)||/^https?:\/\//i.test(String((e==null?void 0:e.tokenUrl)||""))?!0:typeof window>"u"?!1:t(window.MAP_TOKEN)||t(window.__doxaMapToken)||!!window.__doxaMapTokenPending}function Dd(e,{token:t}={}){const o=Md(e);return Gd(o)||(Od(o)||Od({tk:t})?"mapbox":"maplibre")}function Gd(e){const t=Md(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(o||n||a||Ow).toLowerCase().trim();return Mw.includes(s)?s:""}function Dw(e){return e==="maplibre"?"MapLibre":"Mapbox"}function zd(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function Gw(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;if(t&&t.Map&&e instanceof t.Map)return"maplibre";if(o&&o.Map&&e instanceof o.Map)return"mapbox"}function $r(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;return t&&t.Map&&e instanceof t.Map?t:o&&o.Map&&e instanceof o.Map?o:o||t}function zw(e,t){if(!e||!t||typeof e.setProjection!="function")return!1;const o=typeof window<"u"?window.maplibregl:null,n=!!(o&&o.Map&&e instanceof o.Map);try{return e.setProjection(n?{type:t}:t),!0}catch{return!1}}function No(e,t="circle"){return zd(e)?{[`${t}-emissive-strength`]:1}:{}}const Jo={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function Za(e,t){const o=Object.values(Jo).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const Bd={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function Bw(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function jw(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(Bw(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(Bd.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(Bd.mapbox,null,!0);o=!0}catch{}return o}const Uw=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,jd=new WeakMap;function Hw(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Ud(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!Hw(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=jd.get(e);a||(a=new Map,jd.set(e,a));let s=0;for(const r of n.layers){if(r.type!=="symbol"||!r.layout||r.layout["text-field"]==null)continue;const i=r.layout["text-field"],l=JSON.stringify(i);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(r.id))continue}else{if(!Uw.test(l))continue;a.set(r.id,i)}const c=o==="en"?a.get(r.id):["coalesce",["get","name:"+o],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),s++}return s}catch{return 0}}const ra={mapbox:{global:"mapboxgl",js:Jo.mapboxGlJs.url,css:Jo.mapboxGlCss.url},maplibre:{global:"maplibregl",js:Jo.maplibreGlJs.url,css:Jo.maplibreGlCss.url}},Ww={"Map.Title":"map","Marker.Title":"marker","Popup.Close":"closePopup","NavigationControl.ZoomIn":"zoomIn","NavigationControl.ZoomOut":"zoomOut","NavigationControl.ResetBearing":"resetBearing","AttributionControl.ToggleAttribution":"toggleAttribution","AttributionControl.MapFeedback":"mapFeedback","FullscreenControl.Enter":"enterFullscreen","FullscreenControl.Exit":"exitFullscreen","GeolocateControl.FindMyLocation":"findMyLocation","GeolocateControl.LocationNotAvailable":"locationNotAvailable","GlobeControl.Enable":"enableGlobe","GlobeControl.Disable":"disableGlobe","CooperativeGesturesHandler.WindowsHelpText":"ctrlScroll","CooperativeGesturesHandler.MacHelpText":"cmdScroll","CooperativeGesturesHandler.MobileHelpText":"twoFingers","ScrollZoomBlocker.CtrlMessage":"ctrlScroll","ScrollZoomBlocker.CmdMessage":"cmdScroll","TouchPanBlocker.Message":"twoFingers"};function Hd(e,t){const o={};for(const[a,s]of Object.entries(Ww)){const r=jt(`mapui.${s}`,e);r&&(o[a]=r)}const n=jt(t==="maplibre"?"mapui.maplibreLogo":"mapui.mapboxHomepage",e);return n&&(o["LogoControl.Title"]=n),o}function Wd(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Kw=ra.mapbox.css,Vw="https://tiles.openfreemap.org/styles/liberty",qw="https://tiles.openfreemap.org/styles/fiord";function Ji(e){var o;const t=((o=ra[e])==null?void 0:o.global)||ra.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Yw(e){const t=ra[e]||ra.mapbox;if(Ji(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,Za(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ji(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=t.js,Za(s,t.js),s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Zw(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,Za(s,t),await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),o.prepend(s)}),n(2e3)])}function Xw(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?qw:Vw}const Jw=85.0511,Qi=-2,Qw=0,ek=-60;function Kd(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function tk(e,t,o,n){if(!e||e<=0||!t||t<=0)return Qw;const a=Math.log2(e/512),s=Kd(n)-Kd(Jw),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(Qi,Math.min(i,(o??18)-1))}function ok({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:h=18,pitch:g=0,bearing:L=0,renderWorldCopies:w=!0,showEdgeBorders:m=!0,southCutoff:b=ek,maxBounds:$=void 0}){const d=Pa(null),f=_e(!1);let k=null,A=null,p=null,_=null;try{_=Ce("profileConfig",null)}catch{}const x=!a&&!Gd(_);a=a||Dd(_,{token:t});let C=a==="maplibre",K=null;try{K=Ce("lang",null)}catch{}const ee=()=>{const pe=K&&typeof K=="object"&&"value"in K?K.value:K;if(typeof pe=="string"&&pe)return pe;const B=_&&typeof _=="object"&&"value"in _?_.value:_;if(B&&(B.locale||B.lang))return String(B.locale||B.lang);try{const y=new URLSearchParams(location.search);return y.get("lang")||y.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function Z(){var J;if(x&&!C&&!t&&typeof window<"u"&&window.__doxaMapTokenPending){if(await window.__doxaMapTokenPending,!e.value)return;typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN||(a="maplibre",C=!0)}const pe=Nw(o,a),B=pe.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const y=()=>!e.value;if(await Yw(a),y())return;const E=Ji(a);if(!E){console.error(`[useMapInstance] ${C?"maplibregl":"mapboxgl"} is not available. Add the ${C?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(jw(E),!C){if(!t&&typeof window<"u"&&window.__doxaMapTokenPending&&(await window.__doxaMapTokenPending,y()))return;if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await Zw(e.value,C?ra.maplibre.css:Kw),y()||(await new Promise(fe=>requestAnimationFrame(fe)),y()))return;const T=e.value,R=T.clientWidth,D=T.clientHeight;if(R===0||D===0){console.error(`[useMapInstance] Container has ZERO dimensions (${R}×${D}). Map will be invisible. Check that parent elements have CSS sizing.`);let fe=T.parentElement,q=0;for(;fe&&q<5;)fe=fe.parentElement,q++}const X=t;C||(E.accessToken=X);const M=()=>typeof window<"u"&&window.innerWidth>=1024,ue=(fe,q)=>{if(u)return typeof c=="number"?c:Qi;if(!M())return Qi;const xe=tk(fe,q,h,b);return typeof c=="number"?Math.max(c,xe):xe},be=ue(T.clientWidth,T.clientHeight),ke=pe.lightPreset||(()=>{var fe;try{const q=typeof n=="function"?n():n;return(fe=q==null?void 0:q.basemap)==null?void 0:fe.lightPreset}catch{return}})();if(C){d.value=new E.Map({container:e.value,style:Xw(B,ke),locale:Hd(ee(),"maplibre"),center:s,zoom:r,minZoom:be,maxZoom:h,pitch:g,bearing:L,dragRotate:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Wd(d.value);try{e.value.__doxaMap=d.value}catch{}}else{const fe=typeof n=="function"?n():n;d.value=new E.Map({accessToken:X,container:e.value,style:B,locale:Hd(ee(),"mapbox"),...fe?{config:fe}:{},center:s,zoom:r,minZoom:be,maxZoom:h,pitch:g,bearing:L,dragRotate:!1,touchPitch:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Wd(d.value);try{e.value.__doxaMap=d.value}catch{}}try{let fe=!1;d.value.on("error",q=>{var z,I;const xe=((z=q==null?void 0:q.error)==null?void 0:z.status)??(q==null?void 0:q.status),N=String(((I=q==null?void 0:q.error)==null?void 0:I.url)||(q==null?void 0:q.sourceId)||"");xe!==401&&xe!==403||fe||(fe=!0,console.error(`[doxa-maps] Mapbox returned ${xe} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(N?` First failing request: ${N.slice(0,120)}`:"")))})}catch{}try{d.value.touchZoomRotate.disableRotation()}catch{}p=Rw(((J=e.value)==null?void 0:J.parentElement)||null,{enabled:m});let we=be,me=null;k=()=>{const fe=d.value;if(!fe)return;const q=ue(T.clientWidth,T.clientHeight);q!==we&&(we=q,fe.setMinZoom(q)),fe.getZoom(){me=null;const xe=d.value;if(!xe)return;const N=ue(T.clientWidth,T.clientHeight);if(xe.getZoom(){me&&(clearTimeout(me),me=null)},d.value.on("resize",k),typeof window<"u"&&(window.addEventListener("resize",k),window.addEventListener("orientationchange",k)),d.value.on("style.load",()=>{if(d.value&&Ud(d.value,ee()),pe.paint&&d.value){const fe=Iw(d.value,pe.paint);console.info("[useMapInstance] style paint applied ("+a+"):",fe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var fe;(fe=d.value)==null||fe.resize(),d.value&&d.value.setMinZoom(ue(T.clientWidth,T.clientHeight)),f.value=!0})})}function W(){if(d.value){if(k&&(d.value.off("resize",k),typeof window<"u"&&(window.removeEventListener("resize",k),window.removeEventListener("orientationchange",k)),k=null),A){try{A()}catch{}A=null}p&&(p(),p=null),d.value.remove(),d.value=null,f.value=!1}}if(K&&typeof K=="object"&&"value"in K)try{Ne(K,()=>{d.value&&f.value&&Ud(d.value,ee())})}catch{}return{map:d,isMapReady:f,initializeMap:Z,destroy:W}}const nk=Bn&&Bn.tagName.toUpperCase()==="SCRIPT"&&Bn.src||new URL("doxa-research-map.js",document.baseURI).href,fn=e=>String(e||"").trim().replace(/\/+$/,"");function Vd(){try{const t=String(nk||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function ak(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return fn(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return fn(o)}return fn(Vd()||"")}function el(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=fn(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=fn((e==null?void 0:e.treeBase)||"")||fn(Vd()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return fn(new URL(o+"/assets",n).href)}catch{return fn(o+"/assets")}return"./assets"}function sk({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=ak(n),l=r.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const qd="adoptionStatus",Qo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},tl=Qo,ol={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},rk=ol;function Yd(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Qo.hasAdoption:Qo.notAdopted}function nl({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Qo.hasAdoption,["==",t,1],Qo.hasAdoption,Qo.notAdopted]}const Zd=nl,ik=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:tl,ADOPTION_LABELS:rk,LABELS:ol,PALETTE:Qo,PROPERTY_KEY:qd,applyColor:nl,buildColorExpression:Zd,default:{name:"Adoption Progress",propertyKey:qd,palette:Qo,colors:Qo,labels:ol,getColor:Yd,applyColor:nl,buildColorExpression:Zd},getColor:Yd},Symbol.toStringTag,{value:"Module"})),al="affinityBlock",ia="#95a5a6",en={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},_r={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},hn=_r,Xd=Object.entries(en).reduce((e,[t,o])=>(e[o]=t,e),{}),sl=Object.entries(en).reduce((e,[t,o])=>(e[o]=hn[t],e),{}),Jd=en;function rl(e){return en[e]||"Unknown"}function il(e){return hn[e]||ia}function Qd(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?hn[e]||ia:sl[e]||ia:ia}function eg(){return Object.entries(en).map(([e,t])=>({code:e,name:t,color:hn[e]}))}function tg(e){return{code:e,name:en[e]||"Unknown",color:hn[e]||ia}}function og(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return il(t)}function ng(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return rl(t)}function ll(){const e=["match",["get",al]];return Object.entries(hn).forEach(([t,o])=>{e.push(t,o)}),e.push(ia),e}const ag=ll,lk=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:hn,AFFINITY_BLOCK_COLORS_BY_NAME:sl,AFFINITY_BLOCK_NAMES:en,AFFINITY_BLOCK_NAME_TO_CODE:Xd,NAMES:Jd,PALETTE:_r,PROPERTY_KEY:al,affinityBlockCodeLookup:en,affinityBlockCodeToColor:hn,affinityBlockCodeToName:en,affinityBlockColors:sl,affinityBlockNameToCode:Xd,applyColor:ll,buildColorExpression:ag,default:{name:"Affinity Block",propertyKey:al,palette:_r,colors:_r,names:Jd,getColor:og,applyColor:ll,buildColorExpression:ag,getName:ng,getAffinityBlockName:rl,getAffinityBlockColor:Qd,getAffinityBlockColorByCode:il,getAffinityBlocksArray:eg,getAffinityBlockData:tg},getAffinityBlockColor:Qd,getAffinityBlockColorByCode:il,getAffinityBlockData:tg,getAffinityBlockName:rl,getAffinityBlocksArray:eg,getColor:og,getName:ng},Symbol.toStringTag,{value:"Module"}));function ck(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ul),e}const lg=gl,pk=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:uk,PALETTE:yr,PROPERTY_KEY:cl,REGION_COLOR_ALIASES:dl,SLUG_PALETTE:vr,applyColor:gl,buildColorExpression:lg,default:{name:"DOXA Region",propertyKey:cl,palette:yr,colors:yr,slugColors:vr,aliases:dl,fallback:ul,getColor:ig,applyColor:gl,buildColorExpression:lg,getRegionColor:rg,getRegionColorBySlug:pl},getColor:ig,getRegionColor:rg,getRegionColorBySlug:pl},Symbol.toStringTag,{value:"Module"})),cg="engagementStatus",tn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},fl=tn,hl={notEngaged:"Unengaged",hasEngagement:"Engaged"},dk=hl;function ug(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?tn.hasEngagement:tn.notEngaged}function ml({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],tn.hasEngagement,["==",t,1],tn.hasEngagement,tn.notEngaged]}const pg=ml,gk=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:fl,ENGAGEMENT_LABELS:dk,LABELS:hl,PALETTE:tn,PROPERTY_KEY:cg,applyColor:ml,buildColorExpression:pg,default:{name:"Engagement Progress",propertyKey:cg,palette:tn,colors:tn,labels:hl,getColor:ug,applyColor:ml,buildColorExpression:pg},getColor:ug},Symbol.toStringTag,{value:"Module"})),bl="languageFamily",fk="#000000",mn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},dg=mn;function _o(e){return mn[e]||fk}const hk=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(mn))t[e(o)]=o;return t})(),mk={"tai-kadai":"Kra-Dai",none:"Unknown"};function wr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return mk[o]||hk[o]||t}function gg(e){var t;return _o(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function $l(){const e=["match",["get",bl]];return Object.entries(mn).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const fg=$l,bk=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:dg,PALETTE:mn,PROPERTY_KEY:bl,applyColor:$l,buildColorExpression:fg,canonicalFamilyName:wr,default:{name:"Language Family",propertyKey:bl,palette:mn,colors:mn,getColor:gg,applyColor:$l,buildColorExpression:fg,getLanguageFamilyColor:_o,canonicalFamilyName:wr},defaultFamilyColor:"#95a5a6",getColor:gg,getLanguageFamilyColor:_o,languageFamilyColors:mn},Symbol.toStringTag,{value:"Module"})),hg="peoplePraying",Io=144,bn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Nn=bn,_l={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},$k=_l;function kr(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=Io?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function yl(e){return bn[kr(e)]}function mg(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function bg(e){return kr(e)==="fullPrayer"}function $g(e){return yl(e)}function vl({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Io],bn.fullPrayer,[">",t,0],bn.hasPrayer,bn.noPrayer]}const _g=vl,_k=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Io,LABELS:_l,PALETTE:bn,PRAYER_COLORS:Nn,PRAYER_LABELS:$k,PROPERTY_KEY:hg,applyColor:vl,buildColorExpression:_g,checkHasFullPrayer:bg,checkHasPrayer:mg,default:{name:"Prayer Progress",propertyKey:hg,palette:bn,colors:bn,labels:_l,threshold:Io,getColor:$g,applyColor:vl,buildColorExpression:_g,getPrayerLevel:kr,getPrayerColor:yl,checkHasPrayer:mg,checkHasFullPrayer:bg},getColor:$g,getPrayerColor:yl,getPrayerLevel:kr},Symbol.toStringTag,{value:"Module"})),yg="religion",wl="#94a3b8",yo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},oo={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Xa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return yo[t]?t:"U"}function vg(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return oo[Xa(t)]||wl}function kl(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",oo.C,"M",oo.M,"H",oo.H,"B",oo.B,"E",oo.E,"J",oo.J,"S",oo.S,"N",oo.N,"O",oo.O,wl]}const wg=kl,yk={name:"Religion",propertyKey:yg,palette:oo,families:yo,getColor:vg,applyColor:kl,buildColorExpression:wg,fallback:wl};function xl(e){const t=String(e||""),o=yo[t]||t;return o?jt("religion.family."+o)||o:""}const vk=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:oo,PROPERTY_KEY:yg,RELIGION_FAMILIES:yo,applyColor:kl,buildColorExpression:wg,default:yk,getColor:vg,getReligionFamily:Xa,religionFamilyLabel:xl},Symbol.toStringTag,{value:"Module"})),kg="resourceType",$n={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},wk=$n,Ja=["bible","jesusFilm","radio","gospel","audio","stories"],Sl={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},kk=Sl;function Qa(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function xg(e){var t;for(const o of Ja)if((e[o]||((t=e._raw)==null?void 0:t[Qa(o)]))==="Available")return $n.hasResources;return $n.noResources}function Sg(e){var t;for(const o of Ja)if((e[o]||((t=e._raw)==null?void 0:t[Qa(o)]))==="Available")return!0;return!1}function Pg(e){var t;for(const o of Ja)if((e[o]||((t=e._raw)==null?void 0:t[Qa(o)]))==="Available")return o;return"noResources"}function Pl(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],$n.hasResources,$n.noResources]}const Ag=Pl,xk=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Sl,PALETTE:$n,PROPERTY_KEY:kg,RESOURCE_COLORS:wk,RESOURCE_NAMES:kk,RESOURCE_PRIORITY:Ja,applyColor:Pl,buildColorExpression:Ag,default:{name:"Gospel Resources",propertyKey:kg,palette:$n,colors:$n,names:Sl,priority:Ja,getColor:xg,applyColor:Pl,buildColorExpression:Ag,hasAnyResource:Sg,getResourceType:Pg,getCSVColumn:Qa},getCSVColumn:Qa,getColor:xg,getResourceType:Pg,hasAnyResource:Sg},Symbol.toStringTag,{value:"Module"})),Lg="region",Al="#6d766e",Cg={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},es={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},Ll=Object.keys(es);function Tg(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return es[t]||Al}function Cl(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ll)e.push(t,es[t]);return e.push(Al),e}const Eg=Cl,Sk=Object.assign({"./adoption.js":ik,"./affinity-block.js":lk,"./doxa-region.js":pk,"./engagement.js":gk,"./language-family.js":bk,"./prayer-progress.js":_k,"./religion.js":vk,"./resource.js":xk,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:es,PROPERTY_KEY:Lg,REGION_ORDER:Ll,WAGF_REGIONS:Cg,applyColor:Cl,buildColorExpression:Eg,default:{name:"WAGF Region",propertyKey:Lg,palette:es,regions:Cg,order:Ll,getColor:Tg,applyColor:Cl,buildColorExpression:Eg,fallback:Al},getColor:Tg},Symbol.toStringTag,{value:"Module"}))}),Pk=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Ak=e=>e.replace(/-/g,"_").toUpperCase(),la={...{STATUS:"status",CUSTOM:"custom"}},Tl={};function Lk(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const a=Pk(o);la[Ak(o)]=a,Tl[a]=n}}Lk(Sk);function Mo(e){return Tl[e]||Tl[la.LANGUAGE_FAMILY]}function Ck(e,t={}){return Mo(e).applyColor(t)}const Tk={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},Rg={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function Ek(e){return Tk[e]||null}function El(e="standard"){return Rg.circleRadius[e]||Rg.circleRadius.standard}const Rk={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};function mt(e){return e==null?"":String(e).replace(/[&<>"'`]/g,t=>Rk[t])}function Fk(e,t=""){try{const o=new URL(String(e),typeof location<"u"?location.href:"https://example.invalid/");if(o.protocol==="http:"||o.protocol==="https:")return mt(o.href)}catch{}return mt(t)}function Fg(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Ce("uiStore"),{t:r,locale:i}=_t(),l=_e([]);function c(f){const k=n(f.languageFamily),A="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let p=f.imageUrl;(!p||p.includes("NoImageAvailable"))&&(p=A);const _=(f.name||"U")[0].toUpperCase(),x=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],C=_.charCodeAt(0)%x.length,K=x[C];return`
${mt(f.name)} ${mt(K)}

- `}function h(f){const k=t();if(!k)return;const A=f||"language-family-pins";if(!k.getLayer(A))return;const p=_=>{try{const x=_.features[0],C=x.properties,K=x.geometry.coordinates.slice();for(;Math.abs(_.lngLat.lng-K[0])>180;)K[0]+=_.lngLat.lng>K[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(x),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new($r(k)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(K).setHTML(c(C)).addTo(k)}catch(x){console.error(` [${o}] Pin click handler error:`,x)}};k.on("click",A,p),l.value.push({event:"click",layer:A,handler:p})}function g(){const f=t();if(!f)return;const k="regions-fill";if(!f.getLayer(k))return;const A=p=>{const _=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const x of _)if(f.getLayer(x)){const C=f.queryRenderedFeatures(p.point,{layers:[x]});if(C&&C.length>0)return}if(p.features&&p.features.length>0){const x=p.features[0].properties;new($r(f)).Popup().setLngLat(p.lngLat).setHTML(u(x)).addTo(f)}};f.on("click",k,A),l.value.push({event:"click",layer:k,handler:A})}function L(){const f=t();if(!f)return;const k="clusters";if(!f.getLayer(k))return;const A=p=>{const _=f.queryRenderedFeatures(p.point,{layers:[k]});if(!_.length)return;const x=_[0].properties.cluster_id,C=_[0].source;f.getSource(C).getClusterExpansionZoom(x,(K,ee)=>{K||f.easeTo({center:_[0].geometry.coordinates,zoom:ee})})};f.on("click",k,A),l.value.push({event:"click",layer:k,handler:A})}function w(f){const k=t();if(!k||!k.getLayer(f))return;const A=()=>{k.getCanvas().style.cursor="pointer"},p=()=>{k.getCanvas().style.cursor=""};k.on("mouseenter",f,A),k.on("mouseleave",f,p),l.value.push({event:"mouseenter",layer:f,handler:A}),l.value.push({event:"mouseleave",layer:f,handler:p})}function m(){h(),w("language-family-pins"),h("language-family-pins-hitbox"),w("language-family-pins-hitbox"),L(),w("clusters")}function b(){g(),w("regions-fill")}function $(){const f=t();f&&(f.getLayer("language-family-pins")&&m(),f.getLayer("regions-fill")&&b(),f.getLayer("people-groups-pins")&&(h(),w("people-groups-pins")))}function d(){const f=t();if(f){for(const{event:k,layer:A,handler:p}of l.value)try{f.off(k,A,p)}catch{}l.value=[]}}return{attachAllEventHandlers:$,attachLanguageFamilyEvents:m,attachRegionEvents:b,attachPinClickHandler:h,attachRegionClickHandler:g,attachClusterClickHandler:L,attachCursorHandlers:w,detachAllEventHandlers:d,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Je={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Rl=[">",["to-number",["get","peoplePraying"],0],0],Fl={0:.25,8:.4,14:.5},ca={0:.1,8:.18,14:.22},ua={0:1.2,8:1.6,14:2},Ng=["interpolate",["linear"],["zoom"],0,["case",Rl,Fl[0],ca[0]],8,["case",Rl,Fl[8],ca[8]],14,["case",Rl,Fl[14],ca[14]]],Fk=["interpolate",["linear"],["zoom"],0,ua[0],8,ua[8],14,ua[14]],Ig=["==",["to-number",["get","peoplePraying"],0],0],Nk={prayer:[Ig],prayerProgress:[Ig],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function Ik(e){const t=Nk[e]||[];if(!t.length)return Fk;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,ca[0],ua[0]],8,["case",o,ca[8],ua[8]],14,["case",o,ca[14],ua[14]]]}const Mk=[[/ sign language$/i,"Sign Language"]];function Ok(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Je[a])return Je[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(Je[s])return Je[s]}}if(Je[t])return Je[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Je[n])return Je[n];for(const[a,s]of Mk)if(a.test(t))return s;return null}function Dk(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=()=>{const J=t();return J?qe(J):null},r=Fg({getMap:s,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=_e({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=_e({});function c(J,fe="languageFamily"){const q=s();if(!q||!(J!=null&&J.length))return;const xe=Lk(fe),N=J.map(G=>{var re,ge,v,P,Y,H,ae,ce,j,ie,Ae,Ie,Ke,ft,at,St,Xt,bt,kt;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||((re=G._normalized)==null?void 0:re.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((ge=G._normalized)==null?void 0:ge.languageFamily)||Ok(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((v=G._normalized)==null?void 0:v.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((P=G._normalized)==null?void 0:P.affinityBlockLabel)||"",cluster:G.cluster||((Y=G._normalized)==null?void 0:Y.cluster)||"",clusterLabel:G.clusterLabel||((H=G._normalized)==null?void 0:H.clusterLabel)||"",peopleGroup:G.peopleGroup||((ae=G._normalized)==null?void 0:ae.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((ce=G._normalized)==null?void 0:ce.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((j=G._normalized)==null?void 0:j.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((ie=G._normalized)==null?void 0:ie.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Ae=G._normalized)==null?void 0:Ae.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Ie=G._normalized)==null?void 0:Ie.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((Ke=G._normalized)==null?void 0:Ke.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((ft=G._normalized)==null?void 0:ft.bible)||"Not Available",jesusFilm:G.jesusFilm||((at=G._normalized)==null?void 0:at.jesusFilm)||"Not Available",radio:G.radio||((St=G._normalized)==null?void 0:St.radio)||"Not Available",gospel:G.gospel||((Xt=G._normalized)==null?void 0:Xt.gospel)||"Not Available",audio:G.audio||((bt=G._normalized)==null?void 0:bt.audio)||"Not Available",stories:G.stories||((kt=G._normalized)==null?void 0:kt.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),z=.04,I=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,Q=new Map;for(const G of N){const re=I(G);Q.has(re)||Q.set(re,[]),Q.get(re).push(G)}for(const G of Q.values()){if(G.length<2)continue;const[re,ge]=G[0].geometry.coordinates,v=G.length;for(let P=0;P",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),q.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":El("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function u(J,fe="doxa-regions"){const q=s();if(!q)return;q.getLayer("regions-fill")&&q.removeLayer("regions-fill"),q.getLayer("regions-border")&&q.removeLayer("regions-border"),q.getSource("regions")&&q.removeSource("regions");const xe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},N="#cccccc",z=J&&J.isoToRegion?J.isoToRegion:{},I=[],Q={};for(const[ge,v]of Object.entries(z)){const P=xe[String(v).toLowerCase()];P&&I.push(ge,P),Q[v]||(Q[v]=[]),Q[v].push(ge)}l.value=Q;const ne=I.length?["match",["get","iso_3166_1_alpha_3"],...I,N]:N,G=q.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":q.getLayer("language-family-pins")?"language-family-pins":void 0,re=(()=>{var ge,v,P;try{return!!((P=(v=(ge=q.getContainer)==null?void 0:ge.call(q))==null?void 0:v.classList)!=null&&P.contains("maplibregl-map"))}catch{return!1}})();re?(q.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${el(null)}/boundaries/world-adm0-web.geojson`).then(ge=>ge.json()).then(ge=>{for(const P of ge.features||[])P.properties&&P.properties.iso3&&(P.properties.iso_3166_1_alpha_3=P.properties.iso3);const v=q.getSource("regions");v&&v.setData(ge)}).catch(ge=>console.warn("[map-layers] region boundaries failed to load",ge))):q.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),q.addLayer({id:"regions-fill",type:"fill",source:"regions",...re?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":ne,"fill-opacity":fe==="none"?.1:.7,"fill-antialias":!0,...No(q,"fill"),"fill-opacity-transition":{duration:300}}},G),q.addLayer({id:"regions-border",type:"line",source:"regions",...re?{}:{"source-layer":"country_boundaries"},paint:{"line-color":ne,"line-width":1,"line-opacity":.9,...No(q,"line")}},G),i.value.regions=!0,r.attachRegionEvents()}function h(J,fe){const q=s();if(!q||!J||!(fe!=null&&fe.length))return;g();const xe=fe.filter(ne=>{var re;return(ne.languageFamily||((re=ne._normalized)==null?void 0:re.languageFamily)||"Unknown")===J});if(xe.length<2)return;const N=n(J),z=[],I=15,Q=[...xe].sort((ne,G)=>(ne.longitude||ne.lng)-(G.longitude||G.lng));for(let ne=0;ne=",["get","peoplePraying"],Io],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const T=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function R(J,fe){const q=["interpolate",["linear"],["zoom"]];for(let xe=0;xe",["get","peoplePraying"],0],q=E();if(!x.every(N=>J.getLayer(N))){for(const N of x)if(J.getLayer(N))try{J.removeLayer(N)}catch{}J.addLayer({id:A,type:"circle",source:"language-families",filter:fe,paint:{"circle-radius":R(T,1),"circle-color":q,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...No(J)}},"language-family-pins");for(const N of _)J.addLayer({id:N,type:"circle",source:"language-families",filter:fe,paint:{"circle-radius":R(T,1),"circle-radius-transition":pe,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":q,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":pe,...No(J)}},"language-family-pins")}}function X(){const J=s();if(J)for(const fe of x)J.getLayer(fe)&&J.removeLayer(fe)}function M(J){const fe=s();if(!fe)return;const q=[">",["get","peoplePraying"],0],xe=J?["all",q,J]:q;for(const N of x)if(fe.getLayer(N))try{fe.setFilter(N,xe)}catch{}}function ue(){const J=s();if(J){if(D(),d&&(cancelAnimationFrame(d),d=null),f=!0,J.getLayer("language-family-pins"))try{J.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Io],1,[">",["get","peoplePraying"],0],1,3])}catch{}ke(J),be()}}function be(){d&&(cancelAnimationFrame(d),d=null);const J=++k;let fe=performance.now(),q=-1/0;function xe(N){if(!f||J!==k)return;const z=s();if(!z||!x.some(Q=>z.getLayer(Q))){d=null;return}if(N-q"u")return;const fe=typeof J.getContainer=="function"?J.getContainer():null;if(fe)try{y=new IntersectionObserver(q=>{for(const xe of q)B=xe.isIntersecting},{threshold:0}),y.observe(fe)}catch{y=null,B=!0}}function we(){if(y){try{y.disconnect()}catch{}y=null}B=!0}function me(){f=!1,d&&(cancelAnimationFrame(d),d=null),we();try{X();const J=s();J&&J.getLayer("language-family-pins")&&J.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:h,removeFamilyConnectionLines:g,updateLayerSource:L,removeLayer:w,hasLayer:m,setPaintProperty:b,mapEvents:r,startPrayerGlow:ue,stopPrayerGlow:me,syncGlowFilter:M,cleanup:$}}const vo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function Gk(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(vo==null?void 0:vo.center)||[20,10],defaultZoom:r=vo==null?void 0:vo.zoom}=e,i=()=>{try{return typeof window<"u"&&!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}};function l(y){const E=i(),T=(R={})=>{const D={};for(const X of["center","zoom","bearing","pitch","padding"])R[X]!==void 0&&(D[X]=R[X]);return y.jumpTo(D)};return{flyTo:R=>E?T(R):y.flyTo(R),easeTo:R=>E?T(R):y.easeTo(R),fitBounds:(R,D={})=>y.fitBounds(R,E?{...D,animate:!1,duration:0}:D)}}const c={speed:.5,essential:!0,curve:1.2};function u(y,E,T={x:150,y:0}){const R=t();if(!R)return y;try{const D=R.getCanvas(),X=D.width,M=D.height,ue=R.project(y),be=window.devicePixelRatio||1,ke=(T.x||0)*be,we=(T.y||0)*be,me={x:ue.x-ke,y:ue.y-we},J=R.unproject(me);return[J.lng,J.lat]}catch{return y}}function h(y,E=[]){const T=t();if(!T)return;let R=null,D=5;const X=E.filter(ue=>ue.languageFamily===y);if(X.length>0){let ue=1/0,be=-1/0,ke=1/0,we=-1/0;if(X.forEach(me=>{me.longitude&&me.latitude&&(ue=Math.min(ue,me.longitude),be=Math.max(be,me.longitude),ke=Math.min(ke,me.latitude),we=Math.max(we,me.latitude))}),ue!==1/0){R=[(ue+be)/2,(ke+we)/2];const me=be-ue,J=we-ke,fe=Math.max(me,J);fe>50?D=2:fe>20?D=3:fe>10?D=4:fe>5?D=5:D=6}}if(!R)return;const M=u(R);l(T).flyTo({center:M,zoom:D,...c})}function g(y){const E=t();if(!E)return;let T=null,R=4;const D=Tk(y);if(D)T=D.center,R=D.zoom||4;else if(a!=null&&a.features){const M=a.features.find(ue=>{var be,ke;return((be=ue.properties)==null?void 0:be.region)===y||((ke=ue.properties)==null?void 0:ke.name)===y});M&&(T=L(M))}if(!T)return;const X=u(T);l(E).flyTo({center:X,zoom:R,...c})}function L(y){if(!y||!y.geometry)return null;const{type:E,coordinates:T}=y.geometry;let R=[];if(E==="Polygon"?R=T[0]||[]:E==="MultiPolygon"&&T.forEach(M=>{R=R.concat(M[0]||[])}),R.length===0)return null;let D=0,X=0;return R.forEach(M=>{D+=M[0],X+=M[1]}),[D/R.length,X/R.length]}function w(y,E={}){const T=t();if(!T)return;const R={center:y,...c,...E};l(T).flyTo(R)}function m(y,E,T={}){const R=t();if(!R||(y==null?void 0:y.longitude)==null||(y==null?void 0:y.latitude)==null)return;const D=E??Math.min(R.getZoom()+2,8);w([y.longitude,y.latitude],{...T,zoom:D})}function b(y,E={top:40,right:40,bottom:40,left:40},T={}){const R=t();if(!R||!y)return;const D=T.maxZoom??4,X=T.duration??900;l(R).fitBounds(y,{padding:E,maxZoom:D,duration:X,...c,...T})}function $(){const y=t();y&&l(y).flyTo({center:s,zoom:r,...c})}const d=80,f=800,k=5,A=5,p=110,_=1.2;function x(y){const E=y.filter(Number.isFinite).slice().sort((I,Q)=>I-Q),T=E.length;if(!T)return null;let R=-1,D=0;for(let I=0;IR&&(R=ne,D=I)}const X=(D+1)%T,M=new Array(T);for(let I=0;I0&&Q((I+180)%360+360)%360-180,J=me(ke),fe=24,q=360/fe,xe=new Array(fe).fill(0);for(const I of E){let Q=Math.floor(((I+180)%360+360)%360/q);Q>=fe&&(Q=fe-1),xe[Q]++}let N=0;for(let I=1;Ixe[N]&&(N=I);return{center:me(-180+(N+.5)*q),minLng:J,maxLng:J+(we-ke),span:we-ke}}function C(y){try{const E=y.getContainer&&y.getContainer().clientWidth||0,T=E>0?Math.log2(E/512):_,R=typeof y.getMinZoom=="function"?y.getMinZoom():T;return Math.max(R,T)}catch{return _}}function K(y,E,T,R){l(y).easeTo({center:[E,(T+R)/2],zoom:C(y),duration:f,essential:!0})}function ee(y,E,T){if(T>p)return!0;try{const R=typeof y.cameraForBounds=="function"?y.cameraForBounds(E,{padding:d,maxZoom:k}):null;return R==null?!0:typeof R.zoom=="number"&&R.zoom<=C(y)+.05}catch{return!1}}function Z(y,E){if(!Array.isArray(y))return y;switch(y[0]){case"get":return E==null?void 0:E[y[1]];case"literal":return y[1];case"has":return E!=null&&y[1]in E;case"!has":return E==null||!(y[1]in E);case"!":return!Z(y[1],E);case"coalesce":{for(let R=1;R2){const X=Number(Z(y[2],E));return Number.isFinite(X)?X:0}return NaN}case"to-string":{const R=Z(y[1],E);return R==null?"":String(R)}case"to-boolean":return!!Z(y[1],E);case"slice":{const R=Z(y[1],E),D=Z(y[2],E),X=y.length>3?Z(y[3],E):void 0;return typeof R!="string"?"":X!=null?R.slice(D,X):R.slice(D)}default:return y}}function W(y,E){if(y===!0)return!0;if(y===!1)return!1;if(!Array.isArray(y))return!!y;const T=y[0];if(T==="all"){for(let R=1;R"||T===">="||T==="<"||T==="<="){const R=typeof y[1]=="string"?E==null?void 0:E[y[1]]:Z(y[1],E),D=Z(y[2],E);switch(T){case"==":return R===D||R==null&&D==null;case"!=":return!(R===D||R==null&&D==null);case">":return R>D;case">=":return R>=D;case"<":return R{const G=(ne==null?void 0:ne.properties)||{};return G.region===I||G.name===I||G.id===I});if(Q){const ne=[];let G=1/0,re=-1/0;const ge=P=>{for(const Y of P)Array.isArray(Y[0])?ge(Y):Number.isFinite(Y[0])&&Number.isFinite(Y[1])&&(ne.push(Y[0]),Y[1]re&&(re=Y[1]))};(xe=Q.geometry)!=null&&xe.coordinates&&ge(Q.geometry.coordinates);const v=x(ne);if(v&&Number.isFinite(G)){const P=[[v.minLng,G],[v.maxLng,re]];ee(T,P,v.span)?K(T,v.center,G,re):l(T).fitBounds(P,{padding:d,maxZoom:k,duration:f,essential:!0});return}}}const R=E.sourceId??"language-families";if(!T.getSource(R))return;const D=E.matchExpr??y.filter;if(!D)return;const X=pe(T,R);if(!X.length)return;const M=[];let ue=1/0,be=-1/0,ke=0,we=0,me=0;const J=new Set;for(const z of X){const I=z==null?void 0:z.properties;if(!W(D,I))continue;const Q=I==null?void 0:I.uniqueId;if(Q!=null){if(J.has(Q))continue;J.add(Q)}const ne=(N=z.geometry)==null?void 0:N.coordinates;if(!Array.isArray(ne)||ne.length<2)continue;const G=ne[0],re=ne[1];!Number.isFinite(G)||!Number.isFinite(re)||(ke===0&&(we=G,me=re),M.push(G),rebe&&(be=re),ke++)}if(ke===0)return;if(ke===1){l(T).flyTo({center:[we,me],zoom:A,duration:f,essential:!0});return}const fe=x(M)||{center:0,minLng:0,maxLng:0,span:0},q=[[fe.minLng,ue],[fe.maxLng,be]];if(ee(T,q,fe.span)){K(T,fe.center,ue,be);return}try{l(T).fitBounds(q,{padding:d,maxZoom:k,duration:f,essential:!0})}catch{}}return{getOffsetCenter:u,slowFlyToFamily:h,slowFlyToRegion:g,flyTo:w,flyToCoords:m,fitBounds:b,resetView:$,zoomToLegendRow:B,calculateRegionCenterFromPolygon:L}}const xr="#1a1a1a",on="selected-pin-highlight";function zk(e=xr){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + `}function h(f){const k=t();if(!k)return;const A=f||"language-family-pins";if(!k.getLayer(A))return;const p=_=>{try{const x=_.features[0],C=x.properties,K=x.geometry.coordinates.slice();for(;Math.abs(_.lngLat.lng-K[0])>180;)K[0]+=_.lngLat.lng>K[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(x),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new($r(k)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(K).setHTML(c(C)).addTo(k)}catch(x){console.error(` [${o}] Pin click handler error:`,x)}};k.on("click",A,p),l.value.push({event:"click",layer:A,handler:p})}function g(){const f=t();if(!f)return;const k="regions-fill";if(!f.getLayer(k))return;const A=p=>{const _=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const x of _)if(f.getLayer(x)){const C=f.queryRenderedFeatures(p.point,{layers:[x]});if(C&&C.length>0)return}if(p.features&&p.features.length>0){const x=p.features[0].properties;new($r(f)).Popup().setLngLat(p.lngLat).setHTML(u(x)).addTo(f)}};f.on("click",k,A),l.value.push({event:"click",layer:k,handler:A})}function L(){const f=t();if(!f)return;const k="clusters";if(!f.getLayer(k))return;const A=p=>{const _=f.queryRenderedFeatures(p.point,{layers:[k]});if(!_.length)return;const x=_[0].properties.cluster_id,C=_[0].source;f.getSource(C).getClusterExpansionZoom(x,(K,ee)=>{K||f.easeTo({center:_[0].geometry.coordinates,zoom:ee})})};f.on("click",k,A),l.value.push({event:"click",layer:k,handler:A})}function w(f){const k=t();if(!k||!k.getLayer(f))return;const A=()=>{k.getCanvas().style.cursor="pointer"},p=()=>{k.getCanvas().style.cursor=""};k.on("mouseenter",f,A),k.on("mouseleave",f,p),l.value.push({event:"mouseenter",layer:f,handler:A}),l.value.push({event:"mouseleave",layer:f,handler:p})}function m(){h(),w("language-family-pins"),h("language-family-pins-hitbox"),w("language-family-pins-hitbox"),L(),w("clusters")}function b(){g(),w("regions-fill")}function $(){const f=t();f&&(f.getLayer("language-family-pins")&&m(),f.getLayer("regions-fill")&&b(),f.getLayer("people-groups-pins")&&(h(),w("people-groups-pins")))}function d(){const f=t();if(f){for(const{event:k,layer:A,handler:p}of l.value)try{f.off(k,A,p)}catch{}l.value=[]}}return{attachAllEventHandlers:$,attachLanguageFamilyEvents:m,attachRegionEvents:b,attachPinClickHandler:h,attachRegionClickHandler:g,attachClusterClickHandler:L,attachCursorHandlers:w,detachAllEventHandlers:d,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Je={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Rl=[">",["to-number",["get","peoplePraying"],0],0],Fl={0:.25,8:.4,14:.5},ca={0:.1,8:.18,14:.22},ua={0:1.2,8:1.6,14:2},Ng=["interpolate",["linear"],["zoom"],0,["case",Rl,Fl[0],ca[0]],8,["case",Rl,Fl[8],ca[8]],14,["case",Rl,Fl[14],ca[14]]],Nk=["interpolate",["linear"],["zoom"],0,ua[0],8,ua[8],14,ua[14]],Ig=["==",["to-number",["get","peoplePraying"],0],0],Ik={prayer:[Ig],prayerProgress:[Ig],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function Mk(e){const t=Ik[e]||[];if(!t.length)return Nk;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,ca[0],ua[0]],8,["case",o,ca[8],ua[8]],14,["case",o,ca[14],ua[14]]]}const Ok=[[/ sign language$/i,"Sign Language"]];function Dk(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Je[a])return Je[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(Je[s])return Je[s]}}if(Je[t])return Je[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Je[n])return Je[n];for(const[a,s]of Ok)if(a.test(t))return s;return null}function Gk(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=()=>{const J=t();return J?qe(J):null},r=Fg({getMap:s,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=_e({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=_e({});function c(J,fe="languageFamily"){const q=s();if(!q||!(J!=null&&J.length))return;const xe=Ck(fe),N=J.map(G=>{var re,ge,v,P,Y,H,ae,ce,j,ie,Ae,Ie,Ke,ft,at,St,Xt,bt,kt;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||((re=G._normalized)==null?void 0:re.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((ge=G._normalized)==null?void 0:ge.languageFamily)||Dk(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((v=G._normalized)==null?void 0:v.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((P=G._normalized)==null?void 0:P.affinityBlockLabel)||"",cluster:G.cluster||((Y=G._normalized)==null?void 0:Y.cluster)||"",clusterLabel:G.clusterLabel||((H=G._normalized)==null?void 0:H.clusterLabel)||"",peopleGroup:G.peopleGroup||((ae=G._normalized)==null?void 0:ae.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((ce=G._normalized)==null?void 0:ce.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((j=G._normalized)==null?void 0:j.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((ie=G._normalized)==null?void 0:ie.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Ae=G._normalized)==null?void 0:Ae.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Ie=G._normalized)==null?void 0:Ie.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((Ke=G._normalized)==null?void 0:Ke.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((ft=G._normalized)==null?void 0:ft.bible)||"Not Available",jesusFilm:G.jesusFilm||((at=G._normalized)==null?void 0:at.jesusFilm)||"Not Available",radio:G.radio||((St=G._normalized)==null?void 0:St.radio)||"Not Available",gospel:G.gospel||((Xt=G._normalized)==null?void 0:Xt.gospel)||"Not Available",audio:G.audio||((bt=G._normalized)==null?void 0:bt.audio)||"Not Available",stories:G.stories||((kt=G._normalized)==null?void 0:kt.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),z=.04,I=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,Q=new Map;for(const G of N){const re=I(G);Q.has(re)||Q.set(re,[]),Q.get(re).push(G)}for(const G of Q.values()){if(G.length<2)continue;const[re,ge]=G[0].geometry.coordinates,v=G.length;for(let P=0;P",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),q.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":El("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function u(J,fe="doxa-regions"){const q=s();if(!q)return;q.getLayer("regions-fill")&&q.removeLayer("regions-fill"),q.getLayer("regions-border")&&q.removeLayer("regions-border"),q.getSource("regions")&&q.removeSource("regions");const xe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},N="#cccccc",z=J&&J.isoToRegion?J.isoToRegion:{},I=[],Q={};for(const[ge,v]of Object.entries(z)){const P=xe[String(v).toLowerCase()];P&&I.push(ge,P),Q[v]||(Q[v]=[]),Q[v].push(ge)}l.value=Q;const ne=I.length?["match",["get","iso_3166_1_alpha_3"],...I,N]:N,G=q.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":q.getLayer("language-family-pins")?"language-family-pins":void 0,re=(()=>{var ge,v,P;try{return!!((P=(v=(ge=q.getContainer)==null?void 0:ge.call(q))==null?void 0:v.classList)!=null&&P.contains("maplibregl-map"))}catch{return!1}})();re?(q.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${el(null)}/boundaries/world-adm0-web.geojson`).then(ge=>ge.json()).then(ge=>{for(const P of ge.features||[])P.properties&&P.properties.iso3&&(P.properties.iso_3166_1_alpha_3=P.properties.iso3);const v=q.getSource("regions");v&&v.setData(ge)}).catch(ge=>console.warn("[map-layers] region boundaries failed to load",ge))):q.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),q.addLayer({id:"regions-fill",type:"fill",source:"regions",...re?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":ne,"fill-opacity":fe==="none"?.1:.7,"fill-antialias":!0,...No(q,"fill"),"fill-opacity-transition":{duration:300}}},G),q.addLayer({id:"regions-border",type:"line",source:"regions",...re?{}:{"source-layer":"country_boundaries"},paint:{"line-color":ne,"line-width":1,"line-opacity":.9,...No(q,"line")}},G),i.value.regions=!0,r.attachRegionEvents()}function h(J,fe){const q=s();if(!q||!J||!(fe!=null&&fe.length))return;g();const xe=fe.filter(ne=>{var re;return(ne.languageFamily||((re=ne._normalized)==null?void 0:re.languageFamily)||"Unknown")===J});if(xe.length<2)return;const N=n(J),z=[],I=15,Q=[...xe].sort((ne,G)=>(ne.longitude||ne.lng)-(G.longitude||G.lng));for(let ne=0;ne=",["get","peoplePraying"],Io],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const T=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function R(J,fe){const q=["interpolate",["linear"],["zoom"]];for(let xe=0;xe",["get","peoplePraying"],0],q=E();if(!x.every(N=>J.getLayer(N))){for(const N of x)if(J.getLayer(N))try{J.removeLayer(N)}catch{}J.addLayer({id:A,type:"circle",source:"language-families",filter:fe,paint:{"circle-radius":R(T,1),"circle-color":q,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...No(J)}},"language-family-pins");for(const N of _)J.addLayer({id:N,type:"circle",source:"language-families",filter:fe,paint:{"circle-radius":R(T,1),"circle-radius-transition":pe,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":q,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":pe,...No(J)}},"language-family-pins")}}function X(){const J=s();if(J)for(const fe of x)J.getLayer(fe)&&J.removeLayer(fe)}function M(J){const fe=s();if(!fe)return;const q=[">",["get","peoplePraying"],0],xe=J?["all",q,J]:q;for(const N of x)if(fe.getLayer(N))try{fe.setFilter(N,xe)}catch{}}function ue(){const J=s();if(J){if(D(),d&&(cancelAnimationFrame(d),d=null),f=!0,J.getLayer("language-family-pins"))try{J.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Io],1,[">",["get","peoplePraying"],0],1,3])}catch{}ke(J),be()}}function be(){d&&(cancelAnimationFrame(d),d=null);const J=++k;let fe=performance.now(),q=-1/0;function xe(N){if(!f||J!==k)return;const z=s();if(!z||!x.some(Q=>z.getLayer(Q))){d=null;return}if(N-q"u")return;const fe=typeof J.getContainer=="function"?J.getContainer():null;if(fe)try{y=new IntersectionObserver(q=>{for(const xe of q)B=xe.isIntersecting},{threshold:0}),y.observe(fe)}catch{y=null,B=!0}}function we(){if(y){try{y.disconnect()}catch{}y=null}B=!0}function me(){f=!1,d&&(cancelAnimationFrame(d),d=null),we();try{X();const J=s();J&&J.getLayer("language-family-pins")&&J.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:h,removeFamilyConnectionLines:g,updateLayerSource:L,removeLayer:w,hasLayer:m,setPaintProperty:b,mapEvents:r,startPrayerGlow:ue,stopPrayerGlow:me,syncGlowFilter:M,cleanup:$}}const vo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function zk(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(vo==null?void 0:vo.center)||[20,10],defaultZoom:r=vo==null?void 0:vo.zoom}=e,i=()=>{try{return typeof window<"u"&&!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}};function l(y){const E=i(),T=(R={})=>{const D={};for(const X of["center","zoom","bearing","pitch","padding"])R[X]!==void 0&&(D[X]=R[X]);return y.jumpTo(D)};return{flyTo:R=>E?T(R):y.flyTo(R),easeTo:R=>E?T(R):y.easeTo(R),fitBounds:(R,D={})=>y.fitBounds(R,E?{...D,animate:!1,duration:0}:D)}}const c={speed:.5,essential:!0,curve:1.2};function u(y,E,T={x:150,y:0}){const R=t();if(!R)return y;try{const D=R.getCanvas(),X=D.width,M=D.height,ue=R.project(y),be=window.devicePixelRatio||1,ke=(T.x||0)*be,we=(T.y||0)*be,me={x:ue.x-ke,y:ue.y-we},J=R.unproject(me);return[J.lng,J.lat]}catch{return y}}function h(y,E=[]){const T=t();if(!T)return;let R=null,D=5;const X=E.filter(ue=>ue.languageFamily===y);if(X.length>0){let ue=1/0,be=-1/0,ke=1/0,we=-1/0;if(X.forEach(me=>{me.longitude&&me.latitude&&(ue=Math.min(ue,me.longitude),be=Math.max(be,me.longitude),ke=Math.min(ke,me.latitude),we=Math.max(we,me.latitude))}),ue!==1/0){R=[(ue+be)/2,(ke+we)/2];const me=be-ue,J=we-ke,fe=Math.max(me,J);fe>50?D=2:fe>20?D=3:fe>10?D=4:fe>5?D=5:D=6}}if(!R)return;const M=u(R);l(T).flyTo({center:M,zoom:D,...c})}function g(y){const E=t();if(!E)return;let T=null,R=4;const D=Ek(y);if(D)T=D.center,R=D.zoom||4;else if(a!=null&&a.features){const M=a.features.find(ue=>{var be,ke;return((be=ue.properties)==null?void 0:be.region)===y||((ke=ue.properties)==null?void 0:ke.name)===y});M&&(T=L(M))}if(!T)return;const X=u(T);l(E).flyTo({center:X,zoom:R,...c})}function L(y){if(!y||!y.geometry)return null;const{type:E,coordinates:T}=y.geometry;let R=[];if(E==="Polygon"?R=T[0]||[]:E==="MultiPolygon"&&T.forEach(M=>{R=R.concat(M[0]||[])}),R.length===0)return null;let D=0,X=0;return R.forEach(M=>{D+=M[0],X+=M[1]}),[D/R.length,X/R.length]}function w(y,E={}){const T=t();if(!T)return;const R={center:y,...c,...E};l(T).flyTo(R)}function m(y,E,T={}){const R=t();if(!R||(y==null?void 0:y.longitude)==null||(y==null?void 0:y.latitude)==null)return;const D=E??Math.min(R.getZoom()+2,8);w([y.longitude,y.latitude],{...T,zoom:D})}function b(y,E={top:40,right:40,bottom:40,left:40},T={}){const R=t();if(!R||!y)return;const D=T.maxZoom??4,X=T.duration??900;l(R).fitBounds(y,{padding:E,maxZoom:D,duration:X,...c,...T})}function $(){const y=t();y&&l(y).flyTo({center:s,zoom:r,...c})}const d=80,f=800,k=5,A=5,p=110,_=1.2;function x(y){const E=y.filter(Number.isFinite).slice().sort((I,Q)=>I-Q),T=E.length;if(!T)return null;let R=-1,D=0;for(let I=0;IR&&(R=ne,D=I)}const X=(D+1)%T,M=new Array(T);for(let I=0;I0&&Q((I+180)%360+360)%360-180,J=me(ke),fe=24,q=360/fe,xe=new Array(fe).fill(0);for(const I of E){let Q=Math.floor(((I+180)%360+360)%360/q);Q>=fe&&(Q=fe-1),xe[Q]++}let N=0;for(let I=1;Ixe[N]&&(N=I);return{center:me(-180+(N+.5)*q),minLng:J,maxLng:J+(we-ke),span:we-ke}}function C(y){try{const E=y.getContainer&&y.getContainer().clientWidth||0,T=E>0?Math.log2(E/512):_,R=typeof y.getMinZoom=="function"?y.getMinZoom():T;return Math.max(R,T)}catch{return _}}function K(y,E,T,R){l(y).easeTo({center:[E,(T+R)/2],zoom:C(y),duration:f,essential:!0})}function ee(y,E,T){if(T>p)return!0;try{const R=typeof y.cameraForBounds=="function"?y.cameraForBounds(E,{padding:d,maxZoom:k}):null;return R==null?!0:typeof R.zoom=="number"&&R.zoom<=C(y)+.05}catch{return!1}}function Z(y,E){if(!Array.isArray(y))return y;switch(y[0]){case"get":return E==null?void 0:E[y[1]];case"literal":return y[1];case"has":return E!=null&&y[1]in E;case"!has":return E==null||!(y[1]in E);case"!":return!Z(y[1],E);case"coalesce":{for(let R=1;R2){const X=Number(Z(y[2],E));return Number.isFinite(X)?X:0}return NaN}case"to-string":{const R=Z(y[1],E);return R==null?"":String(R)}case"to-boolean":return!!Z(y[1],E);case"slice":{const R=Z(y[1],E),D=Z(y[2],E),X=y.length>3?Z(y[3],E):void 0;return typeof R!="string"?"":X!=null?R.slice(D,X):R.slice(D)}default:return y}}function W(y,E){if(y===!0)return!0;if(y===!1)return!1;if(!Array.isArray(y))return!!y;const T=y[0];if(T==="all"){for(let R=1;R"||T===">="||T==="<"||T==="<="){const R=typeof y[1]=="string"?E==null?void 0:E[y[1]]:Z(y[1],E),D=Z(y[2],E);switch(T){case"==":return R===D||R==null&&D==null;case"!=":return!(R===D||R==null&&D==null);case">":return R>D;case">=":return R>=D;case"<":return R{const G=(ne==null?void 0:ne.properties)||{};return G.region===I||G.name===I||G.id===I});if(Q){const ne=[];let G=1/0,re=-1/0;const ge=P=>{for(const Y of P)Array.isArray(Y[0])?ge(Y):Number.isFinite(Y[0])&&Number.isFinite(Y[1])&&(ne.push(Y[0]),Y[1]re&&(re=Y[1]))};(xe=Q.geometry)!=null&&xe.coordinates&&ge(Q.geometry.coordinates);const v=x(ne);if(v&&Number.isFinite(G)){const P=[[v.minLng,G],[v.maxLng,re]];ee(T,P,v.span)?K(T,v.center,G,re):l(T).fitBounds(P,{padding:d,maxZoom:k,duration:f,essential:!0});return}}}const R=E.sourceId??"language-families";if(!T.getSource(R))return;const D=E.matchExpr??y.filter;if(!D)return;const X=pe(T,R);if(!X.length)return;const M=[];let ue=1/0,be=-1/0,ke=0,we=0,me=0;const J=new Set;for(const z of X){const I=z==null?void 0:z.properties;if(!W(D,I))continue;const Q=I==null?void 0:I.uniqueId;if(Q!=null){if(J.has(Q))continue;J.add(Q)}const ne=(N=z.geometry)==null?void 0:N.coordinates;if(!Array.isArray(ne)||ne.length<2)continue;const G=ne[0],re=ne[1];!Number.isFinite(G)||!Number.isFinite(re)||(ke===0&&(we=G,me=re),M.push(G),rebe&&(be=re),ke++)}if(ke===0)return;if(ke===1){l(T).flyTo({center:[we,me],zoom:A,duration:f,essential:!0});return}const fe=x(M)||{center:0,minLng:0,maxLng:0,span:0},q=[[fe.minLng,ue],[fe.maxLng,be]];if(ee(T,q,fe.span)){K(T,fe.center,ue,be);return}try{l(T).fitBounds(q,{padding:d,maxZoom:k,duration:f,essential:!0})}catch{}}return{getOffsetCenter:u,slowFlyToFamily:h,slowFlyToRegion:g,flyTo:w,flyToCoords:m,fitBounds:b,resetView:$,zoomToLegendRow:B,calculateRegionCenterFromPolygon:L}}const xr="#1a1a1a",on="selected-pin-highlight";function Bk(e=xr){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` ${Mo(n(k))}`,{autoprint:!0}),i(k,w)}async function S(C,{columns:k,title:w}={}){if(o())return;const m="List";r(C,m,"fetch","fetching records",30);try{const b=await u(C),T=k||[{key:"name",head:"Name",cls:"c-name"},{key:"country_code_label",head:"Country"},{key:"population",head:"People",cls:"c-num",num:!0},{key:"religion_label",head:"Religion"}],y=T.map(L=>`${Mo(L.head)}`).join("")+'✓',_=b.map(L=>""+T.map(R=>{const B=L[R.key]??L[`${R.key}_label`]??"—",j=R.num&&Number.isFinite(Number(B))?Number(B).toLocaleString(s()):B;return`${Mo(j)}`}).join("")+'□').join("");r(C,m,"render",`laying out ${b.length} rows`,70);const $=w||`${n(C)} — ${b.length}`;mn(`${Mo($)}

${Mo($)}

${b.length} entries · pray for them by name

${y}${_}
`,{autoprint:!0}),i(C,m)}catch(b){l(C,m,b)}}async function O(C){if(o())return;const k="Card Deck";r(C,k,"fetch","fetching records",30);try{const w=await u(C),[{createCardRenderer:m},b]=await Promise.all([pt(()=>Promise.resolve().then(()=>$c),void 0),e.strings?e.strings():pt(()=>Promise.resolve().then(()=>Ec),void 0).then(y=>y.default||y)]);r(C,k,"render",`laying out ${w.length} cards`,70);const T=m({strings:b,lang:s(),stock:a()});mn(T.buildDeck(C,w),{autoprint:!0}),i(C,k)}catch(w){l(C,k,w)}}async function x(C,{mapSvg:k="",funnel:w=null}={}){if(o())return;const m="Prayer Packet";r(C,m,"fetch","fetching people groups",30);try{const b=await u(C),[{createPacketRenderer:T},y]=await Promise.all([pt(()=>Promise.resolve().then(()=>M_),void 0),e.strings?e.strings():pt(()=>Promise.resolve().then(()=>Ec),void 0).then(L=>L.default||L)]),_=T({strings:y,lang:s()}),$=new Map(b.filter(L=>L.image_url).map(L=>[L.slug,L.image_url]));r(C,m,"render",`printing ${b.length} people groups`,70),mn(_.buildPacket(C,b,$,k,w),{autoprint:!0}),i(C,m)}catch(b){l(C,m,b)}}return{exportState:t,dismiss:c,printPoster:g,printList:S,printCardDeck:O,printPacket:x}}function f$(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function lc(e){const t=ge(null),o=Wo({position:"fixed",inset:"0"}),n=()=>{var u,g;const a=t.value;if(!a)return;const r=f$(a),i=a.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((g=i==null?void 0:i.documentElement)==null?void 0:g.clientHeight)||0;o.value={position:"fixed",top:`${-r.y}px`,left:`${-r.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};et(e,a=>{a&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const s=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",s),Jt(()=>{typeof window<"u"&&window.removeEventListener("resize",s)}),{scrimRef:t,scrimStyle:o}}const m$={class:"wall-h"},b$={key:0,class:"wall-tag"},$$=["innerHTML"],_$={class:"sec-name"},y$={class:"sec-count"},v$={key:1,class:"perrow"},w$=["for"],P$=["id"],k$=["value"],S$=["data-list-id"],x$=["aria-pressed","aria-label","onClick"],L$={class:"hcount"},T$={class:"hlabel"},C$={class:"main"},A$={key:0,class:"ph is-soon"},E$={class:"ph-label"},I$={key:0,class:"ph-count"},O$={class:"ph-soon"},N$=["src","alt","role","tabindex","title","onClick","onKeydown","onError"],F$={key:2,class:"ph"},R$={class:"ph-label"},M$={key:0,class:"ph-count"},D$={class:"ph-note"},z$={class:"tape pfs"},G$=["onClick"],H$=["onClick"],U$=["aria-expanded","onClick"],B$=["aria-label"],j$=["onClick"],W$={class:"modal",role:"dialog","aria-live":"polite"},V$={class:"modal-kind"},q$={class:"modal-title"},K$={class:"modal-err"},Y$={class:"modal-soon"},J$={class:"bar"},Z$={class:"modal-phase"},X$={class:"modal-hint"},cc=2,uc=5,dc=2,pc="doxa-maps:poster-wall:per-row",Q$=210,e_={__name:"PosterWall",props:{items:{type:Array,required:!0},groupBy:{type:Function,default:()=>"All"},instanceId:{type:String,default:"poster-wall"},isDark:{type:Boolean,default:!1},assetsBase:{type:String,default:"./assets"},eventName:{type:String,default:"doxa-poster-wall:show-on-map"},heading:{type:String,default:"Prayer Lists & Posters"},tag:{type:String,default:""},intro:{type:String,default:""},unit:{type:String,default:"UPG"},itemNoun:{type:String,default:"list"},itemNounPlural:{type:String,default:""},collapsible:{type:Boolean,default:!1},collapsedBy:{type:Function,default:()=>!1},unsupported:{type:Function,default:()=>null},downloadPrefix:{type:String,default:"doxa"},prayerListSoonMessage:{type:String,default:"Coming soon — the prayer list for each people group is in build."},records:{type:Function,default:null},cardStock:{type:String,default:"poker"},cardStocks:{type:[Boolean,Array],default:!1},posterAction:{type:String,default:"download"},previewAction:{type:String,default:"none"},hidePrayerListWhenSoon:{type:Boolean,default:!1},embedded:{type:Boolean,default:!1},sectionHeads:{type:Boolean,default:!0},columns:{type:Number,default:0},columnsControl:{type:Boolean,default:!1}},setup(e){const t=(M,J)=>fa(M)||J,o=e,n=ge(a()??(o.columns||dc));et(()=>o.columns,M=>{a()==null&&(n.value=M||dc)}),et(n,M=>{Number.isFinite(M)&&M>=cc&&M<=uc&&r(M)});const s=[2,3,4,5];function a(){try{const M=window.localStorage.getItem(pc),J=Number(M);return Number.isFinite(J)&&J>=cc&&J<=uc?J:null}catch{return null}}function r(M){try{window.localStorage.setItem(pc,String(M))}catch{}}const i=ge(typeof window<"u"?window.innerWidth:1280);if(typeof window<"u"){const M=()=>{i.value=window.innerWidth};window.addEventListener("resize",M),Jt(()=>window.removeEventListener("resize",M))}const l=de(()=>{if(!(n.value>0))return{};const M=Math.max(0,i.value-36),J=Math.max(1,Math.floor(M/Q$));return{gridTemplateColumns:`repeat(${Math.min(n.value,J)}, minmax(0, 1fr))`}}),c=de(()=>o.itemNounPlural||`${o.itemNoun}s`),u=de(()=>String(o.assetsBase||"./assets").replace(/\/+$/,"")),g=de(()=>{const M=String(nc()||"").replace(/\/+$/,"");return M?`${M}/assets`:""}),f=ge({}),S=M=>`${f.value[M]?g.value:u.value}/previews/${M}.webp`;function O(M){const J=g.value;if(!f.value[M]&&J&&J!==u.value){f.value={...f.value,[M]:1};return}T.value={...T.value,[M]:!0}}const x=de(()=>{const M=new Map;for(const J of o.items||[]){if(!J||!J.id)continue;const K=o.groupBy(J)||"Other";M.has(K)||M.set(K,[]),M.get(K).push(J)}return[...M.entries()].map(([J,K])=>({name:J,items:K.slice().sort((X,h)=>(h.count||0)-(X.count||0)),total:K.reduce((X,h)=>X+(h.count||0),0)})).sort((J,K)=>K.total-J.total)}),C=de(()=>{const M={};for(const J of x.value)M[J.name]=!!o.collapsedBy(J);return M}),k=ge({}),w=M=>o.collapsible?M in k.value?!!k.value[M]:!!C.value[M]:!1,m=M=>{k.value={...k.value,[M]:!w(M)}},b=ge(null),T=ge({});function y(M){const J=b.value===M.id;b.value=J?null:M.id,window.dispatchEvent(new CustomEvent(o.eventName,{detail:{instanceId:o.instanceId,listId:J?null:M.id,label:J?null:M.label}}))}const _=ge(null),{scrimRef:$,scrimStyle:L}=lc(_);async function R(M){if(_.value)return;const J=o.unsupported(M);if(J){_.value={label:M.label,kind:"Poster",phase:"soon",message:J,pct:0};return}_.value={label:M.label,kind:"Poster",phase:"fetch",message:"fetching poster",pct:20};try{let K=null;try{K=await fetch(`${u.value}/posters/${M.id}.webp`)}catch{}if(!K||!K.ok){_.value={..._.value,phase:"render",message:"generating the poster",pct:45};const X=await fetch(`${u.value}/posters/${M.id}.html`);if(!X.ok)throw new Error(`poster not found (${X.status})`);const{rasterPoster:h,looksRendered:P}=await pt(async()=>{const{rasterPoster:F,looksRendered:z}=await Promise.resolve().then(()=>hc);return{rasterPoster:F,looksRendered:z}},void 0),v=await h(await X.text(),{scale:2});if(!await P(v))throw new Error("the generated poster rendered blank");await ue(v,M);return}await ue(await K.blob(),M)}catch(K){_.value={label:M.label,kind:"Poster",phase:"error",message:String((K==null?void 0:K.message)||K).slice(0,140),pct:0}}}const B=M=>String(M).split(".").pop().replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^./,J=>J.toUpperCase()),{t:j,locale:N}=oc("",{fallback:M=>B(M)}),ne=ge(o.cardStock),se=ge([]);o.cardStocks&&pt(async()=>{const{STOCK:M}=await Promise.resolve().then(()=>$c);return{STOCK:M}},void 0).then(({STOCK:M})=>{var K;const J=Array.isArray(o.cardStocks)?o.cardStocks:Object.keys(M);se.value=J.filter(X=>M[X]).map(X=>({id:X,label:M[X].label})),se.value.some(X=>X.id===ne.value)||(ne.value=((K=se.value[0])==null?void 0:K.id)||o.cardStock)}).catch(()=>{});const te=h$({state:_,records:o.records?M=>o.records(M):null,lang:()=>{const M=N&&(N.value??N);return typeof M=="string"&&M||"en"},stock:()=>ne.value,label:M=>(M==null?void 0:M.label)||(M==null?void 0:M.id)||""}),U=de(()=>typeof o.records=="function"),W=de(()=>o.previewAction==="print"),ce=ge(null);function _e(M,J){var X,h,P;ce.value=ce.value===M?null:M;const K=(h=(X=J==null?void 0:J.currentTarget)==null?void 0:X.closest)==null?void 0:h.call(X,".pfs");K&&((P=K.parentElement)==null||P.style.setProperty("--pstocks-gap",`${K.offsetHeight}px`))}function ye(M,J){ne.value=J,ce.value=null,te.printCardDeck(M)}function Q(M){if(!U.value){_.value={label:M.label,kind:"Prayer List",phase:"soon",message:o.prayerListSoonMessage,pct:0};return}te.printList(M)}async function ue(M,J){if(o.posterAction==="print"){_.value={..._.value,phase:"save",message:"opening the print dialog",pct:80};const{openPrintFrame:K}=await pt(async()=>{const{openPrintFrame:h}=await Promise.resolve().then(()=>g$);return{openPrintFrame:h}},void 0),X=URL.createObjectURL(M);re.push(X),K(''+ve(`${o.downloadPrefix} — ${J.label||J.id}`)+`${ve(J.label||J.id)}`,{autoprint:!0})}else _.value={..._.value,phase:"save",message:"saving",pct:80},fe(M,`${o.downloadPrefix}-${J.id}-poster.webp`);_.value={..._.value,phase:"done",message:o.posterAction==="print"?"print dialog opened":"saved",pct:100},setTimeout(()=>{_.value=null},900)}const re=[];Jt(()=>{for(const M of re.splice(0))try{URL.revokeObjectURL(M)}catch{}});const ve=M=>String(M??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""");function fe(M,J){const K=document.createElement("a");K.href=URL.createObjectURL(M),K.download=J,document.body.appendChild(K),K.click(),K.remove(),setTimeout(()=>URL.revokeObjectURL(K.href),4e3)}function Te(){_.value=null}return No(`.wall{--wall-pad-top:22px;position:absolute;inset:0;overflow-y:auto;padding:var(--wall-pad-top) 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.wall.is-dark{background:#0a1410;color:#e5e7eb}.wall--embedded{--wall-pad-top:0px;position:static;inset:auto;overflow-y:visible;padding:0;background:transparent}.wall--embedded.is-dark{background:transparent}.wall-h{margin:0 0 6px;font-size:19px;font-weight:700;text-align:center}.wall-tag{margin:0 auto 12px;width:fit-content;padding:3px 11px;border-radius:999px;background:rgba(16,185,129,.13);color:#0b7a5b;border:1px solid rgba(16,185,129,.28);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.is-dark .wall-tag{background:rgba(16,185,129,.16);color:#6ee7b7;border-color:rgba(110,231,183,.32)}.wall-sub{margin:0 auto 22px;max-width:620px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.wall-sub strong{font-weight:700;opacity:1;color:inherit}.grid{display:grid;gap:56px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-width:1180px;margin:0 auto}.perrow{display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:1180px;margin:0 auto 12px;font:inherit;font-size:13px}.perrow__label{color:#6d766e}.perrow__select{font:inherit;font-size:13px;padding:2px 6px;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:inherit;cursor:pointer}.is-dark .perrow__label{color:#9fb3a6}.is-dark .perrow__select{background:#132019;border-color:rgba(110,231,183,.20)}.card{--card-pad-top:24px;--tape-overlap:16px;position:relative;background:#fff;border:1px solid #e3e6ea;border-radius:3px;padding:var(--card-pad-top) 12px 26px;box-shadow:0 1px 3px rgba(0,0,0,.10),0 6px 18px rgba(0,0,0,.07);transition:transform .16s ease,box-shadow .16s ease}.card:hover,.card:focus-within{transform:translateY(-3px);box-shadow:0 3px 8px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.10);outline:2px solid #2f6fdb;outline-offset:2px}.is-dark .card:hover,.is-dark .card:focus-within{outline-color:#5aa0ff}@media (hover:none){.card:hover,.card:focus-within{transform:none;outline:none}}.is-dark .card{background:#132019;border-color:rgba(110,231,183,.20)}.tape{box-sizing:border-box;position:absolute;left:50%;transform:translateX(-50%);z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid rgba(0,0,0,.08);background:#eef2f6;color:#23303c}.is-dark .tape{background:#1d2b23;color:#cfe9d9;border-color:rgba(255,255,255,.10)}.tape-h{top:calc(var(--card-pad-top,24px) - var(--tape-overlap,16px));transform:translateX(-50%);width:82%;padding:4px 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:5px}.tape-h:hover{background:#e2e8ee}.hcount{font-weight:800;font-variant-numeric:tabular-nums}.hsep{opacity:.45}.hlabel{font-weight:600}.card.is-last{box-shadow:0 0 0 2px #10b981,0 6px 18px rgba(0,0,0,.10)}.card.is-last .tape-h{background:#10b981;color:#04241a;border-color:#10b981}.pfs{position:absolute;top:calc(100% - var(--tape-overlap,16px));left:50%;transform:translateX(-50%);width:82%;max-width:82%;min-width:0;box-sizing:border-box;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:2px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}.pfs > .pbtn{flex:0 1 auto;min-width:0;white-space:normal;overflow-wrap:break-word;text-align:center;line-height:1.2}.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}.pstocks{top:100%;margin-top:calc(var(--pstocks-gap,20px) / 2);width:92%;max-width:92%;box-sizing:border-box;padding:3px;border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:3px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10);cursor:default}.is-dark .pstocks{background:#132019;border-color:rgba(110,231,183,.24)}.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:#8a93a0}.is-dark .pfs > legend{color:#7f9c8c}.pbtn{position:relative;flex:1;border:0;background:none;color:#5b6672;font:inherit;font-size:10.5px;font-weight:600;padding:2px 6px 3px;cursor:pointer;white-space:nowrap;transition:color .15s}.pbtn::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background .15s}.pbtn:hover{color:#10b981}.pbtn:hover::after{background:#10b981}.pbtn-deck[aria-expanded="true"]{color:#10b981}.pbtn-deck::before{content:"\\25B8";display:inline-block;margin-right:3px;font-size:8px;transition:transform .15s}.pbtn-deck[aria-expanded="true"]::before{transform:rotate(90deg)}.pstock{flex:0 1 auto;min-width:0;max-width:100%;border:1px solid #d8dde3;border-radius:3px;background:#fff;color:#5b6672;font:inherit;font-size:9.5px;font-weight:600;padding:2px 5px;cursor:pointer;line-height:1.25;white-space:normal;overflow-wrap:break-word}.pstock:hover{border-color:#10b981;color:#10b981}.pstock.is-on{border-color:#10b981;color:#0b7a5b;background:rgba(16,185,129,.10)}@media (pointer:coarse){.pbtn{min-height:24px}.pstock{min-height:24px}.tape-h{min-height:24px}}.img.is-clickable{cursor:zoom-in}.img.is-clickable:hover{outline:2px solid #38bdf8;outline-offset:-2px}.img.is-clickable:focus-visible{outline:2px solid #38bdf8;outline-offset:-2px}.is-dark .pstock{background:#12211a;border-color:#2c4a3b;color:#9fb3a8}.is-dark .pbtn{color:#9fb3a8}.sec{max-width:1180px;margin:0 auto;padding-bottom:44px}.sec-head{display:flex;align-items:baseline;gap:10px;margin:0 2px 14px;padding:11px 10px 9px;border-bottom:1px solid rgba(0,0,0,.10);position:sticky;top:0;z-index:6;background:#f6f7f9;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{border-bottom-color:rgba(255,255,255,.12);background:#0a1410;box-shadow:0 6px 10px -8px rgba(0,0,0,.7)}.sec-head::before{content:"";position:absolute;left:-20px;right:-20px;bottom:100%;height:var(--wall-pad-top,0px);background:inherit;pointer-events:none}.wall--embedded .sec-head::before{display:none}.sec-head.is-shut{border-bottom-color:transparent;margin-bottom:6px}.sec-head.is-toggle{cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit}.sec-head.is-toggle:hover .sec-name{color:#10b981}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s ease}.sec-caret.is-open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em}.sec-count{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.main{--banner-pad-top:24px;--banner-pad-bottom:24px;position:relative;aspect-ratio:1/1;border:1px solid #dfe3e7;overflow:visible;padding:var(--banner-pad-top) 10px var(--banner-pad-bottom);background:#fbfcfd;display:flex;align-items:center;justify-content:center}.is-dark .main{background:#0c1712;border-color:rgba(255,255,255,.08)}.img{width:100%;height:100%;object-fit:contain;display:block}.ph{padding:14px 10px;text-align:center}.ph-label{font-size:12.5px;font-weight:700;line-height:1.3}.ph-count{margin-top:5px;font-size:11px;opacity:.7}.ph-note{margin-top:10px;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.45}.ph.is-soon{background:rgba(245,158,11,.06)}.ph-soon{margin-top:9px;font-size:10px;line-height:1.45;color:#8a6414}.is-dark .ph-soon{color:#e8b862}.modal-scrim{position:fixed;inset:0;z-index:1000;background:rgba(8,12,16,.55);display:grid;place-items:center;padding:22px}.modal{width:min(340px,100%);background:#fff;color:#0f1419;border-radius:14px;padding:20px 22px;box-shadow:0 10px 40px rgba(0,0,0,.35);text-align:center}.is-dark .modal{background:#132019;color:#e5e7eb}.modal-kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.modal-title{margin:3px 0 14px;font-size:15px;font-weight:700;line-height:1.3}.bar{height:5px;border-radius:99px;background:rgba(0,0,0,.10);overflow:hidden}.is-dark .bar{background:rgba(255,255,255,.12)}.bar-fill{height:100%;background:#10b981;border-radius:99px;transition:width .25s ease}.modal-phase{margin-top:10px;font-size:12.5px;font-weight:600}.modal-hint{margin-top:6px;font-size:11px;line-height:1.5;opacity:.62}.modal-soon{font-size:13px;line-height:1.5;color:#5f5849;margin:6px 0 14px}.modal-err{font-size:12.5px;line-height:1.55;color:#b42318;margin-bottom:14px}.is-dark .modal-err{color:#fda29b}.modal-btn{border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit;font:inherit;font-size:12.5px;padding:6px 18px;border-radius:8px;cursor:pointer}.modal-btn:hover{background:rgba(0,0,0,.06)}`,"doxa-poster-wall"),(M,J)=>(oe(),ie("div",{class:He(["wall",{"is-dark":e.isDark,"wall--embedded":e.embedded}])},[H("h2",m$,V(e.heading),1),e.tag?(oe(),ie("div",b$,V(e.tag),1)):Ee("",!0),e.intro?(oe(),ie("p",{key:1,class:"wall-sub",innerHTML:e.intro},null,8,$$)):Ee("",!0),(oe(!0),ie(xe,null,at(x.value,K=>(oe(),ie("section",{key:K.name,class:"sec"},[e.sectionHeads?(oe(),po(Ha(e.collapsible?"button":"div"),{key:0,class:He(["sec-head",{"is-toggle":e.collapsible,"is-shut":e.collapsible&&w(K.name)}]),type:e.collapsible?"button":null,"aria-expanded":e.collapsible?String(!w(K.name)):null,onClick:X=>e.collapsible&&m(K.name)},{default:vr(()=>[e.collapsible?(oe(),ie("span",{key:0,class:He(["sec-caret",{"is-open":!w(K.name)}])},"▶",2)):Ee("",!0),H("h3",_$,V(K.name),1),H("span",y$,V(K.total.toLocaleString())+" "+V(t("gospel.list.peopleGroups","people groups"))+" · "+V(K.items.length)+" "+V(K.items.length===1?e.itemNoun:c.value),1)]),_:2},1032,["class","type","aria-expanded","onClick"])):Ee("",!0),e.columnsControl&&!w(K.name)?(oe(),ie("div",v$,[H("label",{class:"perrow__label",for:`perrow-${e.instanceId}-${K.name}`},V(We(j)("buttons.postersPerRow")),9,w$),zn(H("select",{id:`perrow-${e.instanceId}-${K.name}`,class:"perrow__select","onUpdate:modelValue":J[0]||(J[0]=X=>n.value=X)},[(oe(),ie(xe,null,at(s,X=>H("option",{key:X,value:X},V(X),9,k$)),64))],8,P$),[[op,n.value,void 0,{number:!0}]])])):Ee("",!0),zn(H("div",{class:"grid",style:Vt(l.value)},[(oe(!0),ie(xe,null,at(K.items,X=>(oe(),ie("div",{key:X.id,class:He(["card",{"is-last":b.value===X.id}]),"data-list-id":X.id},[H("button",{type:"button",class:"tape tape-h","aria-pressed":b.value===X.id?"true":"false","aria-label":We(j)("buttons.showOnMapAria",{label:X.label}),onClick:h=>y(X)},[H("span",L$,V(X.count)+" "+V(e.unit),1),J[2]||(J[2]=H("span",{class:"hsep"},"·",-1)),H("span",T$,V(We(j)("buttons.showOnMap")),1)],8,x$),H("div",C$,[e.unsupported(X)?(oe(),ie("div",A$,[H("div",E$,V(X.label),1),X.count?(oe(),ie("div",I$,V(X.count.toLocaleString())+" people groups",1)):Ee("",!0),H("div",O$,V(e.unsupported(X)),1)])):T.value[X.id]?(oe(),ie("div",F$,[H("div",R$,V(X.label),1),X.count?(oe(),ie("div",M$,V(X.count.toLocaleString())+" people groups",1)):Ee("",!0),H("div",D$,V(t("poster.preview_unavailable","preview unavailable")),1)])):(oe(),ie("img",{key:1,class:He(["img",{"is-clickable":W.value}]),src:S(X.id),alt:W.value?`${X.label} — prayer poster (click to preview and print)`:`${X.label} — prayer poster`,loading:"lazy",decoding:"async",role:W.value?"button":null,tabindex:W.value?0:null,title:W.value?We(j)("buttons.previewPrintPoster",{label:X.label}):null,onClick:h=>W.value&&R(X),onKeydown:[xi(xo(h=>W.value&&R(X),["prevent"]),["enter"]),xi(xo(h=>W.value&&R(X),["prevent"]),["space"])],onError:h=>O(X.id)},null,42,N$)),H("fieldset",z$,[H("legend",null,V(We(j)("buttons.printOptions")),1),e.hidePrayerListWhenSoon&&!U.value?Ee("",!0):(oe(),ie("button",{key:0,type:"button",class:"pbtn",onClick:h=>Q(X)},V(We(j)("buttons.prayerList")),9,G$)),H("button",{type:"button",class:"pbtn",onClick:h=>R(X)},V(We(j)("buttons.posterMap")),9,H$),U.value?(oe(),ie("button",{key:1,type:"button",class:"pbtn pbtn-deck","aria-expanded":String(ce.value===X.id),onClick:xo(h=>_e(X.id,h),["stop"])},V(We(j)("buttons.cardDeck")),9,U$)):Ee("",!0)]),U.value&&se.value.length&&ce.value===X.id?(oe(),ie("div",{key:3,class:"tape pstocks",role:"group","aria-label":We(j)("buttons.cardStockAria")},[(oe(!0),ie(xe,null,at(se.value,h=>(oe(),ie("button",{key:h.id,type:"button",class:He(["pstock",{"is-on":ne.value===h.id}]),onClick:xo(P=>ye(X,h.id),["stop"])},V(h.label),11,j$))),128))],8,B$)):Ee("",!0)])],10,S$))),128))],4),[[Xa,!w(K.name)]])]))),128)),_.value?(oe(),ie("div",{key:2,ref_key:"scrimRef",ref:$,style:Vt(We(L)),class:"modal-scrim",onClick:J[1]||(J[1]=xo(K=>_.value.phase==="error"&&Te(),["self"]))},[H("div",W$,[H("div",V$,V(_.value.kind),1),H("div",q$,V(_.value.label),1),_.value.phase==="error"?(oe(),ie(xe,{key:0},[H("div",K$,V(_.value.message),1),H("button",{type:"button",class:"modal-btn",onClick:Te},V(We(j)("buttons.close")),1)],64)):_.value.phase==="soon"?(oe(),ie(xe,{key:1},[H("div",Y$,V(_.value.message),1),H("button",{type:"button",class:"modal-btn",onClick:Te},V(We(j)("buttons.close")),1)],64)):(oe(),ie(xe,{key:2},[H("div",J$,[H("div",{class:"bar-fill",style:Vt({width:_.value.pct+"%"})},null,4)]),H("div",Z$,V(_.value.message),1),H("div",X$,V(We(j)("buttons.renderingLocal")),1)],64))])],4)):Ee("",!0)],2))}},t_="A printable sheet for each population centre where unengaged people groups live — named from a cited gazetteer, never inferred.",o_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"city-poster-wall",setup(e){const t=Xe("profileConfig",ge(null)),o=de(()=>{var l;return((l=t.value)==null?void 0:l.isDark)===!0}),n=de(()=>ba(t.value)),s=ge([]);Yt(async()=>{try{const l=await fetch(`${n.value}/tables/key-cities.json`);l.ok&&(s.value=(await l.json()).rows||[])}catch{}});const a=de(()=>s.value.filter(l=>l.poster_id).map(l=>({id:l.poster_id,label:l.place_name,count:l.people_group_count,region:l.region,bbox:null}))),r=l=>l.region||"Other",i=l=>l.total<20;return(l,c)=>(oe(),po(e_,{items:a.value,"group-by":r,"is-dark":o.value,"assets-base":n.value,"event-name":"doxa-key-cities:show-on-map",heading:l.$t("keyCities.posters.heading"),tag:l.$t("keyCities.posters.tag"),intro:t_,unit:"UPG","item-noun":l.$t("keyCities.posters.itemNoun"),"item-noun-plural":l.$t("keyCities.posters.itemNounPlural"),collapsible:!0,"collapsed-by":i,"prayer-list-soon-message":l.$t("keyCities.posters.soon"),"download-prefix":"doxa-city"},null,8,["items","is-dark","assets-base","heading","tag","item-noun","item-noun-plural","prayer-list-soon-message"]))}}},Symbol.toStringTag,{value:"Module"})),n_={class:"dt-head"},a_={class:"dt-title"},s_={class:"dt-count"},r_={key:0,class:"dt-grain"},i_={class:"dt-actions"},l_={key:0,class:"dt-err"},c_={class:"dt-wrap"},u_={class:"dt-hint"},d_=["aria-label"],p_={class:"dt-sheet-head"},g_={class:"dt-dl"},h_=["href"],f_={key:1},m_={key:2},b_={key:2,class:"dt-caveats"},$_={class:"dt-cav-k"},__={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const o=(R,B)=>fa(R)||B,n=e,s=t,a=ge(!1),r=ge(null),{scrimRef:i,scrimStyle:l}=lc(r),c=ge(null),u=Wo(null),g=ge(null),f=ge(!1),S=de(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),O=de(()=>{var R;return((R=n.table)==null?void 0:R.meta)||{}}),x=de(()=>{var R;return(((R=n.table)==null?void 0:R.rows)||[]).length}),C=de(()=>Object.entries(O.value).filter(([R,B])=>typeof B=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(R)).map(([R,B])=>({key:R.replace(/_/g," "),text:B})));let k=null;function w(){return window.Tabulator?Promise.resolve(window.Tabulator):k||(k=new Promise((R,B)=>{const j=document.createElement("script");j.src=`${S.value}/vendor/tabulator/tabulator.min.js`,j.onload=()=>R(window.Tabulator),j.onerror=()=>B(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(j)}),k)}async function m(R){if(!(!R||R.querySelector("style[data-tabulator]")))try{const B=await fetch(`${S.value}/vendor/tabulator/tabulator.min.css`);if(!B.ok)return;const j=document.createElement("style");j.setAttribute("data-tabulator",""),j.textContent=await B.text(),R.appendChild(j)}catch{}}function b(R){var ne,se;if(!c.value)return;a.value=typeof window<"u"&&window.innerWidth<700;const B=((ne=n.table)==null?void 0:ne.columns)||[],N=(a.value?B.slice(0,3):B).map((te,U)=>({title:te.title,field:te.field,headerFilter:te.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:te.type==="number"?"number":te.type==="boolean"?"boolean":"string",formatter:te.type==="boolean"?"tickCross":void 0,.../_url$/.test(te.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!a.value&&U{r.value=U.getData(),s("row-click",U.getData())}),u.value.on("tableBuilt",()=>{f.value=!0})}const T=R=>{var B,j;return((j=(((B=n.table)==null?void 0:B.columns)||[]).find(N=>N.field===R))==null?void 0:j.title)||R.replace(/_/g," ")},y=R=>typeof R=="string"&&R.includes(", ")&&R.length>40?R.split(", "):null,_=R=>typeof R=="string"&&/^https?:\/\//.test(R),$=de(()=>r.value?Object.entries(r.value).filter(([,R])=>R!==""&&R!==null&&R!==void 0):[]);function L(R){var B;try{(B=u.value)==null||B.download(R,`${(O.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${R}`)}catch(j){g.value=String(j.message||j)}}return Yt(async()=>{var R,B;try{await m((B=(R=c.value)==null?void 0:R.getRootNode)==null?void 0:B.call(R)),b(await w())}catch(j){g.value=String(j.message||j)}}),Jt(()=>{var R;try{(R=u.value)==null||R.destroy()}catch{}}),et(()=>n.table,()=>{var R,B;try{(B=u.value)==null||B.replaceData(((R=n.table)==null?void 0:R.rows)||[])}catch{}}),No(".dt .tabulator{border:1px solid #d1d4cd;background:#fff;font-size:14px}.dt .tabulator .tabulator-header{background:#f3f3f1;border-bottom:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col{background:#f3f3f1;border-right:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover{background:#e9ebe6}.dt .tabulator .tabulator-col-title{color:#3b463d;font-weight:700}.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d;padding:3px 6px}.dt .tabulator .tabulator-row{background:#fff;color:#3b463d;border-bottom:1px solid #e6e8e3}.dt .tabulator .tabulator-row.tabulator-row-even{background:#faf9f7}.dt .tabulator .tabulator-row:hover{background:#e9ebe6}.dt .tabulator .tabulator-row .tabulator-cell{border-right:1px solid #e6e8e3;color:#3b463d}.dt .tabulator .tabulator-row .tabulator-cell a{color:#4a7a52;font-weight:600}.dt .tabulator .tabulator-footer{background:#f3f3f1;border-top:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator label{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page{border:1px solid #d1d4cd;background:#fff;color:#3b463d;border-radius:5px}.dt .tabulator .tabulator-footer .tabulator-page.active{background:#92b195;border-color:#92b195;color:#fff}.dt .tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#e9ebe6;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page:disabled{opacity:.45}.dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-left:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-left:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-left:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),(R,B)=>{var j,N;return oe(),ie("div",{class:He(["dt",{"is-dark":e.isDark}])},[H("div",n_,[H("h3",a_,V(O.value.title||"Data"),1),H("span",s_,V(x.value.toLocaleString())+" rows",1),O.value.grain?(oe(),ie("span",r_,"· "+V(O.value.grain),1)):Ee("",!0),H("span",i_,[H("button",{type:"button",class:"dt-btn",onClick:B[0]||(B[0]=ne=>L("csv"))},V(o("tables.csv","CSV")),1),H("button",{type:"button",class:"dt-btn",onClick:B[1]||(B[1]=ne=>L("json"))},V(o("tables.json","JSON")),1)])]),g.value?(oe(),ie("div",l_,V(g.value),1)):Ee("",!0),H("div",c_,[H("div",{ref_key:"host",ref:c},null,512)]),H("p",u_,V(o("tables.tap_row_hint","Tap any row for its full detail"))+V(a.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(oe(),ie("div",{key:1,ref_key:"scrimRef",ref:i,style:Vt(We(l)),class:"dt-scrim",onClick:B[3]||(B[3]=xo(ne=>r.value=null,["self"]))},[H("div",{class:"dt-sheet",role:"dialog","aria-label":o("aria.rowDetail","Row detail")},[H("div",p_,[H("strong",null,V(r.value[(N=(((j=e.table)==null?void 0:j.columns)||[])[0])==null?void 0:N.field]||"Detail"),1),H("button",{type:"button",class:"dt-close",onClick:B[2]||(B[2]=ne=>r.value=null)},V(o("buttons.close","Close")),1)]),H("dl",g_,[(oe(!0),ie(xe,null,at($.value,([ne,se])=>(oe(),ie(xe,{key:ne},[H("dt",null,V(T(ne)),1),H("dd",null,[_(se)?(oe(),ie("a",{key:0,href:se,target:"_blank",rel:"noopener"},V(se),9,h_)):y(se)?(oe(),ie("ul",f_,[(oe(!0),ie(xe,null,at(y(se),(te,U)=>(oe(),ie("li",{key:U},V(te),1))),128))])):(oe(),ie("span",m_,V(se===!0?"yes":se===!1?"no":se),1))])],64))),128))])],8,d_)],4)):Ee("",!0),C.value.length?(oe(),ie("div",b_,[(oe(!0),ie(xe,null,at(C.value,ne=>(oe(),ie("div",{key:ne.key},[H("span",$_,V(ne.key)+":",1),Ge(" "+V(ne.text),1)]))),128))])):Ee("",!0)],2)}}},y_={class:"ct-h"},v_={class:"ct-sub"},w_={class:"ct-tabs"},P_=["onClick"],k_={key:0,class:"ct-n"},S_={key:0,class:"ct-err"},x_={key:1,class:"ct-load"},L_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Xe("profileConfig",ge(null)),o=de(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),n=de(()=>ba(t.value)),s=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"langcity",label:"Languages Here",file:"languages-per-city"},{id:"languages",label:"By Country",file:"languages-by-country"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],a=ge("cities"),r=de(()=>s.find(f=>f.id===a.value)||s[0]),i=ge({}),l=ge(!1),c=ge(null);async function u(f){if(!i.value[f]){l.value=!0,c.value=null;try{const S=await fetch(`${n.value}/tables/${f}.json`);if(!S.ok)throw new Error(`table not found (${S.status})`);i.value={...i.value,[f]:await S.json()}}catch(S){c.value=String(S.message||S)}finally{l.value=!1}}}et(r,f=>f&&u(f.file),{immediate:!0});const g=de(()=>{var f;return i.value[(f=r.value)==null?void 0:f.file]||null});return No(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-keycities-tables"),(f,S)=>(oe(),ie("div",{class:He(["ct",{"is-dark":o.value}])},[H("h2",y_,V(f.$t("keyCities.tables.title")),1),H("p",v_,V(f.$t("keyCities.tables.intro")),1),H("div",w_,[(oe(),ie(xe,null,at(s,O=>H("button",{key:O.id,type:"button",class:He(["ct-tab",{on:a.value===O.id}]),onClick:x=>a.value=O.id},[Ge(V(f.$t("keyCities.tables.tabs."+O.id)),1),i.value[O.file]?(oe(),ie("span",k_,V((i.value[O.file].rows||[]).length.toLocaleString()),1)):Ee("",!0)],10,P_)),64))]),c.value?(oe(),ie("div",S_,V(c.value),1)):g.value?(oe(),po(__,{key:r.value.id,table:g.value,"assets-base":n.value,"is-dark":o.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(oe(),ie("div",x_,V(f.$t("keyCities.tables.loading",{name:f.$t("keyCities.tables.tabs."+r.value.id)})),1))],2))}}},Symbol.toStringTag,{value:"Module"}));function gc(e){const t=(e.match(//)||[])[0];if(!t)throw new Error("poster HTML contains no ");const n=((e.match(/`}const Is={poker:{w:2.5,h:3.5,label:"Card 2.5 × 3.5 in"},pokerLandscape:{w:3.5,h:2.5,label:"Card 3.5 × 2.5 in (landscape)",side:!0},postcard:{w:4,h:6,label:"Postcard 4 × 6 in"},postcardLandscape:{w:6,h:4,label:"Postcard 6 × 4 in (landscape)",side:!0},a6:{w:4.13,h:5.83,label:"A6 105 × 148 mm"}},bc=96;function O_({strings:e,lang:t="en",stock:o="poker",siteBase:n="https://pray.doxa.life"}={}){const s=e.en,a=e[t]||{},r=w=>a[w]!==void 0?a[w]:s[w],i=w=>String(w??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,"""),l=(w,m)=>{const b=w[`${m}_label`];if(b)return String(b);const T=w[m];return T&&typeof T=="object"?String(T.label??T.value??""):T==null?"":String(T)},c=w=>Number.isFinite(Number(w))?Number(w).toLocaleString(t):"—",u=Is[o]||Is.poker,g=Math.round(u.w*bc),f=Math.round(u.h*bc),S=u.side===!0,O=w=>t==="en"?`${n}/${w}`:`${n}/${t}/${w}`;function x(){return` +`,"pin-hint"),(U,W)=>c.value?zn((oe(),ie("div",{key:0,ref_key:"hintEl",ref:w,class:He(["pin-hint",{dark:i.value}]),role:"status"},[H("span",ab,[W[0]||(W[0]=H("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Ge(" "+V(l.value)+" ",1),H("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:j},"×",8,sb)])],2)),[[Xa,u.value&&f.value]]):Ae("",!0)}};let ib=0;const lb=rs("ui",{state:()=>({_storeInstanceId:++ib,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:s=null,persistent:a=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:s,persistent:a,createdAt:Date.now()};return this.toasts.push(r),!a&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),cb=rs("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let s=[0,0];if(o.center)s=o.center;else if(t&&typeof t.getCenter=="function"){const a=t.getCenter();a&&(s=[a.lng,a.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:s,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),ub=rs("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=_o({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=_o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),db={activeSource:"pray-tools"},pb=".profile-loader[data-v-01687ae5]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-01687ae5]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",gb=(e,t)=>{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},hb=["dir"],fb={key:0,class:"profile-error"},mb={key:1,class:"profile-error"},bb=gb({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const o=e,n=Xe("profileConfig",null),s=de(()=>{var $;if(!o.profileConfig)return null;let _;try{_=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(_&&_.assetsBase===void 0){const L=($=n==null?void 0:n.value)==null?void 0:$.assetsBase;typeof L=="string"&&L&&(_.assetsBase=L)}return _}),a=de(()=>{var _;return((_=s.value)==null?void 0:_.profile)||null}),r=bp(),i=de(()=>{var $;const _=($=s.value)==null?void 0:$.tk;return typeof _=="string"&&_?_:r.value||""});et(()=>{var _;return(_=s.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&cs(_)},{immediate:!0}),et(()=>{var _;return(_=s.value)==null?void 0:_.tokenUrl},_=>{var $;_&&!(($=s.value)!=null&&$.tk)&&!r.value&&$p(_)},{immediate:!0});const l=de(()=>{var _;return((_=s.value)==null?void 0:_.dataSource)||db.activeSource}),c=de(()=>{var _;return((_=s.value)==null?void 0:_.colorSet)||"default"}),u=de(()=>!1),g=de(()=>{var _;return((_=s.value)==null?void 0:_.pinHint)!==!1}),f=de(()=>{var $,L;const _=((($=s.value)==null?void 0:$.locale)||((L=s.value)==null?void 0:L.lang)||"").split("-")[0].toLowerCase();return ha.includes(_)?_:""}),S=Xe("appI18n",null);Eu(()=>{f.value&&(S&&(S.global.locale.value=f.value),ec(f.value))});const O=de(()=>{var _,$;return f.value||(($=(_=S==null?void 0:S.global)==null?void 0:_.locale)==null?void 0:$.value)||"en"}),x=de(()=>Zl.has(O.value)?"rtl":"ltr"),C=de(()=>{var _;return((_=s.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),k=Xe("profileModules",null);if(!k)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const w=de(()=>{if(!a.value)return null;const _=`./${a.value}.vue`;return k[_]?_p(k[_]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(k)),null)});xt("mapboxToken",i),xt("dataSource",l),xt("colorSet",c),xt("profileConfig",s),xt("instanceId",C),xt("lang",O);const m=lb(),b=cb(),T=ub();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((y=m.setTheme)==null||y.call(m,_))}catch{}return xt("uiStore",m),xt("mapStore",b),xt("dataStore",T),(_,$)=>(oe(),ie("div",{class:"profile-loader",dir:x.value},[s.value?w.value?(oe(),po(Ha(w.value),{key:2})):(oe(),ie("div",mb,[H("p",null,[$[1]||($[1]=Ge("⚠️ Profile ",-1)),H("strong",null,'"'+V(a.value)+'"',1),$[2]||($[2]=Ge(" not found.",-1))])])):(oe(),ie("div",fb,[...$[0]||($[0]=[H("p",null,[Ge("⚠️ "),H("strong",null,"doxa-map"),Ge(": missing or invalid "),H("code",null,"profile-config"),Ge(" prop.")],-1),H("p",null,[Ge("Example: "),H("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),w.value&&u.value?(oe(),po(Ha(We(null)),{key:3})):Ae("",!0),w.value&&g.value?(oe(),po(rb,{key:4})):Ae("",!0)],8,hb))}},[["styles",[pb]],["__scopeId","data-v-01687ae5"]]),$b=Object.assign({"./cities-list.vue":()=>pt(()=>Promise.resolve().then(()=>Ob),void 0),"./cities-map.vue":()=>pt(()=>Promise.resolve().then(()=>g$),void 0),"./city-poster-wall.vue":()=>pt(()=>Promise.resolve().then(()=>n_),void 0),"./data-tables.vue":()=>pt(()=>Promise.resolve().then(()=>T_),void 0)});function _b(){return ep(bb,{configureApp(e){e.use(dp()),e.use(Qm()),e.provide("profileModules",$b)}})}const yb=_b();typeof customElements<"u"&&(customElements.get("key-cities-map")||customElements.define("key-cities-map",yb));const vb=_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("key-cities.js",document.baseURI).href,hn=e=>String(e||"").trim().replace(/\/+$/,"");function nc(){try{const t=String(vb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function ba(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=hn(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=hn((e==null?void 0:e.treeBase)||"")||hn(nc()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return hn(new URL(o+"/assets",n).href)}catch{return hn(o+"/assets")}return"./assets"}const wb={class:"kc-h"},Pb={class:"kc-sub"},kb={key:0,class:"caveat"},Sb={class:"kc-tabs"},xb=["onClick"],Lb=["onClick"],Tb={class:"sec-name"},Cb={class:"sec-meta"},Eb={class:"r-meta"},Ab={class:"r-num"},Ib={class:"caveat"},Ob=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"cities-list",setup(e){const t=Xe("profileConfig",ge(null)),o=de(()=>{var k;return((k=t.value)==null?void 0:k.isDark)===!0}),n=de(()=>ba(t.value)),s=ge({rows:[]}),a=ge(null);Yt(async()=>{try{const k=await fetch(`${n.value}/tables/key-cities.json`);if(!k.ok)throw new Error(`table not found (${k.status})`);s.value=await k.json()}catch(k){a.value=String(k.message||k)}});const r=de(()=>s.value.rows||[]),i=de(()=>r.value.filter(k=>k.named)),l=ge("named"),c=[{id:"named",label:"Named population centres"},{id:"multi",label:"Multi-group clusters"},{id:"all",label:"All locations"}],u=de(()=>l.value==="named"?i.value:l.value==="multi"?r.value.filter(k=>k.is_population_centre):r.value),g=de(()=>{const k=new Map;for(const w of u.value){const m=w.region||"Other";k.has(m)||k.set(m,[]),k.get(m).push(w)}return[...k.entries()].map(([w,m])=>({name:w,items:m.slice().sort((b,T)=>T.people_group_count-b.people_group_count),groups:m.reduce((b,T)=>b+T.people_group_count,0)})).sort((w,m)=>m.groups-w.groups)}),f=ge({}),S=k=>!!f.value[k],O=k=>{f.value={...f.value,[k]:!f.value[k]}},x=k=>(Number(k)||0).toLocaleString();No(".kc{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.kc.is-dark{background:#0a1410;color:#e5e7eb}.kc-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.kc-sub{margin:0 auto 14px;max-width:660px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.78}.kc-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.kc-tab{font:600 12px inherit;padding:6px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.kc-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:9px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:700}.r-unnamed{font-weight:600;opacity:.55;font-style:italic}.r-meta{font-size:11px;opacity:.66;margin-top:2px;line-height:1.45}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.caveat{max-width:1080px;margin:16px auto 0;padding:12px 14px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.65;opacity:.85}.is-dark .caveat{background:rgba(255,255,255,.06)}","doxa-key-cities");const C=k=>k==="yes"?"ok":k==="partial"?"mid":k==="no"?"low":"unk";return(k,w)=>(oe(),ie("div",{class:He(["kc",{"is-dark":o.value}])},[H("h2",wb,V(k.$t("keyCities.list.title")),1),H("p",Pb,V(k.$t("keyCities.list.intro",{named:x(i.value.length),clusters:x(r.value.length)})),1),a.value?(oe(),ie("div",kb,V(a.value),1)):Ae("",!0),H("div",Sb,[(oe(),ie(xe,null,at(c,m=>H("button",{key:m.id,type:"button",class:He(["kc-tab",{on:l.value===m.id}]),onClick:b=>l.value=m.id},V(k.$t("keyCities.list.filters."+m.id)),11,xb)),64))]),(oe(!0),ie(xe,null,at(g.value,m=>(oe(),ie("section",{key:m.name,class:"sec"},[H("button",{type:"button",class:"sec-head",onClick:b=>O(m.name)},[H("span",{class:He(["sec-caret",{open:!S(m.name)}])},"▶",2),H("h3",Tb,V(m.name),1),H("span",Cb,V(k.$t("keyCities.list.locations",{n:m.items.length}))+" · "+V(k.$t("keyCities.list.peopleGroups",{n:x(m.groups)})),1)],8,Lb),zn(H("div",null,[(oe(!0),ie(xe,null,at(m.items,b=>(oe(),ie("div",{key:b.lat+","+b.lng,class:"row"},[H("div",null,[H("div",{class:He(b.place_name?"r-name":"r-unnamed")},V(b.place_name||k.$t("keyCities.map.unnamed",{lat:b.lat,lng:b.lng})),3),H("div",Eb,[Ge(V(b.country),1),b.admin_state?(oe(),ie(xe,{key:0},[Ge(" · "+V(b.admin_state),1)],64)):Ae("",!0),Ge(" · "+V(b.people_group_count)+" group"+V(b.people_group_count===1?"":"s")+" ",1),b.languages?(oe(),ie(xe,{key:1},[Ge(" · "+V(b.languages.split(", ").slice(0,3).join(", ")),1)],64)):Ae("",!0)])]),H("div",Ab,V(x(b.upg_population)),1),H("span",{class:He(["pill",C(b.country_internet_access)])},V(b.country_internet_pct!=null?b.country_internet_pct+"%":"unknown"),3)]))),128))],512),[[Xa,!S(m.name)]])]))),128)),H("div",Ib,[w[0]||(w[0]=H("b",null,"What a row is.",-1)),w[1]||(w[1]=Ge(" A cluster of people-group centroids within ~25km — ",-1)),w[2]||(w[2]=H("b",null,"not",-1)),Ge(" a municipal boundary. Pins mark where a people group is centred, not a settlement, so clusters are never named by inference: the "+V(x(i.value.length))+" multi-group centres were resolved by ",1),w[3]||(w[3]=H("b",null,"Nominatim/OpenStreetMap",-1)),w[4]||(w[4]=Ge(" (ODbL, cited per row) and the rest stay unnamed rather than guessed. ",-1)),w[5]||(w[5]=H("br",null,null,-1)),w[6]||(w[6]=H("br",null,null,-1)),w[7]||(w[7]=H("b",null,"Internet figures are NATIONAL",-1)),w[8]||(w[8]=Ge(", shown as context. Per-city connectivity is not publicly available at this scale, and a national figure must not be read as a city measurement. ",-1)),w[9]||(w[9]=H("br",null,null,-1)),w[10]||(w[10]=H("br",null,null,-1)),w[11]||(w[11]=Ge(" This page carries people-group locations and connectivity only — no church, believer or meeting-point data, by design. ",-1))])],2))}}},Symbol.toStringTag,{value:"Module"})),ac={regular:"Noto Sans Regular",medium:"Noto Sans Bold",bold:"Noto Sans Bold"};function Nb(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Fb(e,{weight:t="regular",mapbox:o}={}){return Nb(e)?{"text-font":[ac[t]||ac.regular]}:Array.isArray(o)&&o.length?{"text-font":o}:{}}const Fo={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"},openfreemap:{label:"OpenFreeMap",href:"https://openfreemap.org"},openmaptiles:{label:"© OpenMapTiles",href:"https://www.openmaptiles.org/"},osmContributors:{label:"© OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright"}};function Rb(e){const t=typeof window<"u"?window.maplibregl:null;return!!(t&&t.Map&&e instanceof t.Map)?[Fo.openfreemap,Fo.openmaptiles,Fo.osmContributors]:[Fo.mapbox,Fo.osm]}function Mb(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:o=!0,basemap:n=!0}=t,s=document.createElement("div");s.className="doxa-attribution mapboxgl-ctrl",s.style.cssText=["font:11px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif","background:rgba(255,255,255,.82)","color:#3a4048","padding:2px 6px","border-radius:3px 0 0 0","pointer-events:auto","max-width:min(92vw,420px)"].join(";");const a=[];o&&a.push(Fo.boundaries),n&&a.push(...Rb(e)),s.innerHTML=a.map(i=>`${i.label}`).join(" · ");const r={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(r,"bottom-right"),r}const Db=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function zb(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=Db[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}const Gb=["mapbox","maplibre"],Hb="auto";function sc(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function rc(e){const t=o=>typeof o=="string"&&!!o.trim()&&!/^YOUR_/.test(o.trim());return t(e==null?void 0:e.tk)||/^https?:\/\//i.test(String((e==null?void 0:e.tokenUrl)||""))?!0:typeof window>"u"?!1:t(window.MAP_TOKEN)||t(window.__doxaMapToken)||!!window.__doxaMapTokenPending}function Ub(e,{token:t}={}){const o=sc(e);return Bb(o)||(rc(o)||rc({tk:t})?"mapbox":"maplibre")}function Bb(e){const t=sc(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,s=typeof window<"u"?window.MAP_PROVIDER:void 0,a=String(o||n||s||Hb).toLowerCase().trim();return Gb.includes(a)?a:""}const fn={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function Cs(e,t){const o=Object.values(fn).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const ic={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function jb(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function Wb(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(jb(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const s=n.setRTLTextPlugin(ic.maplibre,!0);s&&s.catch&&s.catch(()=>{})}else n.setRTLTextPlugin(ic.mapbox,null,!0);o=!0}catch{}return o}const Ro={mapbox:{global:"mapboxgl",js:fn.mapboxGlJs.url,css:fn.mapboxGlCss.url},maplibre:{global:"maplibregl",js:fn.maplibreGlJs.url,css:fn.maplibreGlCss.url}};function Es(e){var o;const t=((o=Ro[e])==null?void 0:o.global)||Ro.mapbox.global;return typeof window<"u"?window[t]:void 0}function Vb(e){return(Ro[e]||Ro.mapbox).css||null}async function qb(e){const t=Ro[e]||Ro.mapbox;if(Es(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,Cs(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Es(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,s)=>{const a=document.createElement("script");a.src=t.js,Cs(a,t.js),a.async=!1,a.addEventListener("load",n,{once:!0}),a.addEventListener("error",()=>s(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(a)})}async function Kb(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),s=o.querySelector(`link[href="${t}"]`);if(s){if(s.sheet)return;await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=t,Cs(a,t),await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0}),o.prepend(a)}),n(2e3)])}const Yb={class:"gm-legend"},Jb={class:"gm-title"},Zb={class:"gm-keys"},Xb={class:"gm-caveat"},Qb={key:0,class:"gm-err"},e$={key:1,class:"gm-sheet"},t$={class:"gm-sh-head"},o$={class:"gm-sh-name"},n$={class:"gm-stat"},a$={key:0,class:"gm-stat"},s$={class:"gm-stat"},r$={class:"gm-stat"},i$={class:"gm-stat"},l$={key:1,class:"gm-list"},c$={class:"gm-list-h"},u$={key:2,class:"gm-list"},d$={class:"gm-list-h"},p$={class:"gm-note"},g$=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"cities-map",setup(e){let t=y=>String(y).replace(/^keyCities\./,"").split(".").reduce((_,$)=>_==null?_:_[$],Di)??y;try{t=Oo().t}catch{}const o=Xe("profileConfig",ge(null)),n=de(()=>{var y;return((y=o.value)==null?void 0:y.isDark)===!0});let s=!1;const a=Xe("mapboxToken",null),r=de(()=>{var y;return((y=o.value)==null?void 0:y.tk)||(a==null?void 0:a.value)||typeof window<"u"&&window.MAP_TOKEN||""}),i=de(()=>ba(o.value)),l=ge(null),c=Wo(null),u=ge([]),g=ge(null),f=ge(null),S=[{id:"named",label:"named centre",color:"#0b7a5b"},{id:"multi",label:"multi-group",color:"#e07a2b"},{id:"single",label:"single group",color:"#9aa2ad"}],O=de(()=>u.value.filter(y=>Number.isFinite(y.lat)&&Number.isFinite(y.lng))),x=ge([]),C=de(()=>x.value.filter(y=>Number.isFinite(Number(y.lat))&&Number.isFinite(Number(y.lng))));async function k(){const y=await fetch(`${i.value}/tables/key-cities.json`);if(!y.ok)throw new Error(`key-cities table not found (${y.status})`);u.value=(await y.json()).rows||[];try{const _=await fetch(`${i.value}/tables/key-cities-admin-n.json`);_.ok&&(x.value=(await _.json()).rows||[])}catch{}}function w(y){const _={type:"FeatureCollection",features:O.value.map($=>({type:"Feature",properties:{name:$.place_name||"",band:$.named?"named":$.is_population_centre?"multi":"single",groups:$.people_group_count,_row:JSON.stringify({place_name:$.place_name,country:$.country,admin_state:$.admin_state,people_group_count:$.people_group_count,people_groups:$.people_groups,languages:$.languages,upg_population:$.upg_population,lat:$.lat,lng:$.lng,named:$.named,country_internet_pct:$.country_internet_pct,poster_id:$.poster_id})},geometry:{type:"Point",coordinates:[$.lng,$.lat]}}))};if(y.getSource("kc-src")){y.getSource("kc-src").setData(_);return}y.addSource("kc-src",{type:"geojson",data:_}),y.addLayer({id:"kc-pts",type:"circle",source:"kc-src",paint:{"circle-radius":["interpolate",["linear"],["get","groups"],1,3.5,5,6,14,11],"circle-color":["match",["get","band"],"named","#0b7a5b","multi","#e07a2b","#9aa2ad"],"circle-opacity":.85,"circle-stroke-width":1,"circle-stroke-color":"rgba(255,255,255,0.85)"}}),y.addLayer({id:"kc-hit",type:"circle",source:"kc-src",paint:{"circle-radius":14,"circle-opacity":0}}),y.on("click","kc-hit",$=>{var R,B,j;const L=(j=(B=(R=$.features)==null?void 0:R[0])==null?void 0:B.properties)==null?void 0:j._row;if(L)try{g.value=JSON.parse(L)}catch{}}),y.on("mouseenter","kc-hit",()=>{y.getCanvas().style.cursor="pointer"}),T(y),y.on("mouseleave","kc-hit",()=>{y.getCanvas().style.cursor=""})}Yt(async()=>{const y=Ub(o,{token:r.value});try{await qb(y)}catch{}const _=Es(y);if(!_||!l.value){f.value=t("keyCities.map.engineMissing");return}Wb(_);try{if(await k(),s||!l.value)return;const $=Vb(y);if($&&await Kb(l.value,$),s||!l.value)return;const L=new _.Map({container:l.value,style:zb(n.value?"ink":"paper",y).style||(n.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),accessToken:r.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});c.value=_o(L),Mb(L,{boundaries:!0}),L.once("load",()=>w(L))}catch($){f.value=String($.message||$)}}),Jt(()=>{var y;s=!0;try{(y=c.value)==null||y.remove()}catch{}});const m=y=>(Number(y)||0).toLocaleString();function b(y,_,$){if(y.hasImage&&y.hasImage(_))return;const L=44,R=document.createElement("canvas");R.width=L,R.height=L;const B=R.getContext("2d"),j=L/2,N=L/2,ne=L*.44,se=ne*.42;B.beginPath();for(let U=0;U<10;U++){const W=U%2===0?ne:se,ce=Math.PI/5*U-Math.PI/2,_e=j+W*Math.cos(ce),ye=N+W*Math.sin(ce);U===0?B.moveTo(_e,ye):B.lineTo(_e,ye)}B.closePath(),B.fillStyle=$,B.fill(),B.lineWidth=2.4,B.strokeStyle="rgba(255,255,255,0.95)",B.stroke();const te=B.getImageData(0,0,L,L);y.addImage(_,{width:L,height:L,data:new Uint8Array(te.data.buffer)})}function T(y){if(!C.value.length)return;b(y,"city-star","#b8860b");const _={type:"FeatureCollection",features:C.value.map($=>({type:"Feature",properties:{name:$.place_name||"",tier:$.key_tier||"candidate",groups:Number($.people_group_count)||0,_row:JSON.stringify({place_name:$.place_name,country:$.country,admin_state:$.admin_n,admin_n_level:$.admin_n_level,key_tier:$.key_tier,people_group_count:$.people_group_count,people_groups:$.people_groups,languages:$.languages,upg_population:$.upg_population,lat:$.lat,lng:$.lng,verification_tier:$.verification_tier,verification_meaning:$.verification_meaning})},geometry:{type:"Point",coordinates:[Number($.lng),Number($.lat)]}}))};if(y.getSource("kc-star-src")){y.getSource("kc-star-src").setData(_);return}y.addSource("kc-star-src",{type:"geojson",data:_}),y.addLayer({id:"kc-stars",type:"symbol",source:"kc-star-src",layout:{"icon-image":"city-star","icon-size":["match",["get","tier"],"key-high",.55,"key",.44,.34],"icon-allow-overlap":!0,"text-field":["case",["==",["get","tier"],"key-high"],["get","name"],""],...Fb(y),"text-size":11,"text-offset":[0,1.25],"text-anchor":"top","text-optional":!0},paint:{"text-color":"#5b4708","text-halo-color":"rgba(255,255,255,0.92)","text-halo-width":1.4}}),y.on("click","kc-stars",$=>{var R,B,j;const L=(j=(B=(R=$.features)==null?void 0:R[0])==null?void 0:B.properties)==null?void 0:j._row;if(L)try{g.value=JSON.parse(L)}catch{}}),y.on("mouseenter","kc-stars",()=>{y.getCanvas().style.cursor="pointer"})}return No(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;right:8px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-cities-map"),(y,_)=>(oe(),ie("div",{class:He(["gm",{"is-dark":n.value}])},[H("div",{ref_key:"mapEl",ref:l,class:"gm-map"},null,512),H("div",Yb,[H("div",Jb,V(y.$t("keyCities.map.title")),1),H("div",Zb,[(oe(),ie(xe,null,at(S,$=>H("span",{key:$.id,class:"gm-key"},[H("i",{class:"gm-sw",style:Vt({background:$.color})},null,4),Ge(V(y.$t("keyCities.map.bands."+$.id)),1)])),64))]),H("div",Xb,V(y.$t("keyCities.map.note")),1)]),f.value?(oe(),ie("div",Qb,V(f.value),1)):Ae("",!0),g.value?(oe(),ie("div",e$,[H("div",t$,[H("span",o$,V(g.value.place_name||y.$t("keyCities.map.unnamed",{lat:g.value.lat,lng:g.value.lng})),1),H("button",{type:"button",class:"gm-x",onClick:_[0]||(_[0]=$=>g.value=null)},V(y.$t("keyCities.map.close")),1)]),H("div",n$,[H("span",null,V(y.$t("keyCities.map.country")),1),H("b",null,V(g.value.country),1)]),g.value.admin_state?(oe(),ie("div",a$,[H("span",null,V(y.$t("keyCities.map.admin")),1),H("b",null,V(g.value.admin_state),1)])):Ae("",!0),H("div",s$,[H("span",null,V(y.$t("keyCities.map.peopleGroups")),1),H("b",null,V(m(g.value.people_group_count)),1)]),H("div",r$,[H("span",null,V(y.$t("keyCities.map.upgPopulation")),1),H("b",null,V(m(g.value.upg_population)),1)]),H("div",i$,[H("span",null,V(y.$t("keyCities.map.internet")),1),H("b",null,V(g.value.country_internet_pct!=null?g.value.country_internet_pct+"%":y.$t("keyCities.map.unknown")),1)]),g.value.people_groups?(oe(),ie("div",l$,[H("div",c$,V(y.$t("keyCities.map.pgHere")),1),H("ul",null,[(oe(!0),ie(xe,null,at(String(g.value.people_groups).split(", "),($,L)=>(oe(),ie("li",{key:L},V($),1))),128))])])):Ae("",!0),g.value.languages?(oe(),ie("div",u$,[H("div",d$,V(y.$t("keyCities.map.languages")),1),H("ul",null,[(oe(!0),ie(xe,null,at(String(g.value.languages).split(", "),($,L)=>(oe(),ie("li",{key:L},V($),1))),128))])])):Ae("",!0),H("p",p$,V(y.$t("keyCities.map.sheetNote"))+" "+V(y.$t("keyCities.map.national")),1)])):Ae("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function mn(e,{autoprint:t=!1}={}){const o=document.createElement("iframe");o.setAttribute("aria-hidden","true"),o.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(o);const n=o.contentDocument;if(!n)return o.remove(),null;n.open(),n.write(e),t&&n.write('\n\n" + "script": "\n\n\n\n" }, "bundle": "all-people-groups" } @@ -38,7 +38,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "dx-maps/big-picture/big-picture.js", - "integrity": "sha384-4//gka76np8NjhhynRAoi+IwIomgQsIz8IG27CXFo9rBWS/isxI+Rka1nRLjj1fY", + "integrity": "sha384-0PLnZBlIJMdSAz9YdW4iQz2rVzuXLDHNV7DgzSqQAPj0eSFMs0sb8PT79RQDYHeY", "elements": [ "bp-big-picture", "bp-research-header", @@ -60,7 +60,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -104,7 +104,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "dx-maps/cities-internet/cities-internet.js", - "integrity": "sha384-2rtoS9XCrYHb8fyfn+1chxTdqur2bOIHEIesWPj26wXrpT9im/4lGReHEBFgEzBA", + "integrity": "sha384-+nq6GCAyhJFlTGD+AenO5/OhtPfbNxIexYundFjlZUJECI7Fa3NdVyAnl6ijmBbl", "elements": [ "cities-internet-map" ], @@ -120,7 +120,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -134,7 +134,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -148,7 +148,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -157,7 +157,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "dx-maps/country-posters/country-posters.js", - "integrity": "sha384-o7B7KJJHelXLgG5ID+C434LC74qZH/lW4N0zsMN+RTQU8OBoRr/8vIE0XJhwsA12", + "integrity": "sha384-qd1dgYkpExev37T81TzsSOLiXz4Ts0FH+efwHF8QBcSWxFQQvbglHa2FiM0yN9uN", "elements": [ "country-posters-map" ], @@ -177,7 +177,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -191,7 +191,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -205,7 +205,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -214,7 +214,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "dx-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-SwGjy6nKza+3ths+kDMc7srH9hg4Qgcx7SZF/UzGuw9oXEQuDYtXDY9nsCsQXN5s", + "integrity": "sha384-/kZKKn306T0Fd6nAEn8Pq/5DSA9T2iF7aozfGxsych2hDNkIK1wKKLI6LQY+BuwO", "elements": [ "dashboard-plus-grid" ], @@ -234,7 +234,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -258,7 +258,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "dx-maps/demo-map/demo-map.js", - "integrity": "sha384-GDoTiG1SCQiDcW34dT5UWyQGmek2ac0u3XSfZyygWTX68Rkj1CC8LcrBCrVPBmbu", + "integrity": "sha384-5OLSI2MOHUjXFOjqlsdvUY53dISZbT0LKkqtQAmc5N2LEkijcPQ/m+G014KKl05D", "elements": [ "demo-map" ], @@ -274,7 +274,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -301,7 +301,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-Tdo0i709tiAco2crqldBRggQUoZ8lj1oZT/gVR9HVaB6wwtRg80/RE2l1DeZ2uLL", + "integrity": "sha384-p3mrseluGiP7Uj0HWWEA5IeZcGisLZwSBMxvkcTKROt8Qdlkb4s4NFCZigNWP5dY", "elements": [ "doxa-maps-spa" ], @@ -326,7 +326,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -353,7 +353,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "dx-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-4MNCWFPnp5h89HDGfgyRf5OdHGPpqvUH+YD5qpF5yBFNewu3EUMpIbhoX+tjAUgX", + "integrity": "sha384-fCobW4BrwyvEO6WLLTAFrV1Ohg5OygfMFhQ74BfNZKfrAeHWZtLPfADZn8MAh+yW", "elements": [ "doxa-research-map" ], @@ -369,7 +369,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -395,7 +395,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "dx-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-w3iO9hBP3UHuqDt0AZXp1lmtXKxQE/jyymbGBh48g3+0WNO5cNpO5XRFibYhvENY", + "integrity": "sha384-Kf975BxLFGhgM+2N07E8/R+Vt1m5eXBCKYw9P7DO2ZeXPv5sLjuumAHF222hUla8", "elements": [ "doxa-map", "doxa-simple-map" @@ -412,7 +412,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -578,7 +578,7 @@ "bundle": "gospel-internet", "scriptUrl": "./gospel-internet/gospel-internet.js", "output": "dx-maps/gospel-internet/gospel-internet.js", - "integrity": "sha384-ocVLoiTEZC1fgM7DaVpISSp6a1smcnMqhgPvm7X5Af81oFDuKU3z46/BeJ0ebaQ7", + "integrity": "sha384-sxAzwBWTEP+ZkJ9p+KniylXumjhKTApk4vesSX/VVILejGxjwZJZWMLP2ZD1UPXg", "elements": [ "gospel-internet-board" ], @@ -594,7 +594,7 @@ "scriptUrl": "./gospel-internet/gospel-internet.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -694,7 +694,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "dx-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-OXIwjO/c3AlWq74w6SEjVStRvX5itVNo2QJBpCgkSNwyTuhKPyoBIvPuQKnDnLy0", + "integrity": "sha384-rr2LL3X9rupZfSgkQdItn6yVFwj2oJmIaEYlvylWQKR1h44PFC8HeBeUyGxhPNN3", "elements": [ "gospel-resources-map" ], @@ -714,7 +714,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -728,7 +728,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -742,7 +742,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -756,7 +756,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -770,7 +770,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -779,7 +779,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "dx-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-PtRRtuSZEE1ZdU2lJ8kKQE6jLKK+1OcfR/NV1efLaoEZHoWGQWBwkwXhn/mu5bF6", + "integrity": "sha384-VUNzolsh8VsXhm3gvMWyCnxyX1ZOwLEQaRVJ2lVO3UYLTjlGtHulCjPpGkCDfuWo", "elements": [ "my-upg-100-list-map" ], @@ -799,7 +799,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -813,7 +813,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -827,7 +827,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -836,7 +836,7 @@ "bundle": "people-groups-grid", "scriptUrl": "./people-groups-grid/people-groups-grid.js", "output": "dx-maps/people-groups-grid/people-groups-grid.js", - "integrity": "sha384-tp61XV2xYud3vQ487gn6dAdZ7POrL8AevcdZP6aCzetjcvgkU416Z/fhTRD/kcH3", + "integrity": "sha384-Oop/RQS45fb0cRhvbJzVO1gOIG9esrS7jCXI4Fd6zb41hyZ3M/hHgl4P/mA0aiPh", "elements": [ "people-groups-grid" ], @@ -852,7 +852,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -897,7 +897,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "dx-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-cbpP8E0zMOrDfytDAeQh59xd7cgU6G6P6hlwb/Lx5XCEF0QmQn0M1ax8vtD4qGvU", + "integrity": "sha384-Eoi+z+jQODT5YVxDesHF1lQ56Y48rSR0ZFVCcwdqjmI7Lt8WA2426gA4obUhTD9z", "elements": [ "plugin-studio" ], @@ -925,7 +925,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -952,7 +952,7 @@ "bundle": "pplr-data-maps", "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "output": "dx-maps/pplr-data-maps/pplr-data-maps.js", - "integrity": "sha384-LpLVOsJRyacMqwKYW6iF43wTOiFaH7t8JkMYmjdBWDKjFP14/gqEFfxVS16PQjOt", + "integrity": "sha384-8mfImIF0wAkQIaik0Q6jgzX7YMRcIvgMyFsizjtPD5AWai4CYzVZQ0ha/QLRFbpP", "elements": [ "pplr-data-maps" ], @@ -968,7 +968,7 @@ "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "pplr-data-maps" } @@ -978,7 +978,7 @@ "bundle": "prayer-walk-planner", "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js", - "integrity": "sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8", + "integrity": "sha384-BiFtHG4M5sViRcXxJJNuTExUk7AlH1w1NVEiq/Oj7utQGYOiPzvciN9benC3PvUv", "elements": [ "prayer-walk-planner" ], @@ -994,7 +994,7 @@ "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -1003,7 +1003,7 @@ "bundle": "regions-dashboard", "scriptUrl": "./regions-dashboard/regions-dashboard.js", "output": "dx-maps/regions-dashboard/regions-dashboard.js", - "integrity": "sha384-sBJPYc4KST2eRWTL9kYzfsf7eQP/yqoxryqUyvUnEx1vRi9Q2+jgvR03sPGFWQFs", + "integrity": "sha384-VJmkesryYLF+l85H+jKOfIVxU7JgCc1TydzSoSeL/HY5dHff9TgjdLUFmioTDNm4", "elements": [ "regions-dashboard" ], @@ -1023,7 +1023,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -1037,7 +1037,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -1051,7 +1051,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -1060,7 +1060,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "dx-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-hxyp90rXuqUrjrpmweqcdkvvtx2oD6hYaxP+kpdcvqCEDRUTyleEmuz5X6FRr1k6", + "integrity": "sha384-PakvTvEIhg2eXG7SISNAW5wI9Qi3Y69svd5hIdP653GrXCPJr32vfOCajdiD/iKe", "elements": [ "research-dashboard-map" ], @@ -1076,7 +1076,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "research-dashboard" } @@ -1086,7 +1086,7 @@ "bundle": "research-map-plus-grid", "scriptUrl": "./research-map-plus-grid/research-map-plus-grid.js", "output": "dx-maps/research-map-plus-grid/research-map-plus-grid.js", - "integrity": "sha384-XyIzplVHeZOnYwSzrTi4LRS35Q4S7NruPFJtNxIxN7MmAhYmzfI2lGwBlOHTzAbp", + "integrity": "sha384-malo2pC/K0/1Xi9kyDubh+4tY9HC56zcO/VsgppNf5c4AXvXG9RMxqVHYoFAoOr5", "elements": [ "research-map-plus-grid" ], @@ -1106,7 +1106,7 @@ "scriptUrl": "./research-map-plus-grid/research-map-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -1130,7 +1130,7 @@ "bundle": "stack-demo", "scriptUrl": "./stack-demo/stack-demo.js", "output": "dx-maps/stack-demo/stack-demo.js", - "integrity": "sha384-9/bRDfPfFGVpqL8wP329Awt3U0PqrieIL89Dp4k6Nkp+D9S5GUCWxvj8fMGphzXo", + "integrity": "sha384-Pg93Oyzao9WxHJMSJZPF798o1/Klk2ie7EDLTpVpQd0HaKCDDEHRDWUjt6OYwzqi", "elements": [ "stack-demo" ], @@ -1150,7 +1150,7 @@ "scriptUrl": "./stack-demo/stack-demo.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -1174,7 +1174,7 @@ "bundle": "upg-neighbor", "scriptUrl": "./upg-neighbor/upg-neighbor.js", "output": "dx-maps/upg-neighbor/upg-neighbor.js", - "integrity": "sha384-Z31fwP+tmP5Rf273tgLVxae4/u2c3MLLZVHS5h4rXo+I8BGTk98QO0JXTCzgRvV2", + "integrity": "sha384-9OgYiYHltV2xO03pFAWT7VSwrBnDmmoCdLldwBj1myJYIcpmAdCzfhRI3xwL8vrt", "elements": [ "upg-neighbor" ], @@ -1190,7 +1190,7 @@ "scriptUrl": "./upg-neighbor/upg-neighbor.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -1273,7 +1273,7 @@ "bundle": "wall-of-people-groups", "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "output": "dx-maps/wall-of-people-groups/wall-of-people-groups.js", - "integrity": "sha384-1gX3wU3AHEuJtA0+UrPtrGzOR5uG5dkkO/Wt/Tftcu9ILYXSUNBwzGScDBaa7vlD", + "integrity": "sha384-ZB2ByAlJt/FfUfGif0zGwVsv3ldeYVax2C8NQdW0J50NIfe+3zXLaAh8KkQZDt8S", "elements": [ "wall-of-people-groups" ], @@ -1289,7 +1289,7 @@ "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "wall-of-people-groups" } diff --git a/public/dx-maps/my-upg-100-list/my-upg-100-list.js b/public/dx-maps/my-upg-100-list/my-upg-100-list.js index 7d16526b..0d83b018 100644 --- a/public/dx-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/dx-maps/my-upg-100-list/my-upg-100-list.js @@ -1,4 +1,4 @@ -(function(){"use strict";var $n=typeof document<"u"?document.currentScript:null;const FA="modulepreload",OA=function(e){return"/"+e},DA={},yt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** +(function(){"use strict";var $n=typeof document<"u"?document.currentScript:null;const OA="modulepreload",DA=function(e){return"/"+e},GA={},yt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let _t;class zl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&_t&&(_t.active?(this.parent=_t,this.index=(_t.scopes||(_t.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(_t===this)_t=this.prevScope;else{let t=_t;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(ta){let t=ta;for(ta=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ea;){let t=ea;for(ea=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Wl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vl(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),fs(n),hh(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Kl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Kl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===oa)||(e.globalVersion=oa,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,o=st,n=to;st=e,to=!0;try{Wl(e);const a=e.fn(e._value);(t.version===0||co(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{st=o,to=n,Vl(e),e.flags&=-3}}function fs(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)fs(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function hh(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let to=!0;const ql=[];function uo(){ql.push(to),to=!1}function po(){const e=ql.pop();to=e===void 0?!0:e}function Yl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=st;st=void 0;try{t()}finally{st=o}}}let oa=0;class fh{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ms{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!st||!to||st===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==st)o=this.activeLink=new fh(st,this),st.deps?(o.prevDep=st.depsTail,st.depsTail.nextDep=o,st.depsTail=o):st.deps=st.depsTail=o,Zl(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=st.depsTail,o.nextDep=void 0,st.depsTail.nextDep=o,st.depsTail=o,st.deps===o&&(st.deps=n)}return o}trigger(t){this.version++,oa++,this.notify(t)}notify(t){ps();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{gs()}}}function Zl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Zl(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Xa=new WeakMap,nn=Symbol(""),bs=Symbol(""),na=Symbol("");function Ft(e,t,o){if(to&&st){let n=Xa.get(e);n||Xa.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new ms),a.map=n,a.key=o),a.track()}}function wo(e,t,o,n,a,r){const s=Xa.get(e);if(!s){oa++;return}const i=l=>{l&&l.trigger()};if(ps(),t==="clear")s.forEach(i);else{const l=Te(e),u=l&&Va(o);if(l&&o==="length"){const c=Number(n);s.forEach((p,d)=>{(d==="length"||d===na||!Vt(d)&&d>=c)&&i(p)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(na)),t){case"add":l?u&&i(s.get("length")):(i(s.get(nn)),zo(e)&&i(s.get(bs)));break;case"delete":l||(i(s.get(nn)),zo(e)&&i(s.get(bs)));break;case"set":zo(e)&&i(s.get(nn));break}}gs()}function mh(e,t){const o=Xa.get(e);return o&&o.get(t)}function vn(e){const t=Ke(e);return t===e?t:(Ft(t,"iterate",na),qt(e)?t:t.map(oo))}function Qa(e){return Ft(e=Ke(e),"iterate",na),e}function go(e,t){return xo(e)?kn(Po(e)?oo(t):t):oo(t)}const bh={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>go(this,e))},concat(...e){return vn(this).concat(...e.map(t=>Te(t)?vn(t):t))},entries(){return ys(this,"entries",e=>(e[1]=go(this,e[1]),e))},every(e,t){return ko(this,"every",e,t,void 0,arguments)},filter(e,t){return ko(this,"filter",e,t,o=>o.map(n=>go(this,n)),arguments)},find(e,t){return ko(this,"find",e,t,o=>go(this,o),arguments)},findIndex(e,t){return ko(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ko(this,"findLast",e,t,o=>go(this,o),arguments)},findLastIndex(e,t){return ko(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ko(this,"forEach",e,t,void 0,arguments)},includes(...e){return $s(this,"includes",e)},indexOf(...e){return $s(this,"indexOf",e)},join(e){return vn(this).join(e)},lastIndexOf(...e){return $s(this,"lastIndexOf",e)},map(e,t){return ko(this,"map",e,t,void 0,arguments)},pop(){return aa(this,"pop")},push(...e){return aa(this,"push",e)},reduce(e,...t){return Jl(this,"reduce",e,t)},reduceRight(e,...t){return Jl(this,"reduceRight",e,t)},shift(){return aa(this,"shift")},some(e,t){return ko(this,"some",e,t,void 0,arguments)},splice(...e){return aa(this,"splice",e)},toReversed(){return vn(this).toReversed()},toSorted(e){return vn(this).toSorted(e)},toSpliced(...e){return vn(this).toSpliced(...e)},unshift(...e){return aa(this,"unshift",e)},values(){return ys(this,"values",e=>go(this,e))}};function ys(e,t,o){const n=Qa(e),a=n[t]();return n!==e&&!qt(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const yh=Array.prototype;function ko(e,t,o,n,a,r){const s=Qa(e),i=s!==e&&!qt(e),l=s[t];if(l!==yh[t]){const p=l.apply(e,r);return i?oo(p):p}let u=o;s!==e&&(i?u=function(p,d){return o.call(this,go(e,p),d,e)}:o.length>2&&(u=function(p,d){return o.call(this,p,d,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function Jl(e,t,o,n){const a=Qa(e),r=a!==e&&!qt(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,p){return i&&(i=!1,u=go(e,u)),o.call(this,u,go(e,c),p,e)}):o.length>3&&(s=function(u,c,p){return o.call(this,u,c,p,e)}));const l=a[t](s,...n);return i?go(e,l):l}function $s(e,t,o){const n=Ke(e);Ft(n,"iterate",na);const a=n[t](...o);return(a===-1||a===!1)&&ar(o[0])?(o[0]=Ke(o[0]),n[t](...o)):a}function aa(e,t,o=[]){uo(),ps();const n=Ke(e)[t].apply(e,o);return gs(),po(),n}const $h=is("__proto__,__v_isRef,__isVue"),Xl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vt));function _h(e){Vt(e)||(e=String(e));const t=Ke(this);return Ft(t,"has",e),t.hasOwnProperty(e)}class Ql{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?rc:ac:r?nc:oc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Te(t);if(!a){let l;if(s&&(l=bh[o]))return l;if(o==="hasOwnProperty")return _h}const i=Reflect.get(t,o,ct(t)?t:n);if((Vt(o)?Xl.has(o):$h(o))||(a||Ft(t,"get",o),r))return i;if(ct(i)){const l=s&&Va(o)?i:i.value;return a&&Je(l)?vs(l):l}return Je(i)?a?vs(i):wn(i):i}}class ec extends Ql{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=Te(t)&&Va(o);if(!this._isShallow){const u=xo(r);if(!qt(n)&&!xo(n)&&(r=Ke(r),n=Ke(n)),!s&&ct(r)&&!ct(n))return u||(r.value=n),!0}const i=s?Number(o)e,er=e=>Reflect.getPrototypeOf(e);function xh(e,t,o){return function(...n){const a=this.__v_raw,r=Ke(a),s=zo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?_s:t?kn:oo;return!t&&Ft(r,"iterate",l?bs:nn),gt(Object.create(u),{next(){const{value:p,done:d}=u.next();return d?{value:p,done:d}:{value:i?[c(p[0]),c(p[1])]:c(p),done:d}}})}}function tr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sh(e,t){const o={get(a){const r=this.__v_raw,s=Ke(r),i=Ke(a);e||(co(a,i)&&Ft(s,"get",a),Ft(s,"get",i));const{has:l}=er(s),u=t?_s:e?kn:oo;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Ft(Ke(a),"iterate",nn),a.size},has(a){const r=this.__v_raw,s=Ke(r),i=Ke(a);return e||(co(a,i)&&Ft(s,"has",a),Ft(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Ke(i),u=t?_s:e?kn:oo;return!e&&Ft(l,"iterate",nn),i.forEach((c,p)=>a.call(r,u(c),u(p),s))}};return gt(o,e?{add:tr("add"),set:tr("set"),delete:tr("delete"),clear:tr("clear")}:{add(a){const r=Ke(this),s=er(r),i=Ke(a),l=!t&&!qt(a)&&!xo(a)?i:a;return s.has.call(r,l)||co(a,l)&&s.has.call(r,a)||co(i,l)&&s.has.call(r,i)||(r.add(l),wo(r,"add",l,l)),this},set(a,r){!t&&!qt(r)&&!xo(r)&&(r=Ke(r));const s=Ke(this),{has:i,get:l}=er(s);let u=i.call(s,a);u||(a=Ke(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?co(r,c)&&wo(s,"set",a,r):wo(s,"add",a,r),this},delete(a){const r=Ke(this),{has:s,get:i}=er(r);let l=s.call(r,a);l||(a=Ke(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&wo(r,"delete",a,void 0),u},clear(){const a=Ke(this),r=a.size!==0,s=a.clear();return r&&wo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=xh(a,e,t)}),o}function or(e,t){const o=Sh(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ze(o,a)&&a in n?o:n,a,r)}const Ah={get:or(!1,!1)},Lh={get:or(!1,!0)},Ch={get:or(!0,!1)},Th={get:or(!0,!0)},oc=new WeakMap,nc=new WeakMap,ac=new WeakMap,rc=new WeakMap;function Eh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wn(e){return xo(e)?e:nr(e,!1,vh,Ah,oc)}function Rh(e){return nr(e,!1,kh,Lh,nc)}function vs(e){return nr(e,!0,wh,Ch,ac)}function zA(e){return nr(e,!0,Ph,Th,rc)}function nr(e,t,o,n,a){if(!Je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Eh(nh(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Po(e){return xo(e)?Po(e.__v_raw):!!(e&&e.__v_isReactive)}function xo(e){return!!(e&&e.__v_isReadonly)}function qt(e){return!!(e&&e.__v_isShallow)}function ar(e){return e?!!e.__v_raw:!1}function Ke(e){const t=e&&e.__v_raw;return t?Ke(t):e}function an(e){return!Ze(e,"__v_skip")&&Object.isExtensible(e)&&Rl(e,"__v_skip",!0),e}const oo=e=>Je(e)?wn(e):e,kn=e=>Je(e)?vs(e):e;function ct(e){return e?e.__v_isRef===!0:!1}function be(e){return sc(e,!1)}function Pn(e){return sc(e,!0)}function sc(e,t){return ct(e)?e:new Nh(e,t)}class Nh{constructor(t,o){this.dep=new ms,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ke(t),this._value=o?t:oo(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||qt(t)||xo(t);t=n?t:Ke(t),co(t,o)&&(this._rawValue=t,this._value=n?t:oo(t),this.dep.trigger())}}function ye(e){return ct(e)?e.value:e}const Ih={get:(e,t,o)=>t==="__v_raw"?e:ye(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ct(a)&&!ct(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function ic(e){return Po(e)?e:new Proxy(e,Ih)}function Mh(e){const t=Te(e)?new Array(e.length):{};for(const o in e)t[o]=lc(e,o);return t}class Fh{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Vt(o)?o:String(o),this._raw=Ke(t);let a=!0,r=t;if(!Te(t)||Vt(this._key)||!Va(this._key))do a=!ar(r)||qt(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ye(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ct(this._raw[this._key])){const o=this._object[this._key];if(ct(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return mh(this._raw,this._key)}}class Oh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Dh(e,t,o){return ct(e)?e:Me(e)?new Oh(e):Je(e)&&arguments.length>1?lc(e,t,o):be(e)}function lc(e,t,o){return new Fh(e,t,o)}class Gh{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new ms(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=oa-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&st!==this)return jl(this,!0),!0}get value(){const t=this.dep.track();return Kl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function zh(e,t,o=!1){let n,a;return Me(e)?n=e:(n=e.get,a=e.set),new Gh(n,a,o)}const rr={},sr=new WeakMap;let rn;function Bh(e,t=!1,o=rn){if(o){let n=sr.get(o);n||sr.set(o,n=[]),n.push(e)}}function Hh(e,t,o=nt){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=y=>a?y:qt(y)||a===!1||a===0?So(y,1):So(y);let c,p,d,P,v=!1,m=!1;if(ct(e)?(p=()=>e.value,v=qt(e)):Po(e)?(p=()=>u(e),v=!0):Te(e)?(m=!0,v=e.some(y=>Po(y)||qt(y)),p=()=>e.map(y=>{if(ct(y))return y.value;if(Po(y))return u(y);if(Me(y))return l?l(y,2):y()})):Me(e)?t?p=l?()=>l(e,2):e:p=()=>{if(d){uo();try{d()}finally{po()}}const y=rn;rn=c;try{return l?l(e,3,[P]):e(P)}finally{rn=y}}:p=lo,t&&a){const y=p,$=a===!0?1/0:a;p=()=>So(y(),$)}const g=Bl(),f=()=>{c.stop(),g&&g.active&&ls(g.effects,c)};if(r&&t){const y=t;t=(...$)=>{const L=y(...$);return f(),L}}let h=m?new Array(e.length).fill(rr):rr;const b=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(t){const $=c.run();if(y||a||v||(m?$.some((L,_)=>co(L,h[_])):co($,h))){d&&d();const L=rn;rn=c;try{const _=[$,h===rr?void 0:m&&h[0]===rr?[]:h,P];h=$,l?l(t,3,_):t(..._)}finally{rn=L}}}else c.run()};return i&&i(b),c=new Hl(p),c.scheduler=s?()=>s(b,!1):b,P=y=>Bh(y,!1,c),d=c.onStop=()=>{const y=sr.get(c);if(y){if(l)l(y,4);else for(const $ of y)$();sr.delete(c)}},t?n?b(!0):h=c.run():s?s(b.bind(null,!0),!0):c.run(),f.pause=c.pause.bind(c),f.resume=c.resume.bind(c),f.stop=f,f}function So(e,t=1/0,o){if(t<=0||!Je(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ct(e))So(e.value,t,o);else if(Te(e))for(let n=0;n{So(n,t,o)});else if(Wa(e)){for(const n in e)So(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&So(e[n],t,o)}return e}/** +**/let _t;class zl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&_t&&(_t.active?(this.parent=_t,this.index=(_t.scopes||(_t.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(_t===this)_t=this.prevScope;else{let t=_t;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(ta){let t=ta;for(ta=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ea;){let t=ea;for(ea=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Wl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vl(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),fs(n),hh(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Kl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Kl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===oa)||(e.globalVersion=oa,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,o=st,n=to;st=e,to=!0;try{Wl(e);const a=e.fn(e._value);(t.version===0||co(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{st=o,to=n,Vl(e),e.flags&=-3}}function fs(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)fs(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function hh(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let to=!0;const ql=[];function uo(){ql.push(to),to=!1}function po(){const e=ql.pop();to=e===void 0?!0:e}function Yl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=st;st=void 0;try{t()}finally{st=o}}}let oa=0;class fh{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ms{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!st||!to||st===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==st)o=this.activeLink=new fh(st,this),st.deps?(o.prevDep=st.depsTail,st.depsTail.nextDep=o,st.depsTail=o):st.deps=st.depsTail=o,Zl(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=st.depsTail,o.nextDep=void 0,st.depsTail.nextDep=o,st.depsTail=o,st.deps===o&&(st.deps=n)}return o}trigger(t){this.version++,oa++,this.notify(t)}notify(t){ps();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{gs()}}}function Zl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Zl(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Xa=new WeakMap,nn=Symbol(""),bs=Symbol(""),na=Symbol("");function Ft(e,t,o){if(to&&st){let n=Xa.get(e);n||Xa.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new ms),a.map=n,a.key=o),a.track()}}function wo(e,t,o,n,a,r){const s=Xa.get(e);if(!s){oa++;return}const i=l=>{l&&l.trigger()};if(ps(),t==="clear")s.forEach(i);else{const l=Te(e),u=l&&Va(o);if(l&&o==="length"){const c=Number(n);s.forEach((p,d)=>{(d==="length"||d===na||!Vt(d)&&d>=c)&&i(p)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(na)),t){case"add":l?u&&i(s.get("length")):(i(s.get(nn)),zo(e)&&i(s.get(bs)));break;case"delete":l||(i(s.get(nn)),zo(e)&&i(s.get(bs)));break;case"set":zo(e)&&i(s.get(nn));break}}gs()}function mh(e,t){const o=Xa.get(e);return o&&o.get(t)}function vn(e){const t=Ke(e);return t===e?t:(Ft(t,"iterate",na),qt(e)?t:t.map(oo))}function Qa(e){return Ft(e=Ke(e),"iterate",na),e}function go(e,t){return xo(e)?kn(Po(e)?oo(t):t):oo(t)}const bh={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>go(this,e))},concat(...e){return vn(this).concat(...e.map(t=>Te(t)?vn(t):t))},entries(){return ys(this,"entries",e=>(e[1]=go(this,e[1]),e))},every(e,t){return ko(this,"every",e,t,void 0,arguments)},filter(e,t){return ko(this,"filter",e,t,o=>o.map(n=>go(this,n)),arguments)},find(e,t){return ko(this,"find",e,t,o=>go(this,o),arguments)},findIndex(e,t){return ko(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ko(this,"findLast",e,t,o=>go(this,o),arguments)},findLastIndex(e,t){return ko(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ko(this,"forEach",e,t,void 0,arguments)},includes(...e){return $s(this,"includes",e)},indexOf(...e){return $s(this,"indexOf",e)},join(e){return vn(this).join(e)},lastIndexOf(...e){return $s(this,"lastIndexOf",e)},map(e,t){return ko(this,"map",e,t,void 0,arguments)},pop(){return aa(this,"pop")},push(...e){return aa(this,"push",e)},reduce(e,...t){return Jl(this,"reduce",e,t)},reduceRight(e,...t){return Jl(this,"reduceRight",e,t)},shift(){return aa(this,"shift")},some(e,t){return ko(this,"some",e,t,void 0,arguments)},splice(...e){return aa(this,"splice",e)},toReversed(){return vn(this).toReversed()},toSorted(e){return vn(this).toSorted(e)},toSpliced(...e){return vn(this).toSpliced(...e)},unshift(...e){return aa(this,"unshift",e)},values(){return ys(this,"values",e=>go(this,e))}};function ys(e,t,o){const n=Qa(e),a=n[t]();return n!==e&&!qt(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const yh=Array.prototype;function ko(e,t,o,n,a,r){const s=Qa(e),i=s!==e&&!qt(e),l=s[t];if(l!==yh[t]){const p=l.apply(e,r);return i?oo(p):p}let u=o;s!==e&&(i?u=function(p,d){return o.call(this,go(e,p),d,e)}:o.length>2&&(u=function(p,d){return o.call(this,p,d,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function Jl(e,t,o,n){const a=Qa(e),r=a!==e&&!qt(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,p){return i&&(i=!1,u=go(e,u)),o.call(this,u,go(e,c),p,e)}):o.length>3&&(s=function(u,c,p){return o.call(this,u,c,p,e)}));const l=a[t](s,...n);return i?go(e,l):l}function $s(e,t,o){const n=Ke(e);Ft(n,"iterate",na);const a=n[t](...o);return(a===-1||a===!1)&&ar(o[0])?(o[0]=Ke(o[0]),n[t](...o)):a}function aa(e,t,o=[]){uo(),ps();const n=Ke(e)[t].apply(e,o);return gs(),po(),n}const $h=is("__proto__,__v_isRef,__isVue"),Xl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vt));function _h(e){Vt(e)||(e=String(e));const t=Ke(this);return Ft(t,"has",e),t.hasOwnProperty(e)}class Ql{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?rc:ac:r?nc:oc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Te(t);if(!a){let l;if(s&&(l=bh[o]))return l;if(o==="hasOwnProperty")return _h}const i=Reflect.get(t,o,ct(t)?t:n);if((Vt(o)?Xl.has(o):$h(o))||(a||Ft(t,"get",o),r))return i;if(ct(i)){const l=s&&Va(o)?i:i.value;return a&&Je(l)?vs(l):l}return Je(i)?a?vs(i):wn(i):i}}class ec extends Ql{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=Te(t)&&Va(o);if(!this._isShallow){const u=xo(r);if(!qt(n)&&!xo(n)&&(r=Ke(r),n=Ke(n)),!s&&ct(r)&&!ct(n))return u||(r.value=n),!0}const i=s?Number(o)e,er=e=>Reflect.getPrototypeOf(e);function xh(e,t,o){return function(...n){const a=this.__v_raw,r=Ke(a),s=zo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?_s:t?kn:oo;return!t&&Ft(r,"iterate",l?bs:nn),gt(Object.create(u),{next(){const{value:p,done:d}=u.next();return d?{value:p,done:d}:{value:i?[c(p[0]),c(p[1])]:c(p),done:d}}})}}function tr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sh(e,t){const o={get(a){const r=this.__v_raw,s=Ke(r),i=Ke(a);e||(co(a,i)&&Ft(s,"get",a),Ft(s,"get",i));const{has:l}=er(s),u=t?_s:e?kn:oo;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Ft(Ke(a),"iterate",nn),a.size},has(a){const r=this.__v_raw,s=Ke(r),i=Ke(a);return e||(co(a,i)&&Ft(s,"has",a),Ft(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Ke(i),u=t?_s:e?kn:oo;return!e&&Ft(l,"iterate",nn),i.forEach((c,p)=>a.call(r,u(c),u(p),s))}};return gt(o,e?{add:tr("add"),set:tr("set"),delete:tr("delete"),clear:tr("clear")}:{add(a){const r=Ke(this),s=er(r),i=Ke(a),l=!t&&!qt(a)&&!xo(a)?i:a;return s.has.call(r,l)||co(a,l)&&s.has.call(r,a)||co(i,l)&&s.has.call(r,i)||(r.add(l),wo(r,"add",l,l)),this},set(a,r){!t&&!qt(r)&&!xo(r)&&(r=Ke(r));const s=Ke(this),{has:i,get:l}=er(s);let u=i.call(s,a);u||(a=Ke(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?co(r,c)&&wo(s,"set",a,r):wo(s,"add",a,r),this},delete(a){const r=Ke(this),{has:s,get:i}=er(r);let l=s.call(r,a);l||(a=Ke(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&wo(r,"delete",a,void 0),u},clear(){const a=Ke(this),r=a.size!==0,s=a.clear();return r&&wo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=xh(a,e,t)}),o}function or(e,t){const o=Sh(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ze(o,a)&&a in n?o:n,a,r)}const Ah={get:or(!1,!1)},Lh={get:or(!1,!0)},Ch={get:or(!0,!1)},Th={get:or(!0,!0)},oc=new WeakMap,nc=new WeakMap,ac=new WeakMap,rc=new WeakMap;function Eh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wn(e){return xo(e)?e:nr(e,!1,vh,Ah,oc)}function Rh(e){return nr(e,!1,kh,Lh,nc)}function vs(e){return nr(e,!0,wh,Ch,ac)}function BA(e){return nr(e,!0,Ph,Th,rc)}function nr(e,t,o,n,a){if(!Je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Eh(nh(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Po(e){return xo(e)?Po(e.__v_raw):!!(e&&e.__v_isReactive)}function xo(e){return!!(e&&e.__v_isReadonly)}function qt(e){return!!(e&&e.__v_isShallow)}function ar(e){return e?!!e.__v_raw:!1}function Ke(e){const t=e&&e.__v_raw;return t?Ke(t):e}function an(e){return!Ze(e,"__v_skip")&&Object.isExtensible(e)&&Rl(e,"__v_skip",!0),e}const oo=e=>Je(e)?wn(e):e,kn=e=>Je(e)?vs(e):e;function ct(e){return e?e.__v_isRef===!0:!1}function be(e){return sc(e,!1)}function Pn(e){return sc(e,!0)}function sc(e,t){return ct(e)?e:new Nh(e,t)}class Nh{constructor(t,o){this.dep=new ms,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ke(t),this._value=o?t:oo(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||qt(t)||xo(t);t=n?t:Ke(t),co(t,o)&&(this._rawValue=t,this._value=n?t:oo(t),this.dep.trigger())}}function ye(e){return ct(e)?e.value:e}const Ih={get:(e,t,o)=>t==="__v_raw"?e:ye(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ct(a)&&!ct(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function ic(e){return Po(e)?e:new Proxy(e,Ih)}function Mh(e){const t=Te(e)?new Array(e.length):{};for(const o in e)t[o]=lc(e,o);return t}class Fh{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Vt(o)?o:String(o),this._raw=Ke(t);let a=!0,r=t;if(!Te(t)||Vt(this._key)||!Va(this._key))do a=!ar(r)||qt(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ye(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ct(this._raw[this._key])){const o=this._object[this._key];if(ct(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return mh(this._raw,this._key)}}class Oh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Dh(e,t,o){return ct(e)?e:Me(e)?new Oh(e):Je(e)&&arguments.length>1?lc(e,t,o):be(e)}function lc(e,t,o){return new Fh(e,t,o)}class Gh{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new ms(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=oa-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&st!==this)return jl(this,!0),!0}get value(){const t=this.dep.track();return Kl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function zh(e,t,o=!1){let n,a;return Me(e)?n=e:(n=e.get,a=e.set),new Gh(n,a,o)}const rr={},sr=new WeakMap;let rn;function Bh(e,t=!1,o=rn){if(o){let n=sr.get(o);n||sr.set(o,n=[]),n.push(e)}}function Hh(e,t,o=nt){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=y=>a?y:qt(y)||a===!1||a===0?So(y,1):So(y);let c,p,d,P,v=!1,m=!1;if(ct(e)?(p=()=>e.value,v=qt(e)):Po(e)?(p=()=>u(e),v=!0):Te(e)?(m=!0,v=e.some(y=>Po(y)||qt(y)),p=()=>e.map(y=>{if(ct(y))return y.value;if(Po(y))return u(y);if(Me(y))return l?l(y,2):y()})):Me(e)?t?p=l?()=>l(e,2):e:p=()=>{if(d){uo();try{d()}finally{po()}}const y=rn;rn=c;try{return l?l(e,3,[P]):e(P)}finally{rn=y}}:p=lo,t&&a){const y=p,$=a===!0?1/0:a;p=()=>So(y(),$)}const g=Bl(),f=()=>{c.stop(),g&&g.active&&ls(g.effects,c)};if(r&&t){const y=t;t=(...$)=>{const L=y(...$);return f(),L}}let h=m?new Array(e.length).fill(rr):rr;const b=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(t){const $=c.run();if(y||a||v||(m?$.some((L,_)=>co(L,h[_])):co($,h))){d&&d();const L=rn;rn=c;try{const _=[$,h===rr?void 0:m&&h[0]===rr?[]:h,P];h=$,l?l(t,3,_):t(..._)}finally{rn=L}}}else c.run()};return i&&i(b),c=new Hl(p),c.scheduler=s?()=>s(b,!1):b,P=y=>Bh(y,!1,c),d=c.onStop=()=>{const y=sr.get(c);if(y){if(l)l(y,4);else for(const $ of y)$();sr.delete(c)}},t?n?b(!0):h=c.run():s?s(b.bind(null,!0),!0):c.run(),f.pause=c.pause.bind(c),f.resume=c.resume.bind(c),f.stop=f,f}function So(e,t=1/0,o){if(t<=0||!Je(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ct(e))So(e.value,t,o);else if(Te(e))for(let n=0;n{So(n,t,o)});else if(Wa(e)){for(const n in e)So(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&So(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const ra=[];let ws=!1;function BA(e,...t){if(ws)return;ws=!0,uo();const o=ra.length?ra[ra.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Uh();if(n)xn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${su(o,r.type)}>`).join(` +**/const ra=[];let ws=!1;function HA(e,...t){if(ws)return;ws=!0,uo();const o=ra.length?ra[ra.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Uh();if(n)xn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${su(o,r.type)}>`).join(` `),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` `,...jh(a)),console.warn(...r)}po(),ws=!1}function Uh(){let e=ra[ra.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function jh(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Wh(o))}),t}function Wh({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${su(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...Vh(e.props),r]:[a+r]}function Vh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...cc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function cc(e,t,o){return at(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ct(t)?(t=cc(e,Ke(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Me(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ke(t),o?t:[`${e}=`,t])}function xn(e,t,o,n){try{return n?e(...n):e()}catch(a){sa(a,t,o)}}function no(e,t,o,n){if(Me(e)){const a=xn(e,t,o,n);return a&&Tl(a)&&a.catch(r=>{sa(r,t,o)}),a}if(Te(e)){const a=[];for(let r=0;r>>1,a=Gt[n],r=ia(a);r=ia(o)?Gt.push(e):Gt.splice(qh(t),0,e),e.flags|=1,dc()}}function dc(){ir||(ir=uc.then(hc))}function Yh(e){if(!Te(e))Ho&&e.id===-1?Ho.splice(An+1,0,e):e.flags&1||(Sn.push(e),e.flags|=1);else for(let t=0;tia(o)-ia(n));if(Sn.length=0,Ho){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function hc(e){try{for(ho=0;ho{n._d&&yr(-1);const r=lr(t),s=Lo.length;let i;try{i=e(...a)}finally{for(let l=Lo.length;l>s;l--)Hs();lr(r),n._d&&yr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Ps(e,t){if(Tt===null)return e;const o=wr(Tt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Me(t)?t.call(n&&n.proxy):t}}function Zh(){return!!(To()||cn)}const Jh=Symbol.for("v-scx"),Xh=()=>Be(Jh);function Qh(e,t){return xs(e,null,t)}function et(e,t,o){return xs(e,t,o)}function xs(e,t,o=nt){const{immediate:n,deep:a,flush:r,once:s}=o,i=gt({},o),l=t&&n||!t&&r!=="post";let u;if(En){if(r==="sync"){const P=Xh();u=P.__watcherHandles||(P.__watcherHandles=[])}else if(!l){const P=()=>{};return P.stop=lo,P.resume=lo,P.pause=lo,P}}const c=Rt;i.call=(P,v,m)=>no(P,c,v,m);let p=!1;r==="post"?i.scheduler=P=>{Ht(P,c&&c.suspense)}:r!=="sync"&&(p=!0,i.scheduler=(P,v)=>{v?P():ks(P)}),i.augmentJob=P=>{t&&(P.flags|=4),p&&(P.flags|=2,c&&(P.id=c.uid,P.i=c))};const d=Hh(e,t,i);return En&&(u?u.push(d):l&&d()),d}function ef(e,t,o){const n=this.proxy,a=at(e)?e.includes(".")?mc(n,e):()=>n[e]:e.bind(n,n);let r;Me(t)?r=t:(r=t.handler,o=t);const s=ya(this),i=xs(a,r.bind(n),o);return s(),i}function mc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,ln=e=>e&&(e.disabled||e.disabled===""),tf=e=>e&&(e.defer||e.defer===""),yc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$c=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ss=(e,t)=>{const o=e&&e.to;return at(o)?t?t(o):null:o},of={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:p,pbc:d,o:{insert:P,querySelector:v,createText:m,createComment:g,parentNode:f}}=u,h=ln(t.props);let{dynamicChildren:b}=t;const y=(_,A,C)=>{_.shapeFlag&16&&c(_.children,A,C,a,r,s,i,l)},$=(_=t)=>{const A=ln(_.props),C=_.target=Ss(_.props,v),J=As(C,_,m,P);C&&(s!=="svg"&&yc(C)?s="svg":s!=="mathml"&&$c(C)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(C),A||(y(_,C,J),la(_,!1)))},L=_=>{const A=()=>{if(Uo.get(_)===A){if(Uo.delete(_),ln(_.props)){const C=f(_.el)||o;y(_,C,_.anchor),la(_,!0)}$(_)}};Uo.set(_,A),Ht(A,r)};if(e==null){const _=t.el=m(""),A=t.anchor=m("");if(P(_,o,n),P(A,o,n),tf(t.props)||r&&r.pendingBranch){L(t);return}h&&(y(t,o,A),la(t,!0)),$()}else{t.el=e.el;const _=t.anchor=e.anchor,A=Uo.get(e);if(A){A.flags|=8,Uo.delete(e),L(t);return}t.targetStart=e.targetStart;const C=t.target=e.target,J=t.targetAnchor=e.targetAnchor,ae=ln(e.props),Z=ae?o:C,B=ae?_:J;if(s==="svg"||yc(C)?s="svg":(s==="mathml"||$c(C))&&(s="mathml"),b?(d(e.dynamicChildren,b,Z,a,r,s,i),zs(e,t,!0)):l||p(e,t,Z,B,a,r,s,i,!1),h)ae?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ur(t,o,_,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const de=Ss(t.props,v);de&&(t.target=de,ur(t,de,null,u,0))}else ae&&ur(t,C,J,u,1);la(t,h)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:p,props:d}=e,P=ln(d),v=r||!P,m=Uo.get(e);if(m&&(m.flags|=8,Uo.delete(e)),p&&(a(u),a(c)),r&&a(l),!m&&(P||p)&&s&16)for(let g=0;g1){for(const o of e)if(o.type!==mo){t=o;break}}return t}function _c(e){if(!gr(e))return cr(e.type)&&e.children?rf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Me(o.default))return o.default()}}function Cs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Cs(cr(o.type)&&_c(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ca(e,t){return Me(e)?gt({name:e.name},t,{setup:e}):e}function Ts(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function vc(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const dr=new WeakMap;function ua(e,t,o,n,a=!1){if(Te(e)){e.forEach((m,g)=>ua(m,t&&(Te(t)?t[g]:t),o,n,a));return}if(Ln(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ua(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?wr(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===nt?i.refs={}:i.refs,p=i.setupState,d=Ke(p),P=p===nt?Ll:m=>vc(c,m)?!1:Ze(d,m),v=(m,g)=>!(g&&vc(c,g));if(u!=null&&u!==l){if(wc(t),at(u))c[u]=null,P(u)&&(p[u]=null);else if(ct(u)){const m=t;v(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(Me(l))xn(l,i,12,[s,c]);else{const m=at(l),g=ct(l);if(m||g){const f=()=>{if(e.f){const h=m?P(l)?p[l]:c[l]:v()||!e.k?l.value:c[e.k];if(a)Te(h)&&ls(h,r);else if(Te(h))h.includes(r)||h.push(r);else if(m)c[l]=[r],P(l)&&(p[l]=c[l]);else{const b=[r];v(l,e.k)&&(l.value=b),e.k&&(c[e.k]=b)}}else m?(c[l]=s,P(l)&&(p[l]=s)):g&&(v(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const h=()=>{f(),dr.delete(e)};h.id=-1,dr.set(e,h),Ht(h,o)}else wc(e),f()}}}function wc(e){const t=dr.get(e);t&&(t.flags|=8,dr.delete(e))}const kc=e=>e.nodeType===8;Za().requestIdleCallback,Za().cancelIdleCallback;function sf(e,t){if(kc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(kc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Ln=e=>!!e.type.__asyncLoader;function lf(e){Me(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let u=null,c,p=0;const d=()=>(p++,u=null,P()),P=()=>{let v;return u||(v=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((g,f)=>{l(m,()=>g(d()),()=>f(m),p+1)});throw m}).then(m=>v!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return ca({name:"AsyncComponentWrapper",__asyncLoader:P,__asyncHydrate(v,m,g){const f=v.isConnected;let h=!1;(m.bu||(m.bu=[])).push(()=>h=!0);const b=()=>{h||!v.parentNode||f&&!v.isConnected||g()},y=r?()=>{const $=r(b,L=>sf(v,L));$&&(m.bum||(m.bum=[])).push($)}:b;c?y():P().then(()=>!m.isUnmounted&&y())},get __asyncResolved(){return c},setup(){const v=Rt;if(Ts(v),c)return()=>pr(c,v);const m=$=>{u=null,sa($,v,13,!n)};if(i&&v.suspense||En)return P().then($=>()=>pr($,v)).catch($=>(m($),()=>n?Xe(n,{error:$}):null));const g=be(!1),f=be(),h=be(!!a);let b,y;return fr(()=>{b!=null&&clearTimeout(b),y!=null&&clearTimeout(y)}),a&&(y=setTimeout(()=>{v.isUnmounted||(h.value=!1)},a)),s!=null&&(b=setTimeout(()=>{if(!v.isUnmounted&&!g.value&&!f.value){const $=new Error(`Async component timed out after ${s}ms.`);m($),f.value=$}},s)),P().then(()=>{v.isUnmounted||(g.value=!0,v.parent&&gr(v.parent.vnode)&&v.parent.update())}).catch($=>{if(v.isUnmounted){u=null;return}m($),f.value=$}),()=>{if(g.value&&c)return pr(c,v);if(f.value&&n)return Xe(n,{error:f.value});if(o&&!h.value)return pr(o,v)}}})}function pr(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Xe(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const gr=e=>e.type.__isKeepAlive;function cf(e,t){Pc(e,"a",t)}function uf(e,t){Pc(e,"da",t)}function Pc(e,t,o=Rt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(hr(t,n,o),o){let a=o.parent;for(;a&&a.parent;)gr(a.parent.vnode)&&df(n,t,o,a),a=a.parent}}function df(e,t,o,n){const a=hr(t,e,n,!0);fr(()=>{ls(n[t],a)},o)}function hr(e,t,o=Rt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{uo();const i=ya(o),l=no(t,o,e,s);return i(),po(),l});return n?a.unshift(r):a.push(r),r}}const Ao=e=>(t,o=Rt)=>{(!En||e==="sp")&&hr(e,(...n)=>t(...n),o)},xc=Ao("bm"),fo=Ao("m"),pf=Ao("bu"),gf=Ao("u"),Xt=Ao("bum"),fr=Ao("um"),hf=Ao("sp"),ff=Ao("rtg"),mf=Ao("rtc");function bf(e,t=Rt){hr("ec",e,t)}const yf="components",Sc=Symbol.for("v-ndc");function Es(e){return at(e)?$f(yf,e,!1)||e:e||Sc}function $f(e,t,o=!0,n=!1){const a=Tt||Rt;if(a){const r=a.type;{const i=ru(r,!1);if(i&&(i===t||i===St(t)||i===qa(St(t))))return r}const s=Ac(a[e]||r[e],t)||Ac(a.appContext[e],t);return!s&&n?r:s}}function Ac(e,t){return e&&(e[t]||e[St(t)]||e[qa(St(t))])}function Et(e,t,o,n){let a;const r=o,s=Te(e);if(s||at(e)){const i=s&&Po(e);let l=!1,u=!1;i&&(l=!qt(e),u=xo(e),e=Qa(e)),a=new Array(e.length);for(let c=0,p=e.length;ct(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,u=i.length;l0;return t!=="default"&&(u.name=t),K(),it(Ge,null,[Xe("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Lo.length;K();let l;try{const u=s&&Lc(s(o)),c=o.key||r||u&&u.key;l=it(Ge,{key:(c&&!Vt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=Lo.length;c>i;c--)Hs();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Lc(e){return e.some(t=>fa(t)?!(t.type===mo||t.type===Ge&&!Lc(t.children)):!0)?e:null}const Rs=e=>e?ou(e)?wr(e):Rs(e.parent):null,da=gt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Rs(e.parent),$root:e=>Rs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rc(e),$forceUpdate:e=>e.f||(e.f=()=>{ks(e.update)}),$nextTick:e=>e.n||(e.n=jt.bind(e.proxy)),$watch:e=>ef.bind(e)}),Ns=(e,t)=>e!==nt&&!e.__isScriptSetup&&Ze(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const d=s[t];if(d!==void 0)switch(d){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(Ns(n,t))return s[t]=1,n[t];if(a!==nt&&Ze(a,t))return s[t]=2,a[t];if(Ze(r,t))return s[t]=3,r[t];if(o!==nt&&Ze(o,t))return s[t]=4,o[t];Is&&(s[t]=0)}}const u=da[t];let c,p;if(u)return t==="$attrs"&&Ft(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==nt&&Ze(o,t))return s[t]=4,o[t];if(p=l.config.globalProperties,Ze(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return Ns(a,t)?(a[t]=o,!0):n!==nt&&Ze(n,t)?(n[t]=o,!0):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==nt&&i[0]!=="$"&&Ze(e,i)||Ns(t,i)||Ze(r,i)||Ze(n,i)||Ze(da,i)||Ze(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ze(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Cc(e){return Te(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Is=!0;function vf(e){const t=Rc(e),o=e.proxy,n=e.ctx;Is=!1,t.beforeCreate&&Tc(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:p,mounted:d,beforeUpdate:P,updated:v,activated:m,deactivated:g,beforeDestroy:f,beforeUnmount:h,destroyed:b,unmounted:y,render:$,renderTracked:L,renderTriggered:_,errorCaptured:A,serverPrefetch:C,expose:J,inheritAttrs:ae,components:Z,directives:B,filters:de}=t;if(u&&wf(u,n,null),s)for(const V in s){const x=s[V];Me(x)&&(n[V]=x.bind(o))}if(a){const V=a.call(o,o);Je(V)&&(e.data=wn(V))}if(Is=!0,r)for(const V in r){const x=r[V],D=Me(x)?x.bind(o,o):Me(x.get)?x.get.bind(o,o):lo,Y=!Me(x)&&Me(x.set)?x.set.bind(o):lo,re=Q({get:D,set:Y});Object.defineProperty(n,V,{enumerable:!0,configurable:!0,get:()=>re.value,set:H=>re.value=H})}if(i)for(const V in i)Ec(i[V],n,o,V);if(l){const V=Me(l)?l.call(o):l;Reflect.ownKeys(V).forEach(x=>{zt(x,V[x])})}c&&Tc(c,e,"c");function I(V,x){Te(x)?x.forEach(D=>V(D.bind(o))):x&&V(x.bind(o))}if(I(xc,p),I(fo,d),I(pf,P),I(gf,v),I(cf,m),I(uf,g),I(bf,A),I(mf,L),I(ff,_),I(Xt,h),I(fr,y),I(hf,C),Te(J))if(J.length){const V=e.exposed||(e.exposed={});J.forEach(x=>{Object.defineProperty(V,x,{get:()=>o[x],set:D=>o[x]=D,enumerable:!0})})}else e.exposed||(e.exposed={});$&&e.render===lo&&(e.render=$),ae!=null&&(e.inheritAttrs=ae),Z&&(e.components=Z),B&&(e.directives=B),C&&Ts(e)}function wf(e,t,o=lo){Te(e)&&(e=Ms(e));for(const n in e){const a=e[n];let r;Je(a)?"default"in a?r=Be(a.from||n,a.default,!0):r=Be(a.from||n):r=Be(a),ct(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Tc(e,t,o){no(Te(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Ec(e,t,o,n){let a=n.includes(".")?mc(o,n):()=>o[n];if(at(e)){const r=t[e];Me(r)&&et(a,r)}else if(Me(e))et(a,e.bind(o));else if(Je(e))if(Te(e))e.forEach(r=>Ec(r,t,o,n));else{const r=Me(e.handler)?e.handler.bind(o):t[e.handler];Me(r)&&et(a,r,e)}}function Rc(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(u=>mr(l,u,s,!0)),mr(l,t,s)),Je(t)&&r.set(t,l),l}function mr(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&mr(e,r,o,!0),a&&a.forEach(s=>mr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=kf[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const kf={data:Nc,props:Ic,emits:Ic,methods:pa,computed:pa,beforeCreate:Bt,created:Bt,beforeMount:Bt,mounted:Bt,beforeUpdate:Bt,updated:Bt,beforeDestroy:Bt,beforeUnmount:Bt,destroyed:Bt,unmounted:Bt,activated:Bt,deactivated:Bt,errorCaptured:Bt,serverPrefetch:Bt,components:pa,directives:pa,watch:xf,provide:Nc,inject:Pf};function Nc(e,t){return t?e?function(){return gt(Me(e)?e.call(this,this):e,Me(t)?t.call(this,this):t)}:t:e}function Pf(e,t){return pa(Ms(e),Ms(t))}function Ms(e){if(Te(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${St(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Cf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||nt;let a=o;const r=t.startsWith("update:"),s=r&&Lf(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>at(c)?c.trim():c)),s.number&&(a=a.map(Nl)));let i,l=n[i=cs(t)]||n[i=cs(St(t))];!l&&r&&(l=n[i=cs(Kt(t))]),l&&no(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,no(u,e,6,a)}}const Tf=new WeakMap;function Fc(e,t,o=!1){const n=o?Tf:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Me(e)){const l=u=>{const c=Fc(u,t,!0);c&&(i=!0,gt(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Je(e)&&n.set(e,null),null):(Te(r)?r.forEach(l=>s[l]=null):gt(s,r),Je(e)&&n.set(e,s),s)}function br(e,t){return!e||!Ua(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Kt(t))||Ze(e,t))}function HA(){}function Oc(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:p,data:d,setupState:P,ctx:v,inheritAttrs:m}=e,g=lr(e);let f,h;try{if(o.shapeFlag&4){const y=a||n,$=y;f=bo(u.call($,y,c,p,P,d,v)),h=i}else{const y=t;f=bo(y.length>1?y(p,{attrs:i,slots:s,emit:l}):y(p,null)),h=t.props?i:Ef(i)}}catch(y){Lo.length=0,sa(y,e,1),f=Xe(mo)}let b=f;if(h&&m!==!1){const y=Object.keys(h),{shapeFlag:$}=b;y.length&&$&7&&(r&&y.some(ja)&&(h=Rf(h,r)),b=Tn(b,h,!1,!0))}if(o.dirs&&(b=Tn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(o.dirs):o.dirs),o.transition){const y=cr(b.type)&&_c(b)||b;Cs(y,o.transition)}return f=b,lr(g),f}const Ef=e=>{let t;for(const o in e)(o==="class"||o==="style"||Ua(o))&&((t||(t={}))[o]=e[o]);return t},Rf=(e,t)=>{const o={};for(const n in e)(!ja(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Nf(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Dc(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let p=0;pObject.create(zc),Hc=e=>Object.getPrototypeOf(e)===zc;function Mf(e,t,o,n=!1){const a={},r=Bc();e.propsDefaults=Object.create(null),Uc(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Rh(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Ff(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Ke(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[d,P]=jc(p,t,!0);gt(s,d),P&&i.push(...P)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return Je(e)&&n.set(e,_n),_n;if(Te(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Ds=e=>Te(e)?e.map(bo):[bo(e)],Df=(e,t,o)=>{if(t._n)return t;const n=Yt((...a)=>Ds(t(...a)),o);return n._c=!1,n},Vc=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Os(a))continue;const r=e[a];if(Me(r))t[a]=Df(a,r,n);else if(r!=null){const s=Ds(r);t[a]=()=>s}}},Kc=(e,t)=>{const o=Ds(t);e.slots.default=()=>o},qc=(e,t,o)=>{for(const n in t)(o||!Os(n))&&(e[n]=t[n])},Gf=(e,t,o)=>{const n=e.slots=Bc();if(e.vnode.shapeFlag&32){const a=t._;a?(qc(n,t,o),o&&Rl(n,"_",a,!0)):Vc(t,n)}else t&&Kc(e,t)},zf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=nt;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:qc(a,t,o):(r=!t.$stable,Vc(t,a)),s=t}else t&&(Kc(e,t),s={default:1});if(r)for(const i in a)!Os(i)&&s[i]==null&&delete a[i]},Ht=Wf;function Bf(e){return Hf(e)}function Hf(e,t){const o=Za();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:p,nextSibling:d,setScopeId:P=lo,insertStaticContent:v}=e,m=(S,R,T,X=null,ie=null,se=null,me=void 0,ge=null,w=!!R.dynamicChildren)=>{if(S===R)return;S&&!ma(S,R)&&(X=Se(S),H(S,ie,se,!0),S=null),R.patchFlag===-2&&(w=!1,R.dynamicChildren=null);const{type:k,ref:j,shapeFlag:U}=R;switch(k){case ga:g(S,R,T,X);break;case mo:f(S,R,T,X);break;case Bs:S==null&&h(R,T,X,me);break;case Ge:Z(S,R,T,X,ie,se,me,ge,w);break;default:U&1?$(S,R,T,X,ie,se,me,ge,w):U&6?B(S,R,T,X,ie,se,me,ge,w):(U&64||U&128)&&k.process(S,R,T,X,ie,se,me,ge,w,ue)}j!=null&&ie?ua(j,S&&S.ref,se,R||S,!R):j==null&&S&&S.ref!=null&&ua(S.ref,null,se,S,!0)},g=(S,R,T,X)=>{if(S==null)n(R.el=i(R.children),T,X);else{const ie=R.el=S.el;R.children!==S.children&&u(ie,R.children)}},f=(S,R,T,X)=>{S==null?n(R.el=l(R.children||""),T,X):R.el=S.el},h=(S,R,T,X)=>{[S.el,S.anchor]=v(S.children,R,T,X,S.el,S.anchor)},b=({el:S,anchor:R},T,X)=>{let ie;for(;S&&S!==R;)ie=d(S),n(S,T,X),S=ie;n(R,T,X)},y=({el:S,anchor:R})=>{let T;for(;S&&S!==R;)T=d(S),a(S),S=T;a(R)},$=(S,R,T,X,ie,se,me,ge,w)=>{if(R.type==="svg"?me="svg":R.type==="math"&&(me="mathml"),S==null)L(R,T,X,ie,se,me,ge,w);else{const k=S.el&&S.el._isVueCE?S.el:null;try{k&&k._beginPatch(),C(S,R,ie,se,me,ge,w)}finally{k&&k._endPatch()}}},L=(S,R,T,X,ie,se,me,ge)=>{let w,k;const{props:j,shapeFlag:U,transition:ee,dirs:te}=S;if(w=S.el=s(S.type,se,j&&j.is,j),U&8?c(w,S.children):U&16&&A(S.children,w,null,X,ie,Gs(S,se),me,ge),te&&sn(S,null,X,"created"),_(w,S,S.scopeId,me,X),j){for(const z in j)z!=="value"&&!Qn(z)&&r(w,z,null,j[z],se,X);"value"in j&&r(w,"value",null,j.value,se),(k=j.onVnodeBeforeMount)&&yo(k,X,S)}te&&sn(S,null,X,"beforeMount");const O=Uf(ie,ee);O&&ee.beforeEnter(w),n(w,R,T),((k=j&&j.onVnodeMounted)||O||te)&&Ht(()=>{try{k&&yo(k,X,S),O&&ee.enter(w),te&&sn(S,null,X,"mounted")}finally{}},ie)},_=(S,R,T,X,ie)=>{if(T&&P(S,T),X)for(let se=0;se{for(let k=w;k{const ge=R.el=S.el;let{patchFlag:w,dynamicChildren:k,dirs:j}=R;w|=S.patchFlag&16;const U=S.props||nt,ee=R.props||nt;let te;if(T&&un(T,!1),(te=ee.onVnodeBeforeUpdate)&&yo(te,T,R,S),j&&sn(R,S,T,"beforeUpdate"),T&&un(T,!0),k&&(!S.dynamicChildren||S.dynamicChildren.length!==k.length)&&(w=0,me=!1,k=null),(U.innerHTML&&ee.innerHTML==null||U.textContent&&ee.textContent==null)&&c(ge,""),k?J(S.dynamicChildren,k,ge,T,X,Gs(R,ie),se):me||x(S,R,ge,null,T,X,Gs(R,ie),se,!1),w>0){if(w&16)ae(ge,U,ee,T,ie);else if(w&2&&U.class!==ee.class&&r(ge,"class",null,ee.class,ie),w&4&&r(ge,"style",U.style,ee.style,ie),w&8){const O=R.dynamicProps;for(let z=0;z{te&&yo(te,T,R,S),j&&sn(R,S,T,"updated")},X)},J=(S,R,T,X,ie,se,me)=>{for(let ge=0;ge{if(R!==T){if(R!==nt)for(const se in R)!Qn(se)&&!(se in T)&&r(S,se,R[se],null,ie,X);for(const se in T){if(Qn(se))continue;const me=T[se],ge=R[se];me!==ge&&se!=="value"&&r(S,se,ge,me,ie,X)}"value"in T&&r(S,"value",R.value,T.value,ie)}},Z=(S,R,T,X,ie,se,me,ge,w)=>{const k=R.el=S?S.el:i(""),j=R.anchor=S?S.anchor:i("");let{patchFlag:U,dynamicChildren:ee,slotScopeIds:te}=R;te&&(ge=ge?ge.concat(te):te),S==null?(n(k,T,X),n(j,T,X),A(R.children||[],T,j,ie,se,me,ge,w)):U>0&&U&64&&ee&&S.dynamicChildren&&S.dynamicChildren.length===ee.length?(J(S.dynamicChildren,ee,T,ie,se,me,ge),(R.key!=null||ie&&R===ie.subTree)&&zs(S,R,!0)):x(S,R,T,j,ie,se,me,ge,w)},B=(S,R,T,X,ie,se,me,ge,w)=>{R.slotScopeIds=ge,S==null?R.shapeFlag&512?ie.ctx.activate(R,T,X,me,w):de(R,T,X,ie,se,me,w):N(S,R,w)},de=(S,R,T,X,ie,se,me)=>{const ge=S.component=Jf(S,X,ie);if(gr(S)&&(ge.ctx.renderer=ue),Xf(ge,!1,me),ge.asyncDep){if(ie&&ie.registerDep(ge,I,me),!S.el){const w=ge.subTree=Xe(mo);f(null,w,R,T),S.placeholder=w.el}}else I(ge,S,R,T,ie,se,me)},N=(S,R,T)=>{const X=R.component=S.component;if(Nf(S,R,T))if(X.asyncDep&&!X.asyncResolved){V(X,R,T);return}else X.next=R,X.update();else R.el=S.el,X.vnode=R},I=(S,R,T,X,ie,se,me)=>{const ge=()=>{if(S.isMounted){let{next:U,bu:ee,u:te,parent:O,vnode:z}=S;{const ot=Yc(S);if(ot){U&&(U.el=z.el,V(S,U,me)),ot.asyncDep.then(()=>{Ht(()=>{S.isUnmounted||k()},ie)});return}}let ve=U,Ee;un(S,!1),U?(U.el=z.el,V(S,U,me)):U=z,ee&&Ya(ee),(Ee=U.props&&U.props.onVnodeBeforeUpdate)&&yo(Ee,O,U,z),un(S,!0);const qe=Oc(S),ht=S.subTree;S.subTree=qe,m(ht,qe,p(ht.el),Se(ht),S,ie,se),U.el=qe.el,ve===null&&If(S,qe.el),te&&Ht(te,ie),(Ee=U.props&&U.props.onVnodeUpdated)&&Ht(()=>yo(Ee,O,U,z),ie)}else{let U;const{el:ee,props:te}=R,{bm:O,m:z,parent:ve,root:Ee,type:qe}=S,ht=Ln(R);un(S,!1),O&&Ya(O),!ht&&(U=te&&te.onVnodeBeforeMount)&&yo(U,ve,R),un(S,!0);{Ee.ce&&Ee.ce._hasShadowRoot()&&Ee.ce._injectChildStyle(qe,S.parent?S.parent.type:void 0);const ot=S.subTree=Oc(S);m(null,ot,T,X,S,ie,se),R.el=ot.el}if(z&&Ht(z,ie),!ht&&(U=te&&te.onVnodeMounted)){const ot=R;Ht(()=>yo(U,ve,ot),ie)}(R.shapeFlag&256||ve&&Ln(ve.vnode)&&ve.vnode.shapeFlag&256)&&S.a&&Ht(S.a,ie),S.isMounted=!0,R=T=X=null}};S.scope.on();const w=S.effect=new Hl(ge);S.scope.off();const k=S.update=w.run.bind(w),j=S.job=w.runIfDirty.bind(w);j.i=S,j.id=S.uid,w.scheduler=()=>ks(j),un(S,!0),k()},V=(S,R,T)=>{R.component=S;const X=S.vnode.props;S.vnode=R,S.next=null,Ff(S,R.props,X,T),zf(S,R.children,T),uo(),pc(S),po()},x=(S,R,T,X,ie,se,me,ge,w=!1)=>{const k=S&&S.children,j=S?S.shapeFlag:0,U=R.children,{patchFlag:ee,shapeFlag:te}=R;if(ee>0){if(ee&128){Y(k,U,T,X,ie,se,me,ge,w);return}else if(ee&256){D(k,U,T,X,ie,se,me,ge,w);return}}te&8?(j&16&&_e(k,ie,se),U!==k&&c(T,U)):j&16?te&16?Y(k,U,T,X,ie,se,me,ge,w):_e(k,ie,se,!0):(j&8&&c(T,""),te&16&&A(U,T,X,ie,se,me,ge,w))},D=(S,R,T,X,ie,se,me,ge,w)=>{S=S||_n,R=R||_n;const k=S.length,j=R.length,U=Math.min(k,j);let ee;for(ee=0;eej?_e(S,ie,se,!0,!1,U):A(R,T,X,ie,se,me,ge,w,U)},Y=(S,R,T,X,ie,se,me,ge,w)=>{let k=0;const j=R.length;let U=S.length-1,ee=j-1;for(;k<=U&&k<=ee;){const te=S[k],O=R[k]=w?Co(R[k]):bo(R[k]);if(ma(te,O))m(te,O,T,null,ie,se,me,ge,w);else break;k++}for(;k<=U&&k<=ee;){const te=S[U],O=R[ee]=w?Co(R[ee]):bo(R[ee]);if(ma(te,O))m(te,O,T,null,ie,se,me,ge,w);else break;U--,ee--}if(k>U){if(k<=ee){const te=ee+1,O=teee)for(;k<=U;)H(S[k],ie,se,!0),k++;else{const te=k,O=k,z=new Map;for(k=O;k<=ee;k++){const bt=R[k]=w?Co(R[k]):bo(R[k]);bt.key!=null&&z.set(bt.key,k)}let ve,Ee=0;const qe=ee-O+1;let ht=!1,ot=0;const xt=new Array(qe);for(k=0;k=qe){H(bt,ie,se,!0);continue}let ft;if(bt.key!=null)ft=z.get(bt.key);else for(ve=O;ve<=ee;ve++)if(xt[ve-O]===0&&ma(bt,R[ve])){ft=ve;break}ft===void 0?H(bt,ie,se,!0):(xt[ft-O]=k+1,ft>=ot?ot=ft:ht=!0,m(bt,R[ft],T,null,ie,se,me,ge,w),Ee++)}const io=ht?jf(xt):_n;for(ve=io.length-1,k=qe-1;k>=0;k--){const bt=O+k,ft=R[bt],Go=R[bt+1],F=bt+1{const{el:se,type:me,transition:ge,children:w,shapeFlag:k}=S;if(k&6){re(S.component.subTree,R,T,X);return}if(k&128){S.suspense.move(R,T,X);return}if(k&64){me.move(S,R,T,ue);return}if(me===Ge){n(se,R,T);for(let U=0;Uge.enter(se),ie));else{const{leave:U,delayLeave:ee,afterLeave:te}=ge,O=()=>{S.ctx.isUnmounted?a(se):n(se,R,T)},z=()=>{const ve=se._isLeaving||!!se[Ls];se._isLeaving&&se[Ls](!0),ge.persisted&&!ve?O():U(se,()=>{O(),te&&te()})};ee?ee(se,O,z):z()}else n(se,R,T)},H=(S,R,T,X=!1,ie=!1)=>{const{type:se,props:me,ref:ge,children:w,dynamicChildren:k,shapeFlag:j,patchFlag:U,dirs:ee,cacheIndex:te,memo:O}=S;if(U===-2&&(ie=!1),ge!=null&&(uo(),ua(ge,null,T,S,!0),po()),te!=null&&(R.renderCache[te]=void 0),j&256){R.ctx.deactivate(S);return}const z=j&1&&ee,ve=!Ln(S);let Ee;if(ve&&(Ee=me&&me.onVnodeBeforeUnmount)&&yo(Ee,R,S),j&6)Pe(S.component,T,X);else{if(j&128){S.suspense.unmount(T,X);return}z&&sn(S,null,R,"beforeUnmount"),j&64?S.type.remove(S,R,T,ue,X):k&&!k.hasOnce&&(se!==Ge||U>0&&U&64)?_e(k,R,T,!1,!0):(se===Ge&&U&384||!ie&&j&16)&&_e(w,R,T),X&&pe(S)}const qe=O!=null&&te==null;(ve&&(Ee=me&&me.onVnodeUnmounted)||z||qe)&&Ht(()=>{Ee&&yo(Ee,R,S),z&&sn(S,null,R,"unmounted"),qe&&(S.el=null)},T)},pe=S=>{const{type:R,el:T,anchor:X,transition:ie}=S;if(R===Ge){le(T,X);return}if(R===Bs){y(S);return}const se=()=>{a(T),ie&&!ie.persisted&&ie.afterLeave&&ie.afterLeave()};if(S.shapeFlag&1&&ie&&!ie.persisted){const{leave:me,delayLeave:ge}=ie,w=()=>me(T,se);ge?ge(S.el,se,w):w()}else se()},le=(S,R)=>{let T;for(;S!==R;)T=d(S),a(S),S=T;a(R)},Pe=(S,R,T)=>{const{bum:X,scope:ie,job:se,subTree:me,um:ge,m:w,a:k}=S;Zc(w),Zc(k),X&&Ya(X),ie.stop(),se&&(se.flags|=8,H(me,S,R,T)),ge&&Ht(ge,R),Ht(()=>{S.isUnmounted=!0},R)},_e=(S,R,T,X=!1,ie=!1,se=0)=>{for(let me=se;me{if(S.shapeFlag&6)return Se(S.component.subTree);if(S.shapeFlag&128)return S.suspense.next();const R=d(S.anchor||S.el),T=R&&R[bc];return T?d(T):R};let G=!1;const he=(S,R,T)=>{let X;S==null?R._vnode&&(H(R._vnode,null,null,!0),X=R._vnode.component):m(R._vnode||null,S,R,null,null,null,T),R._vnode=S,G||(G=!0,pc(X),gc(),G=!1)},ue={p:m,um:H,m:re,r:pe,mt:de,mc:A,pc:x,pbc:J,n:Se,o:e};return{render:he,hydrate:void 0,createApp:Af(he)}}function Gs({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function un({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Uf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,o=!1){const n=e.children,a=t.children;if(Te(n)&&Te(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function Yc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Yc(t)}function Zc(e){if(e)for(let t=0;te.__isSuspense;function Wf(e,t){t&&t.pendingBranch?Te(e)?t.effects.push(...e):t.effects.push(e):Yh(e)}const Ge=Symbol.for("v-fgt"),ga=Symbol.for("v-txt"),mo=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),Lo=[];let Zt=null;function K(e=!1){Lo.push(Zt=e?null:[])}function Hs(){Lo.pop(),Zt=Lo[Lo.length-1]||null}let ha=1;function yr(e,t=!1){ha+=e,e<0&&Zt&&t&&(Zt.hasOnce=!0)}function Qc(e){return e.dynamicChildren=ha>0?Zt||_n:null,Hs(),ha>0&&Zt&&Zt.push(e),e}function ne(e,t,o,n,a,r){return Qc(E(e,t,o,n,a,r,!0))}function it(e,t,o,n,a){return Qc(Xe(e,t,o,n,a,!0))}function fa(e){return e?e.__v_isVNode===!0:!1}function ma(e,t){return e.type===t.type&&e.key===t.key}const eu=({key:e})=>e??null,$r=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?at(e)||ct(e)||Me(e)?{i:Tt,r:e,k:t,f:!!o}:e:null);function E(e,t=null,o=null,n=0,a=null,r=e===Ge?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&eu(t),ref:t&&$r(t),scopeId:fc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Tt};return i?(_r(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=at(o)?8:16),ha>0&&!s&&Zt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Zt.push(l),l}const Xe=Vf;function Vf(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Sc)&&(e=mo),fa(e)){const i=Tn(e,t,!0);return o&&_r(i,o),ha>0&&!r&&Zt&&(i.shapeFlag&6?Zt[Zt.indexOf(e)]=i:Zt.push(i)),i.patchFlag=-2,i}if(am(e)&&(e=e.__vccOpts),t){t=Kf(t);let{class:i,style:l}=t;i&&!at(i)&&(t.class=De(i)),Je(l)&&(ar(l)&&!Te(l)&&(l=gt({},l)),t.style=rt(l))}const s=at(e)?1:Xc(e)?128:cr(e)?64:Je(e)?4:Me(e)?2:0;return E(e,t,o,n,a,s,r,!0)}function Kf(e){return e?ar(e)||Hc(e)?gt({},e):e:null}function Tn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?qf(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&eu(u),ref:t&&t.ref?o&&r?Te(r)?r.concat($r(t)):[r,$r(t)]:$r(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ge?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Tn(e.ssContent),ssFallback:e.ssFallback&&Tn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Cs(c,l.clone(c)),c}function vt(e=" ",t=0){return Xe(ga,null,e,t)}function ke(e="",t=!1){return t?(K(),it(mo,null,e)):Xe(mo,null,e)}function bo(e){return e==null||typeof e=="boolean"?Xe(mo):Te(e)?Xe(Ge,null,e.slice()):fa(e)?Co(e):Xe(ga,null,String(e))}function Co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Tn(e)}function _r(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Te(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),_r(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Hc(t)?t._ctx=Tt:a===3&&Tt&&(Tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Me(t)){if(n&65){_r(e,{default:t});return}t={default:t,_ctx:Tt},o=32}else t=String(t),n&64?(o=16,t=[vt(t)]):o=8;e.children=t,e.shapeFlag|=o}function qf(...e){const t={};for(let o=0;oRt||Tt;let vr,ba;{const e=Za(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};vr=t("__VUE_INSTANCE_SETTERS__",o=>Rt=o),ba=t("__VUE_SSR_SETTERS__",o=>En=o)}const ya=e=>{const t=Rt;return vr(e),e.scope.on(),()=>{e.scope.off(),vr(t)}},tu=()=>{Rt&&Rt.scope.off(),vr(null)};function ou(e){return e.vnode.shapeFlag&4}let En=!1;function Xf(e,t=!1,o=!1){t&&ba(t);const{props:n,children:a}=e.vnode,r=ou(e);Mf(e,n,r,t),Gf(e,a,o||t);const s=r?Qf(e,t):void 0;return t&&ba(!1),s}function Qf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:n}=o;if(n){uo();const a=e.setupContext=n.length>1?tm(e):null,r=ya(e),s=xn(n,e,0,[e.props,a]),i=Tl(s);if(po(),r(),(i||e.sp)&&!Ln(e)&&Ts(e),i){if(s.then(tu,tu),t)return s.then(l=>{ba(!0);try{nu(e,l,t)}finally{ba(!1)}}).catch(l=>{sa(l,e,0)});e.asyncDep=s}else nu(e,s)}else au(e)}function nu(e,t,o){Me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Je(t)&&(e.setupState=ic(t)),au(e)}function au(e,t,o){const n=e.type;e.render||(e.render=n.render||lo);{const a=ya(e);uo();try{vf(e)}finally{po(),a()}}}const em={get(e,t){return Ft(e,"get",""),e[t]}};function tm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,em),slots:e.slots,emit:e.emit,expose:t}}function wr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ic(an(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in da)return da[o](e)},has(t,o){return o in t||o in da}})):e.proxy}const om=/(?:^|[-_])\w/g,nm=e=>e.replace(om,t=>t.toUpperCase()).replace(/[-_]/g,"");function ru(e,t=!0){return Me(e)?e.displayName||e.name:e.name||t&&e.__name}function su(e,t,o=!1){let n=ru(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?nm(n):o?"App":"Anonymous"}function am(e){return Me(e)&&"__vccOpts"in e}const Q=(e,t)=>zh(e,t,En);function iu(e,t,o){try{yr(-1);const n=arguments.length;return n===2?Je(t)&&!Te(t)?fa(t)?Xe(e,null,[t]):Xe(e,t):Xe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&fa(o)&&(o=[o]),Xe(e,t,o))}finally{yr(1)}}const rm="3.5.42";/** +`],...Wh(o))}),t}function Wh({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${su(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...Vh(e.props),r]:[a+r]}function Vh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...cc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function cc(e,t,o){return at(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ct(t)?(t=cc(e,Ke(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Me(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ke(t),o?t:[`${e}=`,t])}function xn(e,t,o,n){try{return n?e(...n):e()}catch(a){sa(a,t,o)}}function no(e,t,o,n){if(Me(e)){const a=xn(e,t,o,n);return a&&Tl(a)&&a.catch(r=>{sa(r,t,o)}),a}if(Te(e)){const a=[];for(let r=0;r>>1,a=Gt[n],r=ia(a);r=ia(o)?Gt.push(e):Gt.splice(qh(t),0,e),e.flags|=1,dc()}}function dc(){ir||(ir=uc.then(hc))}function Yh(e){if(!Te(e))Ho&&e.id===-1?Ho.splice(An+1,0,e):e.flags&1||(Sn.push(e),e.flags|=1);else for(let t=0;tia(o)-ia(n));if(Sn.length=0,Ho){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function hc(e){try{for(ho=0;ho{n._d&&yr(-1);const r=lr(t),s=Lo.length;let i;try{i=e(...a)}finally{for(let l=Lo.length;l>s;l--)Hs();lr(r),n._d&&yr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Ps(e,t){if(Tt===null)return e;const o=wr(Tt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Me(t)?t.call(n&&n.proxy):t}}function Zh(){return!!(To()||cn)}const Jh=Symbol.for("v-scx"),Xh=()=>Be(Jh);function Qh(e,t){return xs(e,null,t)}function et(e,t,o){return xs(e,t,o)}function xs(e,t,o=nt){const{immediate:n,deep:a,flush:r,once:s}=o,i=gt({},o),l=t&&n||!t&&r!=="post";let u;if(En){if(r==="sync"){const P=Xh();u=P.__watcherHandles||(P.__watcherHandles=[])}else if(!l){const P=()=>{};return P.stop=lo,P.resume=lo,P.pause=lo,P}}const c=Rt;i.call=(P,v,m)=>no(P,c,v,m);let p=!1;r==="post"?i.scheduler=P=>{Ht(P,c&&c.suspense)}:r!=="sync"&&(p=!0,i.scheduler=(P,v)=>{v?P():ks(P)}),i.augmentJob=P=>{t&&(P.flags|=4),p&&(P.flags|=2,c&&(P.id=c.uid,P.i=c))};const d=Hh(e,t,i);return En&&(u?u.push(d):l&&d()),d}function ef(e,t,o){const n=this.proxy,a=at(e)?e.includes(".")?mc(n,e):()=>n[e]:e.bind(n,n);let r;Me(t)?r=t:(r=t.handler,o=t);const s=ya(this),i=xs(a,r.bind(n),o);return s(),i}function mc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,ln=e=>e&&(e.disabled||e.disabled===""),tf=e=>e&&(e.defer||e.defer===""),yc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$c=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ss=(e,t)=>{const o=e&&e.to;return at(o)?t?t(o):null:o},of={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:p,pbc:d,o:{insert:P,querySelector:v,createText:m,createComment:g,parentNode:f}}=u,h=ln(t.props);let{dynamicChildren:b}=t;const y=(_,A,C)=>{_.shapeFlag&16&&c(_.children,A,C,a,r,s,i,l)},$=(_=t)=>{const A=ln(_.props),C=_.target=Ss(_.props,v),J=As(C,_,m,P);C&&(s!=="svg"&&yc(C)?s="svg":s!=="mathml"&&$c(C)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(C),A||(y(_,C,J),la(_,!1)))},L=_=>{const A=()=>{if(Uo.get(_)===A){if(Uo.delete(_),ln(_.props)){const C=f(_.el)||o;y(_,C,_.anchor),la(_,!0)}$(_)}};Uo.set(_,A),Ht(A,r)};if(e==null){const _=t.el=m(""),A=t.anchor=m("");if(P(_,o,n),P(A,o,n),tf(t.props)||r&&r.pendingBranch){L(t);return}h&&(y(t,o,A),la(t,!0)),$()}else{t.el=e.el;const _=t.anchor=e.anchor,A=Uo.get(e);if(A){A.flags|=8,Uo.delete(e),L(t);return}t.targetStart=e.targetStart;const C=t.target=e.target,J=t.targetAnchor=e.targetAnchor,ae=ln(e.props),Z=ae?o:C,B=ae?_:J;if(s==="svg"||yc(C)?s="svg":(s==="mathml"||$c(C))&&(s="mathml"),b?(d(e.dynamicChildren,b,Z,a,r,s,i),zs(e,t,!0)):l||p(e,t,Z,B,a,r,s,i,!1),h)ae?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ur(t,o,_,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const de=Ss(t.props,v);de&&(t.target=de,ur(t,de,null,u,0))}else ae&&ur(t,C,J,u,1);la(t,h)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:p,props:d}=e,P=ln(d),v=r||!P,m=Uo.get(e);if(m&&(m.flags|=8,Uo.delete(e)),p&&(a(u),a(c)),r&&a(l),!m&&(P||p)&&s&16)for(let g=0;g1){for(const o of e)if(o.type!==mo){t=o;break}}return t}function _c(e){if(!gr(e))return cr(e.type)&&e.children?rf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Me(o.default))return o.default()}}function Cs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Cs(cr(o.type)&&_c(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ca(e,t){return Me(e)?gt({name:e.name},t,{setup:e}):e}function Ts(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function vc(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const dr=new WeakMap;function ua(e,t,o,n,a=!1){if(Te(e)){e.forEach((m,g)=>ua(m,t&&(Te(t)?t[g]:t),o,n,a));return}if(Ln(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ua(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?wr(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===nt?i.refs={}:i.refs,p=i.setupState,d=Ke(p),P=p===nt?Ll:m=>vc(c,m)?!1:Ze(d,m),v=(m,g)=>!(g&&vc(c,g));if(u!=null&&u!==l){if(wc(t),at(u))c[u]=null,P(u)&&(p[u]=null);else if(ct(u)){const m=t;v(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(Me(l))xn(l,i,12,[s,c]);else{const m=at(l),g=ct(l);if(m||g){const f=()=>{if(e.f){const h=m?P(l)?p[l]:c[l]:v()||!e.k?l.value:c[e.k];if(a)Te(h)&&ls(h,r);else if(Te(h))h.includes(r)||h.push(r);else if(m)c[l]=[r],P(l)&&(p[l]=c[l]);else{const b=[r];v(l,e.k)&&(l.value=b),e.k&&(c[e.k]=b)}}else m?(c[l]=s,P(l)&&(p[l]=s)):g&&(v(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const h=()=>{f(),dr.delete(e)};h.id=-1,dr.set(e,h),Ht(h,o)}else wc(e),f()}}}function wc(e){const t=dr.get(e);t&&(t.flags|=8,dr.delete(e))}const kc=e=>e.nodeType===8;Za().requestIdleCallback,Za().cancelIdleCallback;function sf(e,t){if(kc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(kc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Ln=e=>!!e.type.__asyncLoader;function lf(e){Me(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let u=null,c,p=0;const d=()=>(p++,u=null,P()),P=()=>{let v;return u||(v=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((g,f)=>{l(m,()=>g(d()),()=>f(m),p+1)});throw m}).then(m=>v!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return ca({name:"AsyncComponentWrapper",__asyncLoader:P,__asyncHydrate(v,m,g){const f=v.isConnected;let h=!1;(m.bu||(m.bu=[])).push(()=>h=!0);const b=()=>{h||!v.parentNode||f&&!v.isConnected||g()},y=r?()=>{const $=r(b,L=>sf(v,L));$&&(m.bum||(m.bum=[])).push($)}:b;c?y():P().then(()=>!m.isUnmounted&&y())},get __asyncResolved(){return c},setup(){const v=Rt;if(Ts(v),c)return()=>pr(c,v);const m=$=>{u=null,sa($,v,13,!n)};if(i&&v.suspense||En)return P().then($=>()=>pr($,v)).catch($=>(m($),()=>n?Xe(n,{error:$}):null));const g=be(!1),f=be(),h=be(!!a);let b,y;return fr(()=>{b!=null&&clearTimeout(b),y!=null&&clearTimeout(y)}),a&&(y=setTimeout(()=>{v.isUnmounted||(h.value=!1)},a)),s!=null&&(b=setTimeout(()=>{if(!v.isUnmounted&&!g.value&&!f.value){const $=new Error(`Async component timed out after ${s}ms.`);m($),f.value=$}},s)),P().then(()=>{v.isUnmounted||(g.value=!0,v.parent&&gr(v.parent.vnode)&&v.parent.update())}).catch($=>{if(v.isUnmounted){u=null;return}m($),f.value=$}),()=>{if(g.value&&c)return pr(c,v);if(f.value&&n)return Xe(n,{error:f.value});if(o&&!h.value)return pr(o,v)}}})}function pr(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Xe(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const gr=e=>e.type.__isKeepAlive;function cf(e,t){Pc(e,"a",t)}function uf(e,t){Pc(e,"da",t)}function Pc(e,t,o=Rt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(hr(t,n,o),o){let a=o.parent;for(;a&&a.parent;)gr(a.parent.vnode)&&df(n,t,o,a),a=a.parent}}function df(e,t,o,n){const a=hr(t,e,n,!0);fr(()=>{ls(n[t],a)},o)}function hr(e,t,o=Rt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{uo();const i=ya(o),l=no(t,o,e,s);return i(),po(),l});return n?a.unshift(r):a.push(r),r}}const Ao=e=>(t,o=Rt)=>{(!En||e==="sp")&&hr(e,(...n)=>t(...n),o)},xc=Ao("bm"),fo=Ao("m"),pf=Ao("bu"),gf=Ao("u"),Xt=Ao("bum"),fr=Ao("um"),hf=Ao("sp"),ff=Ao("rtg"),mf=Ao("rtc");function bf(e,t=Rt){hr("ec",e,t)}const yf="components",Sc=Symbol.for("v-ndc");function Es(e){return at(e)?$f(yf,e,!1)||e:e||Sc}function $f(e,t,o=!0,n=!1){const a=Tt||Rt;if(a){const r=a.type;{const i=ru(r,!1);if(i&&(i===t||i===St(t)||i===qa(St(t))))return r}const s=Ac(a[e]||r[e],t)||Ac(a.appContext[e],t);return!s&&n?r:s}}function Ac(e,t){return e&&(e[t]||e[St(t)]||e[qa(St(t))])}function Et(e,t,o,n){let a;const r=o,s=Te(e);if(s||at(e)){const i=s&&Po(e);let l=!1,u=!1;i&&(l=!qt(e),u=xo(e),e=Qa(e)),a=new Array(e.length);for(let c=0,p=e.length;ct(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,u=i.length;l0;return t!=="default"&&(u.name=t),K(),it(Ge,null,[Xe("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Lo.length;K();let l;try{const u=s&&Lc(s(o)),c=o.key||r||u&&u.key;l=it(Ge,{key:(c&&!Vt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=Lo.length;c>i;c--)Hs();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Lc(e){return e.some(t=>fa(t)?!(t.type===mo||t.type===Ge&&!Lc(t.children)):!0)?e:null}const Rs=e=>e?ou(e)?wr(e):Rs(e.parent):null,da=gt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Rs(e.parent),$root:e=>Rs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rc(e),$forceUpdate:e=>e.f||(e.f=()=>{ks(e.update)}),$nextTick:e=>e.n||(e.n=jt.bind(e.proxy)),$watch:e=>ef.bind(e)}),Ns=(e,t)=>e!==nt&&!e.__isScriptSetup&&Ze(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const d=s[t];if(d!==void 0)switch(d){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(Ns(n,t))return s[t]=1,n[t];if(a!==nt&&Ze(a,t))return s[t]=2,a[t];if(Ze(r,t))return s[t]=3,r[t];if(o!==nt&&Ze(o,t))return s[t]=4,o[t];Is&&(s[t]=0)}}const u=da[t];let c,p;if(u)return t==="$attrs"&&Ft(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==nt&&Ze(o,t))return s[t]=4,o[t];if(p=l.config.globalProperties,Ze(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return Ns(a,t)?(a[t]=o,!0):n!==nt&&Ze(n,t)?(n[t]=o,!0):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==nt&&i[0]!=="$"&&Ze(e,i)||Ns(t,i)||Ze(r,i)||Ze(n,i)||Ze(da,i)||Ze(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ze(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Cc(e){return Te(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Is=!0;function vf(e){const t=Rc(e),o=e.proxy,n=e.ctx;Is=!1,t.beforeCreate&&Tc(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:p,mounted:d,beforeUpdate:P,updated:v,activated:m,deactivated:g,beforeDestroy:f,beforeUnmount:h,destroyed:b,unmounted:y,render:$,renderTracked:L,renderTriggered:_,errorCaptured:A,serverPrefetch:C,expose:J,inheritAttrs:ae,components:Z,directives:B,filters:de}=t;if(u&&wf(u,n,null),s)for(const V in s){const x=s[V];Me(x)&&(n[V]=x.bind(o))}if(a){const V=a.call(o,o);Je(V)&&(e.data=wn(V))}if(Is=!0,r)for(const V in r){const x=r[V],D=Me(x)?x.bind(o,o):Me(x.get)?x.get.bind(o,o):lo,Y=!Me(x)&&Me(x.set)?x.set.bind(o):lo,re=Q({get:D,set:Y});Object.defineProperty(n,V,{enumerable:!0,configurable:!0,get:()=>re.value,set:H=>re.value=H})}if(i)for(const V in i)Ec(i[V],n,o,V);if(l){const V=Me(l)?l.call(o):l;Reflect.ownKeys(V).forEach(x=>{zt(x,V[x])})}c&&Tc(c,e,"c");function I(V,x){Te(x)?x.forEach(D=>V(D.bind(o))):x&&V(x.bind(o))}if(I(xc,p),I(fo,d),I(pf,P),I(gf,v),I(cf,m),I(uf,g),I(bf,A),I(mf,L),I(ff,_),I(Xt,h),I(fr,y),I(hf,C),Te(J))if(J.length){const V=e.exposed||(e.exposed={});J.forEach(x=>{Object.defineProperty(V,x,{get:()=>o[x],set:D=>o[x]=D,enumerable:!0})})}else e.exposed||(e.exposed={});$&&e.render===lo&&(e.render=$),ae!=null&&(e.inheritAttrs=ae),Z&&(e.components=Z),B&&(e.directives=B),C&&Ts(e)}function wf(e,t,o=lo){Te(e)&&(e=Ms(e));for(const n in e){const a=e[n];let r;Je(a)?"default"in a?r=Be(a.from||n,a.default,!0):r=Be(a.from||n):r=Be(a),ct(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Tc(e,t,o){no(Te(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Ec(e,t,o,n){let a=n.includes(".")?mc(o,n):()=>o[n];if(at(e)){const r=t[e];Me(r)&&et(a,r)}else if(Me(e))et(a,e.bind(o));else if(Je(e))if(Te(e))e.forEach(r=>Ec(r,t,o,n));else{const r=Me(e.handler)?e.handler.bind(o):t[e.handler];Me(r)&&et(a,r,e)}}function Rc(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(u=>mr(l,u,s,!0)),mr(l,t,s)),Je(t)&&r.set(t,l),l}function mr(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&mr(e,r,o,!0),a&&a.forEach(s=>mr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=kf[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const kf={data:Nc,props:Ic,emits:Ic,methods:pa,computed:pa,beforeCreate:Bt,created:Bt,beforeMount:Bt,mounted:Bt,beforeUpdate:Bt,updated:Bt,beforeDestroy:Bt,beforeUnmount:Bt,destroyed:Bt,unmounted:Bt,activated:Bt,deactivated:Bt,errorCaptured:Bt,serverPrefetch:Bt,components:pa,directives:pa,watch:xf,provide:Nc,inject:Pf};function Nc(e,t){return t?e?function(){return gt(Me(e)?e.call(this,this):e,Me(t)?t.call(this,this):t)}:t:e}function Pf(e,t){return pa(Ms(e),Ms(t))}function Ms(e){if(Te(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${St(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Cf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||nt;let a=o;const r=t.startsWith("update:"),s=r&&Lf(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>at(c)?c.trim():c)),s.number&&(a=a.map(Nl)));let i,l=n[i=cs(t)]||n[i=cs(St(t))];!l&&r&&(l=n[i=cs(Kt(t))]),l&&no(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,no(u,e,6,a)}}const Tf=new WeakMap;function Fc(e,t,o=!1){const n=o?Tf:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Me(e)){const l=u=>{const c=Fc(u,t,!0);c&&(i=!0,gt(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Je(e)&&n.set(e,null),null):(Te(r)?r.forEach(l=>s[l]=null):gt(s,r),Je(e)&&n.set(e,s),s)}function br(e,t){return!e||!Ua(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Kt(t))||Ze(e,t))}function UA(){}function Oc(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:p,data:d,setupState:P,ctx:v,inheritAttrs:m}=e,g=lr(e);let f,h;try{if(o.shapeFlag&4){const y=a||n,$=y;f=bo(u.call($,y,c,p,P,d,v)),h=i}else{const y=t;f=bo(y.length>1?y(p,{attrs:i,slots:s,emit:l}):y(p,null)),h=t.props?i:Ef(i)}}catch(y){Lo.length=0,sa(y,e,1),f=Xe(mo)}let b=f;if(h&&m!==!1){const y=Object.keys(h),{shapeFlag:$}=b;y.length&&$&7&&(r&&y.some(ja)&&(h=Rf(h,r)),b=Tn(b,h,!1,!0))}if(o.dirs&&(b=Tn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(o.dirs):o.dirs),o.transition){const y=cr(b.type)&&_c(b)||b;Cs(y,o.transition)}return f=b,lr(g),f}const Ef=e=>{let t;for(const o in e)(o==="class"||o==="style"||Ua(o))&&((t||(t={}))[o]=e[o]);return t},Rf=(e,t)=>{const o={};for(const n in e)(!ja(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Nf(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Dc(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let p=0;pObject.create(zc),Hc=e=>Object.getPrototypeOf(e)===zc;function Mf(e,t,o,n=!1){const a={},r=Bc();e.propsDefaults=Object.create(null),Uc(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Rh(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Ff(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Ke(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[d,P]=jc(p,t,!0);gt(s,d),P&&i.push(...P)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return Je(e)&&n.set(e,_n),_n;if(Te(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Ds=e=>Te(e)?e.map(bo):[bo(e)],Df=(e,t,o)=>{if(t._n)return t;const n=Yt((...a)=>Ds(t(...a)),o);return n._c=!1,n},Vc=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Os(a))continue;const r=e[a];if(Me(r))t[a]=Df(a,r,n);else if(r!=null){const s=Ds(r);t[a]=()=>s}}},Kc=(e,t)=>{const o=Ds(t);e.slots.default=()=>o},qc=(e,t,o)=>{for(const n in t)(o||!Os(n))&&(e[n]=t[n])},Gf=(e,t,o)=>{const n=e.slots=Bc();if(e.vnode.shapeFlag&32){const a=t._;a?(qc(n,t,o),o&&Rl(n,"_",a,!0)):Vc(t,n)}else t&&Kc(e,t)},zf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=nt;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:qc(a,t,o):(r=!t.$stable,Vc(t,a)),s=t}else t&&(Kc(e,t),s={default:1});if(r)for(const i in a)!Os(i)&&s[i]==null&&delete a[i]},Ht=Wf;function Bf(e){return Hf(e)}function Hf(e,t){const o=Za();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:p,nextSibling:d,setScopeId:P=lo,insertStaticContent:v}=e,m=(S,R,T,X=null,ie=null,se=null,me=void 0,ge=null,w=!!R.dynamicChildren)=>{if(S===R)return;S&&!ma(S,R)&&(X=Se(S),H(S,ie,se,!0),S=null),R.patchFlag===-2&&(w=!1,R.dynamicChildren=null);const{type:k,ref:j,shapeFlag:U}=R;switch(k){case ga:g(S,R,T,X);break;case mo:f(S,R,T,X);break;case Bs:S==null&&h(R,T,X,me);break;case Ge:Z(S,R,T,X,ie,se,me,ge,w);break;default:U&1?$(S,R,T,X,ie,se,me,ge,w):U&6?B(S,R,T,X,ie,se,me,ge,w):(U&64||U&128)&&k.process(S,R,T,X,ie,se,me,ge,w,ue)}j!=null&&ie?ua(j,S&&S.ref,se,R||S,!R):j==null&&S&&S.ref!=null&&ua(S.ref,null,se,S,!0)},g=(S,R,T,X)=>{if(S==null)n(R.el=i(R.children),T,X);else{const ie=R.el=S.el;R.children!==S.children&&u(ie,R.children)}},f=(S,R,T,X)=>{S==null?n(R.el=l(R.children||""),T,X):R.el=S.el},h=(S,R,T,X)=>{[S.el,S.anchor]=v(S.children,R,T,X,S.el,S.anchor)},b=({el:S,anchor:R},T,X)=>{let ie;for(;S&&S!==R;)ie=d(S),n(S,T,X),S=ie;n(R,T,X)},y=({el:S,anchor:R})=>{let T;for(;S&&S!==R;)T=d(S),a(S),S=T;a(R)},$=(S,R,T,X,ie,se,me,ge,w)=>{if(R.type==="svg"?me="svg":R.type==="math"&&(me="mathml"),S==null)L(R,T,X,ie,se,me,ge,w);else{const k=S.el&&S.el._isVueCE?S.el:null;try{k&&k._beginPatch(),C(S,R,ie,se,me,ge,w)}finally{k&&k._endPatch()}}},L=(S,R,T,X,ie,se,me,ge)=>{let w,k;const{props:j,shapeFlag:U,transition:ee,dirs:te}=S;if(w=S.el=s(S.type,se,j&&j.is,j),U&8?c(w,S.children):U&16&&A(S.children,w,null,X,ie,Gs(S,se),me,ge),te&&sn(S,null,X,"created"),_(w,S,S.scopeId,me,X),j){for(const z in j)z!=="value"&&!Qn(z)&&r(w,z,null,j[z],se,X);"value"in j&&r(w,"value",null,j.value,se),(k=j.onVnodeBeforeMount)&&yo(k,X,S)}te&&sn(S,null,X,"beforeMount");const O=Uf(ie,ee);O&&ee.beforeEnter(w),n(w,R,T),((k=j&&j.onVnodeMounted)||O||te)&&Ht(()=>{try{k&&yo(k,X,S),O&&ee.enter(w),te&&sn(S,null,X,"mounted")}finally{}},ie)},_=(S,R,T,X,ie)=>{if(T&&P(S,T),X)for(let se=0;se{for(let k=w;k{const ge=R.el=S.el;let{patchFlag:w,dynamicChildren:k,dirs:j}=R;w|=S.patchFlag&16;const U=S.props||nt,ee=R.props||nt;let te;if(T&&un(T,!1),(te=ee.onVnodeBeforeUpdate)&&yo(te,T,R,S),j&&sn(R,S,T,"beforeUpdate"),T&&un(T,!0),k&&(!S.dynamicChildren||S.dynamicChildren.length!==k.length)&&(w=0,me=!1,k=null),(U.innerHTML&&ee.innerHTML==null||U.textContent&&ee.textContent==null)&&c(ge,""),k?J(S.dynamicChildren,k,ge,T,X,Gs(R,ie),se):me||x(S,R,ge,null,T,X,Gs(R,ie),se,!1),w>0){if(w&16)ae(ge,U,ee,T,ie);else if(w&2&&U.class!==ee.class&&r(ge,"class",null,ee.class,ie),w&4&&r(ge,"style",U.style,ee.style,ie),w&8){const O=R.dynamicProps;for(let z=0;z{te&&yo(te,T,R,S),j&&sn(R,S,T,"updated")},X)},J=(S,R,T,X,ie,se,me)=>{for(let ge=0;ge{if(R!==T){if(R!==nt)for(const se in R)!Qn(se)&&!(se in T)&&r(S,se,R[se],null,ie,X);for(const se in T){if(Qn(se))continue;const me=T[se],ge=R[se];me!==ge&&se!=="value"&&r(S,se,ge,me,ie,X)}"value"in T&&r(S,"value",R.value,T.value,ie)}},Z=(S,R,T,X,ie,se,me,ge,w)=>{const k=R.el=S?S.el:i(""),j=R.anchor=S?S.anchor:i("");let{patchFlag:U,dynamicChildren:ee,slotScopeIds:te}=R;te&&(ge=ge?ge.concat(te):te),S==null?(n(k,T,X),n(j,T,X),A(R.children||[],T,j,ie,se,me,ge,w)):U>0&&U&64&&ee&&S.dynamicChildren&&S.dynamicChildren.length===ee.length?(J(S.dynamicChildren,ee,T,ie,se,me,ge),(R.key!=null||ie&&R===ie.subTree)&&zs(S,R,!0)):x(S,R,T,j,ie,se,me,ge,w)},B=(S,R,T,X,ie,se,me,ge,w)=>{R.slotScopeIds=ge,S==null?R.shapeFlag&512?ie.ctx.activate(R,T,X,me,w):de(R,T,X,ie,se,me,w):N(S,R,w)},de=(S,R,T,X,ie,se,me)=>{const ge=S.component=Jf(S,X,ie);if(gr(S)&&(ge.ctx.renderer=ue),Xf(ge,!1,me),ge.asyncDep){if(ie&&ie.registerDep(ge,I,me),!S.el){const w=ge.subTree=Xe(mo);f(null,w,R,T),S.placeholder=w.el}}else I(ge,S,R,T,ie,se,me)},N=(S,R,T)=>{const X=R.component=S.component;if(Nf(S,R,T))if(X.asyncDep&&!X.asyncResolved){V(X,R,T);return}else X.next=R,X.update();else R.el=S.el,X.vnode=R},I=(S,R,T,X,ie,se,me)=>{const ge=()=>{if(S.isMounted){let{next:U,bu:ee,u:te,parent:O,vnode:z}=S;{const ot=Yc(S);if(ot){U&&(U.el=z.el,V(S,U,me)),ot.asyncDep.then(()=>{Ht(()=>{S.isUnmounted||k()},ie)});return}}let ve=U,Ee;un(S,!1),U?(U.el=z.el,V(S,U,me)):U=z,ee&&Ya(ee),(Ee=U.props&&U.props.onVnodeBeforeUpdate)&&yo(Ee,O,U,z),un(S,!0);const qe=Oc(S),ht=S.subTree;S.subTree=qe,m(ht,qe,p(ht.el),Se(ht),S,ie,se),U.el=qe.el,ve===null&&If(S,qe.el),te&&Ht(te,ie),(Ee=U.props&&U.props.onVnodeUpdated)&&Ht(()=>yo(Ee,O,U,z),ie)}else{let U;const{el:ee,props:te}=R,{bm:O,m:z,parent:ve,root:Ee,type:qe}=S,ht=Ln(R);un(S,!1),O&&Ya(O),!ht&&(U=te&&te.onVnodeBeforeMount)&&yo(U,ve,R),un(S,!0);{Ee.ce&&Ee.ce._hasShadowRoot()&&Ee.ce._injectChildStyle(qe,S.parent?S.parent.type:void 0);const ot=S.subTree=Oc(S);m(null,ot,T,X,S,ie,se),R.el=ot.el}if(z&&Ht(z,ie),!ht&&(U=te&&te.onVnodeMounted)){const ot=R;Ht(()=>yo(U,ve,ot),ie)}(R.shapeFlag&256||ve&&Ln(ve.vnode)&&ve.vnode.shapeFlag&256)&&S.a&&Ht(S.a,ie),S.isMounted=!0,R=T=X=null}};S.scope.on();const w=S.effect=new Hl(ge);S.scope.off();const k=S.update=w.run.bind(w),j=S.job=w.runIfDirty.bind(w);j.i=S,j.id=S.uid,w.scheduler=()=>ks(j),un(S,!0),k()},V=(S,R,T)=>{R.component=S;const X=S.vnode.props;S.vnode=R,S.next=null,Ff(S,R.props,X,T),zf(S,R.children,T),uo(),pc(S),po()},x=(S,R,T,X,ie,se,me,ge,w=!1)=>{const k=S&&S.children,j=S?S.shapeFlag:0,U=R.children,{patchFlag:ee,shapeFlag:te}=R;if(ee>0){if(ee&128){Y(k,U,T,X,ie,se,me,ge,w);return}else if(ee&256){D(k,U,T,X,ie,se,me,ge,w);return}}te&8?(j&16&&_e(k,ie,se),U!==k&&c(T,U)):j&16?te&16?Y(k,U,T,X,ie,se,me,ge,w):_e(k,ie,se,!0):(j&8&&c(T,""),te&16&&A(U,T,X,ie,se,me,ge,w))},D=(S,R,T,X,ie,se,me,ge,w)=>{S=S||_n,R=R||_n;const k=S.length,j=R.length,U=Math.min(k,j);let ee;for(ee=0;eej?_e(S,ie,se,!0,!1,U):A(R,T,X,ie,se,me,ge,w,U)},Y=(S,R,T,X,ie,se,me,ge,w)=>{let k=0;const j=R.length;let U=S.length-1,ee=j-1;for(;k<=U&&k<=ee;){const te=S[k],O=R[k]=w?Co(R[k]):bo(R[k]);if(ma(te,O))m(te,O,T,null,ie,se,me,ge,w);else break;k++}for(;k<=U&&k<=ee;){const te=S[U],O=R[ee]=w?Co(R[ee]):bo(R[ee]);if(ma(te,O))m(te,O,T,null,ie,se,me,ge,w);else break;U--,ee--}if(k>U){if(k<=ee){const te=ee+1,O=teee)for(;k<=U;)H(S[k],ie,se,!0),k++;else{const te=k,O=k,z=new Map;for(k=O;k<=ee;k++){const bt=R[k]=w?Co(R[k]):bo(R[k]);bt.key!=null&&z.set(bt.key,k)}let ve,Ee=0;const qe=ee-O+1;let ht=!1,ot=0;const xt=new Array(qe);for(k=0;k=qe){H(bt,ie,se,!0);continue}let ft;if(bt.key!=null)ft=z.get(bt.key);else for(ve=O;ve<=ee;ve++)if(xt[ve-O]===0&&ma(bt,R[ve])){ft=ve;break}ft===void 0?H(bt,ie,se,!0):(xt[ft-O]=k+1,ft>=ot?ot=ft:ht=!0,m(bt,R[ft],T,null,ie,se,me,ge,w),Ee++)}const io=ht?jf(xt):_n;for(ve=io.length-1,k=qe-1;k>=0;k--){const bt=O+k,ft=R[bt],Go=R[bt+1],F=bt+1{const{el:se,type:me,transition:ge,children:w,shapeFlag:k}=S;if(k&6){re(S.component.subTree,R,T,X);return}if(k&128){S.suspense.move(R,T,X);return}if(k&64){me.move(S,R,T,ue);return}if(me===Ge){n(se,R,T);for(let U=0;Uge.enter(se),ie));else{const{leave:U,delayLeave:ee,afterLeave:te}=ge,O=()=>{S.ctx.isUnmounted?a(se):n(se,R,T)},z=()=>{const ve=se._isLeaving||!!se[Ls];se._isLeaving&&se[Ls](!0),ge.persisted&&!ve?O():U(se,()=>{O(),te&&te()})};ee?ee(se,O,z):z()}else n(se,R,T)},H=(S,R,T,X=!1,ie=!1)=>{const{type:se,props:me,ref:ge,children:w,dynamicChildren:k,shapeFlag:j,patchFlag:U,dirs:ee,cacheIndex:te,memo:O}=S;if(U===-2&&(ie=!1),ge!=null&&(uo(),ua(ge,null,T,S,!0),po()),te!=null&&(R.renderCache[te]=void 0),j&256){R.ctx.deactivate(S);return}const z=j&1&&ee,ve=!Ln(S);let Ee;if(ve&&(Ee=me&&me.onVnodeBeforeUnmount)&&yo(Ee,R,S),j&6)Pe(S.component,T,X);else{if(j&128){S.suspense.unmount(T,X);return}z&&sn(S,null,R,"beforeUnmount"),j&64?S.type.remove(S,R,T,ue,X):k&&!k.hasOnce&&(se!==Ge||U>0&&U&64)?_e(k,R,T,!1,!0):(se===Ge&&U&384||!ie&&j&16)&&_e(w,R,T),X&&pe(S)}const qe=O!=null&&te==null;(ve&&(Ee=me&&me.onVnodeUnmounted)||z||qe)&&Ht(()=>{Ee&&yo(Ee,R,S),z&&sn(S,null,R,"unmounted"),qe&&(S.el=null)},T)},pe=S=>{const{type:R,el:T,anchor:X,transition:ie}=S;if(R===Ge){le(T,X);return}if(R===Bs){y(S);return}const se=()=>{a(T),ie&&!ie.persisted&&ie.afterLeave&&ie.afterLeave()};if(S.shapeFlag&1&&ie&&!ie.persisted){const{leave:me,delayLeave:ge}=ie,w=()=>me(T,se);ge?ge(S.el,se,w):w()}else se()},le=(S,R)=>{let T;for(;S!==R;)T=d(S),a(S),S=T;a(R)},Pe=(S,R,T)=>{const{bum:X,scope:ie,job:se,subTree:me,um:ge,m:w,a:k}=S;Zc(w),Zc(k),X&&Ya(X),ie.stop(),se&&(se.flags|=8,H(me,S,R,T)),ge&&Ht(ge,R),Ht(()=>{S.isUnmounted=!0},R)},_e=(S,R,T,X=!1,ie=!1,se=0)=>{for(let me=se;me{if(S.shapeFlag&6)return Se(S.component.subTree);if(S.shapeFlag&128)return S.suspense.next();const R=d(S.anchor||S.el),T=R&&R[bc];return T?d(T):R};let G=!1;const he=(S,R,T)=>{let X;S==null?R._vnode&&(H(R._vnode,null,null,!0),X=R._vnode.component):m(R._vnode||null,S,R,null,null,null,T),R._vnode=S,G||(G=!0,pc(X),gc(),G=!1)},ue={p:m,um:H,m:re,r:pe,mt:de,mc:A,pc:x,pbc:J,n:Se,o:e};return{render:he,hydrate:void 0,createApp:Af(he)}}function Gs({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function un({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Uf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,o=!1){const n=e.children,a=t.children;if(Te(n)&&Te(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function Yc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Yc(t)}function Zc(e){if(e)for(let t=0;te.__isSuspense;function Wf(e,t){t&&t.pendingBranch?Te(e)?t.effects.push(...e):t.effects.push(e):Yh(e)}const Ge=Symbol.for("v-fgt"),ga=Symbol.for("v-txt"),mo=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),Lo=[];let Zt=null;function K(e=!1){Lo.push(Zt=e?null:[])}function Hs(){Lo.pop(),Zt=Lo[Lo.length-1]||null}let ha=1;function yr(e,t=!1){ha+=e,e<0&&Zt&&t&&(Zt.hasOnce=!0)}function Qc(e){return e.dynamicChildren=ha>0?Zt||_n:null,Hs(),ha>0&&Zt&&Zt.push(e),e}function ne(e,t,o,n,a,r){return Qc(E(e,t,o,n,a,r,!0))}function it(e,t,o,n,a){return Qc(Xe(e,t,o,n,a,!0))}function fa(e){return e?e.__v_isVNode===!0:!1}function ma(e,t){return e.type===t.type&&e.key===t.key}const eu=({key:e})=>e??null,$r=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?at(e)||ct(e)||Me(e)?{i:Tt,r:e,k:t,f:!!o}:e:null);function E(e,t=null,o=null,n=0,a=null,r=e===Ge?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&eu(t),ref:t&&$r(t),scopeId:fc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Tt};return i?(_r(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=at(o)?8:16),ha>0&&!s&&Zt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Zt.push(l),l}const Xe=Vf;function Vf(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Sc)&&(e=mo),fa(e)){const i=Tn(e,t,!0);return o&&_r(i,o),ha>0&&!r&&Zt&&(i.shapeFlag&6?Zt[Zt.indexOf(e)]=i:Zt.push(i)),i.patchFlag=-2,i}if(am(e)&&(e=e.__vccOpts),t){t=Kf(t);let{class:i,style:l}=t;i&&!at(i)&&(t.class=De(i)),Je(l)&&(ar(l)&&!Te(l)&&(l=gt({},l)),t.style=rt(l))}const s=at(e)?1:Xc(e)?128:cr(e)?64:Je(e)?4:Me(e)?2:0;return E(e,t,o,n,a,s,r,!0)}function Kf(e){return e?ar(e)||Hc(e)?gt({},e):e:null}function Tn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?qf(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&eu(u),ref:t&&t.ref?o&&r?Te(r)?r.concat($r(t)):[r,$r(t)]:$r(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ge?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Tn(e.ssContent),ssFallback:e.ssFallback&&Tn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Cs(c,l.clone(c)),c}function vt(e=" ",t=0){return Xe(ga,null,e,t)}function ke(e="",t=!1){return t?(K(),it(mo,null,e)):Xe(mo,null,e)}function bo(e){return e==null||typeof e=="boolean"?Xe(mo):Te(e)?Xe(Ge,null,e.slice()):fa(e)?Co(e):Xe(ga,null,String(e))}function Co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Tn(e)}function _r(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Te(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),_r(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Hc(t)?t._ctx=Tt:a===3&&Tt&&(Tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Me(t)){if(n&65){_r(e,{default:t});return}t={default:t,_ctx:Tt},o=32}else t=String(t),n&64?(o=16,t=[vt(t)]):o=8;e.children=t,e.shapeFlag|=o}function qf(...e){const t={};for(let o=0;oRt||Tt;let vr,ba;{const e=Za(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};vr=t("__VUE_INSTANCE_SETTERS__",o=>Rt=o),ba=t("__VUE_SSR_SETTERS__",o=>En=o)}const ya=e=>{const t=Rt;return vr(e),e.scope.on(),()=>{e.scope.off(),vr(t)}},tu=()=>{Rt&&Rt.scope.off(),vr(null)};function ou(e){return e.vnode.shapeFlag&4}let En=!1;function Xf(e,t=!1,o=!1){t&&ba(t);const{props:n,children:a}=e.vnode,r=ou(e);Mf(e,n,r,t),Gf(e,a,o||t);const s=r?Qf(e,t):void 0;return t&&ba(!1),s}function Qf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:n}=o;if(n){uo();const a=e.setupContext=n.length>1?tm(e):null,r=ya(e),s=xn(n,e,0,[e.props,a]),i=Tl(s);if(po(),r(),(i||e.sp)&&!Ln(e)&&Ts(e),i){if(s.then(tu,tu),t)return s.then(l=>{ba(!0);try{nu(e,l,t)}finally{ba(!1)}}).catch(l=>{sa(l,e,0)});e.asyncDep=s}else nu(e,s)}else au(e)}function nu(e,t,o){Me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Je(t)&&(e.setupState=ic(t)),au(e)}function au(e,t,o){const n=e.type;e.render||(e.render=n.render||lo);{const a=ya(e);uo();try{vf(e)}finally{po(),a()}}}const em={get(e,t){return Ft(e,"get",""),e[t]}};function tm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,em),slots:e.slots,emit:e.emit,expose:t}}function wr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ic(an(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in da)return da[o](e)},has(t,o){return o in t||o in da}})):e.proxy}const om=/(?:^|[-_])\w/g,nm=e=>e.replace(om,t=>t.toUpperCase()).replace(/[-_]/g,"");function ru(e,t=!0){return Me(e)?e.displayName||e.name:e.name||t&&e.__name}function su(e,t,o=!1){let n=ru(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?nm(n):o?"App":"Anonymous"}function am(e){return Me(e)&&"__vccOpts"in e}const Q=(e,t)=>zh(e,t,En);function iu(e,t,o){try{yr(-1);const n=arguments.length;return n===2?Je(t)&&!Te(t)?fa(t)?Xe(e,null,[t]):Xe(e,t):Xe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&fa(o)&&(o=[o]),Xe(e,t,o))}finally{yr(1)}}const rm="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -39,7 +39,14 @@ * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const ev="9.14.5";function tv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(wa().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(wa().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(wa().__INTLIFY_PROD_DEVTOOLS__=!1)}const ov=E_.__EXTEND_POINT__,Io=Cr(ov);Io(),Io(),Io(),Io(),Io(),Io(),Io(),Io(),Io();const Cd=_o.__EXTEND_POINT__,Wt=Cr(Cd),kt={UNEXPECTED_RETURN_TYPE:Cd,INVALID_ARGUMENT:Wt(),MUST_BE_CALL_SETUP_TOP:Wt(),NOT_INSTALLED:Wt(),NOT_AVAILABLE_IN_LEGACY_MODE:Wt(),REQUIRED_VALUE:Wt(),INVALID_VALUE:Wt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Wt(),NOT_INSTALLED_WITH_PROVIDE:Wt(),UNEXPECTED_ERROR:Wt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Wt(),BRIDGE_SUPPORT_VUE_2_ONLY:Wt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Wt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Wt(),__EXTEND_POINT__:Wt()};function At(e,...t){return In(e,null,void 0)}const gi=Wo("__translateVNode"),hi=Wo("__datetimeParts"),fi=Wo("__numberParts"),Td=Wo("__setPluralRules"),Ed=Wo("__injectWithOption"),mi=Wo("__dispose");function Sa(e){if(!Ye(e)||$o(e))return e;for(const t in e)if(ao(e,t))if(!t.includes("."))Ye(e[t])&&Sa(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:u}=i;l?(s[l]=s[l]||tt(),Er(u,s[l])):Er(u,s)}else we(i)&&Er(JSON.parse(i),s)}),a==null&&r)for(const i in s)ao(s,i)&&Sa(s[i]);return s}function Rd(e){return e.type}function Nd(e,t,o){let n=Ye(t.messages)?t.messages:tt();"__i18nGlobal"in o&&(n=Fr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ye(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ye(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Id(e){return Xe(ga,null,e,0)}const Md="__INTLIFY_META__",Fd=()=>[],nv=()=>!1;let Od=0;function Dd(e){return(t,o,n,a)=>e(o,n,To()||void 0,a)}const av=()=>{const e=To();let t=null;return e&&(t=Rd(e)[Md])?{[Md]:t}:null};function bi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Ar?be:Pn,i=!!e.translateExistCompatible;let l=We(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:we(e.locale)?e.locale:On),c=s(o&&l?o.fallbackLocale.value:we(e.fallbackLocale)||ut(e.fallbackLocale)||Oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),p=s(Fr(u.value,e)),d=s(Oe(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),P=s(Oe(e.numberFormats)?e.numberFormats:{[u.value]:{}});let v=o?o.missingWarn:We(e.missingWarn)||Vo(e.missingWarn)?e.missingWarn:!0,m=o?o.fallbackWarn:We(e.fallbackWarn)||Vo(e.fallbackWarn)?e.fallbackWarn:!0,g=o?o.fallbackRoot:We(e.fallbackRoot)?e.fallbackRoot:!0,f=!!e.fallbackFormat,h=lt(e.missing)?e.missing:null,b=lt(e.missing)?Dd(e.missing):null,y=lt(e.postTranslation)?e.postTranslation:null,$=o?o.warnHtmlMessage:We(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const _=o?o.modifiers:Oe(e.modifiers)?e.modifiers:{};let A=e.pluralRules||o&&o.pluralRules,C;C=(()=>{a&&md(null);const O={version:ev,locale:u.value,fallbackLocale:c.value,messages:p.value,modifiers:_,pluralRules:A,missing:b===null?void 0:b,missingWarn:v,fallbackWarn:m,fallbackFormat:f,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:$,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=d.value,O.numberFormats=P.value,O.__datetimeFormatters=Oe(C)?C.__datetimeFormatters:void 0,O.__numberFormatters=Oe(C)?C.__numberFormatters:void 0;const z=U_(O);return a&&md(z),z})(),xa(C,u.value,c.value);function ae(){return[u.value,c.value,p.value,d.value,P.value]}const Z=Q({get:()=>u.value,set:O=>{u.value=O,C.locale=u.value}}),B=Q({get:()=>c.value,set:O=>{c.value=O,C.fallbackLocale=c.value,xa(C,u.value,O)}}),de=Q(()=>p.value),N=Q(()=>d.value),I=Q(()=>P.value);function V(){return lt(y)?y:null}function x(O){y=O,C.postTranslation=O}function D(){return h}function Y(O){O!==null&&(b=Dd(O)),h=O,C.missing=b}const re=(O,z,ve,Ee,qe,ht)=>{ae();let ot;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=o?H_():void 0),ot=O(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(ve!=="translate exists"&&mt(ot)&&ot===Ir||ve==="translate exists"&&!ot){const[xt,io]=z();return o&&g?Ee(o):qe(xt)}else{if(ht(ot))return ot;throw At(kt.UNEXPECTED_RETURN_TYPE)}};function H(...O){return re(z=>Reflect.apply(_d,null,[z,...O]),()=>ui(...O),"translate",z=>Reflect.apply(z.t,z,[...O]),z=>z,z=>we(z))}function pe(...O){const[z,ve,Ee]=O;if(Ee&&!Ye(Ee))throw At(kt.INVALID_ARGUMENT);return H(z,ve,Nt({resolvedMessage:!0},Ee||{}))}function le(...O){return re(z=>Reflect.apply(kd,null,[z,...O]),()=>di(...O),"datetime format",z=>Reflect.apply(z.d,z,[...O]),()=>cd,z=>we(z))}function Pe(...O){return re(z=>Reflect.apply(Sd,null,[z,...O]),()=>pi(...O),"number format",z=>Reflect.apply(z.n,z,[...O]),()=>cd,z=>we(z))}function _e(O){return O.map(z=>we(z)||mt(z)||We(z)?Id(String(z)):z)}const G={normalize:_e,interpolate:O=>O,type:"vnode"};function he(...O){return re(z=>{let ve;const Ee=z;try{Ee.processor=G,ve=Reflect.apply(_d,null,[Ee,...O])}finally{Ee.processor=null}return ve},()=>ui(...O),"translate",z=>z[gi](...O),z=>[Id(z)],z=>ut(z))}function ue(...O){return re(z=>Reflect.apply(Sd,null,[z,...O]),()=>pi(...O),"number format",z=>z[fi](...O),Fd,z=>we(z)||ut(z))}function fe(...O){return re(z=>Reflect.apply(kd,null,[z,...O]),()=>di(...O),"datetime format",z=>z[hi](...O),Fd,z=>we(z)||ut(z))}function S(O){A=O,C.pluralRules=A}function R(O,z){return re(()=>{if(!O)return!1;const ve=we(z)?z:u.value,Ee=ie(ve),qe=C.messageResolver(Ee,O);return i?qe!=null:$o(qe)||Qt(qe)||we(qe)},()=>[O],"translate exists",ve=>Reflect.apply(ve.te,ve,[O,z]),nv,ve=>We(ve))}function T(O){let z=null;const ve=id(C,c.value,u.value);for(let Ee=0;Ee{l&&(u.value=O,C.locale=O,xa(C,u.value,c.value))}),et(o.fallbackLocale,O=>{l&&(c.value=O,C.fallbackLocale=O,xa(C,u.value,c.value))}));const te={id:Od,locale:Z,fallbackLocale:B,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,xa(C,u.value,c.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:de,get modifiers(){return _},get pluralRules(){return A||{}},get isGlobal(){return a},get missingWarn(){return v},set missingWarn(O){v=O,C.missingWarn=v},get fallbackWarn(){return m},set fallbackWarn(O){m=O,C.fallbackWarn=m},get fallbackRoot(){return g},set fallbackRoot(O){g=O},get fallbackFormat(){return f},set fallbackFormat(O){f=O,C.fallbackFormat=f},get warnHtmlMessage(){return $},set warnHtmlMessage(O){$=O,C.warnHtmlMessage=O},get escapeParameter(){return L},set escapeParameter(O){L=O,C.escapeParameter=O},t:H,getLocaleMessage:ie,setLocaleMessage:se,mergeLocaleMessage:me,getPostTranslationHandler:V,setPostTranslationHandler:x,getMissingHandler:D,setMissingHandler:Y,[Td]:S};return te.datetimeFormats=N,te.numberFormats=I,te.rt=pe,te.te=R,te.tm=X,te.d=le,te.n=Pe,te.getDateTimeFormat=ge,te.setDateTimeFormat=w,te.mergeDateTimeFormat=k,te.getNumberFormat=j,te.setNumberFormat=U,te.mergeNumberFormat=ee,te[Ed]=n,te[gi]=he,te[hi]=fe,te[fi]=ue,te}function rv(e){const t=we(e.locale)?e.locale:On,o=we(e.fallbackLocale)||ut(e.fallbackLocale)||Oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=lt(e.missing)?e.missing:void 0,a=We(e.silentTranslationWarn)||Vo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=We(e.silentFallbackWarn)||Vo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=We(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Oe(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=lt(e.postTranslation)?e.postTranslation:void 0,p=we(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,P=We(e.sync)?e.sync:!0;let v=e.messages;if(Oe(e.sharedMessages)){const L=e.sharedMessages;v=Object.keys(L).reduce((A,C)=>{const J=A[C]||(A[C]={});return Nt(J,L[C]),A},v||{})}const{__i18n:m,__root:g,__injectWithOption:f}=e,h=e.datetimeFormats,b=e.numberFormats,y=e.flatJson,$=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:v,flatJson:y,datetimeFormats:h,numberFormats:b,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:p,escapeParameter:d,messageResolver:e.messageResolver,inheritLocale:P,translateExistCompatible:$,__i18n:m,__root:g,__injectWithOption:f}}function yi(e={},t){{const o=bi(rv(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return We(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=We(r)?!r:r},get silentFallbackWarn(){return We(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=We(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,u={};let c=null,p=null;if(!we(s))throw At(kt.INVALID_ARGUMENT);const d=s;return we(i)?u.locale=i:ut(i)?c=i:Oe(i)&&(p=i),ut(l)?c=l:Oe(l)&&(p=l),Reflect.apply(o.t,o,[d,c||p||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,p=null;if(!we(s))throw At(kt.INVALID_ARGUMENT);const d=s;return we(i)?u.locale=i:mt(i)?u.plural=i:ut(i)?c=i:Oe(i)&&(p=i),we(l)?u.locale=l:ut(l)?c=l:Oe(l)&&(p=l),Reflect.apply(o.t,o,[d,c||p||{},u])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const $i={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function sv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ge?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},tt())}function Gd(e){return Ge}const zd=ca({name:"i18n-t",props:Nt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>mt(e)||!isNaN(e)}},$i),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=tt();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=we(e.plural)?+e.plural:e.plural);const i=sv(t,r),l=a[gi](e.keypath,i,s),u=Nt(tt(),n),c=we(e.tag)||Ye(e.tag)?e.tag:Gd();return iu(c,u,l)}}});function iv(e){return ut(e)&&!we(e[0])}function Bd(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=tt();e.locale&&(s.locale=e.locale),we(e.format)?s.key=e.format:Ye(e.format)&&(we(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((d,P)=>o.includes(P)?Nt(tt(),d,{[P]:e.format[P]}):d,tt()));const l=n(e.value,s,i);let u=[s.key];ut(l)?u=l.map((d,P)=>{const v=a[d.type],m=v?v({[d.type]:d.value,index:P,parts:l}):[d.value];return iv(m)&&(m[0].key=`${d.type}-${P}`),m}):we(l)&&(u=[l]);const c=Nt(tt(),r),p=we(e.tag)||Ye(e.tag)?e.tag:Gd();return iu(p,c,u)}}const Hd=ca({name:"i18n-n",props:Nt({value:{type:Number,required:!0},format:{type:[String,Object]}},$i),setup(e,t){const o=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return Bd(e,t,Ad,(...n)=>o[fi](...n))}}),Ud=ca({name:"i18n-d",props:Nt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},$i),setup(e,t){const o=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return Bd(e,t,Pd,(...n)=>o[hi](...n))}});function lv(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function cv(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw At(kt.UNEXPECTED_ERROR);const c=lv(e,i.$),p=jd(u);return[Reflect.apply(c.t,c,[...Wd(p)]),c]};return{created:(s,i)=>{const[l,u]=t(i);Ar&&e.global===u&&(s.__i18nWatcher=et(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{Ar&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,u=jd(i);s.textContent=Reflect.apply(l.t,l,[...Wd(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function jd(e){if(we(e))return{path:e};if(Oe(e)){if(!("path"in e))throw At(kt.REQUIRED_VALUE,"path");return e}else throw At(kt.INVALID_VALUE)}function Wd(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return we(o)&&(s.locale=o),mt(a)&&(s.plural=a),mt(r)&&(s.plural=r),[t,i,s]}function uv(e,t,...o){const n=Oe(o[0])?o[0]:{},a=!!n.useI18nComponentName;(We(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":zd.name,"I18nT"].forEach(s=>e.component(s,zd)),[Hd.name,"I18nN"].forEach(s=>e.component(s,Hd)),[Ud.name,"I18nD"].forEach(s=>e.component(s,Ud))),e.directive("t",cv(t))}function dv(e,t,o){return{beforeCreate(){const n=To();if(!n)throw At(kt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=Vd(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=yi(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Vd(e,a);else{this.$i18n=yi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Nd(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=To();if(!n)throw At(kt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Vd(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Td](t.pluralizationRules||e.pluralizationRules);const o=Fr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const pv=Wo("global-vue-i18n");function gv(e={},t){const o=__VUE_I18N_LEGACY_API__&&We(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=We(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=hv(e,o),l=Wo("");function u(d){return r.get(d)||null}function c(d,P){r.set(d,P)}function p(d){r.delete(d)}{const d={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(P,...v){if(P.__VUE_I18N_SYMBOL__=l,P.provide(P.__VUE_I18N_SYMBOL__,d),Oe(v[0])){const f=v[0];d.__composerExtend=f.__composerExtend,d.__vueI18nExtend=f.__vueI18nExtend}let m=null;!o&&n&&(m=kv(P,d.global)),__VUE_I18N_FULL_INSTALL__&&uv(P,d,...v),__VUE_I18N_LEGACY_API__&&o&&P.mixin(dv(i,i.__composer,d));const g=P.unmount;P.unmount=()=>{m&&m(),d.dispose(),g()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:p};return d}}function Pt(e={}){const t=To();if(t==null)throw At(kt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw At(kt.NOT_INSTALLED);const o=fv(t),n=bv(o),a=Rd(t),r=mv(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw At(kt.NOT_AVAILABLE_IN_LEGACY_MODE);return vv(t,r,n,e)}if(r==="global")return Nd(n,e,a),n;if(r==="parent"){let l=yv(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Nt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=bi(l),s.__composerExtend&&(i[mi]=s.__composerExtend(i)),_v(s,t,i),s.__setInstance(t,i)}return i}function hv(e,t,o){const n=Ja();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>yi(e)):n.run(()=>bi(e));if(a==null)throw At(kt.UNEXPECTED_ERROR);return[n,a]}}function fv(e){{const t=Be(e.isCE?pv:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw At(e.isCE?kt.NOT_INSTALLED_WITH_PROVIDE:kt.UNEXPECTED_ERROR);return t}}function mv(e,t){return Lr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function bv(e){return e.mode==="composition"?e.global:e.global.__composer}function yv(e,t,o=!1){let n=null;const a=t.root;let r=$v(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Ed]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function $v(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function _v(e,t,o){fo(()=>{},t),fr(()=>{const n=o;e.__deleteInstance(t);const a=n[mi];a&&(a(),delete n[mi])},t)}function vv(e,t,o,n={}){const a=t==="local",r=Pn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw At(kt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=We(n.inheritLocale)?n.inheritLocale:!we(n.locale),i=be(!a||s?o.locale.value:we(n.locale)?n.locale:On),l=be(!a||s?o.fallbackLocale.value:we(n.fallbackLocale)||ut(n.fallbackLocale)||Oe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=be(Fr(i.value,n)),c=be(Oe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=be(Oe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),d=a?o.missingWarn:We(n.missingWarn)||Vo(n.missingWarn)?n.missingWarn:!0,P=a?o.fallbackWarn:We(n.fallbackWarn)||Vo(n.fallbackWarn)?n.fallbackWarn:!0,v=a?o.fallbackRoot:We(n.fallbackRoot)?n.fallbackRoot:!0,m=!!n.fallbackFormat,g=lt(n.missing)?n.missing:null,f=lt(n.postTranslation)?n.postTranslation:null,h=a?o.warnHtmlMessage:We(n.warnHtmlMessage)?n.warnHtmlMessage:!0,b=!!n.escapeParameter,y=a?o.modifiers:Oe(n.modifiers)?n.modifiers:{},$=n.pluralRules||a&&o.pluralRules;function L(){return[i.value,l.value,u.value,c.value,p.value]}const _=Q({get:()=>r.value?r.value.locale.value:i.value,set:T=>{r.value&&(r.value.locale.value=T),i.value=T}}),A=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:T=>{r.value&&(r.value.fallbackLocale.value=T),l.value=T}}),C=Q(()=>r.value?r.value.messages.value:u.value),J=Q(()=>c.value),ae=Q(()=>p.value);function Z(){return r.value?r.value.getPostTranslationHandler():f}function B(T){r.value&&r.value.setPostTranslationHandler(T)}function de(){return r.value?r.value.getMissingHandler():g}function N(T){r.value&&r.value.setMissingHandler(T)}function I(T){return L(),T()}function V(...T){return r.value?I(()=>Reflect.apply(r.value.t,null,[...T])):I(()=>"")}function x(...T){return r.value?Reflect.apply(r.value.rt,null,[...T]):""}function D(...T){return r.value?I(()=>Reflect.apply(r.value.d,null,[...T])):I(()=>"")}function Y(...T){return r.value?I(()=>Reflect.apply(r.value.n,null,[...T])):I(()=>"")}function re(T){return r.value?r.value.tm(T):{}}function H(T,X){return r.value?r.value.te(T,X):!1}function pe(T){return r.value?r.value.getLocaleMessage(T):{}}function le(T,X){r.value&&(r.value.setLocaleMessage(T,X),u.value[T]=X)}function Pe(T,X){r.value&&r.value.mergeLocaleMessage(T,X)}function _e(T){return r.value?r.value.getDateTimeFormat(T):{}}function Se(T,X){r.value&&(r.value.setDateTimeFormat(T,X),c.value[T]=X)}function G(T,X){r.value&&r.value.mergeDateTimeFormat(T,X)}function he(T){return r.value?r.value.getNumberFormat(T):{}}function ue(T,X){r.value&&(r.value.setNumberFormat(T,X),p.value[T]=X)}function fe(T,X){r.value&&r.value.mergeNumberFormat(T,X)}const S={get id(){return r.value?r.value.id:-1},locale:_,fallbackLocale:A,messages:C,datetimeFormats:J,numberFormats:ae,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(T){r.value&&(r.value.inheritLocale=T)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:y},get pluralRules(){return r.value?r.value.pluralRules:$},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:d},set missingWarn(T){r.value&&(r.value.missingWarn=T)},get fallbackWarn(){return r.value?r.value.fallbackWarn:P},set fallbackWarn(T){r.value&&(r.value.missingWarn=T)},get fallbackRoot(){return r.value?r.value.fallbackRoot:v},set fallbackRoot(T){r.value&&(r.value.fallbackRoot=T)},get fallbackFormat(){return r.value?r.value.fallbackFormat:m},set fallbackFormat(T){r.value&&(r.value.fallbackFormat=T)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:h},set warnHtmlMessage(T){r.value&&(r.value.warnHtmlMessage=T)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(T){r.value&&(r.value.escapeParameter=T)},t:V,getPostTranslationHandler:Z,setPostTranslationHandler:B,getMissingHandler:de,setMissingHandler:N,rt:x,d:D,n:Y,tm:re,te:H,getLocaleMessage:pe,setLocaleMessage:le,mergeLocaleMessage:Pe,getDateTimeFormat:_e,setDateTimeFormat:Se,mergeDateTimeFormat:G,getNumberFormat:he,setNumberFormat:ue,mergeNumberFormat:fe};function R(T){T.locale.value=i.value,T.fallbackLocale.value=l.value,Object.keys(u.value).forEach(X=>{T.mergeLocaleMessage(X,u.value[X])}),Object.keys(c.value).forEach(X=>{T.mergeDateTimeFormat(X,c.value[X])}),Object.keys(p.value).forEach(X=>{T.mergeNumberFormat(X,p.value[X])}),T.escapeParameter=b,T.fallbackFormat=m,T.fallbackRoot=v,T.fallbackWarn=P,T.missingWarn=d,T.warnHtmlMessage=h}return xc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw At(kt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const T=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=T.locale.value,l.value=T.fallbackLocale.value,u.value=T.messages.value,c.value=T.datetimeFormats.value,p.value=T.numberFormats.value):a&&R(T)}),S}const wv=["locale","fallbackLocale","availableLocales"],Kd=["t","rt","d","n","tm","te"];function kv(e,t){const o=Object.create(null);return wv.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw At(kt.UNEXPECTED_ERROR);const s=ct(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Kd.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw At(kt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Kd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(tv(),O_(Y_),D_(b_),G_(id),__INTLIFY_PROD_DEVTOOLS__){const e=wa();e.__INTLIFY__=!0,S_(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Pv=Object.assign({"./locales/ar/aria.json":Vm,"./locales/ar/buttons.json":Km,"./locales/ar/detail.json":qm,"./locales/ar/gospel.json":Ym,"./locales/ar/grid.json":Zm,"./locales/ar/legend.json":Jm,"./locales/ar/lists.json":Xm,"./locales/ar/mapui.json":Qm,"./locales/ar/messages.json":eb,"./locales/ar/pins.json":tb,"./locales/ar/poster.json":ob,"./locales/ar/regions.json":nb,"./locales/ar/religion.json":ab,"./locales/ar/search.json":rb,"./locales/ar/share.json":sb,"./locales/ar/tabs.json":ib,"./locales/ar/wall.json":lb,"./locales/de/aria.json":cb,"./locales/de/buttons.json":ub,"./locales/de/detail.json":db,"./locales/de/gospel.json":pb,"./locales/de/grid.json":gb,"./locales/de/legend.json":hb,"./locales/de/lists.json":fb,"./locales/de/mapui.json":mb,"./locales/de/messages.json":bb,"./locales/de/pins.json":yb,"./locales/de/poster.json":$b,"./locales/de/regions.json":_b,"./locales/de/religion.json":vb,"./locales/de/search.json":wb,"./locales/de/share.json":kb,"./locales/de/tabs.json":Pb,"./locales/de/wall.json":xb,"./locales/en/aria.json":Sb,"./locales/en/buttons.json":Ab,"./locales/en/detail.json":Lb,"./locales/en/gospel.json":Cb,"./locales/en/grid.json":Tb,"./locales/en/legend.json":Eb,"./locales/en/lists.json":Rb,"./locales/en/mapui.json":Nb,"./locales/en/messages.json":Ib,"./locales/en/pins.json":Mb,"./locales/en/poster.json":Fb,"./locales/en/regions.json":Ob,"./locales/en/religion.json":Db,"./locales/en/search.json":Gb,"./locales/en/share.json":zb,"./locales/en/tabs.json":Bb,"./locales/en/wall.json":Hb,"./locales/es/aria.json":Ub,"./locales/es/buttons.json":jb,"./locales/es/detail.json":Wb,"./locales/es/gospel.json":Vb,"./locales/es/grid.json":Kb,"./locales/es/legend.json":qb,"./locales/es/lists.json":Yb,"./locales/es/mapui.json":Zb,"./locales/es/messages.json":Jb,"./locales/es/pins.json":Xb,"./locales/es/poster.json":Qb,"./locales/es/regions.json":ey,"./locales/es/religion.json":ty,"./locales/es/search.json":oy,"./locales/es/share.json":ny,"./locales/es/tabs.json":ay,"./locales/es/wall.json":ry,"./locales/fr/aria.json":sy,"./locales/fr/buttons.json":iy,"./locales/fr/detail.json":ly,"./locales/fr/gospel.json":cy,"./locales/fr/grid.json":uy,"./locales/fr/legend.json":dy,"./locales/fr/lists.json":py,"./locales/fr/mapui.json":gy,"./locales/fr/messages.json":hy,"./locales/fr/pins.json":fy,"./locales/fr/poster.json":my,"./locales/fr/regions.json":by,"./locales/fr/religion.json":yy,"./locales/fr/search.json":$y,"./locales/fr/share.json":_y,"./locales/fr/tabs.json":vy,"./locales/fr/wall.json":wy,"./locales/hi/aria.json":ky,"./locales/hi/buttons.json":Py,"./locales/hi/detail.json":xy,"./locales/hi/gospel.json":Sy,"./locales/hi/grid.json":Ay,"./locales/hi/legend.json":Ly,"./locales/hi/lists.json":Cy,"./locales/hi/mapui.json":Ty,"./locales/hi/messages.json":Ey,"./locales/hi/pins.json":Ry,"./locales/hi/poster.json":Ny,"./locales/hi/regions.json":Iy,"./locales/hi/religion.json":My,"./locales/hi/search.json":Fy,"./locales/hi/share.json":Oy,"./locales/hi/tabs.json":Dy,"./locales/hi/wall.json":Gy,"./locales/it/aria.json":zy,"./locales/it/buttons.json":By,"./locales/it/detail.json":Hy,"./locales/it/gospel.json":Uy,"./locales/it/grid.json":jy,"./locales/it/legend.json":Wy,"./locales/it/lists.json":Vy,"./locales/it/mapui.json":Ky,"./locales/it/messages.json":qy,"./locales/it/pins.json":Yy,"./locales/it/poster.json":Zy,"./locales/it/regions.json":Jy,"./locales/it/religion.json":Xy,"./locales/it/search.json":Qy,"./locales/it/share.json":e$,"./locales/it/tabs.json":t$,"./locales/it/wall.json":o$,"./locales/pt/aria.json":n$,"./locales/pt/buttons.json":a$,"./locales/pt/detail.json":r$,"./locales/pt/gospel.json":s$,"./locales/pt/grid.json":i$,"./locales/pt/legend.json":l$,"./locales/pt/lists.json":c$,"./locales/pt/mapui.json":u$,"./locales/pt/messages.json":d$,"./locales/pt/pins.json":p$,"./locales/pt/poster.json":g$,"./locales/pt/regions.json":h$,"./locales/pt/religion.json":f$,"./locales/pt/search.json":m$,"./locales/pt/share.json":b$,"./locales/pt/tabs.json":y$,"./locales/pt/wall.json":$$,"./locales/ro/aria.json":_$,"./locales/ro/buttons.json":v$,"./locales/ro/detail.json":w$,"./locales/ro/gospel.json":k$,"./locales/ro/grid.json":P$,"./locales/ro/legend.json":x$,"./locales/ro/lists.json":S$,"./locales/ro/mapui.json":A$,"./locales/ro/messages.json":L$,"./locales/ro/pins.json":C$,"./locales/ro/poster.json":T$,"./locales/ro/regions.json":E$,"./locales/ro/religion.json":R$,"./locales/ro/search.json":N$,"./locales/ro/share.json":I$,"./locales/ro/tabs.json":M$,"./locales/ro/wall.json":F$,"./locales/ru/aria.json":O$,"./locales/ru/buttons.json":D$,"./locales/ru/detail.json":G$,"./locales/ru/gospel.json":z$,"./locales/ru/grid.json":B$,"./locales/ru/legend.json":H$,"./locales/ru/lists.json":U$,"./locales/ru/mapui.json":j$,"./locales/ru/messages.json":W$,"./locales/ru/pins.json":V$,"./locales/ru/poster.json":K$,"./locales/ru/regions.json":q$,"./locales/ru/religion.json":Y$,"./locales/ru/search.json":Z$,"./locales/ru/share.json":J$,"./locales/ru/tabs.json":X$,"./locales/ru/wall.json":Q$,"./locales/zh/aria.json":e0,"./locales/zh/buttons.json":t0,"./locales/zh/detail.json":o0,"./locales/zh/gospel.json":n0,"./locales/zh/grid.json":a0,"./locales/zh/legend.json":r0,"./locales/zh/lists.json":s0,"./locales/zh/mapui.json":i0,"./locales/zh/messages.json":l0,"./locales/zh/pins.json":c0,"./locales/zh/poster.json":u0,"./locales/zh/regions.json":d0,"./locales/zh/religion.json":p0,"./locales/zh/search.json":g0,"./locales/zh/share.json":h0,"./locales/zh/tabs.json":f0,"./locales/zh/wall.json":m0}),gn={};for(const[e,t]of Object.entries(Pv)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;gn[n]??(gn[n]={}),gn[n][a]=t}gn.en;const Or=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],qd=new Set(["ar"]);function xv(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Yd(){var n;const e=xv();if(Or.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Or.includes(o)?o:"en"}function Sv(){const e=Yd();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&qd.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=Ja(!0),o=t.run(()=>gv({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:gn,missingWarn:!1,fallbackWarn:!1}));t.run(()=>et(o.global.locale,a=>Jd(a),{immediate:!0}));const n=o.install.bind(o);return o.install=(a,...r)=>{const s=n(a,...r);a.provide("appI18n",o);const i=a.provide.bind(a);return a.provide=(l,u)=>l==="appI18n"&&u===o?a:i(l,u),s},o}const Zd="__DOXA_PAGE_LOCALE";function Jd(e){const t=String(e||"").split("-")[0].toLowerCase();if(Or.includes(t))try{typeof window<"u"&&(window[Zd]=t)}catch{}}function Av(){try{return typeof window<"u"&&window[Zd]||""}catch{return""}}function hn(e,t){const o=a=>{let r=gn[a];for(const s of String(e).split(".")){if(!r||typeof r!="object")return;r=r[s]}return typeof r=="string"?r:void 0},n=Av()||Yd();return o(n)??o("en")}function Xd(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function Dr(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function Gr(e,t={}){const o=typeof t.fallback=="function"?(n,a)=>Xd(t.fallback(Dr(e,n),a)??n,a):(n,a)=>Xd(hn(Dr(e,n))??n,a);try{const n=Pt();return(a,r)=>{const s=Dr(e,a),i=n.t(s,r||{});return i===s?o(a,r):i}}catch{return o}}function _i(e,t={}){const o=Gr(e,t);try{const n=Pt();return{t:o,te:a=>n.te(Dr(e,a)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}function Lt(e,t){const o=To(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:Lv(e));fo(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot))return;const s=r.querySelector(`style[data-shadow-styles="${n}"]`);if(s){s.textContent!==e&&(s.textContent=e);return}const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,r.appendChild(i)})}function Lv(e){let t=0;for(let o=0;ohn(V)||x,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=_i("",{fallback:V=>o[V]}),r=Be("uiStore",null),s=Be("profileConfig",null),i=Q(()=>(r==null?void 0:r.theme)==="dark"),l=Q(()=>{var D;const V=(D=s==null?void 0:s.value)==null?void 0:D.pinHintLabel;if(V)return V;const x="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):x}catch{return x}}),u=be(!1),c=be(!0);let p=null;const d=be(!0);let P=[];const v=["inert","hidden","aria-hidden"];function m(V){const x=[];let D=V;for(;D;)D.nodeType===1&&x.push(D),D=D.parentNode||D.host||null;return x}function g(V){return m(V).some(x=>x.hasAttribute("inert")||x.hasAttribute("hidden")||x.getAttribute("aria-hidden")==="true")}function f(V){const x=()=>{const D=!g(V);D!==d.value&&(d.value=D,D&&jt(N))};if(x(),!(typeof MutationObserver>"u"))for(const D of m(V))try{const Y=new MutationObserver(x);Y.observe(D,{attributes:!0,attributeFilter:v}),P.push(Y)}catch{}}const h=be(null);let b=null,y=null,$=null,L=null,_=null,A=null,C=[],J=null,ae=null;function Z(){u.value=!1}function B(V,x){var Y;let D=V==null?void 0:V.parentElement;for(let re=0;D&&re<12;re++,D=D.parentElement){if(D===x||(Y=D.classList)!=null&&Y.contains("profile-loader"))return null;let H="";try{H=getComputedStyle(D).position}catch{}if(H&&H!=="static"){const pe=D.getBoundingClientRect();if(pe.height>=120&&pe.width>=160)return D}}return null}function de(V){var D;const x=(D=L==null?void 0:L.querySelector)==null?void 0:D.call(L,".legend-mobile-sheet");if(!x)return 1/0;if(_&&A!==x){try{_.disconnect()}catch{}_=null}if(!_&&typeof ResizeObserver<"u")try{_=new ResizeObserver(()=>N()),_.observe(x),A=x}catch{_=null}try{const Y=x.getBoundingClientRect();return!(Y.height>16)||!(Y.width>16)||V.right<=Y.left||Y.right<=V.left?1/0:Y.top}catch{return 1/0}}function N(){const V=h.value;if(!(!V||!c.value||!d.value))try{V.style.removeProperty("--pin-hint-lift");const x=V.getBoundingClientRect();if(!x.height)return;const D=Math.min(window.innerHeight,de(x)),Y=Math.round(x.bottom-D);Y>0&&V.style.setProperty("--pin-hint-lift",Y+8+"px")}catch{}}function I(V){const x=h.value;if(!x||!(V!=null&&V.querySelector))return;let D=0;try{const re=V.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(re){const H=re.getBoundingClientRect(),pe=x.parentElement,le=pe?pe.getBoundingClientRect():null;if(D=le?Math.max(H.height||0,le.bottom-H.top):H.height||0,ae!==re&&typeof ResizeObserver<"u"){if($)try{$.disconnect()}catch{}ae=re,$=new ResizeObserver(()=>I(V)),$.observe(re)}}}catch{}const Y=Math.min(Math.max(Math.ceil(D)||20,20),72);x.style.setProperty("--pin-hint-attrib-clear",Y+"px"),N()}return fo(()=>{var Y,re,H;const V=To(),x=(H=(re=(Y=V==null?void 0:V.proxy)==null?void 0:Y.$el)==null?void 0:re.getRootNode)==null?void 0:H.call(re);if(!x||typeof x.querySelector!="function")return;L=x;let D=0;b=setInterval(()=>{D++;const pe=x.querySelector("canvas");pe?(clearInterval(b),b=null,u.value=!0,jt(()=>{const le=B(pe,x),Pe=h.value;if(le&&Pe&&Pe.parentElement!==le)try{le.appendChild(Pe),y=le}catch{}if(le&&f(le),le&&typeof IntersectionObserver<"u")try{p=new IntersectionObserver(_e=>{const Se=_e[_e.length-1],G=!!Se&&Se.isIntersecting&&Se.intersectionRatio>=.2;G!==c.value&&(c.value=G,G&&jt(N))},{threshold:[0,.2,.5]}),p.observe(le)}catch{}I(x),N(),C.push(setTimeout(N,1200),setTimeout(N,3e3),setTimeout(N,6e3));try{const _e=h.value&&h.value.offsetParent||null;if(_e&&typeof ResizeObserver<"u"){if(J)try{J.disconnect()}catch{}J=new ResizeObserver(()=>N()),J.observe(_e)}}catch{}})):D>40&&(clearInterval(b),b=null)},300)}),Xt(()=>{var V;if(b&&clearInterval(b),p){try{p.disconnect()}catch{}p=null}for(const x of P)try{x.disconnect()}catch{}if(P=[],$){try{$.disconnect()}catch{}$=null}if(ae=null,J){try{J.disconnect()}catch{}J=null}if(_){try{_.disconnect()}catch{}_=null}A=null;for(const x of C)clearTimeout(x);if(C=[],L=null,y&&((V=h.value)==null?void 0:V.parentElement)===y)try{y.removeChild(h.value)}catch{}y=null}),Lt(` + */const ev="9.14.5";function tv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(wa().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(wa().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(wa().__INTLIFY_PROD_DEVTOOLS__=!1)}const ov=E_.__EXTEND_POINT__,Io=Cr(ov);Io(),Io(),Io(),Io(),Io(),Io(),Io(),Io(),Io();const Cd=_o.__EXTEND_POINT__,Wt=Cr(Cd),kt={UNEXPECTED_RETURN_TYPE:Cd,INVALID_ARGUMENT:Wt(),MUST_BE_CALL_SETUP_TOP:Wt(),NOT_INSTALLED:Wt(),NOT_AVAILABLE_IN_LEGACY_MODE:Wt(),REQUIRED_VALUE:Wt(),INVALID_VALUE:Wt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Wt(),NOT_INSTALLED_WITH_PROVIDE:Wt(),UNEXPECTED_ERROR:Wt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Wt(),BRIDGE_SUPPORT_VUE_2_ONLY:Wt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Wt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Wt(),__EXTEND_POINT__:Wt()};function At(e,...t){return In(e,null,void 0)}const gi=Wo("__translateVNode"),hi=Wo("__datetimeParts"),fi=Wo("__numberParts"),Td=Wo("__setPluralRules"),Ed=Wo("__injectWithOption"),mi=Wo("__dispose");function Sa(e){if(!Ye(e)||$o(e))return e;for(const t in e)if(ao(e,t))if(!t.includes("."))Ye(e[t])&&Sa(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:u}=i;l?(s[l]=s[l]||tt(),Er(u,s[l])):Er(u,s)}else we(i)&&Er(JSON.parse(i),s)}),a==null&&r)for(const i in s)ao(s,i)&&Sa(s[i]);return s}function Rd(e){return e.type}function Nd(e,t,o){let n=Ye(t.messages)?t.messages:tt();"__i18nGlobal"in o&&(n=Fr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ye(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ye(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Id(e){return Xe(ga,null,e,0)}const Md="__INTLIFY_META__",Fd=()=>[],nv=()=>!1;let Od=0;function Dd(e){return(t,o,n,a)=>e(o,n,To()||void 0,a)}const av=()=>{const e=To();let t=null;return e&&(t=Rd(e)[Md])?{[Md]:t}:null};function bi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Ar?be:Pn,i=!!e.translateExistCompatible;let l=We(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:we(e.locale)?e.locale:On),c=s(o&&l?o.fallbackLocale.value:we(e.fallbackLocale)||ut(e.fallbackLocale)||Oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),p=s(Fr(u.value,e)),d=s(Oe(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),P=s(Oe(e.numberFormats)?e.numberFormats:{[u.value]:{}});let v=o?o.missingWarn:We(e.missingWarn)||Vo(e.missingWarn)?e.missingWarn:!0,m=o?o.fallbackWarn:We(e.fallbackWarn)||Vo(e.fallbackWarn)?e.fallbackWarn:!0,g=o?o.fallbackRoot:We(e.fallbackRoot)?e.fallbackRoot:!0,f=!!e.fallbackFormat,h=lt(e.missing)?e.missing:null,b=lt(e.missing)?Dd(e.missing):null,y=lt(e.postTranslation)?e.postTranslation:null,$=o?o.warnHtmlMessage:We(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const _=o?o.modifiers:Oe(e.modifiers)?e.modifiers:{};let A=e.pluralRules||o&&o.pluralRules,C;C=(()=>{a&&md(null);const O={version:ev,locale:u.value,fallbackLocale:c.value,messages:p.value,modifiers:_,pluralRules:A,missing:b===null?void 0:b,missingWarn:v,fallbackWarn:m,fallbackFormat:f,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:$,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=d.value,O.numberFormats=P.value,O.__datetimeFormatters=Oe(C)?C.__datetimeFormatters:void 0,O.__numberFormatters=Oe(C)?C.__numberFormatters:void 0;const z=U_(O);return a&&md(z),z})(),xa(C,u.value,c.value);function ae(){return[u.value,c.value,p.value,d.value,P.value]}const Z=Q({get:()=>u.value,set:O=>{u.value=O,C.locale=u.value}}),B=Q({get:()=>c.value,set:O=>{c.value=O,C.fallbackLocale=c.value,xa(C,u.value,O)}}),de=Q(()=>p.value),N=Q(()=>d.value),I=Q(()=>P.value);function V(){return lt(y)?y:null}function x(O){y=O,C.postTranslation=O}function D(){return h}function Y(O){O!==null&&(b=Dd(O)),h=O,C.missing=b}const re=(O,z,ve,Ee,qe,ht)=>{ae();let ot;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=o?H_():void 0),ot=O(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(ve!=="translate exists"&&mt(ot)&&ot===Ir||ve==="translate exists"&&!ot){const[xt,io]=z();return o&&g?Ee(o):qe(xt)}else{if(ht(ot))return ot;throw At(kt.UNEXPECTED_RETURN_TYPE)}};function H(...O){return re(z=>Reflect.apply(_d,null,[z,...O]),()=>ui(...O),"translate",z=>Reflect.apply(z.t,z,[...O]),z=>z,z=>we(z))}function pe(...O){const[z,ve,Ee]=O;if(Ee&&!Ye(Ee))throw At(kt.INVALID_ARGUMENT);return H(z,ve,Nt({resolvedMessage:!0},Ee||{}))}function le(...O){return re(z=>Reflect.apply(kd,null,[z,...O]),()=>di(...O),"datetime format",z=>Reflect.apply(z.d,z,[...O]),()=>cd,z=>we(z))}function Pe(...O){return re(z=>Reflect.apply(Sd,null,[z,...O]),()=>pi(...O),"number format",z=>Reflect.apply(z.n,z,[...O]),()=>cd,z=>we(z))}function _e(O){return O.map(z=>we(z)||mt(z)||We(z)?Id(String(z)):z)}const G={normalize:_e,interpolate:O=>O,type:"vnode"};function he(...O){return re(z=>{let ve;const Ee=z;try{Ee.processor=G,ve=Reflect.apply(_d,null,[Ee,...O])}finally{Ee.processor=null}return ve},()=>ui(...O),"translate",z=>z[gi](...O),z=>[Id(z)],z=>ut(z))}function ue(...O){return re(z=>Reflect.apply(Sd,null,[z,...O]),()=>pi(...O),"number format",z=>z[fi](...O),Fd,z=>we(z)||ut(z))}function fe(...O){return re(z=>Reflect.apply(kd,null,[z,...O]),()=>di(...O),"datetime format",z=>z[hi](...O),Fd,z=>we(z)||ut(z))}function S(O){A=O,C.pluralRules=A}function R(O,z){return re(()=>{if(!O)return!1;const ve=we(z)?z:u.value,Ee=ie(ve),qe=C.messageResolver(Ee,O);return i?qe!=null:$o(qe)||Qt(qe)||we(qe)},()=>[O],"translate exists",ve=>Reflect.apply(ve.te,ve,[O,z]),nv,ve=>We(ve))}function T(O){let z=null;const ve=id(C,c.value,u.value);for(let Ee=0;Ee{l&&(u.value=O,C.locale=O,xa(C,u.value,c.value))}),et(o.fallbackLocale,O=>{l&&(c.value=O,C.fallbackLocale=O,xa(C,u.value,c.value))}));const te={id:Od,locale:Z,fallbackLocale:B,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,xa(C,u.value,c.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:de,get modifiers(){return _},get pluralRules(){return A||{}},get isGlobal(){return a},get missingWarn(){return v},set missingWarn(O){v=O,C.missingWarn=v},get fallbackWarn(){return m},set fallbackWarn(O){m=O,C.fallbackWarn=m},get fallbackRoot(){return g},set fallbackRoot(O){g=O},get fallbackFormat(){return f},set fallbackFormat(O){f=O,C.fallbackFormat=f},get warnHtmlMessage(){return $},set warnHtmlMessage(O){$=O,C.warnHtmlMessage=O},get escapeParameter(){return L},set escapeParameter(O){L=O,C.escapeParameter=O},t:H,getLocaleMessage:ie,setLocaleMessage:se,mergeLocaleMessage:me,getPostTranslationHandler:V,setPostTranslationHandler:x,getMissingHandler:D,setMissingHandler:Y,[Td]:S};return te.datetimeFormats=N,te.numberFormats=I,te.rt=pe,te.te=R,te.tm=X,te.d=le,te.n=Pe,te.getDateTimeFormat=ge,te.setDateTimeFormat=w,te.mergeDateTimeFormat=k,te.getNumberFormat=j,te.setNumberFormat=U,te.mergeNumberFormat=ee,te[Ed]=n,te[gi]=he,te[hi]=fe,te[fi]=ue,te}function rv(e){const t=we(e.locale)?e.locale:On,o=we(e.fallbackLocale)||ut(e.fallbackLocale)||Oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=lt(e.missing)?e.missing:void 0,a=We(e.silentTranslationWarn)||Vo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=We(e.silentFallbackWarn)||Vo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=We(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Oe(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=lt(e.postTranslation)?e.postTranslation:void 0,p=we(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,P=We(e.sync)?e.sync:!0;let v=e.messages;if(Oe(e.sharedMessages)){const L=e.sharedMessages;v=Object.keys(L).reduce((A,C)=>{const J=A[C]||(A[C]={});return Nt(J,L[C]),A},v||{})}const{__i18n:m,__root:g,__injectWithOption:f}=e,h=e.datetimeFormats,b=e.numberFormats,y=e.flatJson,$=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:v,flatJson:y,datetimeFormats:h,numberFormats:b,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:p,escapeParameter:d,messageResolver:e.messageResolver,inheritLocale:P,translateExistCompatible:$,__i18n:m,__root:g,__injectWithOption:f}}function yi(e={},t){{const o=bi(rv(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return We(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=We(r)?!r:r},get silentFallbackWarn(){return We(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=We(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,u={};let c=null,p=null;if(!we(s))throw At(kt.INVALID_ARGUMENT);const d=s;return we(i)?u.locale=i:ut(i)?c=i:Oe(i)&&(p=i),ut(l)?c=l:Oe(l)&&(p=l),Reflect.apply(o.t,o,[d,c||p||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,p=null;if(!we(s))throw At(kt.INVALID_ARGUMENT);const d=s;return we(i)?u.locale=i:mt(i)?u.plural=i:ut(i)?c=i:Oe(i)&&(p=i),we(l)?u.locale=l:ut(l)?c=l:Oe(l)&&(p=l),Reflect.apply(o.t,o,[d,c||p||{},u])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const $i={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function sv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ge?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},tt())}function Gd(e){return Ge}const zd=ca({name:"i18n-t",props:Nt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>mt(e)||!isNaN(e)}},$i),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=tt();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=we(e.plural)?+e.plural:e.plural);const i=sv(t,r),l=a[gi](e.keypath,i,s),u=Nt(tt(),n),c=we(e.tag)||Ye(e.tag)?e.tag:Gd();return iu(c,u,l)}}});function iv(e){return ut(e)&&!we(e[0])}function Bd(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=tt();e.locale&&(s.locale=e.locale),we(e.format)?s.key=e.format:Ye(e.format)&&(we(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((d,P)=>o.includes(P)?Nt(tt(),d,{[P]:e.format[P]}):d,tt()));const l=n(e.value,s,i);let u=[s.key];ut(l)?u=l.map((d,P)=>{const v=a[d.type],m=v?v({[d.type]:d.value,index:P,parts:l}):[d.value];return iv(m)&&(m[0].key=`${d.type}-${P}`),m}):we(l)&&(u=[l]);const c=Nt(tt(),r),p=we(e.tag)||Ye(e.tag)?e.tag:Gd();return iu(p,c,u)}}const Hd=ca({name:"i18n-n",props:Nt({value:{type:Number,required:!0},format:{type:[String,Object]}},$i),setup(e,t){const o=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return Bd(e,t,Ad,(...n)=>o[fi](...n))}}),Ud=ca({name:"i18n-d",props:Nt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},$i),setup(e,t){const o=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return Bd(e,t,Pd,(...n)=>o[hi](...n))}});function lv(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function cv(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw At(kt.UNEXPECTED_ERROR);const c=lv(e,i.$),p=jd(u);return[Reflect.apply(c.t,c,[...Wd(p)]),c]};return{created:(s,i)=>{const[l,u]=t(i);Ar&&e.global===u&&(s.__i18nWatcher=et(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{Ar&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,u=jd(i);s.textContent=Reflect.apply(l.t,l,[...Wd(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function jd(e){if(we(e))return{path:e};if(Oe(e)){if(!("path"in e))throw At(kt.REQUIRED_VALUE,"path");return e}else throw At(kt.INVALID_VALUE)}function Wd(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return we(o)&&(s.locale=o),mt(a)&&(s.plural=a),mt(r)&&(s.plural=r),[t,i,s]}function uv(e,t,...o){const n=Oe(o[0])?o[0]:{},a=!!n.useI18nComponentName;(We(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":zd.name,"I18nT"].forEach(s=>e.component(s,zd)),[Hd.name,"I18nN"].forEach(s=>e.component(s,Hd)),[Ud.name,"I18nD"].forEach(s=>e.component(s,Ud))),e.directive("t",cv(t))}function dv(e,t,o){return{beforeCreate(){const n=To();if(!n)throw At(kt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=Vd(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=yi(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Vd(e,a);else{this.$i18n=yi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Nd(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=To();if(!n)throw At(kt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Vd(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Td](t.pluralizationRules||e.pluralizationRules);const o=Fr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const pv=Wo("global-vue-i18n");function gv(e={},t){const o=__VUE_I18N_LEGACY_API__&&We(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=We(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=hv(e,o),l=Wo("");function u(d){return r.get(d)||null}function c(d,P){r.set(d,P)}function p(d){r.delete(d)}{const d={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(P,...v){if(P.__VUE_I18N_SYMBOL__=l,P.provide(P.__VUE_I18N_SYMBOL__,d),Oe(v[0])){const f=v[0];d.__composerExtend=f.__composerExtend,d.__vueI18nExtend=f.__vueI18nExtend}let m=null;!o&&n&&(m=kv(P,d.global)),__VUE_I18N_FULL_INSTALL__&&uv(P,d,...v),__VUE_I18N_LEGACY_API__&&o&&P.mixin(dv(i,i.__composer,d));const g=P.unmount;P.unmount=()=>{m&&m(),d.dispose(),g()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:p};return d}}function Pt(e={}){const t=To();if(t==null)throw At(kt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw At(kt.NOT_INSTALLED);const o=fv(t),n=bv(o),a=Rd(t),r=mv(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw At(kt.NOT_AVAILABLE_IN_LEGACY_MODE);return vv(t,r,n,e)}if(r==="global")return Nd(n,e,a),n;if(r==="parent"){let l=yv(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Nt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=bi(l),s.__composerExtend&&(i[mi]=s.__composerExtend(i)),_v(s,t,i),s.__setInstance(t,i)}return i}function hv(e,t,o){const n=Ja();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>yi(e)):n.run(()=>bi(e));if(a==null)throw At(kt.UNEXPECTED_ERROR);return[n,a]}}function fv(e){{const t=Be(e.isCE?pv:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw At(e.isCE?kt.NOT_INSTALLED_WITH_PROVIDE:kt.UNEXPECTED_ERROR);return t}}function mv(e,t){return Lr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function bv(e){return e.mode==="composition"?e.global:e.global.__composer}function yv(e,t,o=!1){let n=null;const a=t.root;let r=$v(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Ed]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function $v(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function _v(e,t,o){fo(()=>{},t),fr(()=>{const n=o;e.__deleteInstance(t);const a=n[mi];a&&(a(),delete n[mi])},t)}function vv(e,t,o,n={}){const a=t==="local",r=Pn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw At(kt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=We(n.inheritLocale)?n.inheritLocale:!we(n.locale),i=be(!a||s?o.locale.value:we(n.locale)?n.locale:On),l=be(!a||s?o.fallbackLocale.value:we(n.fallbackLocale)||ut(n.fallbackLocale)||Oe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=be(Fr(i.value,n)),c=be(Oe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=be(Oe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),d=a?o.missingWarn:We(n.missingWarn)||Vo(n.missingWarn)?n.missingWarn:!0,P=a?o.fallbackWarn:We(n.fallbackWarn)||Vo(n.fallbackWarn)?n.fallbackWarn:!0,v=a?o.fallbackRoot:We(n.fallbackRoot)?n.fallbackRoot:!0,m=!!n.fallbackFormat,g=lt(n.missing)?n.missing:null,f=lt(n.postTranslation)?n.postTranslation:null,h=a?o.warnHtmlMessage:We(n.warnHtmlMessage)?n.warnHtmlMessage:!0,b=!!n.escapeParameter,y=a?o.modifiers:Oe(n.modifiers)?n.modifiers:{},$=n.pluralRules||a&&o.pluralRules;function L(){return[i.value,l.value,u.value,c.value,p.value]}const _=Q({get:()=>r.value?r.value.locale.value:i.value,set:T=>{r.value&&(r.value.locale.value=T),i.value=T}}),A=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:T=>{r.value&&(r.value.fallbackLocale.value=T),l.value=T}}),C=Q(()=>r.value?r.value.messages.value:u.value),J=Q(()=>c.value),ae=Q(()=>p.value);function Z(){return r.value?r.value.getPostTranslationHandler():f}function B(T){r.value&&r.value.setPostTranslationHandler(T)}function de(){return r.value?r.value.getMissingHandler():g}function N(T){r.value&&r.value.setMissingHandler(T)}function I(T){return L(),T()}function V(...T){return r.value?I(()=>Reflect.apply(r.value.t,null,[...T])):I(()=>"")}function x(...T){return r.value?Reflect.apply(r.value.rt,null,[...T]):""}function D(...T){return r.value?I(()=>Reflect.apply(r.value.d,null,[...T])):I(()=>"")}function Y(...T){return r.value?I(()=>Reflect.apply(r.value.n,null,[...T])):I(()=>"")}function re(T){return r.value?r.value.tm(T):{}}function H(T,X){return r.value?r.value.te(T,X):!1}function pe(T){return r.value?r.value.getLocaleMessage(T):{}}function le(T,X){r.value&&(r.value.setLocaleMessage(T,X),u.value[T]=X)}function Pe(T,X){r.value&&r.value.mergeLocaleMessage(T,X)}function _e(T){return r.value?r.value.getDateTimeFormat(T):{}}function Se(T,X){r.value&&(r.value.setDateTimeFormat(T,X),c.value[T]=X)}function G(T,X){r.value&&r.value.mergeDateTimeFormat(T,X)}function he(T){return r.value?r.value.getNumberFormat(T):{}}function ue(T,X){r.value&&(r.value.setNumberFormat(T,X),p.value[T]=X)}function fe(T,X){r.value&&r.value.mergeNumberFormat(T,X)}const S={get id(){return r.value?r.value.id:-1},locale:_,fallbackLocale:A,messages:C,datetimeFormats:J,numberFormats:ae,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(T){r.value&&(r.value.inheritLocale=T)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:y},get pluralRules(){return r.value?r.value.pluralRules:$},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:d},set missingWarn(T){r.value&&(r.value.missingWarn=T)},get fallbackWarn(){return r.value?r.value.fallbackWarn:P},set fallbackWarn(T){r.value&&(r.value.missingWarn=T)},get fallbackRoot(){return r.value?r.value.fallbackRoot:v},set fallbackRoot(T){r.value&&(r.value.fallbackRoot=T)},get fallbackFormat(){return r.value?r.value.fallbackFormat:m},set fallbackFormat(T){r.value&&(r.value.fallbackFormat=T)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:h},set warnHtmlMessage(T){r.value&&(r.value.warnHtmlMessage=T)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(T){r.value&&(r.value.escapeParameter=T)},t:V,getPostTranslationHandler:Z,setPostTranslationHandler:B,getMissingHandler:de,setMissingHandler:N,rt:x,d:D,n:Y,tm:re,te:H,getLocaleMessage:pe,setLocaleMessage:le,mergeLocaleMessage:Pe,getDateTimeFormat:_e,setDateTimeFormat:Se,mergeDateTimeFormat:G,getNumberFormat:he,setNumberFormat:ue,mergeNumberFormat:fe};function R(T){T.locale.value=i.value,T.fallbackLocale.value=l.value,Object.keys(u.value).forEach(X=>{T.mergeLocaleMessage(X,u.value[X])}),Object.keys(c.value).forEach(X=>{T.mergeDateTimeFormat(X,c.value[X])}),Object.keys(p.value).forEach(X=>{T.mergeNumberFormat(X,p.value[X])}),T.escapeParameter=b,T.fallbackFormat=m,T.fallbackRoot=v,T.fallbackWarn=P,T.missingWarn=d,T.warnHtmlMessage=h}return xc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw At(kt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const T=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=T.locale.value,l.value=T.fallbackLocale.value,u.value=T.messages.value,c.value=T.datetimeFormats.value,p.value=T.numberFormats.value):a&&R(T)}),S}const wv=["locale","fallbackLocale","availableLocales"],Kd=["t","rt","d","n","tm","te"];function kv(e,t){const o=Object.create(null);return wv.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw At(kt.UNEXPECTED_ERROR);const s=ct(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Kd.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw At(kt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Kd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(tv(),O_(Y_),D_(b_),G_(id),__INTLIFY_PROD_DEVTOOLS__){const e=wa();e.__INTLIFY__=!0,S_(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Pv=Object.assign({"./locales/ar/aria.json":Vm,"./locales/ar/buttons.json":Km,"./locales/ar/detail.json":qm,"./locales/ar/gospel.json":Ym,"./locales/ar/grid.json":Zm,"./locales/ar/legend.json":Jm,"./locales/ar/lists.json":Xm,"./locales/ar/mapui.json":Qm,"./locales/ar/messages.json":eb,"./locales/ar/pins.json":tb,"./locales/ar/poster.json":ob,"./locales/ar/regions.json":nb,"./locales/ar/religion.json":ab,"./locales/ar/search.json":rb,"./locales/ar/share.json":sb,"./locales/ar/tabs.json":ib,"./locales/ar/wall.json":lb,"./locales/de/aria.json":cb,"./locales/de/buttons.json":ub,"./locales/de/detail.json":db,"./locales/de/gospel.json":pb,"./locales/de/grid.json":gb,"./locales/de/legend.json":hb,"./locales/de/lists.json":fb,"./locales/de/mapui.json":mb,"./locales/de/messages.json":bb,"./locales/de/pins.json":yb,"./locales/de/poster.json":$b,"./locales/de/regions.json":_b,"./locales/de/religion.json":vb,"./locales/de/search.json":wb,"./locales/de/share.json":kb,"./locales/de/tabs.json":Pb,"./locales/de/wall.json":xb,"./locales/en/aria.json":Sb,"./locales/en/buttons.json":Ab,"./locales/en/detail.json":Lb,"./locales/en/gospel.json":Cb,"./locales/en/grid.json":Tb,"./locales/en/legend.json":Eb,"./locales/en/lists.json":Rb,"./locales/en/mapui.json":Nb,"./locales/en/messages.json":Ib,"./locales/en/pins.json":Mb,"./locales/en/poster.json":Fb,"./locales/en/regions.json":Ob,"./locales/en/religion.json":Db,"./locales/en/search.json":Gb,"./locales/en/share.json":zb,"./locales/en/tabs.json":Bb,"./locales/en/wall.json":Hb,"./locales/es/aria.json":Ub,"./locales/es/buttons.json":jb,"./locales/es/detail.json":Wb,"./locales/es/gospel.json":Vb,"./locales/es/grid.json":Kb,"./locales/es/legend.json":qb,"./locales/es/lists.json":Yb,"./locales/es/mapui.json":Zb,"./locales/es/messages.json":Jb,"./locales/es/pins.json":Xb,"./locales/es/poster.json":Qb,"./locales/es/regions.json":ey,"./locales/es/religion.json":ty,"./locales/es/search.json":oy,"./locales/es/share.json":ny,"./locales/es/tabs.json":ay,"./locales/es/wall.json":ry,"./locales/fr/aria.json":sy,"./locales/fr/buttons.json":iy,"./locales/fr/detail.json":ly,"./locales/fr/gospel.json":cy,"./locales/fr/grid.json":uy,"./locales/fr/legend.json":dy,"./locales/fr/lists.json":py,"./locales/fr/mapui.json":gy,"./locales/fr/messages.json":hy,"./locales/fr/pins.json":fy,"./locales/fr/poster.json":my,"./locales/fr/regions.json":by,"./locales/fr/religion.json":yy,"./locales/fr/search.json":$y,"./locales/fr/share.json":_y,"./locales/fr/tabs.json":vy,"./locales/fr/wall.json":wy,"./locales/hi/aria.json":ky,"./locales/hi/buttons.json":Py,"./locales/hi/detail.json":xy,"./locales/hi/gospel.json":Sy,"./locales/hi/grid.json":Ay,"./locales/hi/legend.json":Ly,"./locales/hi/lists.json":Cy,"./locales/hi/mapui.json":Ty,"./locales/hi/messages.json":Ey,"./locales/hi/pins.json":Ry,"./locales/hi/poster.json":Ny,"./locales/hi/regions.json":Iy,"./locales/hi/religion.json":My,"./locales/hi/search.json":Fy,"./locales/hi/share.json":Oy,"./locales/hi/tabs.json":Dy,"./locales/hi/wall.json":Gy,"./locales/it/aria.json":zy,"./locales/it/buttons.json":By,"./locales/it/detail.json":Hy,"./locales/it/gospel.json":Uy,"./locales/it/grid.json":jy,"./locales/it/legend.json":Wy,"./locales/it/lists.json":Vy,"./locales/it/mapui.json":Ky,"./locales/it/messages.json":qy,"./locales/it/pins.json":Yy,"./locales/it/poster.json":Zy,"./locales/it/regions.json":Jy,"./locales/it/religion.json":Xy,"./locales/it/search.json":Qy,"./locales/it/share.json":e$,"./locales/it/tabs.json":t$,"./locales/it/wall.json":o$,"./locales/pt/aria.json":n$,"./locales/pt/buttons.json":a$,"./locales/pt/detail.json":r$,"./locales/pt/gospel.json":s$,"./locales/pt/grid.json":i$,"./locales/pt/legend.json":l$,"./locales/pt/lists.json":c$,"./locales/pt/mapui.json":u$,"./locales/pt/messages.json":d$,"./locales/pt/pins.json":p$,"./locales/pt/poster.json":g$,"./locales/pt/regions.json":h$,"./locales/pt/religion.json":f$,"./locales/pt/search.json":m$,"./locales/pt/share.json":b$,"./locales/pt/tabs.json":y$,"./locales/pt/wall.json":$$,"./locales/ro/aria.json":_$,"./locales/ro/buttons.json":v$,"./locales/ro/detail.json":w$,"./locales/ro/gospel.json":k$,"./locales/ro/grid.json":P$,"./locales/ro/legend.json":x$,"./locales/ro/lists.json":S$,"./locales/ro/mapui.json":A$,"./locales/ro/messages.json":L$,"./locales/ro/pins.json":C$,"./locales/ro/poster.json":T$,"./locales/ro/regions.json":E$,"./locales/ro/religion.json":R$,"./locales/ro/search.json":N$,"./locales/ro/share.json":I$,"./locales/ro/tabs.json":M$,"./locales/ro/wall.json":F$,"./locales/ru/aria.json":O$,"./locales/ru/buttons.json":D$,"./locales/ru/detail.json":G$,"./locales/ru/gospel.json":z$,"./locales/ru/grid.json":B$,"./locales/ru/legend.json":H$,"./locales/ru/lists.json":U$,"./locales/ru/mapui.json":j$,"./locales/ru/messages.json":W$,"./locales/ru/pins.json":V$,"./locales/ru/poster.json":K$,"./locales/ru/regions.json":q$,"./locales/ru/religion.json":Y$,"./locales/ru/search.json":Z$,"./locales/ru/share.json":J$,"./locales/ru/tabs.json":X$,"./locales/ru/wall.json":Q$,"./locales/zh/aria.json":e0,"./locales/zh/buttons.json":t0,"./locales/zh/detail.json":o0,"./locales/zh/gospel.json":n0,"./locales/zh/grid.json":a0,"./locales/zh/legend.json":r0,"./locales/zh/lists.json":s0,"./locales/zh/mapui.json":i0,"./locales/zh/messages.json":l0,"./locales/zh/pins.json":c0,"./locales/zh/poster.json":u0,"./locales/zh/regions.json":d0,"./locales/zh/religion.json":p0,"./locales/zh/search.json":g0,"./locales/zh/share.json":h0,"./locales/zh/tabs.json":f0,"./locales/zh/wall.json":m0}),gn={};for(const[e,t]of Object.entries(Pv)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;gn[n]??(gn[n]={}),gn[n][a]=t}gn.en;const Or=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],qd=new Set(["ar"]);function xv(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Yd(){var n;const e=xv();if(Or.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Or.includes(o)?o:"en"}function Sv(){const e=Yd();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&qd.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=Ja(!0),o=t.run(()=>gv({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:gn,missingWarn:!1,fallbackWarn:!1}));t.run(()=>et(o.global.locale,a=>Jd(a),{immediate:!0}));const n=o.install.bind(o);return o.install=(a,...r)=>{const s=n(a,...r);a.provide("appI18n",o);const i=a.provide.bind(a);return a.provide=(l,u)=>l==="appI18n"&&u===o?a:i(l,u),s},o}const Zd="__DOXA_PAGE_LOCALE";function Jd(e){const t=String(e||"").split("-")[0].toLowerCase();if(Or.includes(t))try{typeof window<"u"&&(window[Zd]=t)}catch{}}function Av(){try{return typeof window<"u"&&window[Zd]||""}catch{return""}}function hn(e,t){const o=a=>{let r=gn[a];for(const s of String(e).split(".")){if(!r||typeof r!="object")return;r=r[s]}return typeof r=="string"?r:void 0},n=Av()||Yd();return o(n)??o("en")}function Xd(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function Dr(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function Gr(e,t={}){const o=typeof t.fallback=="function"?(n,a)=>Xd(t.fallback(Dr(e,n),a)??n,a):(n,a)=>Xd(hn(Dr(e,n))??n,a);try{const n=Pt();return(a,r)=>{const s=Dr(e,a),i=n.t(s,r||{});return i===s?o(a,r):i}}catch{return o}}function _i(e,t={}){const o=Gr(e,t);try{const n=Pt();return{t:o,te:a=>n.te(Dr(e,a)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}function Lt(e,t){const o=To(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:Cv(e));fo(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot))return;if(!r.querySelector('style[data-shadow-styles="reduced-motion"]')){const u=document.createElement("style");u.setAttribute("data-shadow-styles","reduced-motion"),u.textContent=Lv,r.appendChild(u)}const s=r.querySelector(`style[data-shadow-styles="${n}"]`);if(s){s.textContent!==e&&(s.textContent=e);return}const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,r.appendChild(i)})}const Lv=`@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +}`;function Cv(e){let t=0;for(let o=0;ohn(V)||x,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=_i("",{fallback:V=>o[V]}),r=Be("uiStore",null),s=Be("profileConfig",null),i=Q(()=>(r==null?void 0:r.theme)==="dark"),l=Q(()=>{var D;const V=(D=s==null?void 0:s.value)==null?void 0:D.pinHintLabel;if(V)return V;const x="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):x}catch{return x}}),u=be(!1),c=be(!0);let p=null;const d=be(!0);let P=[];const v=["inert","hidden","aria-hidden"];function m(V){const x=[];let D=V;for(;D;)D.nodeType===1&&x.push(D),D=D.parentNode||D.host||null;return x}function g(V){return m(V).some(x=>x.hasAttribute("inert")||x.hasAttribute("hidden")||x.getAttribute("aria-hidden")==="true")}function f(V){const x=()=>{const D=!g(V);D!==d.value&&(d.value=D,D&&jt(N))};if(x(),!(typeof MutationObserver>"u"))for(const D of m(V))try{const Y=new MutationObserver(x);Y.observe(D,{attributes:!0,attributeFilter:v}),P.push(Y)}catch{}}const h=be(null);let b=null,y=null,$=null,L=null,_=null,A=null,C=[],J=null,ae=null;function Z(){u.value=!1}function B(V,x){var Y;let D=V==null?void 0:V.parentElement;for(let re=0;D&&re<12;re++,D=D.parentElement){if(D===x||(Y=D.classList)!=null&&Y.contains("profile-loader"))return null;let H="";try{H=getComputedStyle(D).position}catch{}if(H&&H!=="static"){const pe=D.getBoundingClientRect();if(pe.height>=120&&pe.width>=160)return D}}return null}function de(V){var D;const x=(D=L==null?void 0:L.querySelector)==null?void 0:D.call(L,".legend-mobile-sheet");if(!x)return 1/0;if(_&&A!==x){try{_.disconnect()}catch{}_=null}if(!_&&typeof ResizeObserver<"u")try{_=new ResizeObserver(()=>N()),_.observe(x),A=x}catch{_=null}try{const Y=x.getBoundingClientRect();return!(Y.height>16)||!(Y.width>16)||V.right<=Y.left||Y.right<=V.left?1/0:Y.top}catch{return 1/0}}function N(){const V=h.value;if(!(!V||!c.value||!d.value))try{V.style.removeProperty("--pin-hint-lift");const x=V.getBoundingClientRect();if(!x.height)return;const D=Math.min(window.innerHeight,de(x)),Y=Math.round(x.bottom-D);Y>0&&V.style.setProperty("--pin-hint-lift",Y+8+"px")}catch{}}function I(V){const x=h.value;if(!x||!(V!=null&&V.querySelector))return;let D=0;try{const re=V.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(re){const H=re.getBoundingClientRect(),pe=x.parentElement,le=pe?pe.getBoundingClientRect():null;if(D=le?Math.max(H.height||0,le.bottom-H.top):H.height||0,ae!==re&&typeof ResizeObserver<"u"){if($)try{$.disconnect()}catch{}ae=re,$=new ResizeObserver(()=>I(V)),$.observe(re)}}}catch{}const Y=Math.min(Math.max(Math.ceil(D)||20,20),72);x.style.setProperty("--pin-hint-attrib-clear",Y+"px"),N()}return fo(()=>{var Y,re,H;const V=To(),x=(H=(re=(Y=V==null?void 0:V.proxy)==null?void 0:Y.$el)==null?void 0:re.getRootNode)==null?void 0:H.call(re);if(!x||typeof x.querySelector!="function")return;L=x;let D=0;b=setInterval(()=>{D++;const pe=x.querySelector("canvas");pe?(clearInterval(b),b=null,u.value=!0,jt(()=>{const le=B(pe,x),Pe=h.value;if(le&&Pe&&Pe.parentElement!==le)try{le.appendChild(Pe),y=le}catch{}if(le&&f(le),le&&typeof IntersectionObserver<"u")try{p=new IntersectionObserver(_e=>{const Se=_e[_e.length-1],G=!!Se&&Se.isIntersecting&&Se.intersectionRatio>=.2;G!==c.value&&(c.value=G,G&&jt(N))},{threshold:[0,.2,.5]}),p.observe(le)}catch{}I(x),N(),C.push(setTimeout(N,1200),setTimeout(N,3e3),setTimeout(N,6e3));try{const _e=h.value&&h.value.offsetParent||null;if(_e&&typeof ResizeObserver<"u"){if(J)try{J.disconnect()}catch{}J=new ResizeObserver(()=>N()),J.observe(_e)}}catch{}})):D>40&&(clearInterval(b),b=null)},300)}),Xt(()=>{var V;if(b&&clearInterval(b),p){try{p.disconnect()}catch{}p=null}for(const x of P)try{x.disconnect()}catch{}if(P=[],$){try{$.disconnect()}catch{}$=null}if(ae=null,J){try{J.disconnect()}catch{}J=null}if(_){try{_.disconnect()}catch{}_=null}A=null;for(const x of C)clearTimeout(x);if(C=[],L=null,y&&((V=h.value)==null?void 0:V.parentElement)===y)try{y.removeChild(h.value)}catch{}y=null}),Lt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -71,7 +78,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(V,x)=>u.value?Ps((K(),ne("div",{key:0,ref_key:"hintEl",ref:h,class:De(["pin-hint",{dark:i.value}]),role:"status"},[E("span",Cv,[x[0]||(x[0]=E("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),vt(" "+ce(l.value)+" ",1),E("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:Z},"×",8,Tv)])],2)),[[pu,c.value&&d.value]]):ke("",!0)}},Rv=!1;let Nv=0;const Iv=Js("ui",{state:()=>({_storeInstanceId:++Nv,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Mv=Js("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Fv=Js("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=an({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=an({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Aa={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Ov=".profile-loader[data-v-01687ae5]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-01687ae5]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Dn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Dv=["dir"],Gv={key:0,class:"profile-error"},zv={key:1,class:"profile-error"},Bv=Dn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var L;const o=e,n=Be("profileConfig",null),a=Q(()=>{var A;if(!o.profileConfig)return null;let _;try{_=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(_&&_.assetsBase===void 0){const C=(A=n==null?void 0:n.value)==null?void 0:A.assetsBase;typeof C=="string"&&C&&(_.assetsBase=C)}return _}),r=Q(()=>{var _;return((_=a.value)==null?void 0:_.profile)||null}),s=jm(),i=Q(()=>{var A;const _=(A=a.value)==null?void 0:A.tk;return typeof _=="string"&&_?_:s.value||""});et(()=>{var _;return(_=a.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&ei(_)},{immediate:!0}),et(()=>{var _;return(_=a.value)==null?void 0:_.tokenUrl},_=>{var A;_&&!((A=a.value)!=null&&A.tk)&&!s.value&&Wm(_)},{immediate:!0});const l=Q(()=>{var _;return((_=a.value)==null?void 0:_.dataSource)||Aa.activeSource}),u=Q(()=>{var _;return((_=a.value)==null?void 0:_.colorSet)||"default"}),c=Q(()=>!1),p=Q(()=>{var _;return((_=a.value)==null?void 0:_.pinHint)!==!1}),d=Q(()=>{var A,C;const _=(((A=a.value)==null?void 0:A.locale)||((C=a.value)==null?void 0:C.lang)||"").split("-")[0].toLowerCase();return Or.includes(_)?_:""}),P=Be("appI18n",null);Qh(()=>{d.value&&(P&&(P.global.locale.value=d.value),Jd(d.value))});const v=Q(()=>{var _,A;return d.value||((A=(_=P==null?void 0:P.global)==null?void 0:_.locale)==null?void 0:A.value)||"en"}),m=Q(()=>qd.has(v.value)?"rtl":"ltr"),g=Q(()=>{var _;return((_=a.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),f=Be("profileModules",null);if(!f)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const h=Q(()=>{if(!r.value)return null;const _=`./${r.value}.vue`;return f[_]?Mu(f[_]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(f)),null)});zt("mapboxToken",i),zt("dataSource",l),zt("colorSet",u),zt("profileConfig",a),zt("instanceId",g),zt("lang",v);const b=Iv(),y=Mv(),$=Fv();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((L=b.setTheme)==null||L.call(b,_))}catch{}return zt("uiStore",b),zt("mapStore",y),zt("dataStore",$),(_,A)=>(K(),ne("div",{class:"profile-loader",dir:m.value},[a.value?h.value?(K(),it(Es(h.value),{key:2})):(K(),ne("div",zv,[E("p",null,[A[1]||(A[1]=vt("⚠️ Profile ",-1)),E("strong",null,'"'+ce(r.value)+'"',1),A[2]||(A[2]=vt(" not found.",-1))])])):(K(),ne("div",Gv,[...A[0]||(A[0]=[E("p",null,[vt("⚠️ "),E("strong",null,"doxa-map"),vt(": missing or invalid "),E("code",null,"profile-config"),vt(" prop.")],-1),E("p",null,[vt("Example: "),E("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),h.value&&c.value?(K(),it(Es(ye(null)),{key:3})):ke("",!0),h.value&&p.value?(K(),it(Ev,{key:4})):ke("",!0)],8,Dv))}},[["styles",[Ov]],["__scopeId","data-v-01687ae5"]]),Hv=Object.assign({"./poster-wall.vue":()=>yt(()=>Promise.resolve().then(()=>z1),void 0),"./upg-100-list.vue":()=>yt(()=>Promise.resolve().then(()=>MS),void 0),"./upg-100-mfe.vue":()=>yt(()=>Promise.resolve().then(()=>gA),void 0)});function Uv(){return Am(Bv,{configureApp(e){e.use(Dm()),e.use(Sv()),e.provide("profileModules",Hv)}})}const jv=Uv();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",jv));const vi={default:"doxa",lists:[{id:"doxa",aliases:["2000","project-2000"],label:"Project 2000: DOXA's people groups",definition:"The people groups DOXA serves, as its live list gives them",source:"doxa",filter:null},{id:"unreached",aliases:["7000","project-7000"],label:"Project 7000: unreached people groups",definition:"IMB Lostness Priority 0-2 (Frontier, Pioneer or Expanding Unreached: under 2% evangelical)",source:"imb",filter:{lostness:[0,1,2]}},{id:"frontier",aliases:["4700","project-4700"],label:"Project 4700: frontier people groups",definition:"IMB Lostness Priority 0 (Frontier Unreached: 0.1% evangelical or less)",source:"imb",filter:{lostness:[0]}},{id:"frontier-500k",aliases:["700","project-700"],label:"Project 700: frontier people groups of 500,000 or more",definition:"IMB Lostness Priority 0 and Population of at least 500,000",source:"imb",filter:{lostness:[0],minPopulation:5e5}},{id:"unengaged",aliases:[],label:"Unengaged unreached people groups",definition:"IMB Lostness Priority 0-2 and Engagement Status Unengaged",source:"imb",filter:{lostness:[0,1,2],engagement:["Unengaged"]}}]},Wv=$n&&$n.tagName.toUpperCase()==="SCRIPT"&&$n.src||new URL("my-upg-100-list.js",document.baseURI).href,Zo=e=>String(e||"").trim().replace(/\/+$/,"");function wi(){try{const t=String(Wv||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Vv(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Zo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Zo(o)}return Zo(wi()||"")}function Gn(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Zo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Zo((e==null?void 0:e.treeBase)||"")||Zo(wi()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Zo(new URL(o+"/assets",n).href)}catch{return Zo(o+"/assets")}return"./assets"}function Kv({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return a?window.location.origin+s:s;const i=Vv(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const La=vi.default,ki=new Map;for(const e of vi.lists){ki.set(e.id,e);for(const t of e.aliases||[])ki.set(String(t).toLowerCase(),e)}function Qd(e){return ki.get(String(e??"").toLowerCase().trim())||null}function ep(e){let t=e;if(t&&typeof t=="object"&&"value"in t&&!("list"in t)&&!("profile"in t)&&(t=t.value),typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return t&&typeof t=="object"?t:null}const tp=new Set;function op(e){const t=ep(e),o=t==null?void 0:t.list,n=typeof location<"u"?new URLSearchParams(location.search).get("list"):null,a=typeof window<"u"?window.MAP_LIST:void 0,r=o||n||a||La,s=Qd(r);return s?s.id:(tp.has(r)||(tp.add(r),console.warn(`[list] unknown people-group list "${r}", showing "${La}". Known: ${vi.lists.map(i=>i.id).join(", ")}`)),La)}const zr=new Map;function qv(e,t){const o=`${Gn(ep(t))}/people-groups/lists/${e}.json`;return zr.has(o)||zr.set(o,fetch(o).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.json()}).then(n=>new Set(Array.isArray(n==null?void 0:n.slugs)?n.slugs:[])).catch(n=>{throw zr.delete(o),new Error(`list "${e}" membership ${o}: ${n.message}`)})),zr.get(o)}async function Ca(e,t,{key:o=n=>n==null?void 0:n.slug}={}){const n=op(t);if(n===La||!Array.isArray(e))return e;try{const a=await qv(n,t);return e.filter(r=>a.has(o(r)))}catch(a){return console.error(`[list] ${a.message}. Showing no people groups rather than the wrong list.`),[]}}function Ta(e,{autoprint:t=!1}={}){const o=document.createElement("iframe");o.setAttribute("aria-hidden","true"),o.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(o);const n=o.contentDocument;if(!n)return o.remove(),null;n.open(),n.write(e),t&&n.write(' - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +