From b65c764d869bcdc892459685f41b722de70f35e8 Mon Sep 17 00:00:00 2001 From: ahillbilly Date: Wed, 17 Jun 2026 11:04:19 +0100 Subject: [PATCH] Update prayer coverage threshold and status display (#15) * Update daily prayer coverage threshold * Show segmented prayer coverage status * update prayer progress map legend wording relabel map legend tiers to "No One Praying", "1+ People Praying", and "100+ People Praying" across all 11 locale legend files update LABELS constant and tier comments in prayer-progress strategy rebuild doxa-simple-map and doxa-research-map bundles --------- Co-authored-by: corsacca --- app/components/public/UupgsList.vue | 2 +- app/pages/pray.vue | 119 ++++++++++++++++-- app/pages/research/[slug]/index.vue | 4 +- .../color-strategies/prayer-progress.js | 22 ++-- .../1040-maps/src/i18n/locales/ar/legend.json | 6 +- .../1040-maps/src/i18n/locales/de/legend.json | 6 +- .../1040-maps/src/i18n/locales/en/legend.json | 6 +- .../1040-maps/src/i18n/locales/es/legend.json | 6 +- .../1040-maps/src/i18n/locales/fr/legend.json | 6 +- .../1040-maps/src/i18n/locales/hi/legend.json | 6 +- .../1040-maps/src/i18n/locales/it/legend.json | 6 +- .../1040-maps/src/i18n/locales/pt/legend.json | 6 +- .../1040-maps/src/i18n/locales/ro/legend.json | 6 +- .../1040-maps/src/i18n/locales/ru/legend.json | 6 +- .../1040-maps/src/i18n/locales/zh/legend.json | 6 +- i18n/locales/ar/common.json | 11 +- i18n/locales/de/common.json | 11 +- i18n/locales/en/common.json | 11 +- i18n/locales/es/common.json | 11 +- i18n/locales/fr/common.json | 11 +- i18n/locales/hi/common.json | 11 +- i18n/locales/pt/common.json | 11 +- i18n/locales/ru/common.json | 11 +- public/js/doxa-research-map.js | 4 +- public/js/doxa-simple-map.js | 52 ++++---- server/api/people-groups/statistics.get.ts | 31 ++++- 26 files changed, 272 insertions(+), 116 deletions(-) diff --git a/app/components/public/UupgsList.vue b/app/components/public/UupgsList.vue index 1d41a122..3f18ccea 100644 --- a/app/components/public/UupgsList.vue +++ b/app/components/public/UupgsList.vue @@ -600,7 +600,7 @@ const showMore = computed(() => hasMore())

{{ t.prayer_coverage }}:

-

{{ uupg.people_committed ?? 0 }}/144

+

{{ uupg.people_committed ?? 0 }}/100

{{ t.select }} diff --git a/app/pages/pray.vue b/app/pages/pray.vue index fa1cfad9..d4c59de7 100644 --- a/app/pages/pray.vue +++ b/app/pages/pray.vue @@ -16,7 +16,6 @@ const translations = computed(() => buildUupgListTranslations(t)) const { stats, - prayerCoveragePercent, totalPeopleGroups, totalPeopleGroupsFormatted, reload, @@ -43,6 +42,31 @@ const prayFeedbackConfig = JSON.stringify({ projectId: '809ee16b-46e2-4bcd-a93d-b7ea0879d93d' }) +const DEMO_PRAYER_COVERAGE = { + enabled: false, + complete: 100, + partial: 1300 +} + +const noPrayerCount = computed(() => { + if (DEMO_PRAYER_COVERAGE.enabled) { + return Math.max(0, totalPeopleGroups.value - DEMO_PRAYER_COVERAGE.partial - DEMO_PRAYER_COVERAGE.complete) + } + return Math.max(0, totalPeopleGroups.value - stats.value.total_with_prayer) +}) +const partialPrayerCount = computed(() => + DEMO_PRAYER_COVERAGE.enabled + ? DEMO_PRAYER_COVERAGE.partial + : Math.max(0, stats.value.total_with_prayer - stats.value.total_with_full_prayer) +) +const fullPrayerCount = computed(() => + DEMO_PRAYER_COVERAGE.enabled ? DEMO_PRAYER_COVERAGE.complete : stats.value.total_with_full_prayer +) + +function getCoveragePercent(count: number) { + return `${Math.min(100, (count / totalPeopleGroups.value) * 100)}%` +} + useTextHighlight() @@ -60,22 +84,35 @@ useTextHighlight()

{{ t('Prayer Goal') }}

-

{{ t('24-Hour Prayer Coverage') }}

-

{{ t('Mobilize 144+ people praying 10 minutes a day for all {0} people groups', [totalPeopleGroupsFormatted]) }}

+

{{ t('Mobilize 100+ people praying daily for each DOXA people group') }}

-
+

{{ t('Current Status') }}

- - {{ stats.total_with_full_prayer }} / {{ totalPeopleGroups }} -
-

{{ t('People groups with committed 24-hour prayer coverage') }}

-
+

{{ t('Out of {0} DOXA people groups:', [totalPeopleGroupsFormatted]) }}

+
+
+
+
+
+ {{ t('100+ People Praying') }}: {{ fullPrayerCount }} + {{ t('1+ People Praying') }}: {{ partialPrayerCount }} + {{ t('No One Praying') }}: {{ noPrayerCount }}
@@ -318,4 +355,64 @@ useTextHighlight() .research-map-link:hover { color: var(--color-brand-primary-darker, #1f2328); } + +.prayer-coverage-segments { + display: flex; + height: clamp(15px, 6vw, 25px); + padding-top: 0 !important; +} + +.prayer-coverage-segment { + height: 100%; + transition: width 1s ease-out; +} + +.prayer-coverage-segment--none { + background: var(--color-brand-light); +} + +.prayer-coverage-segment--partial { + background: #f0c64a; +} + +.prayer-coverage-segment--full { + background: var(--color-brand-primary); +} + +.prayer-coverage-legend { + display: grid; + justify-content: center; + gap: 0.55rem; + margin-top: 0.85rem; + font-size: clamp(1.2rem, 1.6vw, 1.45rem); + font-weight: 600; + text-align: center; +} + +.prayer-coverage-legend span { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.4rem; +} + +.prayer-coverage-key { + display: inline-block; + flex: 0 0 auto; + width: 0.75rem; + height: 0.75rem; + border-radius: 100px; +} + +.prayer-coverage-key--none { + background: var(--color-brand-light); +} + +.prayer-coverage-key--partial { + background: #f0c64a; +} + +.prayer-coverage-key--full { + background: var(--color-brand-primary); +} diff --git a/app/pages/research/[slug]/index.vue b/app/pages/research/[slug]/index.vue index 6cbfe532..49ae1950 100644 --- a/app/pages/research/[slug]/index.vue +++ b/app/pages/research/[slug]/index.vue @@ -74,7 +74,7 @@ const adoptUrl = computed(() => { }) const infoOpen = ref(false) -const FULL_PRAYER_COVERAGE_COUNT = 144 +const FULL_PRAYER_COVERAGE_COUNT = 100 type StatusIcon = 'done' | 'partial' | 'not-done' type StatusItem = { @@ -257,7 +257,7 @@ const mapSrc = computed(() => {
-

{{ t('24-Hour Prayer Coverage') }}

+

{{ t('Daily Prayer Coverage') }}

= FULL_PRAYER_THRESHOLD) + * RED = No One Praying (peoplePraying === 0 or null) + * ORANGE = 1+ People Praying (0 < peoplePraying < FULL_PRAYER_THRESHOLD) + * GREEN = 100+ People Praying (peoplePraying >= FULL_PRAYER_THRESHOLD) * * QA Session Round 2 A1: `people_praying` null = 0 = "not prayed for". * When someone prays, people_praying updates to a positive integer → orange. @@ -17,23 +17,23 @@ export const PROPERTY_KEY = 'peoplePraying' /** * Number of people praying required for "Full Prayer Coverage". - * Set to match the platform's prayer goal (144 people per people group). + * Set to match the platform's prayer goal (100 people per people group). * Adjust this constant to change the green threshold. */ -export const FULL_PRAYER_THRESHOLD = 144 +export const FULL_PRAYER_THRESHOLD = 100 export const PALETTE = { - noPrayer: '#e74c3c', // Red — Needs Prayer (default) - hasPrayer: '#f39c12', // Orange — Has Prayer (partial) - fullPrayer: '#22c55e' // Green — Full Prayer Coverage + noPrayer: '#e74c3c', // Red — No One Praying (default) + hasPrayer: '#f39c12', // Orange — 1+ People Praying (partial) + fullPrayer: '#22c55e' // Green — 100+ People Praying } export const PRAYER_COLORS = PALETTE export const LABELS = { - noPrayer: 'Needs Prayer', - hasPrayer: 'Has Prayer', - fullPrayer: 'Has Full Prayer Coverage' + noPrayer: 'No One Praying', + hasPrayer: '1+ People Praying', + fullPrayer: '100+ People Praying' } export const PRAYER_LABELS = LABELS diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/ar/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/ar/legend.json index 7b30cbde..c0eb3b6d 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/ar/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/ar/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "مجموعة الشعب" }, "prayer": { - "needsPrayer": "يحتاج إلى صلاة", - "hasPrayer": "لديه صلاة", - "fullPrayerCoverage": "تغطية صلاة كاملة" + "needsPrayer": "لا أحد يصلّي", + "hasPrayer": "شخص واحد أو أكثر يصلّي", + "fullPrayerCoverage": "أكثر من 100 شخص يصلّون" }, "engagement": { "needsEngagement": "يحتاج إلى انخراط", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json index 7b721bb8..0eb64b9a 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Volksgruppe" }, "prayer": { - "needsPrayer": "Braucht Gebet", - "hasPrayer": "Hat Gebet", - "fullPrayerCoverage": "Vollständige Gebetsabdeckung" + "needsPrayer": "Niemand betet", + "hasPrayer": "1+ Menschen beten", + "fullPrayerCoverage": "100+ Menschen beten" }, "engagement": { "needsEngagement": "Braucht Engagement", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/en/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/en/legend.json index 11663a8e..225e747d 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/en/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/en/legend.json @@ -14,9 +14,9 @@ "peopleGroupFallback": "People Group" }, "prayer": { - "needsPrayer": "Needs Prayer", - "hasPrayer": "Has Prayer", - "fullPrayerCoverage": "Full Prayer Coverage" + "needsPrayer": "No One Praying", + "hasPrayer": "1+ People Praying", + "fullPrayerCoverage": "100+ People Praying" }, "engagement": { "needsEngagement": "Unengaged", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/legend.json index 2e930782..c6dde825 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Grupo de personas" }, "prayer": { - "needsPrayer": "Necesita oración", - "hasPrayer": "Tiene oración", - "fullPrayerCoverage": "Cobertura de oración completa" + "needsPrayer": "Nadie orando", + "hasPrayer": "1+ personas orando", + "fullPrayerCoverage": "100+ personas orando" }, "engagement": { "needsEngagement": "Necesita implicación", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/fr/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/fr/legend.json index f25e681f..9abf4cf8 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/fr/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/fr/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Peuple" }, "prayer": { - "needsPrayer": "Besoin de prière", - "hasPrayer": "Prière en cours", - "fullPrayerCoverage": "Couverture de prière complète" + "needsPrayer": "Personne ne prie", + "hasPrayer": "1+ personnes en prière", + "fullPrayerCoverage": "100+ personnes en prière" }, "engagement": { "needsEngagement": "Besoin d'engagement", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/hi/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/hi/legend.json index dd9a975f..db1ce929 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/hi/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/hi/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "जनजाति समूह" }, "prayer": { - "needsPrayer": "प्रार्थना चाहिए", - "hasPrayer": "प्रार्थना है", - "fullPrayerCoverage": "पूर्ण प्रार्थना कवरेज" + "needsPrayer": "कोई प्रार्थना नहीं कर रहा", + "hasPrayer": "1+ लोग प्रार्थना कर रहे हैं", + "fullPrayerCoverage": "100+ लोग प्रार्थना कर रहे हैं" }, "engagement": { "needsEngagement": "सहभागिता चाहिए", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/it/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/it/legend.json index 9f1d424c..acdc225c 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/it/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/it/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Gruppo di persone" }, "prayer": { - "needsPrayer": "Necessita preghiera", - "hasPrayer": "Ha preghiera", - "fullPrayerCoverage": "Copertura di preghiera completa" + "needsPrayer": "Nessuno prega", + "hasPrayer": "1+ persone in preghiera", + "fullPrayerCoverage": "100+ persone in preghiera" }, "engagement": { "needsEngagement": "Necessita impegno", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/pt/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/pt/legend.json index 0f4721a9..84fee0dc 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/pt/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/pt/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Grupo de pessoas" }, "prayer": { - "needsPrayer": "Precisa de oração", - "hasPrayer": "Tem oração", - "fullPrayerCoverage": "Cobertura de oração completa" + "needsPrayer": "Ninguém orando", + "hasPrayer": "1+ pessoas orando", + "fullPrayerCoverage": "100+ pessoas orando" }, "engagement": { "needsEngagement": "Precisa de envolvimento", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/ro/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/ro/legend.json index dc945985..e8476be0 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/ro/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/ro/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Grup de popoare" }, "prayer": { - "needsPrayer": "Necesită rugăciune", - "hasPrayer": "Are rugăciune", - "fullPrayerCoverage": "Acoperire completă de rugăciune" + "needsPrayer": "Nimeni nu se roagă", + "hasPrayer": "1+ persoane se roagă", + "fullPrayerCoverage": "100+ persoane se roagă" }, "engagement": { "needsEngagement": "Necesită implicare", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/ru/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/ru/legend.json index c83935c3..c4d2ea23 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/ru/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/ru/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "Народная группа" }, "prayer": { - "needsPrayer": "Нуждается в молитве", - "hasPrayer": "Есть молитва", - "fullPrayerCoverage": "Полное молитвенное покрытие" + "needsPrayer": "Никто не молится", + "hasPrayer": "1+ человек молится", + "fullPrayerCoverage": "100+ человек молятся" }, "engagement": { "needsEngagement": "Нуждается в вовлечённости", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/zh/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/zh/legend.json index 8768b404..95478184 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/zh/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/zh/legend.json @@ -13,9 +13,9 @@ "peopleGroupFallback": "民族群体" }, "prayer": { - "needsPrayer": "需要祷告", - "hasPrayer": "已有祷告", - "fullPrayerCoverage": "全面祷告覆盖" + "needsPrayer": "无人祷告", + "hasPrayer": "1+ 人祷告", + "fullPrayerCoverage": "100+ 人祷告" }, "engagement": { "needsEngagement": "需要参与", diff --git a/i18n/locales/ar/common.json b/i18n/locales/ar/common.json index b855a896..deabb33f 100644 --- a/i18n/locales/ar/common.json +++ b/i18n/locales/ar/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "تغطية صلاة يومية", "All Countries": "جميع الدول", "Countries": "الدول", "Country Not Found": "الدولة غير موجودة", @@ -6,7 +7,6 @@ "Other": "أخرى", "People Groups": "مجموعات بشرية", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.", - "24-Hour Prayer Coverage": "سلسلة صلاة مستمرة على مدار 24 ساعة", "A church-led commitment to pray, give, and send so that gospel access begins": "الكنيسة تقودها روح الإلتزام بالصلاة والعطاء والإرسال لتفتح أبواب الوصول بالإنجيل", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "تصميم أنيق وبسيط لمنصة حياة دوكسا - للوصول إلى جميع الناس بحلول عام 2033", "A simple path to faithful obedience": "الطريق البسيط للطاعة الأمينة", @@ -47,6 +47,9 @@ "Close": "مغلق", "Close video": "إغلاق الفيديو", "Commit": "إلتزام", + "100+ People Praying": "أكثر من 100 شخص يصلّون", + "1+ People Praying": "شخص واحد أو أكثر يصلّي", + "No One Praying": "لا أحد يصلّي", "Contact": "جهة الإتصال", "Contact Page": "صفحة الاتّصال", "Contact Us": "تواصل معنا", @@ -132,7 +135,7 @@ "Message": "الرسالة", "Mobilization of 20,000+ DOXA partnership missionaries": "حشد أكثر من 20.000 مبشّر بالتعاون مع شركاء دوكسا لتحقيق الرسالة المشتركة", "Mobilize": "حشد المؤمنين", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "حشد أكثر من 144 شخص للصلاة لمدة 10 دقائق يوميا من أجل جميع المجموعات العرقية البالغ عددها {0} مجموعة", + "Mobilize 100+ people praying daily for each DOXA people group": "حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا", "Mobilize others in your church to join in prayer": "شجّعوا الآخرين في كنيستك على المشاركة في الصلاة", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "تعبئة المشاركين نحو هدف الحصول على ما يقل عن 144 شريك صلاة لتغطية المجموعة البشرية بصلاة مستمرة يوميا، (10 دقائق كل شخص، على مدار 24 ساعة).", "More": "المزيد", @@ -146,6 +149,7 @@ "Not Engaged": "غير مُنخرَط", "Our gift to Jesus": "هديتنا إلى الرب يسوع", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "رجاؤنا أن نغطي كل واحد منهم بصلاة استثنائية. يمكنك أنت وكنيستك أن تكونوا جزءًا من ذلك.", + "Out of {0} DOXA people groups:": "من بين {0} مجموعة بشرية من دوكسا:", "Overview": "نظرة عامة", "Page Not Found": "الصفحة غير موجودة", "Partner": "شارك", @@ -155,7 +159,7 @@ "People Group": "مجموعة بشرية", "People Group Not Found": "المجموعة البشرية غير موجودة", "People committed to praying": "الأشخاص الذين التزموا بالصلاة", - "People groups with committed 24-hour prayer coverage": "المجموعات العرقية التي تتم تغطيتها بالصلاة المستمرة على مدار 24 ساعة", + "People groups with complete daily prayer coverage": "المجموعات العرقية التي لديها تغطية صلاة يومية كاملة", "Per Page": "لكل صفحة", "Phone": "الهاتف", "Phone number is too long": "رقم الهاتف طويل جدًا", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "واظبوا على الصلاة من أجل هذه المجموعة، طالبين أن يفتح الله الطريق لانتشار الإنجيل بينهم", "Prayer Campaign QR Code": "رمز الاستجابة السريعة (QR) لحملة الصلاة", "Prayer Coverage": "التغطية المستمرة بالصلاة", + "Prayer coverage progress": "تقدم تغطية الصلاة", "Prayer Goal": "الغاية من الصلاة", "Prayer Progress": "النموّ في حياة الصلاة", "Prayer Status": "حالة الصلاة", diff --git a/i18n/locales/de/common.json b/i18n/locales/de/common.json index efcbfe87..5e47483a 100644 --- a/i18n/locales/de/common.json +++ b/i18n/locales/de/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "Tägliche Gebetsabdeckung", "All Countries": "Alle Länder", "Countries": "Länder", "Country Not Found": "Land nicht gefunden", @@ -6,7 +7,6 @@ "Other": "Andere", "People Groups": "Volksgruppen", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.", - "24-Hour Prayer Coverage": "24-Stunden-Gebetsabdeckung", "A church-led commitment to pray, give, and send so that gospel access begins": "Verpflichtung einer Ortsgemeinde zum Beten, Geben und Senden, damit ein Volk Zugang zum Evangelium erhält", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Ein klares, elegantes Thema für DOXA Life – Bis 2033 alle Volksgruppen erreichen", "A simple path to faithful obedience": "Drei einfache Schritte, die du gehen kannst", @@ -47,6 +47,9 @@ "Close": "Schließen", "Close video": "Video schließen", "Commit": "Jetzt mitmachen", + "100+ People Praying": "100+ Menschen beten", + "1+ People Praying": "1+ Menschen beten", + "No One Praying": "Niemand betet", "Contact": "Kontakt", "Contact Page": "Kontaktseite", "Contact Us": "Kontaktiere uns", @@ -132,7 +135,7 @@ "Message": "Nachricht", "Mobilization of 20,000+ DOXA partnership missionaries": "20,000 DOXA-Partnerschafts-Missionare zu mobilisieren", "Mobilize": "Mobilize", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "Mobilisiere 144+ Fürbitter, welche 10 Minuten am Tag für alle {0} Volksgruppen beten", + "Mobilize 100+ people praying daily for each DOXA people group": "Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten", "Mobilize others in your church to join in prayer": "Mobilisieren Sie andere in Ihrer Gemeinde, sich dem Gebet anzuschließen", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "Mobilisiere für das Ziel, mindestens 144 Gebetspartner zu gewinnen, die diese Volksgruppe täglich ununterbrochen im Gebet begleiten (jeweils 10 Minuten, innerhalb 24 Stunden eines Tages).", "More": "Mehr", @@ -146,6 +149,7 @@ "Not Engaged": "Nicht-engagiert", "Our gift to Jesus": "Unser Geschenk an Jesus", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Unsere Hoffnung ist es, jede von ihnen mit außergewöhnlichem Gebet abzudecken. Du und deine Gemeinde können Teil davon sein.", + "Out of {0} DOXA people groups:": "Von {0} DOXA-Volksgruppen:", "Overview": "Übersicht", "Page Not Found": "Seite nicht gefunden", "Partner": "Partner", @@ -155,7 +159,7 @@ "People Group": "Personengruppe", "People Group Not Found": "Personengruppe nicht gefunden", "People committed to praying": "Menschen, die sich dem Beten verpflichtet haben", - "People groups with committed 24-hour prayer coverage": "Volksgruppen mit zugesagter 24-Stunden-Gebetsabdeckung", + "People groups with complete daily prayer coverage": "Volksgruppen mit vollständiger täglicher Gebetsabdeckung", "Per Page": "Pro Seite", "Phone": "Telefon", "Phone number is too long": "Die Telefonnummer ist zu lang.", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "Betet regelmäßig für dieses Volk und für einen Durchbruch des Evangeliums", "Prayer Campaign QR Code": "QR-Code für die Gebetskampagne", "Prayer Coverage": "Gebetsabdeckung", + "Prayer coverage progress": "Fortschritt der Gebetsabdeckung", "Prayer Goal": "Gebetsziel", "Prayer Progress": "Gebetsfortschritt", "Prayer Status": "Gebetsstatus", diff --git a/i18n/locales/en/common.json b/i18n/locales/en/common.json index b2ba62a9..04f56786 100644 --- a/i18n/locales/en/common.json +++ b/i18n/locales/en/common.json @@ -1,5 +1,5 @@ { - "24-Hour Prayer Coverage": "24-Hour Prayer Coverage", + "Daily Prayer Coverage": "Daily Prayer Coverage", "A church-led commitment to pray, give, and send so that gospel access begins": "A church-led commitment to pray, give, and send so that gospel access begins", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "A clean, elegant theme for DOXA Life - Engaging every people group by 2033", "A simple path to faithful obedience": "A simple path to faithful obedience", @@ -40,6 +40,9 @@ "Close": "Close", "Close video": "Close video", "Commit": "Commit", + "100+ People Praying": "100+ People Praying", + "1+ People Praying": "1+ People Praying", + "No One Praying": "No One Praying", "Contact": "Contact", "All Countries": "All Countries", "Contact Page": "Contact Page", @@ -132,7 +135,7 @@ "Message": "Message", "Mobilization of 20,000+ DOXA partnership missionaries": "Mobilization of 20,000+ DOXA partnership missionaries", "Mobilize": "Mobilize", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "Mobilize 144+ people praying 10 minutes a day for all {0} people groups", + "Mobilize 100+ people praying daily for each DOXA people group": "Mobilize 100+ people praying daily for each DOXA people group", "Mobilize others in your church to join in prayer": "Mobilize others in your church to join in prayer", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).", "More": "More", @@ -146,6 +149,7 @@ "Not Engaged": "Not Engaged", "Our gift to Jesus": "Our gift to Jesus", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.", + "Out of {0} DOXA people groups:": "Out of {0} DOXA people groups:", "Overview": "Overview", "Page Not Found": "Page Not Found", "Partner": "Partner", @@ -155,7 +159,7 @@ "People Group": "People Group", "People Group Not Found": "People Group Not Found", "People committed to praying": "People committed to praying", - "People groups with committed 24-hour prayer coverage": "People groups with committed 24-hour prayer coverage", + "People groups with complete daily prayer coverage": "People groups with complete daily prayer coverage", "Per Page": "Per Page", "Phone": "Phone", "Phone number is too long": "Phone number is too long", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "Pray regularly for this people group and for gospel breakthrough", "Prayer Campaign QR Code": "Prayer Campaign QR Code", "Prayer Coverage": "Prayer Coverage", + "Prayer coverage progress": "Prayer coverage progress", "Prayer Goal": "Prayer Goal", "Prayer Progress": "Prayer Progress", "Prayer Status": "Prayer Status", diff --git a/i18n/locales/es/common.json b/i18n/locales/es/common.json index 2231b06e..00176cab 100644 --- a/i18n/locales/es/common.json +++ b/i18n/locales/es/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "Cobertura diaria de oración", "All Countries": "Todos los Países", "Countries": "Países", "Country Not Found": "País no encontrado", @@ -6,7 +7,6 @@ "Other": "Otros", "People Groups": "Grupos Étnicos", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.", - "24-Hour Prayer Coverage": "Cobertura de oración las 24 horas", "A church-led commitment to pray, give, and send so that gospel access begins": "Un compromiso impulsado por la iglesia para orar, dar y enviar, con el fin de que el evangelio sea accesible", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Un tema limpio y elegante para DOXA Life: involucrar a todos los grupos de personas para 2033", "A simple path to faithful obedience": "Un camino sencillo hacia la obediencia fiel", @@ -47,6 +47,9 @@ "Close": "Cerrar", "Close video": "Cerrar vídeo", "Commit": "Confirmar", + "100+ People Praying": "100+ personas orando", + "1+ People Praying": "1+ personas orando", + "No One Praying": "Nadie orando", "Contact": "Contacto", "Contact Page": "Página de contacto", "Contact Us": "Contáctanos", @@ -132,7 +135,7 @@ "Message": "Mensaje", "Mobilization of 20,000+ DOXA partnership missionaries": "Movilización de más de 20.000 misioneros asociados a DOXA", "Mobilize": "Movilizar", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "Movilizar a más de 144 personas para que recen 10 minutos al día por los {0} grupos étnicos.", + "Mobilize 100+ people praying daily for each DOXA people group": "Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.", "Mobilize others in your church to join in prayer": "Anima a otros miembros de tu iglesia a unirse a la oración", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "Movilízate con el objetivo de conseguir al menos 144 compañeros de oración para cubrir al grupo étnico con oraciones continuas y diarias (10 minutos cada uno, las 24 horas del día).", "More": "Más", @@ -146,6 +149,7 @@ "Not Engaged": "No comprometido", "Our gift to Jesus": "Nuestro regalo para Jesús", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Nuestra esperanza es cubrir a cada uno de ellos con oración extraordinaria. Tú y tu iglesia pueden ser parte de ello.", + "Out of {0} DOXA people groups:": "De {0} grupos étnicos DOXA:", "Overview": "Resumen", "Page Not Found": "Página no encontrada", "Partner": "Asociarse", @@ -155,7 +159,7 @@ "People Group": "Grupo Étnico", "People Group Not Found": "Grupo de personas no encontrado", "People committed to praying": "Personas comprometidas con la oración", - "People groups with committed 24-hour prayer coverage": "Grupos de personas comprometidos con la cobertura de oración las 24 horas del día.", + "People groups with complete daily prayer coverage": "Grupos étnicos con cobertura diaria completa de oración", "Per Page": "Por página", "Phone": "Teléfono", "Phone number is too long": "El número de teléfono es demasiado largo.", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "Reza con regularidad por este grupo étnico y por que el Evangelio se abra paso entre ellos", "Prayer Campaign QR Code": "Código QR de la campaña de oración", "Prayer Coverage": "Cobertura de oración", + "Prayer coverage progress": "Progreso de la cobertura de oración", "Prayer Goal": "Objetivo de oración", "Prayer Progress": "Progreso de la oración", "Prayer Status": "Estado de la oración", diff --git a/i18n/locales/fr/common.json b/i18n/locales/fr/common.json index f92f670f..e161b528 100644 --- a/i18n/locales/fr/common.json +++ b/i18n/locales/fr/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "Couverture de prière quotidienne", "All Countries": "Tous les pays", "Countries": "Pays", "Country Not Found": "Pays introuvable", @@ -6,7 +7,6 @@ "Other": "Autre", "People Groups": "Peuples", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.", - "24-Hour Prayer Coverage": "Couverture de prière 24h/24", "A church-led commitment to pray, give, and send so that gospel access begins": "Un engagement d'église locale pour prier, donner et envoyer afin que l'accès à l'Évangile commence", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Un thème épuré et élégant pour DOXA Life - Engager chaque peuple d'ici 2033", "A simple path to faithful obedience": "Un chemin simple vers une obéissance fidèle", @@ -47,6 +47,9 @@ "Close": "Fermer", "Close video": "Fermer la vidéo", "Commit": "S'engager", + "100+ People Praying": "100+ personnes en prière", + "1+ People Praying": "1+ personnes en prière", + "No One Praying": "Personne ne prie", "Contact": "Contact", "Contact Page": "Page de contact", "Contact Us": "Contactez-nous", @@ -132,7 +135,7 @@ "Message": "Message", "Mobilization of 20,000+ DOXA partnership missionaries": "Mobilisation de plus de 20 000 missionnaires en partenariat DOXA", "Mobilize": "Mobiliser", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "Mobiliser plus de 144 personnes priant 10 minutes par jour pour chacun des {0} peuples", + "Mobilize 100+ people praying daily for each DOXA people group": "Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA", "Mobilize others in your church to join in prayer": "Mobilisez d'autres membres de votre église pour qu'ils se joignent à la prière", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "Mobilisez-vous pour atteindre l'objectif d'au moins 144 partenaires de prière afin de couvrir ce peuple par une prière quotidienne et continue (10 minutes chacun, 24 heures sur 24).", "More": "Plus", @@ -146,6 +149,7 @@ "Not Engaged": "Non engagé", "Our gift to Jesus": "Notre offrande à Jésus", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Notre espoir est de couvrir chacun d'eux d'une prière extraordinaire. Vous et votre église pouvez y participer.", + "Out of {0} DOXA people groups:": "Sur {0} peuples DOXA :", "Overview": "Aperçu", "Page Not Found": "Page introuvable", "Partner": "Partenariat", @@ -155,7 +159,7 @@ "People Group": "Peuple", "People Group Not Found": "Peuple introuvable", "People committed to praying": "Personnes engagées dans la prière", - "People groups with committed 24-hour prayer coverage": "Peuples bénéficiant d'une couverture de prière 24h/24", + "People groups with complete daily prayer coverage": "Peuples bénéficiant d'une couverture de prière quotidienne complète", "Per Page": "Par page", "Phone": "Téléphone", "Phone number is too long": "Le numéro de téléphone est trop long.", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "Priez régulièrement pour ce peuple et pour une percée de l'Évangile", "Prayer Campaign QR Code": "Code QR de la campagne de prière", "Prayer Coverage": "Couverture de prière", + "Prayer coverage progress": "Progression de la couverture de prière", "Prayer Goal": "Objectif de la prière", "Prayer Progress": "Progrès dans la prière", "Prayer Status": "Statut de prière", diff --git a/i18n/locales/hi/common.json b/i18n/locales/hi/common.json index 96d7f8cb..2c8cfa41 100644 --- a/i18n/locales/hi/common.json +++ b/i18n/locales/hi/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "दैनिक प्रार्थना कवरेज", "All Countries": "सभी देश", "Countries": "देश", "Country Not Found": "देश नहीं मिला", @@ -6,7 +7,6 @@ "Other": "अन्य", "People Groups": "लोगों के समूह", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।", - "24-Hour Prayer Coverage": "24-घंटे की प्रार्थना कवरेज", "A church-led commitment to pray, give, and send so that gospel access begins": "सुसमाचार की पहुँच शुरू हो सके, इसके लिए चर्च के नेतृत्व में प्रार्थना करने, दान देने और भेजने की प्रतिबद्धता।", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "DOXA Life के लिए एक स्वच्छ, सुरुचिपूर्ण थीम - 2033 तक प्रत्येक जनसमूह को संलग्न करना", "A simple path to faithful obedience": "वफादार आज्ञाकारिता का एक सरल मार्ग", @@ -47,6 +47,9 @@ "Close": "बन्द करें", "Close video": "वीडियो बंद करें", "Commit": "प्रतिबद्धता", + "100+ People Praying": "100+ लोग प्रार्थना कर रहे हैं", + "1+ People Praying": "1+ लोग प्रार्थना कर रहे हैं", + "No One Praying": "कोई प्रार्थना नहीं कर रहा", "Contact": "संपर्क करे", "Contact Page": "संपर्क पृष्ठ", "Contact Us": "हमसे संपर्क करें", @@ -132,7 +135,7 @@ "Message": "संदेश", "Mobilization of 20,000+ DOXA partnership missionaries": "20,000+ DOXA साझेदारी मिशनरियों का संगठित होना", "Mobilize": "लगातार सक्रिय रहो", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "सभी {0} जनसमूहों के लिए प्रतिदिन 10 मिनट प्रार्थना करने हेतु 144+ लोगों को सक्रिय करें।", + "Mobilize 100+ people praying daily for each DOXA people group": "प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।", "Mobilize others in your church to join in prayer": "अपने चर्च में दूसरों को प्रार्थना में शामिल होने के लिए प्रेरित करें।", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "लोगों के समूह को निरंतर, दैनिक प्रार्थना (प्रत्येक 10 मिनट, दिन में 24 घंटे) के माध्यम से आच्छादित करने के लिए कम से कम 144 प्रार्थना साझेदारों को जुटाएँ।", "More": "और ज्यादा", @@ -146,6 +149,7 @@ "Not Engaged": "अप्रवेशित", "Our gift to Jesus": "यीशु को हमारा उपहार", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "हमारी आशा है कि हम उनमें से प्रत्येक को असाधारण प्रार्थना से ढकें। आप और आपका चर्च इसका हिस्सा बन सकते हैं।", + "Out of {0} DOXA people groups:": "{0} DOXA जनसमूहों में से:", "Overview": "अवलोकन", "Page Not Found": "पृष्ठ नहीं मिला", "Partner": "साझेदार", @@ -155,7 +159,7 @@ "People Group": "लोगों का समूह", "People Group Not Found": "लोग समूह नहीं मिला", "People committed to praying": "प्रार्थना के लिए प्रतिबद्ध लोग", - "People groups with committed 24-hour prayer coverage": "प्रतिबद्ध 24-घंटे की प्रार्थना कवरेज वाले लोगों के समूह", + "People groups with complete daily prayer coverage": "पूर्ण दैनिक प्रार्थना कवरेज वाले जनसमूह", "Per Page": "प्रति पृष्ठ", "Phone": "फ़ोन", "Phone number is too long": "फ़ोन नंबर बहुत लंबा है", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "इस जनसमूह और सुसमाचार की सफलता के लिए नियमित रूप से प्रार्थना करें।", "Prayer Campaign QR Code": "प्रार्थना अभियान क्यूआर कोड", "Prayer Coverage": "प्रार्थना कवरेज", + "Prayer coverage progress": "प्रार्थना कवरेज की प्रगति", "Prayer Goal": "प्रार्थना का लक्ष्य", "Prayer Progress": "प्रार्थना की प्रगति", "Prayer Status": "प्रार्थना की स्थिति", diff --git a/i18n/locales/pt/common.json b/i18n/locales/pt/common.json index fb068499..dec74c47 100644 --- a/i18n/locales/pt/common.json +++ b/i18n/locales/pt/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "Cobertura diária de oração", "All Countries": "Todos os países", "Countries": "Países", "Country Not Found": "País não encontrado", @@ -6,7 +7,6 @@ "Other": "Outros", "People Groups": "Grupos étnicos", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.", - "24-Hour Prayer Coverage": "Cobertura de oração 24 horas por dia", "A church-led commitment to pray, give, and send so that gospel access begins": "Um compromisso liderado pela igreja para orar, doar e enviar, para que o evangelho comece a se tornar acessível", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Um tema limpo e elegante para a DOXA Life - Envolvendo todos os grupos étnicos até 2033", "A simple path to faithful obedience": "Um caminho simples para a obediência fiel", @@ -47,6 +47,9 @@ "Close": "Fechar", "Close video": "Fechar vídeo", "Commit": "Comprometa-se", + "100+ People Praying": "100+ pessoas orando", + "1+ People Praying": "1+ pessoas orando", + "No One Praying": "Ninguém orando", "Contact": "Contatos", "Contact Page": "Página de contacto", "Contact Us": "Entre em contato conosco", @@ -132,7 +135,7 @@ "Message": "Mensagem", "Mobilization of 20,000+ DOXA partnership missionaries": "Mobilização de mais de 20.000 missionários parceiros de DOXA", "Mobilize": "Mobilize", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "Mobilizar mais de 144 pessoas para orar 10 minutos por dia por todos os {0} grupos étnicos", + "Mobilize 100+ people praying daily for each DOXA people group": "Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA", "Mobilize others in your church to join in prayer": "Mobilize outros membros da sua igreja para se unirem em oração", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "Mobilize-se com o objetivo de ter pelo menos 144 parceiros de oração para cobrir o grupo étnico em oração contínua e diária (10 minutos cada, 24 horas por dia).", "More": "Mais", @@ -146,6 +149,7 @@ "Not Engaged": "Não engajado", "Our gift to Jesus": "Nossa oferta a Jesus", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Nossa esperança é cobrir cada um deles com oração extraordinária. Você e sua igreja podem fazer parte disso.", + "Out of {0} DOXA people groups:": "De {0} grupos étnicos DOXA:", "Overview": "Visão geral", "Page Not Found": "Página não encontrada", "Partner": "Faça Parceria", @@ -155,7 +159,7 @@ "People Group": "Grupo étnico", "People Group Not Found": "Grupo de pessoas não encontrado", "People committed to praying": "Pessoas comprometidas com a oração", - "People groups with committed 24-hour prayer coverage": "Grupos étnicos com cobertura de oração 24 horas por dia", + "People groups with complete daily prayer coverage": "Grupos étnicos com cobertura diária completa de oração", "Per Page": "Por página", "Phone": "Telefone", "Phone number is too long": "O número de telefone é muito longo", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "Reze regularmente por este grupo étnico e por um avanço do Evangelho", "Prayer Campaign QR Code": "Código QR da Campanha de Oração", "Prayer Coverage": "Cobertura de oração", + "Prayer coverage progress": "Progresso da cobertura de oração", "Prayer Goal": "Meta de oração", "Prayer Progress": "Progresso da oração", "Prayer Status": "Status de oração", diff --git a/i18n/locales/ru/common.json b/i18n/locales/ru/common.json index 4bb56ba4..9483c46b 100644 --- a/i18n/locales/ru/common.json +++ b/i18n/locales/ru/common.json @@ -1,4 +1,5 @@ { + "Daily Prayer Coverage": "Ежедневная молитвенная поддержка", "All Countries": "Все страны", "Countries": "Страны", "Country Not Found": "Страна не найдена", @@ -6,7 +7,6 @@ "Other": "Другое", "People Groups": "Группы людей", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.", - "24-Hour Prayer Coverage": "24-часовая молитвенная поддержка", "A church-led commitment to pray, give, and send so that gospel access begins": "Обязательство церкви молиться, жертвовать и посылать миссионеров, чтобы Евангелие стало доступным", "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Чистая, элегантная тема для DOXA Life — привлечение всех народов к 2033 году", "A simple path to faithful obedience": "Простой путь к верному послушанию", @@ -47,6 +47,9 @@ "Close": "Закрыть", "Close video": "Закрыть видео", "Commit": "Подтвердить", + "100+ People Praying": "100+ человек молятся", + "1+ People Praying": "1+ человек молится", + "No One Praying": "Никто не молится", "Contact": "Контакт", "Contact Page": "Страница контактов", "Contact Us": "Связаться с нами", @@ -132,7 +135,7 @@ "Message": "Сообщение", "Mobilization of 20,000+ DOXA partnership missionaries": "Мобилизация более 20 000 миссионеров-партнеров DOXA", "Mobilize": "Мобилизовать", - "Mobilize 144+ people praying 10 minutes a day for all {0} people groups": "Мобилизуйте 144+ человек для молитвы по 10 минут в день за все {0} народностей", + "Mobilize 100+ people praying daily for each DOXA people group": "Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA", "Mobilize others in your church to join in prayer": "Призовите других членов вашей церкви присоединиться к молитве", "Mobilize toward the goal of at least 144 prayer partners to cover the people group in continuous, daily prayer (10 minutes each, 24 hours a day).": "Мобилизуйтесь для достижения цели: собрать как минимум 144 молитвенных партнера, которые будут ежедневно, непрерывно молиться за эту народность (по 10 минут каждый, 24 часа в сутки).", "More": "Больше", @@ -146,6 +149,7 @@ "Not Engaged": "Невовлечённый", "Our gift to Jesus": "Наш подарок Иисусу", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Мы надеемся покрыть каждую из них особой молитвой. Вы и ваша церковь можете стать частью этого.", + "Out of {0} DOXA people groups:": "Из {0} народностей DOXA:", "Overview": "Обзор", "Page Not Found": "Страница не найдена", "Partner": "Партнер", @@ -155,7 +159,7 @@ "People Group": "Группа людей", "People Group Not Found": "Группа людей не найдена", "People committed to praying": "Люди, посвятившие себя молитве", - "People groups with committed 24-hour prayer coverage": "Народности, охваченные постоянной 24-часовой молитвенной поддержкой", + "People groups with complete daily prayer coverage": "Народности с полной ежедневной молитвенной поддержкой", "Per Page": "За страницу", "Phone": "Телефон", "Phone number is too long": "Номер телефона слишком длинный", @@ -172,6 +176,7 @@ "Pray regularly for this people group and for gospel breakthrough": "Регулярно молитесь за этот народ и за прорыв Евангелия", "Prayer Campaign QR Code": "QR-код молитвенной кампании", "Prayer Coverage": "Молитвенное покрытие", + "Prayer coverage progress": "Прогресс молитвенного покрытия", "Prayer Goal": "Цель молитвы", "Prayer Progress": "Прогресс молитвы", "Prayer Status": "Статус молитвы", diff --git a/public/js/doxa-research-map.js b/public/js/doxa-research-map.js index 2e1c718d..448ec711 100644 --- a/public/js/doxa-research-map.js +++ b/public/js/doxa-research-map.js @@ -22,7 +22,7 @@ var use=Object.defineProperty;var fse=(Oo,SA,Au)=>SA in Oo?use(Oo,SA,{enumerable * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let FB;const ih=t=>FB=t,EB=Symbol();function G0(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Ru;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Ru||(Ru={}));function hN(){const t=u0(!0),e=t.run(()=>Je({}));let r=[],n=[];const a=pu({install(i){ih(a),a._a=i,i.provide(EB,a),i.config.globalProperties.$pinia=a,n.forEach(o=>r.push(o)),n=[]},use(i){return this._a?r.push(i):n.push(i),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return a}const SB=()=>{};function LB(t,e,r,n=SB){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),n())};return!r&&Fw()&&jU(a),a}function Hl(t,...e){t.slice().forEach(r=>{r(...e)})}const gN=t=>t(),IB=Symbol(),V0=Symbol();function z0(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],a=t[r];G0(a)&&G0(n)&&t.hasOwnProperty(r)&&!$r(n)&&!Do(n)?t[r]=z0(a,n):t[r]=n}return t}const pN=Symbol();function mN(t){return!G0(t)||!t.hasOwnProperty(pN)}const{assign:NA}=Object;function vN(t){return!!($r(t)&&t.effect)}function bN(t,e,r,n){const{state:a,actions:i,getters:o}=e,A=r.state.value[t];let s;function l(){A||(r.state.value[t]=a?a():{});const c=fT(r.state.value[t]);return NA(c,i,Object.keys(o||{}).reduce((u,h)=>(u[h]=pu(Oe(()=>{ih(r);const f=r._s.get(t);return o[h].call(f,f)})),u),{}))}return s=UB(t,l,e,r,n,!0),s}function UB(t,e,r={},n,a,i){let o;const A=NA({actions:{}},r),s={deep:!0};let l,c,u=[],h=[],f;const p=n.state.value[t];!i&&!p&&(n.state.value[t]={});let v;function b(T){let C;l=c=!1,typeof T=="function"?(T(n.state.value[t]),C={type:Ru.patchFunction,storeId:t,events:f}):(z0(n.state.value[t],T),C={type:Ru.patchObject,payload:T,storeId:t,events:f});const D=v=Symbol();bu().then(()=>{v===D&&(l=!0)}),c=!0,Hl(u,C,n.state.value[t])}const m=i?function(){const{state:C}=r,D=C?C():{};this.$patch(I=>{NA(I,D)})}:SB;function _(){o.stop(),u=[],h=[],n._s.delete(t)}const y=(T,C="")=>{if(IB in T)return T[V0]=C,T;const D=function(){ih(n);const I=Array.from(arguments),E=[],P=[];function H(J){E.push(J)}function O(J){P.push(J)}Hl(h,{args:I,name:D[V0],store:F,after:H,onError:O});let z;try{z=T.apply(this&&this.$id===t?this:F,I)}catch(J){throw Hl(P,J),J}return z instanceof Promise?z.then(J=>(Hl(E,J),J)).catch(J=>(Hl(P,J),Promise.reject(J))):(Hl(E,z),z)};return D[IB]=!0,D[V0]=C,D},B={_p:n,$id:t,$onAction:LB.bind(null,h),$patch:b,$reset:m,$subscribe(T,C={}){const D=LB(u,T,C.detached,()=>I()),I=o.run(()=>nr(()=>n.state.value[t],E=>{(C.flush==="sync"?c:l)&&T({storeId:t,type:Ru.direct,events:f},E)},NA({},s,C)));return D},$dispose:_},F=kl(B);n._s.set(t,F);const k=(n._a&&n._a.runWithContext||gN)(()=>n._e.run(()=>(o=u0()).run(()=>e({action:y}))));for(const T in k){const C=k[T];if($r(C)&&!vN(C)||Do(C))i||(p&&mN(C)&&($r(C)?C.value=p[T]:z0(C,p[T])),n.state.value[t][T]=C);else if(typeof C=="function"){const D=y(C,T);k[T]=D,A.actions[T]=C}}return NA(F,k),NA(ir(F),k),Object.defineProperty(F,"$state",{get:()=>n.state.value[t],set:T=>{b(C=>{NA(C,T)})}}),n._p.forEach(T=>{NA(F,o.run(()=>T({store:F,app:n._a,pinia:n,options:A})))}),p&&i&&r.hydrate&&r.hydrate(F.$state,p),l=!0,c=!0,F}/*! #__NO_SIDE_EFFECTS__ */function W0(t,e,r){let n,a;const i=typeof e=="function";typeof t=="string"?(n=t,a=i?r:e):(a=t,n=t.id);function o(A,s){const l=FT();return A=A||(l?Wt(EB,null):null),A&&ih(A),A=FB,A._s.has(n)||(i?UB(n,e,a,A):bN(n,a,A)),A._s.get(n)}return o.$id=n,o}let yN=0;const wN=W0("ui",{state:()=>({_storeInstanceId:++yN,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:t=>t.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:t.theme==="dark",isMobile:t=>t.breakpoint==="mobile",isTablet:t=>t.breakpoint==="tablet",isDesktop:t=>t.breakpoint==="desktop"||t.breakpoint==="wide",legendHeight:t=>t._customLegendHeight?t._customLegendHeight:t.legendState==="collapsed"?"48px":t.legendState==="open"?"30%":t.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:t=>t.legendState==="collapsed"?0:90,showPullTab:t=>t.legendState==="open"||t.legendState==="fullyOpen",getToastsByType:t=>e=>t.toasts.filter(r=>r.type===e),hasOpenModal:t=>t.openModals.length>0,topModal:t=>t.openModals.length===0?null:t.openModals[t.openModals.length-1],isModalOpen:t=>e=>t.openModals.includes(e),isAnyLoading:t=>t.isGlobalLoading||t.loadingStates.size>0,isLoading:t=>e=>t.loadingStates.get(e)||!1},actions:{setTheme(t){if(!["light","dark","auto"].includes(t))return;this.theme=t;const r=this.isDarkTheme;document.documentElement.setAttribute("data-theme",r?"dark":"light"),localStorage.setItem("theme",t)},toggleTheme(){const t=this.theme==="light"?"dark":"light";this.setTheme(t)},setColorScheme(t){this.colorScheme=t,document.documentElement.setAttribute("data-color-scheme",t)},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(t){this.activeTab=t,this.addToHistory({type:"tab-change",tabId:t,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(t){["prayer","detail"].includes(t)&&(this.legendMode=t)},setPrayerFilter(t){[null,"noPrayer","hasPrayer","fullPrayer"].includes(t)&&(this.prayerFilter=t)},setEngagementFilter(t){[null,"notEngaged","hasEngagement"].includes(t)&&(this.engagementFilter=t)},setAdoptionFilter(t){[null,"notAdopted","hasAdoption"].includes(t)&&(this.adoptionFilter=t)},setReligionFilter(t){[null,"C","M","H","B","E","J","S","N","O","U"].includes(t)&&(this.religionFilter=t)},selectPeopleGroup(t){this.selectedPeopleGroup=t,t?(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(t){["collapsed","open","fullyOpen"].includes(t)&&(this.legendState=t)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(t){this.searchMode=t},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(t){let e;t<768?e="mobile":t<1024?e="tablet":t<1920?e="desktop":e="wide",e!==this.breakpoint&&(this.breakpoint=e)},updateWindowSize(t,e){this.windowSize.width=t,this.windowSize.height=e,this.updateBreakpoint(t)},showToast(t){const{message:e,type:r="info",duration:n=this.toastDuration,action:a=null,persistent:i=!1}=t,o={id:this.nextToastId++,message:e,type:r,duration:n,action:a,persistent:i,createdAt:Date.now()};return this.toasts.push(o),!i&&n>0&&setTimeout(()=>{this.removeToast(o.id)},n),o.id},showSuccess(t,e={}){return this.showToast({message:t,type:"success",...e})},showError(t,e={}){return this.showToast({message:t,type:"error",duration:7e3,...e})},showWarning(t,e={}){return this.showToast({message:t,type:"warning",...e})},showInfo(t,e={}){return this.showToast({message:t,type:"info",...e})},removeToast(t){const e=this.toasts.findIndex(r=>r.id===t);e!==-1&&this.toasts.splice(e,1)},clearAllToasts(){this.toasts=[]},openModal(t,e={}){this.openModals.includes(t)||(this.openModals.push(t),this.modalData.set(t,e),this.focusTrapActive=!0)},closeModal(t=null){if(t){const e=this.openModals.indexOf(t);e!==-1&&(this.openModals.splice(e,1),this.modalData.delete(t))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(t){return this.modalData.get(t)},showGlobalLoading(t="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=t},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(t,e=!0){e?this.loadingStates.set(t,!0):this.loadingStates.delete(t)},addToHistory(t){this.interactionHistory.push(t),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(t,e="polite"){this.screenReaderAnnouncement=t,setTimeout(()=>{this.screenReaderAnnouncement===t&&(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(t){this._customLegendHeight=t},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(){const t=localStorage.getItem("theme");t&&this.setTheme(t),new ResizeObserver(r=>{for(const n of r)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",r=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",r.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",r=>{this.reducedMotion=r.matches,document.documentElement.setAttribute("data-reduced-motion",r.matches)}))}}}),BN=W0("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",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:t=>e=>t.maps[e],activeMap:t=>t.activeMapId?t.maps[t.activeMapId]:null,hasMap:t=>e=>e in t.maps,allMapIds:t=>Object.keys(t.maps),hasSelection:t=>!!(t.selectedRegion||t.selectedFamily||t.selectedAffinityBlock||t.selectedPeopleGroup),isAutoFlying:t=>t.autoFly.isActive,isGuidedTourActive:t=>t.guidedTour.isActive,isMapFullscreen:t=>e=>t.fullscreenMapId===e},actions:{registerMap(t,e,r={}){let n=1.5;r.zoom!==void 0?n=r.zoom:e&&typeof e.getZoom=="function"&&(n=e.getZoom());let a=[0,0];if(r.center)a=r.center;else if(e&&typeof e.getCenter=="function"){const i=e.getCenter();i&&(a=[i.lng,i.lat])}this.maps[t]={instance:e,config:r,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=t)},setMapReady(t){const e=this.maps[t];e&&(e.isReady=!0)},updateMapState(t,e){const r=this.maps[t];r&&Object.assign(r,e)},unregisterMap(t){if(delete this.maps[t],this.activeMapId===t){const e=this.allMapIds;this.activeMapId=e.length>0?e[0]:null}},setActiveMap(t){t in this.maps&&(this.activeMapId=t)},selectRegion(t){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=t},selectFamily(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=t},setActiveLegendTab(t){this.activeLegendTab=t},selectLanguage(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=t},selectDialect(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=t},selectAffinityBlock(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=t},selectPeopleGroup(t){this.selectedPeopleGroup=t},selectResource(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===t?this.selectedResource=null:this.selectedResource=t},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(t){this.selectedPinIds=t||[]},setFilter(t,e){this.globalFilters[t]=e},removeFilter(t){delete this.globalFilters[t]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(t){this.searchQuery=t},startAutoFly(t,e=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=e,this.autoFly.items=t,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(t){this.autoFly.speed=Math.max(.5,Math.min(2,t))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const t=this.autoFly.items[this.autoFly.currentIndex];t.type==="region"?this.selectRegion(t):t.type==="family"&&this.selectFamily(t)},toggleClusters(t){typeof t=="boolean"?this.showClusters=t:this.showClusters=!this.showClusters},setClusterMode(t){["region","language-family","affinity-block","mst","resource"].includes(t)&&(this.clusterMode=t)},setClusterFilter(t,e){this.clusterFilterProperty=t||null,this.clusterFilterValue=e||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(t){["slow","normal","fast"].includes(t)&&(this.flySpeed=t)},setSelectedFamily(t){this.selectFamily(t)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(t){this.selectRegion(t)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(t){this.fullscreenMapId===t?this.fullscreenMapId=null:this.fullscreenMapId=t},loadPreferences(){try{const t=localStorage.getItem("mapUserPreferences");if(t){const e=JSON.parse(t);this.preferences={...this.preferences,...e}}}catch(t){console.error("[mapStore] Failed to load preferences:",t)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(t){console.error("[mapStore] Failed to save preferences:",t)}},setPreference(t,e){this.preferences[t]=e,this.preferences.autoSavePreferences&&this.savePreferences()}}}),CN=W0("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(t,e){if(!this.sources[t]){this.loadingStates[t]={isLoading:!0,error:null};try{const r=await e();this.sources[t]=pu({features:r,timestamp:Date.now()}),this.loadingStates[t]={isLoading:!1,error:null}}catch(r){console.error(`[dataStore] Failed to load source "${t}":`,r),this.loadingStates[t]={isLoading:!1,error:r}}}},clearSource(t){delete this.sources[t],delete this.loadingStates[t]},cacheSourceData(t,e){this.sources[t]=pu({features:e.normalizedData||[],timestamp:e.timestamp||Date.now()})},hasSourceData(t){return!!this.sources[t]},getSourceData(t){return this.sources[t]?{normalizedData:this.sources[t].features}:null}},getters:{getData:t=>e=>{var r;return((r=t.sources[e])==null?void 0:r.features)??null},isLoading:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.isLoading)??!1},getError:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.error)??null}}}),Ga=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},_N={class:"profile-loader"},xN={key:0,class:"profile-error"},FN={key:1,class:"profile-error"},EN=Ga({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(t){const e=t,r=Oe(()=>{if(!e.profileConfig)return null;try{return JSON.parse(e.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",e.profileConfig),null}}),n=Oe(()=>{var f;return((f=r.value)==null?void 0:f.profile)||null}),a=Oe(()=>{var f;return((f=r.value)==null?void 0:f.tk)||""}),i=Oe(()=>{var f;return((f=r.value)==null?void 0:f.dataSource)||"doxa-csv"}),o=Oe(()=>{var f;return((f=r.value)==null?void 0:f.colorSet)||"default"}),A=Oe(()=>{var f;return((f=r.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),s=Wt("profileModules",null);if(!s)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const l=Oe(()=>{if(!n.value)return null;const f=`./profiles/${n.value}.vue`;return s[f]?xu(s[f]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(s)),null)});La("mapboxToken",a),La("dataSource",i),La("colorSet",o),La("profileConfig",r),La("instanceId",A);const c=wN(),u=BN(),h=CN();return La("uiStore",c),La("mapStore",u),La("dataStore",h),(f,p)=>(Qe(),$e("div",_N,[r.value?l.value?(Qe(),br(GT(l.value),{key:2})):(Qe(),$e("div",FN,[oe("p",null,[p[1]||(p[1]=Nn("⚠️ Profile ",-1)),oe("strong",null,'"'+ct(n.value)+'"',1),p[2]||(p[2]=Nn(" not found.",-1))])])):(Qe(),$e("div",xN,[...p[0]||(p[0]=[oe("p",null,[Nn("⚠️ "),oe("strong",null,"doxa-map"),Nn(": missing or invalid "),oe("code",null,"profile-config"),Nn(" prop.")],-1),oe("p",null,[Nn("Example: "),oe("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),SN={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},LN={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},IN={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},UN={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},TN={menuComingSoon:"القائمة قادمة قريباً"},kN={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},NN={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},QN={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},PN={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ON={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},MN={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},RN={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},DN={menuComingSoon:"Menü folgt in Kürze"},HN={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},$N={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},KN={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},jN={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},GN={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed"},VN={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},zN={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},WN={menuComingSoon:"Menu coming soon"},qN={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},YN={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},XN={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},JN={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ZN={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},eQ={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},tQ={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},rQ={menuComingSoon:"Menú próximamente"},nQ={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},aQ={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},iQ={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},oQ={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},AQ={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},sQ={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},lQ={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},cQ={menuComingSoon:"Menu bientôt disponible"},uQ={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},fQ={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dQ={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},hQ={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},gQ={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pQ={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},mQ={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},vQ={menuComingSoon:"मेनू शीघ्र आ रहा है"},bQ={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},yQ={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},wQ={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},BQ={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},CQ={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},_Q={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},xQ={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},FQ={menuComingSoon:"Menu in arrivo"},EQ={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},SQ={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},LQ={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},IQ={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},UQ={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},TQ={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},kQ={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},NQ={menuComingSoon:"Menu em breve"},QQ={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},PQ={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},OQ={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},MQ={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},RQ={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},DQ={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},HQ={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},$Q={menuComingSoon:"Meniu în curând"},KQ={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},jQ={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},GQ={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},VQ={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},zQ={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},WQ={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},qQ={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},YQ={menuComingSoon:"Меню скоро появится"},XQ={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},JQ={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ZQ={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},eP={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tP={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},rP={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},nP={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},aP={menuComingSoon:"菜单即将推出"},iP={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},oP={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},AP={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let FB;const ih=t=>FB=t,EB=Symbol();function G0(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Ru;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Ru||(Ru={}));function hN(){const t=u0(!0),e=t.run(()=>Je({}));let r=[],n=[];const a=pu({install(i){ih(a),a._a=i,i.provide(EB,a),i.config.globalProperties.$pinia=a,n.forEach(o=>r.push(o)),n=[]},use(i){return this._a?r.push(i):n.push(i),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return a}const SB=()=>{};function LB(t,e,r,n=SB){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),n())};return!r&&Fw()&&jU(a),a}function Hl(t,...e){t.slice().forEach(r=>{r(...e)})}const gN=t=>t(),IB=Symbol(),V0=Symbol();function z0(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],a=t[r];G0(a)&&G0(n)&&t.hasOwnProperty(r)&&!$r(n)&&!Do(n)?t[r]=z0(a,n):t[r]=n}return t}const pN=Symbol();function mN(t){return!G0(t)||!t.hasOwnProperty(pN)}const{assign:NA}=Object;function vN(t){return!!($r(t)&&t.effect)}function bN(t,e,r,n){const{state:a,actions:i,getters:o}=e,A=r.state.value[t];let s;function l(){A||(r.state.value[t]=a?a():{});const c=fT(r.state.value[t]);return NA(c,i,Object.keys(o||{}).reduce((u,h)=>(u[h]=pu(Oe(()=>{ih(r);const f=r._s.get(t);return o[h].call(f,f)})),u),{}))}return s=UB(t,l,e,r,n,!0),s}function UB(t,e,r={},n,a,i){let o;const A=NA({actions:{}},r),s={deep:!0};let l,c,u=[],h=[],f;const p=n.state.value[t];!i&&!p&&(n.state.value[t]={});let v;function b(T){let C;l=c=!1,typeof T=="function"?(T(n.state.value[t]),C={type:Ru.patchFunction,storeId:t,events:f}):(z0(n.state.value[t],T),C={type:Ru.patchObject,payload:T,storeId:t,events:f});const D=v=Symbol();bu().then(()=>{v===D&&(l=!0)}),c=!0,Hl(u,C,n.state.value[t])}const m=i?function(){const{state:C}=r,D=C?C():{};this.$patch(I=>{NA(I,D)})}:SB;function _(){o.stop(),u=[],h=[],n._s.delete(t)}const y=(T,C="")=>{if(IB in T)return T[V0]=C,T;const D=function(){ih(n);const I=Array.from(arguments),E=[],P=[];function H(J){E.push(J)}function O(J){P.push(J)}Hl(h,{args:I,name:D[V0],store:F,after:H,onError:O});let z;try{z=T.apply(this&&this.$id===t?this:F,I)}catch(J){throw Hl(P,J),J}return z instanceof Promise?z.then(J=>(Hl(E,J),J)).catch(J=>(Hl(P,J),Promise.reject(J))):(Hl(E,z),z)};return D[IB]=!0,D[V0]=C,D},B={_p:n,$id:t,$onAction:LB.bind(null,h),$patch:b,$reset:m,$subscribe(T,C={}){const D=LB(u,T,C.detached,()=>I()),I=o.run(()=>nr(()=>n.state.value[t],E=>{(C.flush==="sync"?c:l)&&T({storeId:t,type:Ru.direct,events:f},E)},NA({},s,C)));return D},$dispose:_},F=kl(B);n._s.set(t,F);const k=(n._a&&n._a.runWithContext||gN)(()=>n._e.run(()=>(o=u0()).run(()=>e({action:y}))));for(const T in k){const C=k[T];if($r(C)&&!vN(C)||Do(C))i||(p&&mN(C)&&($r(C)?C.value=p[T]:z0(C,p[T])),n.state.value[t][T]=C);else if(typeof C=="function"){const D=y(C,T);k[T]=D,A.actions[T]=C}}return NA(F,k),NA(ir(F),k),Object.defineProperty(F,"$state",{get:()=>n.state.value[t],set:T=>{b(C=>{NA(C,T)})}}),n._p.forEach(T=>{NA(F,o.run(()=>T({store:F,app:n._a,pinia:n,options:A})))}),p&&i&&r.hydrate&&r.hydrate(F.$state,p),l=!0,c=!0,F}/*! #__NO_SIDE_EFFECTS__ */function W0(t,e,r){let n,a;const i=typeof e=="function";typeof t=="string"?(n=t,a=i?r:e):(a=t,n=t.id);function o(A,s){const l=FT();return A=A||(l?Wt(EB,null):null),A&&ih(A),A=FB,A._s.has(n)||(i?UB(n,e,a,A):bN(n,a,A)),A._s.get(n)}return o.$id=n,o}let yN=0;const wN=W0("ui",{state:()=>({_storeInstanceId:++yN,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:t=>t.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:t.theme==="dark",isMobile:t=>t.breakpoint==="mobile",isTablet:t=>t.breakpoint==="tablet",isDesktop:t=>t.breakpoint==="desktop"||t.breakpoint==="wide",legendHeight:t=>t._customLegendHeight?t._customLegendHeight:t.legendState==="collapsed"?"48px":t.legendState==="open"?"30%":t.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:t=>t.legendState==="collapsed"?0:90,showPullTab:t=>t.legendState==="open"||t.legendState==="fullyOpen",getToastsByType:t=>e=>t.toasts.filter(r=>r.type===e),hasOpenModal:t=>t.openModals.length>0,topModal:t=>t.openModals.length===0?null:t.openModals[t.openModals.length-1],isModalOpen:t=>e=>t.openModals.includes(e),isAnyLoading:t=>t.isGlobalLoading||t.loadingStates.size>0,isLoading:t=>e=>t.loadingStates.get(e)||!1},actions:{setTheme(t){if(!["light","dark","auto"].includes(t))return;this.theme=t;const r=this.isDarkTheme;document.documentElement.setAttribute("data-theme",r?"dark":"light"),localStorage.setItem("theme",t)},toggleTheme(){const t=this.theme==="light"?"dark":"light";this.setTheme(t)},setColorScheme(t){this.colorScheme=t,document.documentElement.setAttribute("data-color-scheme",t)},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(t){this.activeTab=t,this.addToHistory({type:"tab-change",tabId:t,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(t){["prayer","detail"].includes(t)&&(this.legendMode=t)},setPrayerFilter(t){[null,"noPrayer","hasPrayer","fullPrayer"].includes(t)&&(this.prayerFilter=t)},setEngagementFilter(t){[null,"notEngaged","hasEngagement"].includes(t)&&(this.engagementFilter=t)},setAdoptionFilter(t){[null,"notAdopted","hasAdoption"].includes(t)&&(this.adoptionFilter=t)},setReligionFilter(t){[null,"C","M","H","B","E","J","S","N","O","U"].includes(t)&&(this.religionFilter=t)},selectPeopleGroup(t){this.selectedPeopleGroup=t,t?(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(t){["collapsed","open","fullyOpen"].includes(t)&&(this.legendState=t)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(t){this.searchMode=t},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(t){let e;t<768?e="mobile":t<1024?e="tablet":t<1920?e="desktop":e="wide",e!==this.breakpoint&&(this.breakpoint=e)},updateWindowSize(t,e){this.windowSize.width=t,this.windowSize.height=e,this.updateBreakpoint(t)},showToast(t){const{message:e,type:r="info",duration:n=this.toastDuration,action:a=null,persistent:i=!1}=t,o={id:this.nextToastId++,message:e,type:r,duration:n,action:a,persistent:i,createdAt:Date.now()};return this.toasts.push(o),!i&&n>0&&setTimeout(()=>{this.removeToast(o.id)},n),o.id},showSuccess(t,e={}){return this.showToast({message:t,type:"success",...e})},showError(t,e={}){return this.showToast({message:t,type:"error",duration:7e3,...e})},showWarning(t,e={}){return this.showToast({message:t,type:"warning",...e})},showInfo(t,e={}){return this.showToast({message:t,type:"info",...e})},removeToast(t){const e=this.toasts.findIndex(r=>r.id===t);e!==-1&&this.toasts.splice(e,1)},clearAllToasts(){this.toasts=[]},openModal(t,e={}){this.openModals.includes(t)||(this.openModals.push(t),this.modalData.set(t,e),this.focusTrapActive=!0)},closeModal(t=null){if(t){const e=this.openModals.indexOf(t);e!==-1&&(this.openModals.splice(e,1),this.modalData.delete(t))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(t){return this.modalData.get(t)},showGlobalLoading(t="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=t},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(t,e=!0){e?this.loadingStates.set(t,!0):this.loadingStates.delete(t)},addToHistory(t){this.interactionHistory.push(t),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(t,e="polite"){this.screenReaderAnnouncement=t,setTimeout(()=>{this.screenReaderAnnouncement===t&&(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(t){this._customLegendHeight=t},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(){const t=localStorage.getItem("theme");t&&this.setTheme(t),new ResizeObserver(r=>{for(const n of r)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",r=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",r.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",r=>{this.reducedMotion=r.matches,document.documentElement.setAttribute("data-reduced-motion",r.matches)}))}}}),BN=W0("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",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:t=>e=>t.maps[e],activeMap:t=>t.activeMapId?t.maps[t.activeMapId]:null,hasMap:t=>e=>e in t.maps,allMapIds:t=>Object.keys(t.maps),hasSelection:t=>!!(t.selectedRegion||t.selectedFamily||t.selectedAffinityBlock||t.selectedPeopleGroup),isAutoFlying:t=>t.autoFly.isActive,isGuidedTourActive:t=>t.guidedTour.isActive,isMapFullscreen:t=>e=>t.fullscreenMapId===e},actions:{registerMap(t,e,r={}){let n=1.5;r.zoom!==void 0?n=r.zoom:e&&typeof e.getZoom=="function"&&(n=e.getZoom());let a=[0,0];if(r.center)a=r.center;else if(e&&typeof e.getCenter=="function"){const i=e.getCenter();i&&(a=[i.lng,i.lat])}this.maps[t]={instance:e,config:r,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=t)},setMapReady(t){const e=this.maps[t];e&&(e.isReady=!0)},updateMapState(t,e){const r=this.maps[t];r&&Object.assign(r,e)},unregisterMap(t){if(delete this.maps[t],this.activeMapId===t){const e=this.allMapIds;this.activeMapId=e.length>0?e[0]:null}},setActiveMap(t){t in this.maps&&(this.activeMapId=t)},selectRegion(t){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=t},selectFamily(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=t},setActiveLegendTab(t){this.activeLegendTab=t},selectLanguage(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=t},selectDialect(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=t},selectAffinityBlock(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=t},selectPeopleGroup(t){this.selectedPeopleGroup=t},selectResource(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===t?this.selectedResource=null:this.selectedResource=t},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(t){this.selectedPinIds=t||[]},setFilter(t,e){this.globalFilters[t]=e},removeFilter(t){delete this.globalFilters[t]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(t){this.searchQuery=t},startAutoFly(t,e=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=e,this.autoFly.items=t,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(t){this.autoFly.speed=Math.max(.5,Math.min(2,t))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const t=this.autoFly.items[this.autoFly.currentIndex];t.type==="region"?this.selectRegion(t):t.type==="family"&&this.selectFamily(t)},toggleClusters(t){typeof t=="boolean"?this.showClusters=t:this.showClusters=!this.showClusters},setClusterMode(t){["region","language-family","affinity-block","mst","resource"].includes(t)&&(this.clusterMode=t)},setClusterFilter(t,e){this.clusterFilterProperty=t||null,this.clusterFilterValue=e||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(t){["slow","normal","fast"].includes(t)&&(this.flySpeed=t)},setSelectedFamily(t){this.selectFamily(t)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(t){this.selectRegion(t)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(t){this.fullscreenMapId===t?this.fullscreenMapId=null:this.fullscreenMapId=t},loadPreferences(){try{const t=localStorage.getItem("mapUserPreferences");if(t){const e=JSON.parse(t);this.preferences={...this.preferences,...e}}}catch(t){console.error("[mapStore] Failed to load preferences:",t)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(t){console.error("[mapStore] Failed to save preferences:",t)}},setPreference(t,e){this.preferences[t]=e,this.preferences.autoSavePreferences&&this.savePreferences()}}}),CN=W0("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(t,e){if(!this.sources[t]){this.loadingStates[t]={isLoading:!0,error:null};try{const r=await e();this.sources[t]=pu({features:r,timestamp:Date.now()}),this.loadingStates[t]={isLoading:!1,error:null}}catch(r){console.error(`[dataStore] Failed to load source "${t}":`,r),this.loadingStates[t]={isLoading:!1,error:r}}}},clearSource(t){delete this.sources[t],delete this.loadingStates[t]},cacheSourceData(t,e){this.sources[t]=pu({features:e.normalizedData||[],timestamp:e.timestamp||Date.now()})},hasSourceData(t){return!!this.sources[t]},getSourceData(t){return this.sources[t]?{normalizedData:this.sources[t].features}:null}},getters:{getData:t=>e=>{var r;return((r=t.sources[e])==null?void 0:r.features)??null},isLoading:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.isLoading)??!1},getError:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.error)??null}}}),Ga=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},_N={class:"profile-loader"},xN={key:0,class:"profile-error"},FN={key:1,class:"profile-error"},EN=Ga({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(t){const e=t,r=Oe(()=>{if(!e.profileConfig)return null;try{return JSON.parse(e.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",e.profileConfig),null}}),n=Oe(()=>{var f;return((f=r.value)==null?void 0:f.profile)||null}),a=Oe(()=>{var f;return((f=r.value)==null?void 0:f.tk)||""}),i=Oe(()=>{var f;return((f=r.value)==null?void 0:f.dataSource)||"doxa-csv"}),o=Oe(()=>{var f;return((f=r.value)==null?void 0:f.colorSet)||"default"}),A=Oe(()=>{var f;return((f=r.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),s=Wt("profileModules",null);if(!s)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const l=Oe(()=>{if(!n.value)return null;const f=`./profiles/${n.value}.vue`;return s[f]?xu(s[f]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(s)),null)});La("mapboxToken",a),La("dataSource",i),La("colorSet",o),La("profileConfig",r),La("instanceId",A);const c=wN(),u=BN(),h=CN();return La("uiStore",c),La("mapStore",u),La("dataStore",h),(f,p)=>(Qe(),$e("div",_N,[r.value?l.value?(Qe(),br(GT(l.value),{key:2})):(Qe(),$e("div",FN,[oe("p",null,[p[1]||(p[1]=Nn("⚠️ Profile ",-1)),oe("strong",null,'"'+ct(n.value)+'"',1),p[2]||(p[2]=Nn(" not found.",-1))])])):(Qe(),$e("div",xN,[...p[0]||(p[0]=[oe("p",null,[Nn("⚠️ "),oe("strong",null,"doxa-map"),Nn(": missing or invalid "),oe("code",null,"profile-config"),Nn(" prop.")],-1),oe("p",null,[Nn("Example: "),oe("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),SN={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},LN={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},IN={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},UN={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"لا أحد يصلّي",hasPrayer:"شخص واحد أو أكثر يصلّي",fullPrayerCoverage:"أكثر من 100 شخص يصلّون"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},TN={menuComingSoon:"القائمة قادمة قريباً"},kN={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},NN={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},QN={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},PN={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ON={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},MN={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},RN={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},DN={menuComingSoon:"Menü folgt in Kürze"},HN={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},$N={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},KN={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},jN={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},GN={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed"},VN={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},zN={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},WN={menuComingSoon:"Menu coming soon"},qN={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},YN={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},XN={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},JN={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ZN={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},eQ={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},tQ={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},rQ={menuComingSoon:"Menú próximamente"},nQ={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},aQ={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},iQ={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},oQ={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},AQ={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},sQ={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},lQ={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},cQ={menuComingSoon:"Menu bientôt disponible"},uQ={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},fQ={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},dQ={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},hQ={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},gQ={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pQ={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},mQ={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},vQ={menuComingSoon:"मेनू शीघ्र आ रहा है"},bQ={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},yQ={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},wQ={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},BQ={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},CQ={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},_Q={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},xQ={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},FQ={menuComingSoon:"Menu in arrivo"},EQ={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},SQ={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},LQ={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},IQ={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},UQ={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},TQ={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},kQ={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},NQ={menuComingSoon:"Menu em breve"},QQ={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},PQ={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},OQ={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},MQ={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},RQ={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},DQ={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},HQ={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},$Q={menuComingSoon:"Meniu în curând"},KQ={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},jQ={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},GQ={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},VQ={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},zQ={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},WQ={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},qQ={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},YQ={menuComingSoon:"Меню скоро появится"},XQ={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},JQ={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ZQ={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},eP={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tP={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},rP={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},nP={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},aP={menuComingSoon:"菜单即将推出"},iP={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},oP={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},AP={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -40,7 +40,7 @@ var use=Object.defineProperty;var fse=(Oo,SA,Au)=>SA in Oo?use(Oo,SA,{enumerable * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const K6="9.14.5";function j6(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Yo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Yo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Yo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Yo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}const G6=B6.__EXTEND_POINT__,Jo=sh(G6);Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo();const S5=$i.__EXTEND_POINT__,Va=sh(S5),Qn={UNEXPECTED_RETURN_TYPE:S5,INVALID_ARGUMENT:Va(),MUST_BE_CALL_SETUP_TOP:Va(),NOT_INSTALLED:Va(),NOT_AVAILABLE_IN_LEGACY_MODE:Va(),REQUIRED_VALUE:Va(),INVALID_VALUE:Va(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Va(),NOT_INSTALLED_WITH_PROVIDE:Va(),UNEXPECTED_ERROR:Va(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Va(),BRIDGE_SUPPORT_VUE_2_ONLY:Va(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Va(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Va(),__EXTEND_POINT__:Va()};function zn(t,...e){return $l(t,null,void 0)}const Am=QA("__translateVNode"),sm=QA("__datetimeParts"),lm=QA("__numberParts"),L5=QA("__setPluralRules"),I5=QA("__injectWithOption"),cm=QA("__dispose");function Ku(t){if(!fr(t)||go(t))return t;for(const e in t)if(Di(t,e))if(!e.includes("."))fr(t[e])&&Ku(t[e]);else{const r=e.split("."),n=r.length-1;let a=t,i=!1;for(let o=0;o{if("locale"in A&&"resource"in A){const{locale:s,resource:l}=A;s?(o[s]=o[s]||_r(),ch(l,o[s])):ch(l,o)}else At(A)&&ch(JSON.parse(A),o)}),a==null&&i)for(const A in o)Di(o,A)&&Ku(o[A]);return o}function U5(t){return t.type}function T5(t,e,r){let n=fr(e.messages)?e.messages:_r();"__i18nGlobal"in r&&(n=hh(t.locale.value,{messages:n,__i18n:r.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(i=>{t.mergeLocaleMessage(i,n[i])});{if(fr(e.datetimeFormats)){const i=Object.keys(e.datetimeFormats);i.length&&i.forEach(o=>{t.mergeDateTimeFormat(o,e.datetimeFormats[o])})}if(fr(e.numberFormats)){const i=Object.keys(e.numberFormats);i.length&&i.forEach(o=>{t.mergeNumberFormat(o,e.numberFormats[o])})}}}function k5(t){return yr(Lu,null,t,0)}const N5="__INTLIFY_META__",Q5=()=>[],V6=()=>!1;let P5=0;function O5(t){return(e,r,n,a)=>t(r,n,Vo()||void 0,a)}const z6=()=>{const t=Vo();let e=null;return t&&(e=U5(t)[N5])?{[N5]:e}:null};function um(t={},e){const{__root:r,__injectWithOption:n}=t,a=r===void 0,i=t.flatJson,o=oh?Je:Gw,A=!!t.translateExistCompatible;let s=tr(t.inheritLocale)?t.inheritLocale:!0;const l=o(r&&s?r.locale.value:At(t.locale)?t.locale:Gl),c=o(r&&s?r.fallbackLocale.value:At(t.fallbackLocale)||Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:l.value),u=o(hh(l.value,t)),h=o(Ht(t.datetimeFormats)?t.datetimeFormats:{[l.value]:{}}),f=o(Ht(t.numberFormats)?t.numberFormats:{[l.value]:{}});let p=r?r.missingWarn:tr(t.missingWarn)||PA(t.missingWarn)?t.missingWarn:!0,v=r?r.fallbackWarn:tr(t.fallbackWarn)||PA(t.fallbackWarn)?t.fallbackWarn:!0,b=r?r.fallbackRoot:tr(t.fallbackRoot)?t.fallbackRoot:!0,m=!!t.fallbackFormat,_=kr(t.missing)?t.missing:null,y=kr(t.missing)?O5(t.missing):null,B=kr(t.postTranslation)?t.postTranslation:null,F=r?r.warnHtmlMessage:tr(t.warnHtmlMessage)?t.warnHtmlMessage:!0,S=!!t.escapeParameter;const k=r?r.modifiers:Ht(t.modifiers)?t.modifiers:{};let T=t.pluralRules||r&&r.pluralRules,C;C=(()=>{a&&d5(null);const ye={version:K6,locale:l.value,fallbackLocale:c.value,messages:u.value,modifiers:k,pluralRules:T,missing:y===null?void 0:y,missingWarn:p,fallbackWarn:v,fallbackFormat:m,unresolving:!0,postTranslation:B===null?void 0:B,warnHtmlMessage:F,escapeParameter:S,messageResolver:t.messageResolver,messageCompiler:t.messageCompiler,__meta:{framework:"vue"}};ye.datetimeFormats=h.value,ye.numberFormats=f.value,ye.__datetimeFormatters=Ht(C)?C.__datetimeFormatters:void 0,ye.__numberFormatters=Ht(C)?C.__numberFormatters:void 0;const Le=k6(ye);return a&&d5(Le),Le})(),$u(C,l.value,c.value);function I(){return[l.value,c.value,u.value,h.value,f.value]}const E=Oe({get:()=>l.value,set:ye=>{l.value=ye,C.locale=l.value}}),P=Oe({get:()=>c.value,set:ye=>{c.value=ye,C.fallbackLocale=c.value,$u(C,l.value,ye)}}),H=Oe(()=>u.value),O=Oe(()=>h.value),z=Oe(()=>f.value);function J(){return kr(B)?B:null}function ee(ye){B=ye,C.postTranslation=ye}function pe(){return _}function ge(ye){ye!==null&&(y=O5(ye)),_=ye,C.missing=y}const we=(ye,Le,Ve,Ge,Ze,rt)=>{I();let Ut;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=r?T6():void 0),Ut=ye(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(Ve!=="translate exists"&&hn(Ut)&&Ut===dh||Ve==="translate exists"&&!Ut){const[St,Lt]=Le();return r&&b?Ge(r):Ze(St)}else{if(rt(Ut))return Ut;throw zn(Qn.UNEXPECTED_RETURN_TYPE)}};function L(...ye){return we(Le=>Reflect.apply(b5,null,[Le,...ye]),()=>am(...ye),"translate",Le=>Reflect.apply(Le.t,Le,[...ye]),Le=>Le,Le=>At(Le))}function K(...ye){const[Le,Ve,Ge]=ye;if(Ge&&!fr(Ge))throw zn(Qn.INVALID_ARGUMENT);return L(Le,Ve,Zn({resolvedMessage:!0},Ge||{}))}function W(...ye){return we(Le=>Reflect.apply(B5,null,[Le,...ye]),()=>im(...ye),"datetime format",Le=>Reflect.apply(Le.d,Le,[...ye]),()=>i5,Le=>At(Le))}function se(...ye){return we(Le=>Reflect.apply(x5,null,[Le,...ye]),()=>om(...ye),"number format",Le=>Reflect.apply(Le.n,Le,[...ye]),()=>i5,Le=>At(Le))}function re(ye){return ye.map(Le=>At(Le)||hn(Le)||tr(Le)?k5(String(Le)):Le)}const me={normalize:re,interpolate:ye=>ye,type:"vnode"};function Z(...ye){return we(Le=>{let Ve;const Ge=Le;try{Ge.processor=me,Ve=Reflect.apply(b5,null,[Ge,...ye])}finally{Ge.processor=null}return Ve},()=>am(...ye),"translate",Le=>Le[Am](...ye),Le=>[k5(Le)],Le=>Kr(Le))}function xe(...ye){return we(Le=>Reflect.apply(x5,null,[Le,...ye]),()=>om(...ye),"number format",Le=>Le[lm](...ye),Q5,Le=>At(Le)||Kr(Le))}function ae(...ye){return we(Le=>Reflect.apply(B5,null,[Le,...ye]),()=>im(...ye),"datetime format",Le=>Le[sm](...ye),Q5,Le=>At(Le)||Kr(Le))}function Q(ye){T=ye,C.pluralRules=T}function G(ye,Le){return we(()=>{if(!ye)return!1;const Ve=At(Le)?Le:l.value,Ge=fe(Ve),Ze=C.messageResolver(Ge,ye);return A?Ze!=null:go(Ze)||Ci(Ze)||At(Ze)},()=>[ye],"translate exists",Ve=>Reflect.apply(Ve.te,Ve,[ye,Le]),V6,Ve=>tr(Ve))}function q(ye){let Le=null;const Ve=n5(C,c.value,l.value);for(let Ge=0;Ge{s&&(l.value=ye,C.locale=ye,$u(C,l.value,c.value))}),nr(r.fallbackLocale,ye=>{s&&(c.value=ye,C.fallbackLocale=ye,$u(C,l.value,c.value))}));const Pe={id:P5,locale:E,fallbackLocale:P,get inheritLocale(){return s},set inheritLocale(ye){s=ye,ye&&r&&(l.value=r.locale.value,c.value=r.fallbackLocale.value,$u(C,l.value,c.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:H,get modifiers(){return k},get pluralRules(){return T||{}},get isGlobal(){return a},get missingWarn(){return p},set missingWarn(ye){p=ye,C.missingWarn=p},get fallbackWarn(){return v},set fallbackWarn(ye){v=ye,C.fallbackWarn=v},get fallbackRoot(){return b},set fallbackRoot(ye){b=ye},get fallbackFormat(){return m},set fallbackFormat(ye){m=ye,C.fallbackFormat=m},get warnHtmlMessage(){return F},set warnHtmlMessage(ye){F=ye,C.warnHtmlMessage=ye},get escapeParameter(){return S},set escapeParameter(ye){S=ye,C.escapeParameter=ye},t:L,getLocaleMessage:fe,setLocaleMessage:_e,mergeLocaleMessage:Ee,getPostTranslationHandler:J,setPostTranslationHandler:ee,getMissingHandler:pe,setMissingHandler:ge,[L5]:Q};return Pe.datetimeFormats=O,Pe.numberFormats=z,Pe.rt=K,Pe.te=G,Pe.tm=N,Pe.d=W,Pe.n=se,Pe.getDateTimeFormat=be,Pe.setDateTimeFormat=j,Pe.mergeDateTimeFormat=$,Pe.getNumberFormat=de,Pe.setNumberFormat=Be,Pe.mergeNumberFormat=Me,Pe[I5]=n,Pe[Am]=Z,Pe[sm]=ae,Pe[lm]=xe,Pe}function W6(t){const e=At(t.locale)?t.locale:Gl,r=At(t.fallbackLocale)||Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:e,n=kr(t.missing)?t.missing:void 0,a=tr(t.silentTranslationWarn)||PA(t.silentTranslationWarn)?!t.silentTranslationWarn:!0,i=tr(t.silentFallbackWarn)||PA(t.silentFallbackWarn)?!t.silentFallbackWarn:!0,o=tr(t.fallbackRoot)?t.fallbackRoot:!0,A=!!t.formatFallbackMessages,s=Ht(t.modifiers)?t.modifiers:{},l=t.pluralizationRules,c=kr(t.postTranslation)?t.postTranslation:void 0,u=At(t.warnHtmlInMessage)?t.warnHtmlInMessage!=="off":!0,h=!!t.escapeParameterHtml,f=tr(t.sync)?t.sync:!0;let p=t.messages;if(Ht(t.sharedMessages)){const S=t.sharedMessages;p=Object.keys(S).reduce((T,C)=>{const D=T[C]||(T[C]={});return Zn(D,S[C]),T},p||{})}const{__i18n:v,__root:b,__injectWithOption:m}=t,_=t.datetimeFormats,y=t.numberFormats,B=t.flatJson,F=t.translateExistCompatible;return{locale:e,fallbackLocale:r,messages:p,flatJson:B,datetimeFormats:_,numberFormats:y,missing:n,missingWarn:a,fallbackWarn:i,fallbackRoot:o,fallbackFormat:A,modifiers:s,pluralRules:l,postTranslation:c,warnHtmlMessage:u,escapeParameter:h,messageResolver:t.messageResolver,inheritLocale:f,translateExistCompatible:F,__i18n:v,__root:b,__injectWithOption:m}}function fm(t={},e){{const r=um(W6(t)),{__extender:n}=t,a={id:r.id,get locale(){return r.locale.value},set locale(i){r.locale.value=i},get fallbackLocale(){return r.fallbackLocale.value},set fallbackLocale(i){r.fallbackLocale.value=i},get messages(){return r.messages.value},get datetimeFormats(){return r.datetimeFormats.value},get numberFormats(){return r.numberFormats.value},get availableLocales(){return r.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(i){},get missing(){return r.getMissingHandler()},set missing(i){r.setMissingHandler(i)},get silentTranslationWarn(){return tr(r.missingWarn)?!r.missingWarn:r.missingWarn},set silentTranslationWarn(i){r.missingWarn=tr(i)?!i:i},get silentFallbackWarn(){return tr(r.fallbackWarn)?!r.fallbackWarn:r.fallbackWarn},set silentFallbackWarn(i){r.fallbackWarn=tr(i)?!i:i},get modifiers(){return r.modifiers},get formatFallbackMessages(){return r.fallbackFormat},set formatFallbackMessages(i){r.fallbackFormat=i},get postTranslation(){return r.getPostTranslationHandler()},set postTranslation(i){r.setPostTranslationHandler(i)},get sync(){return r.inheritLocale},set sync(i){r.inheritLocale=i},get warnHtmlInMessage(){return r.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(i){r.warnHtmlMessage=i!=="off"},get escapeParameterHtml(){return r.escapeParameter},set escapeParameterHtml(i){r.escapeParameter=i},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(i){},get pluralizationRules(){return r.pluralRules||{}},__composer:r,t(...i){const[o,A,s]=i,l={};let c=null,u=null;if(!At(o))throw zn(Qn.INVALID_ARGUMENT);const h=o;return At(A)?l.locale=A:Kr(A)?c=A:Ht(A)&&(u=A),Kr(s)?c=s:Ht(s)&&(u=s),Reflect.apply(r.t,r,[h,c||u||{},l])},rt(...i){return Reflect.apply(r.rt,r,[...i])},tc(...i){const[o,A,s]=i,l={plural:1};let c=null,u=null;if(!At(o))throw zn(Qn.INVALID_ARGUMENT);const h=o;return At(A)?l.locale=A:hn(A)?l.plural=A:Kr(A)?c=A:Ht(A)&&(u=A),At(s)?l.locale=s:Kr(s)?c=s:Ht(s)&&(u=s),Reflect.apply(r.t,r,[h,c||u||{},l])},te(i,o){return r.te(i,o)},tm(i){return r.tm(i)},getLocaleMessage(i){return r.getLocaleMessage(i)},setLocaleMessage(i,o){r.setLocaleMessage(i,o)},mergeLocaleMessage(i,o){r.mergeLocaleMessage(i,o)},d(...i){return Reflect.apply(r.d,r,[...i])},getDateTimeFormat(i){return r.getDateTimeFormat(i)},setDateTimeFormat(i,o){r.setDateTimeFormat(i,o)},mergeDateTimeFormat(i,o){r.mergeDateTimeFormat(i,o)},n(...i){return Reflect.apply(r.n,r,[...i])},getNumberFormat(i){return r.getNumberFormat(i)},setNumberFormat(i,o){r.setNumberFormat(i,o)},mergeNumberFormat(i,o){r.mergeNumberFormat(i,o)},getChoiceIndex(i,o){return-1}};return a.__extender=n,a}}const dm={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>t==="parent"||t==="global",default:"parent"},i18n:{type:Object}};function q6({slots:t},e){return e.length===1&&e[0]==="default"?(t.default?t.default():[]).reduce((n,a)=>[...n,...a.type===Jt?a.children:[a]],[]):e.reduce((r,n)=>{const a=t[n];return a&&(r[n]=a()),r},_r())}function M5(t){return Jt}const R5=Cu({name:"i18n-t",props:Zn({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>hn(t)||!isNaN(t)}},dm),setup(t,e){const{slots:r,attrs:n}=e,a=t.i18n||fa({useScope:t.scope,__useComponent:!0});return()=>{const i=Object.keys(r).filter(u=>u!=="_"),o=_r();t.locale&&(o.locale=t.locale),t.plural!==void 0&&(o.plural=At(t.plural)?+t.plural:t.plural);const A=q6(e,i),s=a[Am](t.keypath,A,o),l=Zn(_r(),n),c=At(t.tag)||fr(t.tag)?t.tag:M5();return M0(c,l,s)}}});function Y6(t){return Kr(t)&&!At(t[0])}function D5(t,e,r,n){const{slots:a,attrs:i}=e;return()=>{const o={part:!0};let A=_r();t.locale&&(o.locale=t.locale),At(t.format)?o.key=t.format:fr(t.format)&&(At(t.format.key)&&(o.key=t.format.key),A=Object.keys(t.format).reduce((h,f)=>r.includes(f)?Zn(_r(),h,{[f]:t.format[f]}):h,_r()));const s=n(t.value,o,A);let l=[o.key];Kr(s)?l=s.map((h,f)=>{const p=a[h.type],v=p?p({[h.type]:h.value,index:f,parts:s}):[h.value];return Y6(v)&&(v[0].key=`${h.type}-${f}`),v}):At(s)&&(l=[s]);const c=Zn(_r(),i),u=At(t.tag)||fr(t.tag)?t.tag:M5();return M0(u,c,l)}}const H5=Cu({name:"i18n-n",props:Zn({value:{type:Number,required:!0},format:{type:[String,Object]}},dm),setup(t,e){const r=t.i18n||fa({useScope:t.scope,__useComponent:!0});return D5(t,e,F5,(...n)=>r[lm](...n))}}),$5=Cu({name:"i18n-d",props:Zn({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},dm),setup(t,e){const r=t.i18n||fa({useScope:t.scope,__useComponent:!0});return D5(t,e,C5,(...n)=>r[sm](...n))}});function X6(t,e){const r=t;if(t.mode==="composition")return r.__getInstance(e)||t.global;{const n=r.__getInstance(e);return n!=null?n.__composer:t.global.__composer}}function J6(t){const e=o=>{const{instance:A,modifiers:s,value:l}=o;if(!A||!A.$)throw zn(Qn.UNEXPECTED_ERROR);const c=X6(t,A.$),u=K5(l);return[Reflect.apply(c.t,c,[...j5(u)]),c]};return{created:(o,A)=>{const[s,l]=e(A);oh&&t.global===l&&(o.__i18nWatcher=nr(l.locale,()=>{A.instance&&A.instance.$forceUpdate()})),o.__composer=l,o.textContent=s},unmounted:o=>{oh&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:A})=>{if(o.__composer){const s=o.__composer,l=K5(A);o.textContent=Reflect.apply(s.t,s,[...j5(l)])}},getSSRProps:o=>{const[A]=e(o);return{textContent:A}}}}function K5(t){if(At(t))return{path:t};if(Ht(t)){if(!("path"in t))throw zn(Qn.REQUIRED_VALUE,"path");return t}else throw zn(Qn.INVALID_VALUE)}function j5(t){const{path:e,locale:r,args:n,choice:a,plural:i}=t,o={},A=n||{};return At(r)&&(o.locale=r),hn(a)&&(o.plural=a),hn(i)&&(o.plural=i),[e,A,o]}function Z6(t,e,...r){const n=Ht(r[0])?r[0]:{},a=!!n.useI18nComponentName;(tr(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":R5.name,"I18nT"].forEach(o=>t.component(o,R5)),[H5.name,"I18nN"].forEach(o=>t.component(o,H5)),[$5.name,"I18nD"].forEach(o=>t.component(o,$5))),t.directive("t",J6(e))}function eO(t,e,r){return{beforeCreate(){const n=Vo();if(!n)throw zn(Qn.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const i=a.i18n;if(a.__i18n&&(i.__i18n=a.__i18n),i.__root=e,this===this.$root)this.$i18n=G5(t,i);else{i.__injectWithOption=!0,i.__extender=r.__vueI18nExtend,this.$i18n=fm(i);const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=G5(t,a);else{this.$i18n=fm({__i18n:a.__i18n,__injectWithOption:!0,__extender:r.__vueI18nExtend,__root:e});const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}else this.$i18n=t;a.__i18nGlobal&&T5(e,a,a),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,o)=>this.$i18n.te(i,o),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i),r.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Vo();if(!n)throw zn(Qn.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),r.__deleteInstance(n),delete this.$i18n}}}function G5(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[L5](e.pluralizationRules||t.pluralizationRules);const r=hh(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(r).forEach(n=>t.mergeLocaleMessage(n,r[n])),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach(n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n])),e.numberFormats&&Object.keys(e.numberFormats).forEach(n=>t.mergeNumberFormat(n,e.numberFormats[n])),t}const tO=QA("global-vue-i18n");function rO(t={},e){const r=__VUE_I18N_LEGACY_API__&&tr(t.legacy)?t.legacy:__VUE_I18N_LEGACY_API__,n=tr(t.globalInjection)?t.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&r?!!t.allowComposition:!0,i=new Map,[o,A]=nO(t,r),s=QA("");function l(h){return i.get(h)||null}function c(h,f){i.set(h,f)}function u(h){i.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&r?"legacy":"composition"},get allowComposition(){return a},async install(f,...p){if(f.__VUE_I18N_SYMBOL__=s,f.provide(f.__VUE_I18N_SYMBOL__,h),Ht(p[0])){const m=p[0];h.__composerExtend=m.__composerExtend,h.__vueI18nExtend=m.__vueI18nExtend}let v=null;!r&&n&&(v=fO(f,h.global)),__VUE_I18N_FULL_INSTALL__&&Z6(f,h,...p),__VUE_I18N_LEGACY_API__&&r&&f.mixin(eO(A,A.__composer,h));const b=f.unmount;f.unmount=()=>{v&&v(),h.dispose(),b()}},get global(){return A},dispose(){o.stop()},__instances:i,__getInstance:l,__setInstance:c,__deleteInstance:u};return h}}function fa(t={}){const e=Vo();if(e==null)throw zn(Qn.MUST_BE_CALL_SETUP_TOP);if(!e.isCE&&e.appContext.app!=null&&!e.appContext.app.__VUE_I18N_SYMBOL__)throw zn(Qn.NOT_INSTALLED);const r=aO(e),n=oO(r),a=U5(e),i=iO(t,a);if(__VUE_I18N_LEGACY_API__&&r.mode==="legacy"&&!t.__useComponent){if(!r.allowComposition)throw zn(Qn.NOT_AVAILABLE_IN_LEGACY_MODE);return cO(e,i,n,t)}if(i==="global")return T5(n,t,a),n;if(i==="parent"){let s=AO(r,e,t.__useComponent);return s==null&&(s=n),s}const o=r;let A=o.__getInstance(e);if(A==null){const s=Zn({},t);"__i18n"in a&&(s.__i18n=a.__i18n),n&&(s.__root=n),A=um(s),o.__composerExtend&&(A[cm]=o.__composerExtend(A)),lO(o,e,A),o.__setInstance(e,A)}return A}function nO(t,e,r){const n=u0();{const a=__VUE_I18N_LEGACY_API__&&e?n.run(()=>fm(t)):n.run(()=>um(t));if(a==null)throw zn(Qn.UNEXPECTED_ERROR);return[n,a]}}function aO(t){{const e=Wt(t.isCE?tO:t.appContext.app.__VUE_I18N_SYMBOL__);if(!e)throw zn(t.isCE?Qn.NOT_INSTALLED_WITH_PROVIDE:Qn.UNEXPECTED_ERROR);return e}}function iO(t,e){return Ah(t)?"__i18n"in e?"local":"global":t.useScope?t.useScope:"local"}function oO(t){return t.mode==="composition"?t.global:t.global.__composer}function AO(t,e,r=!1){let n=null;const a=e.root;let i=sO(e,r);for(;i!=null;){const o=t;if(t.mode==="composition")n=o.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const A=o.__getInstance(i);A!=null&&(n=A.__composer,r&&n&&!n[I5]&&(n=null))}if(n!=null||a===i)break;i=i.parent}return n}function sO(t,e=!1){return t==null?null:e&&t.vnode.ctx||t.parent}function lO(t,e,r){Ri(()=>{},e),qd(()=>{const n=r;t.__deleteInstance(e);const a=n[cm];a&&(a(),delete n[cm])},e)}function cO(t,e,r,n={}){const a=e==="local",i=Gw(null);if(a&&t.proxy&&!(t.proxy.$options.i18n||t.proxy.$options.__i18n))throw zn(Qn.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=tr(n.inheritLocale)?n.inheritLocale:!At(n.locale),A=Je(!a||o?r.locale.value:At(n.locale)?n.locale:Gl),s=Je(!a||o?r.fallbackLocale.value:At(n.fallbackLocale)||Kr(n.fallbackLocale)||Ht(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:A.value),l=Je(hh(A.value,n)),c=Je(Ht(n.datetimeFormats)?n.datetimeFormats:{[A.value]:{}}),u=Je(Ht(n.numberFormats)?n.numberFormats:{[A.value]:{}}),h=a?r.missingWarn:tr(n.missingWarn)||PA(n.missingWarn)?n.missingWarn:!0,f=a?r.fallbackWarn:tr(n.fallbackWarn)||PA(n.fallbackWarn)?n.fallbackWarn:!0,p=a?r.fallbackRoot:tr(n.fallbackRoot)?n.fallbackRoot:!0,v=!!n.fallbackFormat,b=kr(n.missing)?n.missing:null,m=kr(n.postTranslation)?n.postTranslation:null,_=a?r.warnHtmlMessage:tr(n.warnHtmlMessage)?n.warnHtmlMessage:!0,y=!!n.escapeParameter,B=a?r.modifiers:Ht(n.modifiers)?n.modifiers:{},F=n.pluralRules||a&&r.pluralRules;function S(){return[A.value,s.value,l.value,c.value,u.value]}const k=Oe({get:()=>i.value?i.value.locale.value:A.value,set:q=>{i.value&&(i.value.locale.value=q),A.value=q}}),T=Oe({get:()=>i.value?i.value.fallbackLocale.value:s.value,set:q=>{i.value&&(i.value.fallbackLocale.value=q),s.value=q}}),C=Oe(()=>i.value?i.value.messages.value:l.value),D=Oe(()=>c.value),I=Oe(()=>u.value);function E(){return i.value?i.value.getPostTranslationHandler():m}function P(q){i.value&&i.value.setPostTranslationHandler(q)}function H(){return i.value?i.value.getMissingHandler():b}function O(q){i.value&&i.value.setMissingHandler(q)}function z(q){return S(),q()}function J(...q){return i.value?z(()=>Reflect.apply(i.value.t,null,[...q])):z(()=>"")}function ee(...q){return i.value?Reflect.apply(i.value.rt,null,[...q]):""}function pe(...q){return i.value?z(()=>Reflect.apply(i.value.d,null,[...q])):z(()=>"")}function ge(...q){return i.value?z(()=>Reflect.apply(i.value.n,null,[...q])):z(()=>"")}function we(q){return i.value?i.value.tm(q):{}}function L(q,N){return i.value?i.value.te(q,N):!1}function K(q){return i.value?i.value.getLocaleMessage(q):{}}function W(q,N){i.value&&(i.value.setLocaleMessage(q,N),l.value[q]=N)}function se(q,N){i.value&&i.value.mergeLocaleMessage(q,N)}function re(q){return i.value?i.value.getDateTimeFormat(q):{}}function ue(q,N){i.value&&(i.value.setDateTimeFormat(q,N),c.value[q]=N)}function me(q,N){i.value&&i.value.mergeDateTimeFormat(q,N)}function Z(q){return i.value?i.value.getNumberFormat(q):{}}function xe(q,N){i.value&&(i.value.setNumberFormat(q,N),u.value[q]=N)}function ae(q,N){i.value&&i.value.mergeNumberFormat(q,N)}const Q={get id(){return i.value?i.value.id:-1},locale:k,fallbackLocale:T,messages:C,datetimeFormats:D,numberFormats:I,get inheritLocale(){return i.value?i.value.inheritLocale:o},set inheritLocale(q){i.value&&(i.value.inheritLocale=q)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(l.value)},get modifiers(){return i.value?i.value.modifiers:B},get pluralRules(){return i.value?i.value.pluralRules:F},get isGlobal(){return i.value?i.value.isGlobal:!1},get missingWarn(){return i.value?i.value.missingWarn:h},set missingWarn(q){i.value&&(i.value.missingWarn=q)},get fallbackWarn(){return i.value?i.value.fallbackWarn:f},set fallbackWarn(q){i.value&&(i.value.missingWarn=q)},get fallbackRoot(){return i.value?i.value.fallbackRoot:p},set fallbackRoot(q){i.value&&(i.value.fallbackRoot=q)},get fallbackFormat(){return i.value?i.value.fallbackFormat:v},set fallbackFormat(q){i.value&&(i.value.fallbackFormat=q)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:_},set warnHtmlMessage(q){i.value&&(i.value.warnHtmlMessage=q)},get escapeParameter(){return i.value?i.value.escapeParameter:y},set escapeParameter(q){i.value&&(i.value.escapeParameter=q)},t:J,getPostTranslationHandler:E,setPostTranslationHandler:P,getMissingHandler:H,setMissingHandler:O,rt:ee,d:pe,n:ge,tm:we,te:L,getLocaleMessage:K,setLocaleMessage:W,mergeLocaleMessage:se,getDateTimeFormat:re,setDateTimeFormat:ue,mergeDateTimeFormat:me,getNumberFormat:Z,setNumberFormat:xe,mergeNumberFormat:ae};function G(q){q.locale.value=A.value,q.fallbackLocale.value=s.value,Object.keys(l.value).forEach(N=>{q.mergeLocaleMessage(N,l.value[N])}),Object.keys(c.value).forEach(N=>{q.mergeDateTimeFormat(N,c.value[N])}),Object.keys(u.value).forEach(N=>{q.mergeNumberFormat(N,u.value[N])}),q.escapeParameter=y,q.fallbackFormat=v,q.fallbackRoot=p,q.fallbackWarn=f,q.missingWarn=h,q.warnHtmlMessage=_}return g2(()=>{if(t.proxy==null||t.proxy.$i18n==null)throw zn(Qn.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const q=i.value=t.proxy.$i18n.__composer;e==="global"?(A.value=q.locale.value,s.value=q.fallbackLocale.value,l.value=q.messages.value,c.value=q.datetimeFormats.value,u.value=q.numberFormats.value):a&&G(q)}),Q}const uO=["locale","fallbackLocale","availableLocales"],V5=["t","rt","d","n","tm","te"];function fO(t,e){const r=Object.create(null);return uO.forEach(a=>{const i=Object.getOwnPropertyDescriptor(e,a);if(!i)throw zn(Qn.UNEXPECTED_ERROR);const o=$r(i.value)?{get(){return i.value.value},set(A){i.value.value=A}}:{get(){return i.get&&i.get()}};Object.defineProperty(r,a,o)}),t.config.globalProperties.$i18n=r,V5.forEach(a=>{const i=Object.getOwnPropertyDescriptor(e,a);if(!i||!i.value)throw zn(Qn.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${a}`,i)}),()=>{delete t.config.globalProperties.$i18n,V5.forEach(a=>{delete t.config.globalProperties[`$${a}`]})}}if(j6(),__INTLIFY_JIT_COMPILATION__?s5(M6):s5(O6),S6(s6),L6(n5),__INTLIFY_PROD_DEVTOOLS__){const t=Yo();t.__INTLIFY__=!0,m6(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const dO=Object.assign({"./locales/ar/aria.json":SN,"./locales/ar/buttons.json":LN,"./locales/ar/detail.json":IN,"./locales/ar/legend.json":UN,"./locales/ar/messages.json":TN,"./locales/ar/options.json":kN,"./locales/ar/prayerLaps.json":NN,"./locales/ar/search.json":QN,"./locales/de/aria.json":PN,"./locales/de/buttons.json":ON,"./locales/de/detail.json":MN,"./locales/de/legend.json":RN,"./locales/de/messages.json":DN,"./locales/de/options.json":HN,"./locales/de/prayerLaps.json":$N,"./locales/de/search.json":KN,"./locales/en/aria.json":jN,"./locales/en/buttons.json":GN,"./locales/en/detail.json":VN,"./locales/en/legend.json":zN,"./locales/en/messages.json":WN,"./locales/en/options.json":qN,"./locales/en/prayerLaps.json":YN,"./locales/en/search.json":XN,"./locales/es/aria.json":JN,"./locales/es/buttons.json":ZN,"./locales/es/detail.json":eQ,"./locales/es/legend.json":tQ,"./locales/es/messages.json":rQ,"./locales/es/options.json":nQ,"./locales/es/prayerLaps.json":aQ,"./locales/es/search.json":iQ,"./locales/fr/aria.json":oQ,"./locales/fr/buttons.json":AQ,"./locales/fr/detail.json":sQ,"./locales/fr/legend.json":lQ,"./locales/fr/messages.json":cQ,"./locales/fr/options.json":uQ,"./locales/fr/prayerLaps.json":fQ,"./locales/fr/search.json":dQ,"./locales/hi/aria.json":hQ,"./locales/hi/buttons.json":gQ,"./locales/hi/detail.json":pQ,"./locales/hi/legend.json":mQ,"./locales/hi/messages.json":vQ,"./locales/hi/options.json":bQ,"./locales/hi/prayerLaps.json":yQ,"./locales/hi/search.json":wQ,"./locales/it/aria.json":BQ,"./locales/it/buttons.json":CQ,"./locales/it/detail.json":_Q,"./locales/it/legend.json":xQ,"./locales/it/messages.json":FQ,"./locales/it/options.json":EQ,"./locales/it/prayerLaps.json":SQ,"./locales/it/search.json":LQ,"./locales/pt/aria.json":IQ,"./locales/pt/buttons.json":UQ,"./locales/pt/detail.json":TQ,"./locales/pt/legend.json":kQ,"./locales/pt/messages.json":NQ,"./locales/pt/options.json":QQ,"./locales/pt/prayerLaps.json":PQ,"./locales/pt/search.json":OQ,"./locales/ro/aria.json":MQ,"./locales/ro/buttons.json":RQ,"./locales/ro/detail.json":DQ,"./locales/ro/legend.json":HQ,"./locales/ro/messages.json":$Q,"./locales/ro/options.json":KQ,"./locales/ro/prayerLaps.json":jQ,"./locales/ro/search.json":GQ,"./locales/ru/aria.json":VQ,"./locales/ru/buttons.json":zQ,"./locales/ru/detail.json":WQ,"./locales/ru/legend.json":qQ,"./locales/ru/messages.json":YQ,"./locales/ru/options.json":XQ,"./locales/ru/prayerLaps.json":JQ,"./locales/ru/search.json":ZQ,"./locales/zh/aria.json":eP,"./locales/zh/buttons.json":tP,"./locales/zh/detail.json":rP,"./locales/zh/legend.json":nP,"./locales/zh/messages.json":aP,"./locales/zh/options.json":iP,"./locales/zh/prayerLaps.json":oP,"./locales/zh/search.json":AP}),ju={};for(const[t,e]of Object.entries(dO)){const r=t.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!r)continue;const[,n,a]=r;ju[n]??(ju[n]={}),ju[n][a]=e}const hO=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function gO(){var r;const e=(((r=document==null?void 0:document.documentElement)==null?void 0:r.lang)||"").split("-")[0].toLowerCase();return hO.includes(e)?e:"en"}function pO(){return rO({legacy:!1,globalInjection:!0,locale:gO(),fallbackLocale:"en",messages:ju,missingWarn:!1,fallbackWarn:!1})}const mO=Object.assign({"./profiles/research-map.vue":()=>Pi(()=>Promise.resolve().then(()=>SH),void 0)});if(typeof window<"u"&&((JI=window.mapboxgl)!=null&&JI.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function vO(){return iN(EN,{configureApp(t){t.use(hN()),t.use(pO()),t.provide("profileModules",mO)}})}const bO=vO();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",bO));const z5="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function yO(t){const e=t.getRootNode();if(!(e instanceof ShadowRoot))return;const r=i=>new Promise(o=>setTimeout(o,i)),n=e.querySelector(`link[href="${z5}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(i=>{n.addEventListener("load",i,{once:!0}),n.addEventListener("error",i,{once:!0})}),r(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=z5,await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0}),e.prepend(a)}),r(2e3)])}function wO({containerRef:t,accessToken:e,style:r,center:n=[20,10],zoom:a=2,minZoom:i=.5,maxZoom:o=18,pitch:A=0,bearing:s=0}){const l=Je(null),c=Je(!1);async function u(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!t.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!e){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!e.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',e.slice(0,10)+"...");return}await yO(t.value),await new Promise(m=>requestAnimationFrame(m));const f=t.value,p=f.clientWidth,v=f.clientHeight;if(p===0||v===0){console.error(`[useMapInstance] Container has ZERO dimensions (${p}×${v}). Map will be invisible. Check that parent elements have CSS sizing.`);let m=f.parentElement,_=0;for(;m&&_<5;)m=m.parentElement,_++}const b=e;mapboxgl.accessToken=b,l.value=new mapboxgl.Map({accessToken:b,container:t.value,style:r,center:n,zoom:a,minZoom:i,maxZoom:o,pitch:A,bearing:s,attributionControl:!1}),l.value.on("style.load",()=>{requestAnimationFrame(()=>{var m;(m=l.value)==null||m.resize(),c.value=!0})})}function h(){l.value&&(l.value.remove(),l.value=null,c.value=!1)}return{map:l,isMapReady:c,initializeMap:u,destroy:h}}const BO="peoplePraying",Zo=144,Ns={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},hm=Ns,CO={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"};function zl(t){var n;const e=t.peoplePraying??((n=t._raw)==null?void 0:n.people_praying)??null,r=Number(e)||0;return r>=Zo?"fullPrayer":r>0?"hasPrayer":"noPrayer"}function W5(t){return Ns[zl(t)]}function _O(t){var r;const e=t.peoplePraying??((r=t._raw)==null?void 0:r.people_praying)??null;return e!==null&&e>0}function xO(t){return zl(t)==="fullPrayer"}function FO(t){return W5(t)}function q5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",e,Zo],Ns.fullPrayer,[">",e,0],Ns.hasPrayer,Ns.noPrayer]}const EO={name:"Prayer Progress",propertyKey:BO,palette:Ns,colors:Ns,labels:CO,threshold:Zo,getColor:FO,applyColor:q5,buildColorExpression:q5,getPrayerLevel:zl,getPrayerColor:W5,checkHasPrayer:_O,checkHasFullPrayer:xO},SO="engagementStatus",DA={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Y5=DA,LO={notEngaged:"Unengaged",hasEngagement:"Engaged"};function IO(t){var n;const e=t.engagementStatus??((n=t._raw)==null?void 0:n.people_committed);return e===!0||e===1||typeof e=="number"&&e>0||typeof e=="object"&&(e==null?void 0:e.value)?DA.hasEngagement:DA.notEngaged}function X5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",e,!0],DA.hasEngagement,["==",e,1],DA.hasEngagement,DA.notEngaged]}const UO={name:"Engagement Progress",propertyKey:SO,palette:DA,colors:DA,labels:LO,getColor:IO,applyColor:X5,buildColorExpression:X5},TO="adoptionStatus",HA={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},J5=HA,kO={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function NO(t){var n;const e=t.adoptionStatus??((n=t._raw)==null?void 0:n.adopted_by_churches);return e===!0||e===1||typeof e=="number"&&e>0||typeof e=="object"&&(e==null?void 0:e.value)?HA.hasAdoption:HA.notAdopted}function Z5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",e,!0],HA.hasAdoption,["==",e,1],HA.hasAdoption,HA.notAdopted]}const QO={name:"Adoption Progress",propertyKey:TO,palette:HA,colors:HA,labels:kO,getColor:NO,applyColor:Z5,buildColorExpression:Z5},eC="affinityBlock",Wl="#95a5a6",ql={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"},Gu={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"},Yl=Gu;Object.entries(ql).reduce((t,[e,r])=>(t[r]=e,t),{});const PO=Object.entries(ql).reduce((t,[e,r])=>(t[r]=Yl[e],t),{}),OO=ql;function tC(t){return ql[t]||"Unknown"}function rC(t){return Yl[t]||Wl}function MO(t){return t?typeof t=="string"&&/^A\d{3}$/.test(t)?Yl[t]||Wl:PO[t]||Wl:Wl}function RO(){return Object.entries(ql).map(([t,e])=>({code:t,name:e,color:Yl[t]}))}function DO(t){return{code:t,name:ql[t]||"Unknown",color:Yl[t]||Wl}}function HO(t){var r;const e=t.affinityBlock||((r=t._raw)==null?void 0:r.ROP1);return rC(e)}function $O(t){var r;const e=t.affinityBlock||((r=t._raw)==null?void 0:r.ROP1);return tC(e)}function nC(){const t=["match",["get",eC]];return Object.entries(Yl).forEach(([e,r])=>{t.push(e,r)}),t.push(Wl),t}const KO={name:"Affinity Block",propertyKey:eC,palette:Gu,colors:Gu,names:OO,getColor:HO,applyColor:nC,buildColorExpression:nC,getName:$O,getAffinityBlockName:tC,getAffinityBlockColor:MO,getAffinityBlockColorByCode:rC,getAffinityBlocksArray:RO,getAffinityBlockData:DO},aC="languageFamily",jO="#000000",Xl={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function mo(t){return Xl[t]||jO}const GO=(()=>{const t=r=>String(r||"").toLowerCase().trim(),e={};for(const r of Object.keys(Xl))e[t(r)]=r;return e})();function gm(t){if(!t)return"Unknown";const e=String(t).trim();return GO[e.toLowerCase()]||e}function VO(t){var e;return mo(t.languageFamily||((e=t._normalized)==null?void 0:e.languageFamily))}function iC(){const t=["match",["get",aC]];return Object.entries(Xl).forEach(([e,r])=>{t.push(e,r)}),t.push("#95a5a6"),t}const zO={name:"Language Family",propertyKey:aC,palette:Xl,colors:Xl,getColor:VO,applyColor:iC,buildColorExpression:iC,getLanguageFamilyColor:mo,canonicalFamilyName:gm};function WO(t){if(!t)return"hsl(0, 60%, 50%)";let e=0;for(let n=0;n{t.push(e,r)}),t.push(AC),t}const JO={name:"DOXA Region",propertyKey:oC,palette:Vu,colors:Vu,aliases:sC,getColor:XO,applyColor:lC,buildColorExpression:lC,getRegionColor:YO},ZO="resourceType",eA={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},gh=["bible","jesusFilm","radio","gospel","audio","stories"],cC={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},e8=cC;function ph(t){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[t]}function t8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return eA.hasResources;return eA.noResources}function r8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return!0;return!1}function n8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return r;return"noResources"}function uC(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],eA.hasResources,eA.noResources]}const a8={name:"Gospel Resources",propertyKey:ZO,palette:eA,colors:eA,names:cC,priority:gh,getColor:t8,applyColor:uC,buildColorExpression:uC,hasAnyResource:r8,getResourceType:n8,getCSVColumn:ph},i8="religion",pm="#94a3b8",mm={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},_i={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function fC(t){if(!t||typeof t!="string")return"U";const e=t.charAt(0).toUpperCase();return mm[e]?e:"U"}function o8(t){var r,n,a;const e=(t==null?void 0:t.religion)||((n=(r=t==null?void 0:t._raw)==null?void 0:r.religion)==null?void 0:n.value)||((a=t==null?void 0:t._raw)==null?void 0:a.religion);return _i[fC(e)]||pm}function dC(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",_i.C,"M",_i.M,"H",_i.H,"B",_i.B,"E",_i.E,"J",_i.J,"S",_i.S,"N",_i.N,"O",_i.O,pm]}const A8={propertyKey:i8,palette:_i,families:mm,getColor:o8,applyColor:dC,buildColorExpression:dC,fallback:pm},tA={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},hC={[tA.LANGUAGE_FAMILY]:zO,[tA.AFFINITY_BLOCK]:KO,[tA.DOXA_REGION]:JO,[tA.RESOURCE]:a8,[tA.PRAYER_PROGRESS]:EO,[tA.ENGAGEMENT]:UO,[tA.ADOPTION]:QO,[tA.RELIGION]:A8};function zu(t){return hC[t]||hC[tA.LANGUAGE_FAMILY]}function s8(t,e={}){return zu(t).applyColor(e)}const l8={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]}},mh={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,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function c8(t){return l8[t]||null}function vm(t="standard"){return mh.circleRadius[t]||mh.circleRadius.standard}function u8(t="standard"){return mh.circleStrokeWidth[t]||mh.circleStrokeWidth.standard}function gC(t={}){const{getMap:e=()=>null,mapId:r="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=t,i=Wt("uiStore"),o=Je([]);function A(m){const _=n(m.languageFamily),y="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let B=m.imageUrl;(!B||B.includes("NoImageAvailable"))&&(B=y);const F=(m.name||"U")[0].toUpperCase(),S=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],k=F.charCodeAt(0)%S.length;return` + */const K6="9.14.5";function j6(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Yo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Yo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Yo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Yo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}const G6=B6.__EXTEND_POINT__,Jo=sh(G6);Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo();const S5=$i.__EXTEND_POINT__,Va=sh(S5),Qn={UNEXPECTED_RETURN_TYPE:S5,INVALID_ARGUMENT:Va(),MUST_BE_CALL_SETUP_TOP:Va(),NOT_INSTALLED:Va(),NOT_AVAILABLE_IN_LEGACY_MODE:Va(),REQUIRED_VALUE:Va(),INVALID_VALUE:Va(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Va(),NOT_INSTALLED_WITH_PROVIDE:Va(),UNEXPECTED_ERROR:Va(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Va(),BRIDGE_SUPPORT_VUE_2_ONLY:Va(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Va(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Va(),__EXTEND_POINT__:Va()};function zn(t,...e){return $l(t,null,void 0)}const Am=QA("__translateVNode"),sm=QA("__datetimeParts"),lm=QA("__numberParts"),L5=QA("__setPluralRules"),I5=QA("__injectWithOption"),cm=QA("__dispose");function Ku(t){if(!fr(t)||go(t))return t;for(const e in t)if(Di(t,e))if(!e.includes("."))fr(t[e])&&Ku(t[e]);else{const r=e.split("."),n=r.length-1;let a=t,i=!1;for(let o=0;o{if("locale"in A&&"resource"in A){const{locale:s,resource:l}=A;s?(o[s]=o[s]||_r(),ch(l,o[s])):ch(l,o)}else At(A)&&ch(JSON.parse(A),o)}),a==null&&i)for(const A in o)Di(o,A)&&Ku(o[A]);return o}function U5(t){return t.type}function T5(t,e,r){let n=fr(e.messages)?e.messages:_r();"__i18nGlobal"in r&&(n=hh(t.locale.value,{messages:n,__i18n:r.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(i=>{t.mergeLocaleMessage(i,n[i])});{if(fr(e.datetimeFormats)){const i=Object.keys(e.datetimeFormats);i.length&&i.forEach(o=>{t.mergeDateTimeFormat(o,e.datetimeFormats[o])})}if(fr(e.numberFormats)){const i=Object.keys(e.numberFormats);i.length&&i.forEach(o=>{t.mergeNumberFormat(o,e.numberFormats[o])})}}}function k5(t){return yr(Lu,null,t,0)}const N5="__INTLIFY_META__",Q5=()=>[],V6=()=>!1;let P5=0;function O5(t){return(e,r,n,a)=>t(r,n,Vo()||void 0,a)}const z6=()=>{const t=Vo();let e=null;return t&&(e=U5(t)[N5])?{[N5]:e}:null};function um(t={},e){const{__root:r,__injectWithOption:n}=t,a=r===void 0,i=t.flatJson,o=oh?Je:Gw,A=!!t.translateExistCompatible;let s=tr(t.inheritLocale)?t.inheritLocale:!0;const l=o(r&&s?r.locale.value:At(t.locale)?t.locale:Gl),c=o(r&&s?r.fallbackLocale.value:At(t.fallbackLocale)||Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:l.value),u=o(hh(l.value,t)),h=o(Ht(t.datetimeFormats)?t.datetimeFormats:{[l.value]:{}}),f=o(Ht(t.numberFormats)?t.numberFormats:{[l.value]:{}});let p=r?r.missingWarn:tr(t.missingWarn)||PA(t.missingWarn)?t.missingWarn:!0,v=r?r.fallbackWarn:tr(t.fallbackWarn)||PA(t.fallbackWarn)?t.fallbackWarn:!0,b=r?r.fallbackRoot:tr(t.fallbackRoot)?t.fallbackRoot:!0,m=!!t.fallbackFormat,_=kr(t.missing)?t.missing:null,y=kr(t.missing)?O5(t.missing):null,B=kr(t.postTranslation)?t.postTranslation:null,F=r?r.warnHtmlMessage:tr(t.warnHtmlMessage)?t.warnHtmlMessage:!0,S=!!t.escapeParameter;const k=r?r.modifiers:Ht(t.modifiers)?t.modifiers:{};let T=t.pluralRules||r&&r.pluralRules,C;C=(()=>{a&&d5(null);const ye={version:K6,locale:l.value,fallbackLocale:c.value,messages:u.value,modifiers:k,pluralRules:T,missing:y===null?void 0:y,missingWarn:p,fallbackWarn:v,fallbackFormat:m,unresolving:!0,postTranslation:B===null?void 0:B,warnHtmlMessage:F,escapeParameter:S,messageResolver:t.messageResolver,messageCompiler:t.messageCompiler,__meta:{framework:"vue"}};ye.datetimeFormats=h.value,ye.numberFormats=f.value,ye.__datetimeFormatters=Ht(C)?C.__datetimeFormatters:void 0,ye.__numberFormatters=Ht(C)?C.__numberFormatters:void 0;const Le=k6(ye);return a&&d5(Le),Le})(),$u(C,l.value,c.value);function I(){return[l.value,c.value,u.value,h.value,f.value]}const E=Oe({get:()=>l.value,set:ye=>{l.value=ye,C.locale=l.value}}),P=Oe({get:()=>c.value,set:ye=>{c.value=ye,C.fallbackLocale=c.value,$u(C,l.value,ye)}}),H=Oe(()=>u.value),O=Oe(()=>h.value),z=Oe(()=>f.value);function J(){return kr(B)?B:null}function ee(ye){B=ye,C.postTranslation=ye}function pe(){return _}function ge(ye){ye!==null&&(y=O5(ye)),_=ye,C.missing=y}const we=(ye,Le,Ve,Ge,Ze,rt)=>{I();let Ut;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=r?T6():void 0),Ut=ye(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(Ve!=="translate exists"&&hn(Ut)&&Ut===dh||Ve==="translate exists"&&!Ut){const[St,Lt]=Le();return r&&b?Ge(r):Ze(St)}else{if(rt(Ut))return Ut;throw zn(Qn.UNEXPECTED_RETURN_TYPE)}};function L(...ye){return we(Le=>Reflect.apply(b5,null,[Le,...ye]),()=>am(...ye),"translate",Le=>Reflect.apply(Le.t,Le,[...ye]),Le=>Le,Le=>At(Le))}function K(...ye){const[Le,Ve,Ge]=ye;if(Ge&&!fr(Ge))throw zn(Qn.INVALID_ARGUMENT);return L(Le,Ve,Zn({resolvedMessage:!0},Ge||{}))}function W(...ye){return we(Le=>Reflect.apply(B5,null,[Le,...ye]),()=>im(...ye),"datetime format",Le=>Reflect.apply(Le.d,Le,[...ye]),()=>i5,Le=>At(Le))}function se(...ye){return we(Le=>Reflect.apply(x5,null,[Le,...ye]),()=>om(...ye),"number format",Le=>Reflect.apply(Le.n,Le,[...ye]),()=>i5,Le=>At(Le))}function re(ye){return ye.map(Le=>At(Le)||hn(Le)||tr(Le)?k5(String(Le)):Le)}const me={normalize:re,interpolate:ye=>ye,type:"vnode"};function Z(...ye){return we(Le=>{let Ve;const Ge=Le;try{Ge.processor=me,Ve=Reflect.apply(b5,null,[Ge,...ye])}finally{Ge.processor=null}return Ve},()=>am(...ye),"translate",Le=>Le[Am](...ye),Le=>[k5(Le)],Le=>Kr(Le))}function xe(...ye){return we(Le=>Reflect.apply(x5,null,[Le,...ye]),()=>om(...ye),"number format",Le=>Le[lm](...ye),Q5,Le=>At(Le)||Kr(Le))}function ae(...ye){return we(Le=>Reflect.apply(B5,null,[Le,...ye]),()=>im(...ye),"datetime format",Le=>Le[sm](...ye),Q5,Le=>At(Le)||Kr(Le))}function Q(ye){T=ye,C.pluralRules=T}function G(ye,Le){return we(()=>{if(!ye)return!1;const Ve=At(Le)?Le:l.value,Ge=fe(Ve),Ze=C.messageResolver(Ge,ye);return A?Ze!=null:go(Ze)||Ci(Ze)||At(Ze)},()=>[ye],"translate exists",Ve=>Reflect.apply(Ve.te,Ve,[ye,Le]),V6,Ve=>tr(Ve))}function q(ye){let Le=null;const Ve=n5(C,c.value,l.value);for(let Ge=0;Ge{s&&(l.value=ye,C.locale=ye,$u(C,l.value,c.value))}),nr(r.fallbackLocale,ye=>{s&&(c.value=ye,C.fallbackLocale=ye,$u(C,l.value,c.value))}));const Pe={id:P5,locale:E,fallbackLocale:P,get inheritLocale(){return s},set inheritLocale(ye){s=ye,ye&&r&&(l.value=r.locale.value,c.value=r.fallbackLocale.value,$u(C,l.value,c.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:H,get modifiers(){return k},get pluralRules(){return T||{}},get isGlobal(){return a},get missingWarn(){return p},set missingWarn(ye){p=ye,C.missingWarn=p},get fallbackWarn(){return v},set fallbackWarn(ye){v=ye,C.fallbackWarn=v},get fallbackRoot(){return b},set fallbackRoot(ye){b=ye},get fallbackFormat(){return m},set fallbackFormat(ye){m=ye,C.fallbackFormat=m},get warnHtmlMessage(){return F},set warnHtmlMessage(ye){F=ye,C.warnHtmlMessage=ye},get escapeParameter(){return S},set escapeParameter(ye){S=ye,C.escapeParameter=ye},t:L,getLocaleMessage:fe,setLocaleMessage:_e,mergeLocaleMessage:Ee,getPostTranslationHandler:J,setPostTranslationHandler:ee,getMissingHandler:pe,setMissingHandler:ge,[L5]:Q};return Pe.datetimeFormats=O,Pe.numberFormats=z,Pe.rt=K,Pe.te=G,Pe.tm=N,Pe.d=W,Pe.n=se,Pe.getDateTimeFormat=be,Pe.setDateTimeFormat=j,Pe.mergeDateTimeFormat=$,Pe.getNumberFormat=de,Pe.setNumberFormat=Be,Pe.mergeNumberFormat=Me,Pe[I5]=n,Pe[Am]=Z,Pe[sm]=ae,Pe[lm]=xe,Pe}function W6(t){const e=At(t.locale)?t.locale:Gl,r=At(t.fallbackLocale)||Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:e,n=kr(t.missing)?t.missing:void 0,a=tr(t.silentTranslationWarn)||PA(t.silentTranslationWarn)?!t.silentTranslationWarn:!0,i=tr(t.silentFallbackWarn)||PA(t.silentFallbackWarn)?!t.silentFallbackWarn:!0,o=tr(t.fallbackRoot)?t.fallbackRoot:!0,A=!!t.formatFallbackMessages,s=Ht(t.modifiers)?t.modifiers:{},l=t.pluralizationRules,c=kr(t.postTranslation)?t.postTranslation:void 0,u=At(t.warnHtmlInMessage)?t.warnHtmlInMessage!=="off":!0,h=!!t.escapeParameterHtml,f=tr(t.sync)?t.sync:!0;let p=t.messages;if(Ht(t.sharedMessages)){const S=t.sharedMessages;p=Object.keys(S).reduce((T,C)=>{const D=T[C]||(T[C]={});return Zn(D,S[C]),T},p||{})}const{__i18n:v,__root:b,__injectWithOption:m}=t,_=t.datetimeFormats,y=t.numberFormats,B=t.flatJson,F=t.translateExistCompatible;return{locale:e,fallbackLocale:r,messages:p,flatJson:B,datetimeFormats:_,numberFormats:y,missing:n,missingWarn:a,fallbackWarn:i,fallbackRoot:o,fallbackFormat:A,modifiers:s,pluralRules:l,postTranslation:c,warnHtmlMessage:u,escapeParameter:h,messageResolver:t.messageResolver,inheritLocale:f,translateExistCompatible:F,__i18n:v,__root:b,__injectWithOption:m}}function fm(t={},e){{const r=um(W6(t)),{__extender:n}=t,a={id:r.id,get locale(){return r.locale.value},set locale(i){r.locale.value=i},get fallbackLocale(){return r.fallbackLocale.value},set fallbackLocale(i){r.fallbackLocale.value=i},get messages(){return r.messages.value},get datetimeFormats(){return r.datetimeFormats.value},get numberFormats(){return r.numberFormats.value},get availableLocales(){return r.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(i){},get missing(){return r.getMissingHandler()},set missing(i){r.setMissingHandler(i)},get silentTranslationWarn(){return tr(r.missingWarn)?!r.missingWarn:r.missingWarn},set silentTranslationWarn(i){r.missingWarn=tr(i)?!i:i},get silentFallbackWarn(){return tr(r.fallbackWarn)?!r.fallbackWarn:r.fallbackWarn},set silentFallbackWarn(i){r.fallbackWarn=tr(i)?!i:i},get modifiers(){return r.modifiers},get formatFallbackMessages(){return r.fallbackFormat},set formatFallbackMessages(i){r.fallbackFormat=i},get postTranslation(){return r.getPostTranslationHandler()},set postTranslation(i){r.setPostTranslationHandler(i)},get sync(){return r.inheritLocale},set sync(i){r.inheritLocale=i},get warnHtmlInMessage(){return r.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(i){r.warnHtmlMessage=i!=="off"},get escapeParameterHtml(){return r.escapeParameter},set escapeParameterHtml(i){r.escapeParameter=i},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(i){},get pluralizationRules(){return r.pluralRules||{}},__composer:r,t(...i){const[o,A,s]=i,l={};let c=null,u=null;if(!At(o))throw zn(Qn.INVALID_ARGUMENT);const h=o;return At(A)?l.locale=A:Kr(A)?c=A:Ht(A)&&(u=A),Kr(s)?c=s:Ht(s)&&(u=s),Reflect.apply(r.t,r,[h,c||u||{},l])},rt(...i){return Reflect.apply(r.rt,r,[...i])},tc(...i){const[o,A,s]=i,l={plural:1};let c=null,u=null;if(!At(o))throw zn(Qn.INVALID_ARGUMENT);const h=o;return At(A)?l.locale=A:hn(A)?l.plural=A:Kr(A)?c=A:Ht(A)&&(u=A),At(s)?l.locale=s:Kr(s)?c=s:Ht(s)&&(u=s),Reflect.apply(r.t,r,[h,c||u||{},l])},te(i,o){return r.te(i,o)},tm(i){return r.tm(i)},getLocaleMessage(i){return r.getLocaleMessage(i)},setLocaleMessage(i,o){r.setLocaleMessage(i,o)},mergeLocaleMessage(i,o){r.mergeLocaleMessage(i,o)},d(...i){return Reflect.apply(r.d,r,[...i])},getDateTimeFormat(i){return r.getDateTimeFormat(i)},setDateTimeFormat(i,o){r.setDateTimeFormat(i,o)},mergeDateTimeFormat(i,o){r.mergeDateTimeFormat(i,o)},n(...i){return Reflect.apply(r.n,r,[...i])},getNumberFormat(i){return r.getNumberFormat(i)},setNumberFormat(i,o){r.setNumberFormat(i,o)},mergeNumberFormat(i,o){r.mergeNumberFormat(i,o)},getChoiceIndex(i,o){return-1}};return a.__extender=n,a}}const dm={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>t==="parent"||t==="global",default:"parent"},i18n:{type:Object}};function q6({slots:t},e){return e.length===1&&e[0]==="default"?(t.default?t.default():[]).reduce((n,a)=>[...n,...a.type===Jt?a.children:[a]],[]):e.reduce((r,n)=>{const a=t[n];return a&&(r[n]=a()),r},_r())}function M5(t){return Jt}const R5=Cu({name:"i18n-t",props:Zn({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>hn(t)||!isNaN(t)}},dm),setup(t,e){const{slots:r,attrs:n}=e,a=t.i18n||fa({useScope:t.scope,__useComponent:!0});return()=>{const i=Object.keys(r).filter(u=>u!=="_"),o=_r();t.locale&&(o.locale=t.locale),t.plural!==void 0&&(o.plural=At(t.plural)?+t.plural:t.plural);const A=q6(e,i),s=a[Am](t.keypath,A,o),l=Zn(_r(),n),c=At(t.tag)||fr(t.tag)?t.tag:M5();return M0(c,l,s)}}});function Y6(t){return Kr(t)&&!At(t[0])}function D5(t,e,r,n){const{slots:a,attrs:i}=e;return()=>{const o={part:!0};let A=_r();t.locale&&(o.locale=t.locale),At(t.format)?o.key=t.format:fr(t.format)&&(At(t.format.key)&&(o.key=t.format.key),A=Object.keys(t.format).reduce((h,f)=>r.includes(f)?Zn(_r(),h,{[f]:t.format[f]}):h,_r()));const s=n(t.value,o,A);let l=[o.key];Kr(s)?l=s.map((h,f)=>{const p=a[h.type],v=p?p({[h.type]:h.value,index:f,parts:s}):[h.value];return Y6(v)&&(v[0].key=`${h.type}-${f}`),v}):At(s)&&(l=[s]);const c=Zn(_r(),i),u=At(t.tag)||fr(t.tag)?t.tag:M5();return M0(u,c,l)}}const H5=Cu({name:"i18n-n",props:Zn({value:{type:Number,required:!0},format:{type:[String,Object]}},dm),setup(t,e){const r=t.i18n||fa({useScope:t.scope,__useComponent:!0});return D5(t,e,F5,(...n)=>r[lm](...n))}}),$5=Cu({name:"i18n-d",props:Zn({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},dm),setup(t,e){const r=t.i18n||fa({useScope:t.scope,__useComponent:!0});return D5(t,e,C5,(...n)=>r[sm](...n))}});function X6(t,e){const r=t;if(t.mode==="composition")return r.__getInstance(e)||t.global;{const n=r.__getInstance(e);return n!=null?n.__composer:t.global.__composer}}function J6(t){const e=o=>{const{instance:A,modifiers:s,value:l}=o;if(!A||!A.$)throw zn(Qn.UNEXPECTED_ERROR);const c=X6(t,A.$),u=K5(l);return[Reflect.apply(c.t,c,[...j5(u)]),c]};return{created:(o,A)=>{const[s,l]=e(A);oh&&t.global===l&&(o.__i18nWatcher=nr(l.locale,()=>{A.instance&&A.instance.$forceUpdate()})),o.__composer=l,o.textContent=s},unmounted:o=>{oh&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:A})=>{if(o.__composer){const s=o.__composer,l=K5(A);o.textContent=Reflect.apply(s.t,s,[...j5(l)])}},getSSRProps:o=>{const[A]=e(o);return{textContent:A}}}}function K5(t){if(At(t))return{path:t};if(Ht(t)){if(!("path"in t))throw zn(Qn.REQUIRED_VALUE,"path");return t}else throw zn(Qn.INVALID_VALUE)}function j5(t){const{path:e,locale:r,args:n,choice:a,plural:i}=t,o={},A=n||{};return At(r)&&(o.locale=r),hn(a)&&(o.plural=a),hn(i)&&(o.plural=i),[e,A,o]}function Z6(t,e,...r){const n=Ht(r[0])?r[0]:{},a=!!n.useI18nComponentName;(tr(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":R5.name,"I18nT"].forEach(o=>t.component(o,R5)),[H5.name,"I18nN"].forEach(o=>t.component(o,H5)),[$5.name,"I18nD"].forEach(o=>t.component(o,$5))),t.directive("t",J6(e))}function eO(t,e,r){return{beforeCreate(){const n=Vo();if(!n)throw zn(Qn.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const i=a.i18n;if(a.__i18n&&(i.__i18n=a.__i18n),i.__root=e,this===this.$root)this.$i18n=G5(t,i);else{i.__injectWithOption=!0,i.__extender=r.__vueI18nExtend,this.$i18n=fm(i);const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=G5(t,a);else{this.$i18n=fm({__i18n:a.__i18n,__injectWithOption:!0,__extender:r.__vueI18nExtend,__root:e});const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}else this.$i18n=t;a.__i18nGlobal&&T5(e,a,a),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,o)=>this.$i18n.te(i,o),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i),r.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Vo();if(!n)throw zn(Qn.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),r.__deleteInstance(n),delete this.$i18n}}}function G5(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[L5](e.pluralizationRules||t.pluralizationRules);const r=hh(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(r).forEach(n=>t.mergeLocaleMessage(n,r[n])),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach(n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n])),e.numberFormats&&Object.keys(e.numberFormats).forEach(n=>t.mergeNumberFormat(n,e.numberFormats[n])),t}const tO=QA("global-vue-i18n");function rO(t={},e){const r=__VUE_I18N_LEGACY_API__&&tr(t.legacy)?t.legacy:__VUE_I18N_LEGACY_API__,n=tr(t.globalInjection)?t.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&r?!!t.allowComposition:!0,i=new Map,[o,A]=nO(t,r),s=QA("");function l(h){return i.get(h)||null}function c(h,f){i.set(h,f)}function u(h){i.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&r?"legacy":"composition"},get allowComposition(){return a},async install(f,...p){if(f.__VUE_I18N_SYMBOL__=s,f.provide(f.__VUE_I18N_SYMBOL__,h),Ht(p[0])){const m=p[0];h.__composerExtend=m.__composerExtend,h.__vueI18nExtend=m.__vueI18nExtend}let v=null;!r&&n&&(v=fO(f,h.global)),__VUE_I18N_FULL_INSTALL__&&Z6(f,h,...p),__VUE_I18N_LEGACY_API__&&r&&f.mixin(eO(A,A.__composer,h));const b=f.unmount;f.unmount=()=>{v&&v(),h.dispose(),b()}},get global(){return A},dispose(){o.stop()},__instances:i,__getInstance:l,__setInstance:c,__deleteInstance:u};return h}}function fa(t={}){const e=Vo();if(e==null)throw zn(Qn.MUST_BE_CALL_SETUP_TOP);if(!e.isCE&&e.appContext.app!=null&&!e.appContext.app.__VUE_I18N_SYMBOL__)throw zn(Qn.NOT_INSTALLED);const r=aO(e),n=oO(r),a=U5(e),i=iO(t,a);if(__VUE_I18N_LEGACY_API__&&r.mode==="legacy"&&!t.__useComponent){if(!r.allowComposition)throw zn(Qn.NOT_AVAILABLE_IN_LEGACY_MODE);return cO(e,i,n,t)}if(i==="global")return T5(n,t,a),n;if(i==="parent"){let s=AO(r,e,t.__useComponent);return s==null&&(s=n),s}const o=r;let A=o.__getInstance(e);if(A==null){const s=Zn({},t);"__i18n"in a&&(s.__i18n=a.__i18n),n&&(s.__root=n),A=um(s),o.__composerExtend&&(A[cm]=o.__composerExtend(A)),lO(o,e,A),o.__setInstance(e,A)}return A}function nO(t,e,r){const n=u0();{const a=__VUE_I18N_LEGACY_API__&&e?n.run(()=>fm(t)):n.run(()=>um(t));if(a==null)throw zn(Qn.UNEXPECTED_ERROR);return[n,a]}}function aO(t){{const e=Wt(t.isCE?tO:t.appContext.app.__VUE_I18N_SYMBOL__);if(!e)throw zn(t.isCE?Qn.NOT_INSTALLED_WITH_PROVIDE:Qn.UNEXPECTED_ERROR);return e}}function iO(t,e){return Ah(t)?"__i18n"in e?"local":"global":t.useScope?t.useScope:"local"}function oO(t){return t.mode==="composition"?t.global:t.global.__composer}function AO(t,e,r=!1){let n=null;const a=e.root;let i=sO(e,r);for(;i!=null;){const o=t;if(t.mode==="composition")n=o.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const A=o.__getInstance(i);A!=null&&(n=A.__composer,r&&n&&!n[I5]&&(n=null))}if(n!=null||a===i)break;i=i.parent}return n}function sO(t,e=!1){return t==null?null:e&&t.vnode.ctx||t.parent}function lO(t,e,r){Ri(()=>{},e),qd(()=>{const n=r;t.__deleteInstance(e);const a=n[cm];a&&(a(),delete n[cm])},e)}function cO(t,e,r,n={}){const a=e==="local",i=Gw(null);if(a&&t.proxy&&!(t.proxy.$options.i18n||t.proxy.$options.__i18n))throw zn(Qn.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=tr(n.inheritLocale)?n.inheritLocale:!At(n.locale),A=Je(!a||o?r.locale.value:At(n.locale)?n.locale:Gl),s=Je(!a||o?r.fallbackLocale.value:At(n.fallbackLocale)||Kr(n.fallbackLocale)||Ht(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:A.value),l=Je(hh(A.value,n)),c=Je(Ht(n.datetimeFormats)?n.datetimeFormats:{[A.value]:{}}),u=Je(Ht(n.numberFormats)?n.numberFormats:{[A.value]:{}}),h=a?r.missingWarn:tr(n.missingWarn)||PA(n.missingWarn)?n.missingWarn:!0,f=a?r.fallbackWarn:tr(n.fallbackWarn)||PA(n.fallbackWarn)?n.fallbackWarn:!0,p=a?r.fallbackRoot:tr(n.fallbackRoot)?n.fallbackRoot:!0,v=!!n.fallbackFormat,b=kr(n.missing)?n.missing:null,m=kr(n.postTranslation)?n.postTranslation:null,_=a?r.warnHtmlMessage:tr(n.warnHtmlMessage)?n.warnHtmlMessage:!0,y=!!n.escapeParameter,B=a?r.modifiers:Ht(n.modifiers)?n.modifiers:{},F=n.pluralRules||a&&r.pluralRules;function S(){return[A.value,s.value,l.value,c.value,u.value]}const k=Oe({get:()=>i.value?i.value.locale.value:A.value,set:q=>{i.value&&(i.value.locale.value=q),A.value=q}}),T=Oe({get:()=>i.value?i.value.fallbackLocale.value:s.value,set:q=>{i.value&&(i.value.fallbackLocale.value=q),s.value=q}}),C=Oe(()=>i.value?i.value.messages.value:l.value),D=Oe(()=>c.value),I=Oe(()=>u.value);function E(){return i.value?i.value.getPostTranslationHandler():m}function P(q){i.value&&i.value.setPostTranslationHandler(q)}function H(){return i.value?i.value.getMissingHandler():b}function O(q){i.value&&i.value.setMissingHandler(q)}function z(q){return S(),q()}function J(...q){return i.value?z(()=>Reflect.apply(i.value.t,null,[...q])):z(()=>"")}function ee(...q){return i.value?Reflect.apply(i.value.rt,null,[...q]):""}function pe(...q){return i.value?z(()=>Reflect.apply(i.value.d,null,[...q])):z(()=>"")}function ge(...q){return i.value?z(()=>Reflect.apply(i.value.n,null,[...q])):z(()=>"")}function we(q){return i.value?i.value.tm(q):{}}function L(q,N){return i.value?i.value.te(q,N):!1}function K(q){return i.value?i.value.getLocaleMessage(q):{}}function W(q,N){i.value&&(i.value.setLocaleMessage(q,N),l.value[q]=N)}function se(q,N){i.value&&i.value.mergeLocaleMessage(q,N)}function re(q){return i.value?i.value.getDateTimeFormat(q):{}}function ue(q,N){i.value&&(i.value.setDateTimeFormat(q,N),c.value[q]=N)}function me(q,N){i.value&&i.value.mergeDateTimeFormat(q,N)}function Z(q){return i.value?i.value.getNumberFormat(q):{}}function xe(q,N){i.value&&(i.value.setNumberFormat(q,N),u.value[q]=N)}function ae(q,N){i.value&&i.value.mergeNumberFormat(q,N)}const Q={get id(){return i.value?i.value.id:-1},locale:k,fallbackLocale:T,messages:C,datetimeFormats:D,numberFormats:I,get inheritLocale(){return i.value?i.value.inheritLocale:o},set inheritLocale(q){i.value&&(i.value.inheritLocale=q)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(l.value)},get modifiers(){return i.value?i.value.modifiers:B},get pluralRules(){return i.value?i.value.pluralRules:F},get isGlobal(){return i.value?i.value.isGlobal:!1},get missingWarn(){return i.value?i.value.missingWarn:h},set missingWarn(q){i.value&&(i.value.missingWarn=q)},get fallbackWarn(){return i.value?i.value.fallbackWarn:f},set fallbackWarn(q){i.value&&(i.value.missingWarn=q)},get fallbackRoot(){return i.value?i.value.fallbackRoot:p},set fallbackRoot(q){i.value&&(i.value.fallbackRoot=q)},get fallbackFormat(){return i.value?i.value.fallbackFormat:v},set fallbackFormat(q){i.value&&(i.value.fallbackFormat=q)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:_},set warnHtmlMessage(q){i.value&&(i.value.warnHtmlMessage=q)},get escapeParameter(){return i.value?i.value.escapeParameter:y},set escapeParameter(q){i.value&&(i.value.escapeParameter=q)},t:J,getPostTranslationHandler:E,setPostTranslationHandler:P,getMissingHandler:H,setMissingHandler:O,rt:ee,d:pe,n:ge,tm:we,te:L,getLocaleMessage:K,setLocaleMessage:W,mergeLocaleMessage:se,getDateTimeFormat:re,setDateTimeFormat:ue,mergeDateTimeFormat:me,getNumberFormat:Z,setNumberFormat:xe,mergeNumberFormat:ae};function G(q){q.locale.value=A.value,q.fallbackLocale.value=s.value,Object.keys(l.value).forEach(N=>{q.mergeLocaleMessage(N,l.value[N])}),Object.keys(c.value).forEach(N=>{q.mergeDateTimeFormat(N,c.value[N])}),Object.keys(u.value).forEach(N=>{q.mergeNumberFormat(N,u.value[N])}),q.escapeParameter=y,q.fallbackFormat=v,q.fallbackRoot=p,q.fallbackWarn=f,q.missingWarn=h,q.warnHtmlMessage=_}return g2(()=>{if(t.proxy==null||t.proxy.$i18n==null)throw zn(Qn.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const q=i.value=t.proxy.$i18n.__composer;e==="global"?(A.value=q.locale.value,s.value=q.fallbackLocale.value,l.value=q.messages.value,c.value=q.datetimeFormats.value,u.value=q.numberFormats.value):a&&G(q)}),Q}const uO=["locale","fallbackLocale","availableLocales"],V5=["t","rt","d","n","tm","te"];function fO(t,e){const r=Object.create(null);return uO.forEach(a=>{const i=Object.getOwnPropertyDescriptor(e,a);if(!i)throw zn(Qn.UNEXPECTED_ERROR);const o=$r(i.value)?{get(){return i.value.value},set(A){i.value.value=A}}:{get(){return i.get&&i.get()}};Object.defineProperty(r,a,o)}),t.config.globalProperties.$i18n=r,V5.forEach(a=>{const i=Object.getOwnPropertyDescriptor(e,a);if(!i||!i.value)throw zn(Qn.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${a}`,i)}),()=>{delete t.config.globalProperties.$i18n,V5.forEach(a=>{delete t.config.globalProperties[`$${a}`]})}}if(j6(),__INTLIFY_JIT_COMPILATION__?s5(M6):s5(O6),S6(s6),L6(n5),__INTLIFY_PROD_DEVTOOLS__){const t=Yo();t.__INTLIFY__=!0,m6(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const dO=Object.assign({"./locales/ar/aria.json":SN,"./locales/ar/buttons.json":LN,"./locales/ar/detail.json":IN,"./locales/ar/legend.json":UN,"./locales/ar/messages.json":TN,"./locales/ar/options.json":kN,"./locales/ar/prayerLaps.json":NN,"./locales/ar/search.json":QN,"./locales/de/aria.json":PN,"./locales/de/buttons.json":ON,"./locales/de/detail.json":MN,"./locales/de/legend.json":RN,"./locales/de/messages.json":DN,"./locales/de/options.json":HN,"./locales/de/prayerLaps.json":$N,"./locales/de/search.json":KN,"./locales/en/aria.json":jN,"./locales/en/buttons.json":GN,"./locales/en/detail.json":VN,"./locales/en/legend.json":zN,"./locales/en/messages.json":WN,"./locales/en/options.json":qN,"./locales/en/prayerLaps.json":YN,"./locales/en/search.json":XN,"./locales/es/aria.json":JN,"./locales/es/buttons.json":ZN,"./locales/es/detail.json":eQ,"./locales/es/legend.json":tQ,"./locales/es/messages.json":rQ,"./locales/es/options.json":nQ,"./locales/es/prayerLaps.json":aQ,"./locales/es/search.json":iQ,"./locales/fr/aria.json":oQ,"./locales/fr/buttons.json":AQ,"./locales/fr/detail.json":sQ,"./locales/fr/legend.json":lQ,"./locales/fr/messages.json":cQ,"./locales/fr/options.json":uQ,"./locales/fr/prayerLaps.json":fQ,"./locales/fr/search.json":dQ,"./locales/hi/aria.json":hQ,"./locales/hi/buttons.json":gQ,"./locales/hi/detail.json":pQ,"./locales/hi/legend.json":mQ,"./locales/hi/messages.json":vQ,"./locales/hi/options.json":bQ,"./locales/hi/prayerLaps.json":yQ,"./locales/hi/search.json":wQ,"./locales/it/aria.json":BQ,"./locales/it/buttons.json":CQ,"./locales/it/detail.json":_Q,"./locales/it/legend.json":xQ,"./locales/it/messages.json":FQ,"./locales/it/options.json":EQ,"./locales/it/prayerLaps.json":SQ,"./locales/it/search.json":LQ,"./locales/pt/aria.json":IQ,"./locales/pt/buttons.json":UQ,"./locales/pt/detail.json":TQ,"./locales/pt/legend.json":kQ,"./locales/pt/messages.json":NQ,"./locales/pt/options.json":QQ,"./locales/pt/prayerLaps.json":PQ,"./locales/pt/search.json":OQ,"./locales/ro/aria.json":MQ,"./locales/ro/buttons.json":RQ,"./locales/ro/detail.json":DQ,"./locales/ro/legend.json":HQ,"./locales/ro/messages.json":$Q,"./locales/ro/options.json":KQ,"./locales/ro/prayerLaps.json":jQ,"./locales/ro/search.json":GQ,"./locales/ru/aria.json":VQ,"./locales/ru/buttons.json":zQ,"./locales/ru/detail.json":WQ,"./locales/ru/legend.json":qQ,"./locales/ru/messages.json":YQ,"./locales/ru/options.json":XQ,"./locales/ru/prayerLaps.json":JQ,"./locales/ru/search.json":ZQ,"./locales/zh/aria.json":eP,"./locales/zh/buttons.json":tP,"./locales/zh/detail.json":rP,"./locales/zh/legend.json":nP,"./locales/zh/messages.json":aP,"./locales/zh/options.json":iP,"./locales/zh/prayerLaps.json":oP,"./locales/zh/search.json":AP}),ju={};for(const[t,e]of Object.entries(dO)){const r=t.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!r)continue;const[,n,a]=r;ju[n]??(ju[n]={}),ju[n][a]=e}const hO=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function gO(){var r;const e=(((r=document==null?void 0:document.documentElement)==null?void 0:r.lang)||"").split("-")[0].toLowerCase();return hO.includes(e)?e:"en"}function pO(){return rO({legacy:!1,globalInjection:!0,locale:gO(),fallbackLocale:"en",messages:ju,missingWarn:!1,fallbackWarn:!1})}const mO=Object.assign({"./profiles/research-map.vue":()=>Pi(()=>Promise.resolve().then(()=>SH),void 0)});if(typeof window<"u"&&((JI=window.mapboxgl)!=null&&JI.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function vO(){return iN(EN,{configureApp(t){t.use(hN()),t.use(pO()),t.provide("profileModules",mO)}})}const bO=vO();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",bO));const z5="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function yO(t){const e=t.getRootNode();if(!(e instanceof ShadowRoot))return;const r=i=>new Promise(o=>setTimeout(o,i)),n=e.querySelector(`link[href="${z5}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(i=>{n.addEventListener("load",i,{once:!0}),n.addEventListener("error",i,{once:!0})}),r(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=z5,await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0}),e.prepend(a)}),r(2e3)])}function wO({containerRef:t,accessToken:e,style:r,center:n=[20,10],zoom:a=2,minZoom:i=.5,maxZoom:o=18,pitch:A=0,bearing:s=0}){const l=Je(null),c=Je(!1);async function u(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!t.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!e){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!e.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',e.slice(0,10)+"...");return}await yO(t.value),await new Promise(m=>requestAnimationFrame(m));const f=t.value,p=f.clientWidth,v=f.clientHeight;if(p===0||v===0){console.error(`[useMapInstance] Container has ZERO dimensions (${p}×${v}). Map will be invisible. Check that parent elements have CSS sizing.`);let m=f.parentElement,_=0;for(;m&&_<5;)m=m.parentElement,_++}const b=e;mapboxgl.accessToken=b,l.value=new mapboxgl.Map({accessToken:b,container:t.value,style:r,center:n,zoom:a,minZoom:i,maxZoom:o,pitch:A,bearing:s,attributionControl:!1}),l.value.on("style.load",()=>{requestAnimationFrame(()=>{var m;(m=l.value)==null||m.resize(),c.value=!0})})}function h(){l.value&&(l.value.remove(),l.value=null,c.value=!1)}return{map:l,isMapReady:c,initializeMap:u,destroy:h}}const BO="peoplePraying",Zo=100,Ns={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},hm=Ns,CO={noPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayer:"100+ People Praying"};function zl(t){var n;const e=t.peoplePraying??((n=t._raw)==null?void 0:n.people_praying)??null,r=Number(e)||0;return r>=Zo?"fullPrayer":r>0?"hasPrayer":"noPrayer"}function W5(t){return Ns[zl(t)]}function _O(t){var r;const e=t.peoplePraying??((r=t._raw)==null?void 0:r.people_praying)??null;return e!==null&&e>0}function xO(t){return zl(t)==="fullPrayer"}function FO(t){return W5(t)}function q5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",e,Zo],Ns.fullPrayer,[">",e,0],Ns.hasPrayer,Ns.noPrayer]}const EO={name:"Prayer Progress",propertyKey:BO,palette:Ns,colors:Ns,labels:CO,threshold:Zo,getColor:FO,applyColor:q5,buildColorExpression:q5,getPrayerLevel:zl,getPrayerColor:W5,checkHasPrayer:_O,checkHasFullPrayer:xO},SO="engagementStatus",DA={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Y5=DA,LO={notEngaged:"Unengaged",hasEngagement:"Engaged"};function IO(t){var n;const e=t.engagementStatus??((n=t._raw)==null?void 0:n.people_committed);return e===!0||e===1||typeof e=="number"&&e>0||typeof e=="object"&&(e==null?void 0:e.value)?DA.hasEngagement:DA.notEngaged}function X5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",e,!0],DA.hasEngagement,["==",e,1],DA.hasEngagement,DA.notEngaged]}const UO={name:"Engagement Progress",propertyKey:SO,palette:DA,colors:DA,labels:LO,getColor:IO,applyColor:X5,buildColorExpression:X5},TO="adoptionStatus",HA={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},J5=HA,kO={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function NO(t){var n;const e=t.adoptionStatus??((n=t._raw)==null?void 0:n.adopted_by_churches);return e===!0||e===1||typeof e=="number"&&e>0||typeof e=="object"&&(e==null?void 0:e.value)?HA.hasAdoption:HA.notAdopted}function Z5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",e,!0],HA.hasAdoption,["==",e,1],HA.hasAdoption,HA.notAdopted]}const QO={name:"Adoption Progress",propertyKey:TO,palette:HA,colors:HA,labels:kO,getColor:NO,applyColor:Z5,buildColorExpression:Z5},eC="affinityBlock",Wl="#95a5a6",ql={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"},Gu={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"},Yl=Gu;Object.entries(ql).reduce((t,[e,r])=>(t[r]=e,t),{});const PO=Object.entries(ql).reduce((t,[e,r])=>(t[r]=Yl[e],t),{}),OO=ql;function tC(t){return ql[t]||"Unknown"}function rC(t){return Yl[t]||Wl}function MO(t){return t?typeof t=="string"&&/^A\d{3}$/.test(t)?Yl[t]||Wl:PO[t]||Wl:Wl}function RO(){return Object.entries(ql).map(([t,e])=>({code:t,name:e,color:Yl[t]}))}function DO(t){return{code:t,name:ql[t]||"Unknown",color:Yl[t]||Wl}}function HO(t){var r;const e=t.affinityBlock||((r=t._raw)==null?void 0:r.ROP1);return rC(e)}function $O(t){var r;const e=t.affinityBlock||((r=t._raw)==null?void 0:r.ROP1);return tC(e)}function nC(){const t=["match",["get",eC]];return Object.entries(Yl).forEach(([e,r])=>{t.push(e,r)}),t.push(Wl),t}const KO={name:"Affinity Block",propertyKey:eC,palette:Gu,colors:Gu,names:OO,getColor:HO,applyColor:nC,buildColorExpression:nC,getName:$O,getAffinityBlockName:tC,getAffinityBlockColor:MO,getAffinityBlockColorByCode:rC,getAffinityBlocksArray:RO,getAffinityBlockData:DO},aC="languageFamily",jO="#000000",Xl={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function mo(t){return Xl[t]||jO}const GO=(()=>{const t=r=>String(r||"").toLowerCase().trim(),e={};for(const r of Object.keys(Xl))e[t(r)]=r;return e})();function gm(t){if(!t)return"Unknown";const e=String(t).trim();return GO[e.toLowerCase()]||e}function VO(t){var e;return mo(t.languageFamily||((e=t._normalized)==null?void 0:e.languageFamily))}function iC(){const t=["match",["get",aC]];return Object.entries(Xl).forEach(([e,r])=>{t.push(e,r)}),t.push("#95a5a6"),t}const zO={name:"Language Family",propertyKey:aC,palette:Xl,colors:Xl,getColor:VO,applyColor:iC,buildColorExpression:iC,getLanguageFamilyColor:mo,canonicalFamilyName:gm};function WO(t){if(!t)return"hsl(0, 60%, 50%)";let e=0;for(let n=0;n{t.push(e,r)}),t.push(AC),t}const JO={name:"DOXA Region",propertyKey:oC,palette:Vu,colors:Vu,aliases:sC,getColor:XO,applyColor:lC,buildColorExpression:lC,getRegionColor:YO},ZO="resourceType",eA={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},gh=["bible","jesusFilm","radio","gospel","audio","stories"],cC={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},e8=cC;function ph(t){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[t]}function t8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return eA.hasResources;return eA.noResources}function r8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return!0;return!1}function n8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return r;return"noResources"}function uC(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],eA.hasResources,eA.noResources]}const a8={name:"Gospel Resources",propertyKey:ZO,palette:eA,colors:eA,names:cC,priority:gh,getColor:t8,applyColor:uC,buildColorExpression:uC,hasAnyResource:r8,getResourceType:n8,getCSVColumn:ph},i8="religion",pm="#94a3b8",mm={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},_i={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function fC(t){if(!t||typeof t!="string")return"U";const e=t.charAt(0).toUpperCase();return mm[e]?e:"U"}function o8(t){var r,n,a;const e=(t==null?void 0:t.religion)||((n=(r=t==null?void 0:t._raw)==null?void 0:r.religion)==null?void 0:n.value)||((a=t==null?void 0:t._raw)==null?void 0:a.religion);return _i[fC(e)]||pm}function dC(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",_i.C,"M",_i.M,"H",_i.H,"B",_i.B,"E",_i.E,"J",_i.J,"S",_i.S,"N",_i.N,"O",_i.O,pm]}const A8={propertyKey:i8,palette:_i,families:mm,getColor:o8,applyColor:dC,buildColorExpression:dC,fallback:pm},tA={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},hC={[tA.LANGUAGE_FAMILY]:zO,[tA.AFFINITY_BLOCK]:KO,[tA.DOXA_REGION]:JO,[tA.RESOURCE]:a8,[tA.PRAYER_PROGRESS]:EO,[tA.ENGAGEMENT]:UO,[tA.ADOPTION]:QO,[tA.RELIGION]:A8};function zu(t){return hC[t]||hC[tA.LANGUAGE_FAMILY]}function s8(t,e={}){return zu(t).applyColor(e)}const l8={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]}},mh={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,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function c8(t){return l8[t]||null}function vm(t="standard"){return mh.circleRadius[t]||mh.circleRadius.standard}function u8(t="standard"){return mh.circleStrokeWidth[t]||mh.circleStrokeWidth.standard}function gC(t={}){const{getMap:e=()=>null,mapId:r="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=t,i=Wt("uiStore"),o=Je([]);function A(m){const _=n(m.languageFamily),y="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let B=m.imageUrl;(!B||B.includes("NoImageAvailable"))&&(B=y);const F=(m.name||"U")[0].toUpperCase(),S=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],k=F.charCodeAt(0)%S.length;return`
{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** +(function(){"use strict";var Jc;var xa=typeof document<"u"?document.currentScript:null;const R0="modulepreload",D0=function(e){return"/"+e},O0={},La=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.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Ta(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Oe={},$o=[],It=()=>{},Jr=()=>!1,Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fn=e=>e.startsWith("onUpdate:"),qe=Object.assign,Ea=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Xc=Object.prototype.hasOwnProperty,Me=(e,t)=>Xc.call(e,t),be=Array.isArray,Po=e=>tn(e)==="[object Map]",Xr=e=>tn(e)==="[object Set]",Zr=e=>tn(e)==="[object Date]",Se=e=>typeof e=="function",je=e=>typeof e=="string",bt=e=>typeof e=="symbol",Ne=e=>e!==null&&typeof e=="object",Qr=e=>(Ne(e)||Se(e))&&Se(e.then)&&Se(e.catch),es=Object.prototype.toString,tn=e=>es.call(e),Zc=e=>tn(e).slice(8,-1),Rn=e=>tn(e)==="[object Object]",Dn=e=>je(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,on=Ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),On=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Qc=/-\w/g,ot=On(e=>e.replace(Qc,t=>t.slice(1).toUpperCase())),eu=/\B([A-Z])/g,vt=On(e=>e.replace(eu,"-$1").toLowerCase()),Bn=On(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ca=On(e=>e?`on${Bn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),$a=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},tu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},os=e=>{const t=je(e)?Number(e):NaN;return isNaN(t)?e:t};let ns;const Un=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ct(e){if(be(e)){const t={};for(let o=0;o{if(o){const n=o.split(nu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Be(e){let t="";if(je(e))t=e;else if(be(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ye=e=>je(e)?e:e==null?"":be(e)||Ne(e)&&(e.toString===es||!Se(e.toString))?rs(e)?ye(e.value):JSON.stringify(e,ss,2):String(e),ss=(e,t)=>rs(t)?ss(e,t.value):Po(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Ma(n,r)+" =>"]=a,o),{})}:Xr(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ma(o))}:bt(t)?Ma(t):Ne(t)&&!be(t)&&!Rn(t)?String(t):t,Ma=(e,t="")=>{var o;return bt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Ta(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Oe={},$o=[],It=()=>{},Js=()=>!1,Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fn=e=>e.startsWith("onUpdate:"),qe=Object.assign,Ea=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Xc=Object.prototype.hasOwnProperty,Me=(e,t)=>Xc.call(e,t),be=Array.isArray,Po=e=>tn(e)==="[object Map]",Xs=e=>tn(e)==="[object Set]",Zs=e=>tn(e)==="[object Date]",Se=e=>typeof e=="function",Ge=e=>typeof e=="string",bt=e=>typeof e=="symbol",Ne=e=>e!==null&&typeof e=="object",Qs=e=>(Ne(e)||Se(e))&&Se(e.then)&&Se(e.catch),er=Object.prototype.toString,tn=e=>er.call(e),Zc=e=>tn(e).slice(8,-1),Rn=e=>tn(e)==="[object Object]",Dn=e=>Ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,on=Ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),On=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Qc=/-\w/g,ot=On(e=>e.replace(Qc,t=>t.slice(1).toUpperCase())),eu=/\B([A-Z])/g,vt=On(e=>e.replace(eu,"-$1").toLowerCase()),Bn=On(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ca=On(e=>e?`on${Bn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),$a=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},tu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},or=e=>{const t=Ge(e)?Number(e):NaN;return isNaN(t)?e:t};let nr;const Un=()=>nr||(nr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ct(e){if(be(e)){const t={};for(let o=0;o{if(o){const n=o.split(nu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Be(e){let t="";if(Ge(e))t=e;else if(be(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ye=e=>Ge(e)?e:e==null?"":be(e)||Ne(e)&&(e.toString===er||!Se(e.toString))?sr(e)?ye(e.value):JSON.stringify(e,rr,2):String(e),rr=(e,t)=>sr(t)?rr(e,t.value):Po(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[Ma(n,s)+" =>"]=a,o),{})}:Xs(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ma(o))}:bt(t)?Ma(t):Ne(t)&&!be(t)&&!Rn(t)?String(t):t,Ma=(e,t="")=>{var o;return bt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let et;class is{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&&et&&(et.active?(this.parent=et,this.index=(et.scopes||(et.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)for(t=0,o=this.scopes.length;t0&&--this._on===0){if(et===this)et=this.prevScope;else{let t=et;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(an){let t=an;for(an=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;nn;){let t=nn;for(nn=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 ps(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gs(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Oa(n),cu(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Da(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===rn)||(e.globalVersion=rn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Da(e))))return;e.flags|=2;const t=e.dep,o=Ue,n=At;Ue=e,At=!0;try{ps(e);const a=e.fn(e._value);(t.version===0||Nt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ue=o,At=n,gs(e),e.flags&=-3}}function Oa(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)Oa(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function cu(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let At=!0;const hs=[];function Ft(){hs.push(At),At=!1}function Rt(){const e=hs.pop();At=e===void 0?!0:e}function ms(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ue;Ue=void 0;try{t()}finally{Ue=o}}}let rn=0;class uu{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 Ba{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(!Ue||!At||Ue===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ue)o=this.activeLink=new uu(Ue,this),Ue.deps?(o.prevDep=Ue.depsTail,Ue.depsTail.nextDep=o,Ue.depsTail=o):Ue.deps=Ue.depsTail=o,bs(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=Ue.depsTail,o.nextDep=void 0,Ue.depsTail.nextDep=o,Ue.depsTail=o,Ue.deps===o&&(Ue.deps=n)}return o}trigger(t){this.version++,rn++,this.notify(t)}notify(t){Fa();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ra()}}}function bs(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)bs(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Gn=new WeakMap,_o=Symbol(""),Ua=Symbol(""),sn=Symbol("");function lt(e,t,o){if(At&&Ue){let n=Gn.get(e);n||Gn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Ba),a.map=n,a.key=o),a.track()}}function Ht(e,t,o,n,a,r){const s=Gn.get(e);if(!s){rn++;return}const i=l=>{l&&l.trigger()};if(Fa(),t==="clear")s.forEach(i);else{const l=be(e),c=l&&Dn(o);if(l&&o==="length"){const u=Number(n);s.forEach((f,v)=>{(v==="length"||v===sn||!bt(v)&&v>=u)&&i(f)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(sn)),t){case"add":l?c&&i(s.get("length")):(i(s.get(_o)),Po(e)&&i(s.get(Ua)));break;case"delete":l||(i(s.get(_o)),Po(e)&&i(s.get(Ua)));break;case"set":Po(e)&&i(s.get(_o));break}}Ra()}function du(e,t){const o=Gn.get(e);return o&&o.get(t)}function Mo(e){const t=Ce(e);return t===e?t:(lt(t,"iterate",sn),yt(e)?t:t.map(xt))}function jn(e){return lt(e=Ce(e),"iterate",sn),e}function Dt(e,t){return Wt(e)?No(Vt(e)?xt(t):t):xt(t)}const pu={__proto__:null,[Symbol.iterator](){return Ga(this,Symbol.iterator,e=>Dt(this,e))},concat(...e){return Mo(this).concat(...e.map(t=>be(t)?Mo(t):t))},entries(){return Ga(this,"entries",e=>(e[1]=Dt(this,e[1]),e))},every(e,t){return zt(this,"every",e,t,void 0,arguments)},filter(e,t){return zt(this,"filter",e,t,o=>o.map(n=>Dt(this,n)),arguments)},find(e,t){return zt(this,"find",e,t,o=>Dt(this,o),arguments)},findIndex(e,t){return zt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return zt(this,"findLast",e,t,o=>Dt(this,o),arguments)},findLastIndex(e,t){return zt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return zt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ja(this,"includes",e)},indexOf(...e){return ja(this,"indexOf",e)},join(e){return Mo(this).join(e)},lastIndexOf(...e){return ja(this,"lastIndexOf",e)},map(e,t){return zt(this,"map",e,t,void 0,arguments)},pop(){return ln(this,"pop")},push(...e){return ln(this,"push",e)},reduce(e,...t){return ys(this,"reduce",e,t)},reduceRight(e,...t){return ys(this,"reduceRight",e,t)},shift(){return ln(this,"shift")},some(e,t){return zt(this,"some",e,t,void 0,arguments)},splice(...e){return ln(this,"splice",e)},toReversed(){return Mo(this).toReversed()},toSorted(e){return Mo(this).toSorted(e)},toSpliced(...e){return Mo(this).toSpliced(...e)},unshift(...e){return ln(this,"unshift",e)},values(){return Ga(this,"values",e=>Dt(this,e))}};function Ga(e,t,o){const n=jn(e),a=n[t]();return n!==e&&!yt(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const gu=Array.prototype;function zt(e,t,o,n,a,r){const s=jn(e),i=s!==e&&!yt(e),l=s[t];if(l!==gu[t]){const f=l.apply(e,r);return i?xt(f):f}let c=o;s!==e&&(i?c=function(f,v){return o.call(this,Dt(e,f),v,e)}:o.length>2&&(c=function(f,v){return o.call(this,f,v,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function ys(e,t,o,n){const a=jn(e),r=a!==e&&!yt(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,f){return i&&(i=!1,c=Dt(e,c)),o.call(this,c,Dt(e,u),f,e)}):o.length>3&&(s=function(c,u,f){return o.call(this,c,u,f,e)}));const l=a[t](s,...n);return i?Dt(e,l):l}function ja(e,t,o){const n=Ce(e);lt(n,"iterate",sn);const a=n[t](...o);return(a===-1||a===!1)&&Wn(o[0])?(o[0]=Ce(o[0]),n[t](...o)):a}function ln(e,t,o=[]){Ft(),Fa();const n=Ce(e)[t].apply(e,o);return Ra(),Rt(),n}const fu=Ta("__proto__,__v_isRef,__isVue"),_s=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function hu(e){bt(e)||(e=String(e));const t=Ce(this);return lt(t,"has",e),t.hasOwnProperty(e)}class vs{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?Ls:xs:r?As:Ss).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=be(t);if(!a){let l;if(s&&(l=pu[o]))return l;if(o==="hasOwnProperty")return hu}const i=Reflect.get(t,o,Ke(t)?t:n);if((bt(o)?_s.has(o):fu(o))||(a||lt(t,"get",o),r))return i;if(Ke(i)){const l=s&&Dn(o)?i:i.value;return a&&Ne(l)?Ha(l):l}return Ne(i)?a?Ha(i):Io(i):i}}class ws extends vs{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=be(t)&&Dn(o);if(!this._isShallow){const c=Wt(r);if(!yt(n)&&!Wt(n)&&(r=Ce(r),n=Ce(n)),!s&&Ke(r)&&!Ke(n))return c||(r.value=n),!0}const i=s?Number(o)e,Kn=e=>Reflect.getPrototypeOf(e);function vu(e,t,o){return function(...n){const a=this.__v_raw,r=Ce(a),s=Po(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Ka:t?No:xt;return!t&<(r,"iterate",l?Ua:_o),qe(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:i?[u(f[0]),u(f[1])]:u(f),done:v}}})}}function Hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wu(e,t){const o={get(a){const r=this.__v_raw,s=Ce(r),i=Ce(a);e||(Nt(a,i)&<(s,"get",a),lt(s,"get",i));const{has:l}=Kn(s),c=t?Ka:e?No:xt;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&<(Ce(a),"iterate",_o),a.size},has(a){const r=this.__v_raw,s=Ce(r),i=Ce(a);return e||(Nt(a,i)&<(s,"has",a),lt(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=Ce(i),c=t?Ka:e?No:xt;return!e&<(l,"iterate",_o),i.forEach((u,f)=>a.call(r,c(u),c(f),s))}};return qe(o,e?{add:Hn("add"),set:Hn("set"),delete:Hn("delete"),clear:Hn("clear")}:{add(a){const r=Ce(this),s=Kn(r),i=Ce(a),l=!t&&!yt(a)&&!Wt(a)?i:a;return s.has.call(r,l)||Nt(a,l)&&s.has.call(r,a)||Nt(i,l)&&s.has.call(r,i)||(r.add(l),Ht(r,"add",l,l)),this},set(a,r){!t&&!yt(r)&&!Wt(r)&&(r=Ce(r));const s=Ce(this),{has:i,get:l}=Kn(s);let c=i.call(s,a);c||(a=Ce(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?Nt(r,u)&&Ht(s,"set",a,r):Ht(s,"add",a,r),this},delete(a){const r=Ce(this),{has:s,get:i}=Kn(r);let l=s.call(r,a);l||(a=Ce(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&Ht(r,"delete",a,void 0),c},clear(){const a=Ce(this),r=a.size!==0,s=a.clear();return r&&Ht(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=vu(a,e,t)}),o}function zn(e,t){const o=wu(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Me(o,a)&&a in n?o:n,a,r)}const ku={get:zn(!1,!1)},Su={get:zn(!1,!0)},Au={get:zn(!0,!1)},xu={get:zn(!0,!0)},Ss=new WeakMap,As=new WeakMap,xs=new WeakMap,Ls=new WeakMap;function Lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Io(e){return Wt(e)?e:Vn(e,!1,mu,ku,Ss)}function Tu(e){return Vn(e,!1,yu,Su,As)}function Ha(e){return Vn(e,!0,bu,Au,xs)}function U0(e){return Vn(e,!0,_u,xu,Ls)}function Vn(e,t,o,n,a){if(!Ne(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=Lu(Zc(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Vt(e){return Wt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function yt(e){return!!(e&&e.__v_isShallow)}function Wn(e){return e?!!e.__v_raw:!1}function Ce(e){const t=e&&e.__v_raw;return t?Ce(t):e}function cn(e){return!Me(e,"__v_skip")&&Object.isExtensible(e)&&ts(e,"__v_skip",!0),e}const xt=e=>Ne(e)?Io(e):e,No=e=>Ne(e)?Ha(e):e;function Ke(e){return e?e.__v_isRef===!0:!1}function me(e){return Es(e,!1)}function Ts(e){return Es(e,!0)}function Es(e,t){return Ke(e)?e:new Eu(e,t)}class Eu{constructor(t,o){this.dep=new Ba,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ce(t),this._value=o?t:xt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||yt(t)||Wt(t);t=n?t:Ce(t),Nt(t,o)&&(this._rawValue=t,this._value=n?t:xt(t),this.dep.trigger())}}function pe(e){return Ke(e)?e.value:e}const Cu={get:(e,t,o)=>t==="__v_raw"?e:pe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Ke(a)&&!Ke(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Cs(e){return Vt(e)?e:new Proxy(e,Cu)}function $u(e){const t=be(e)?new Array(e.length):{};for(const o in e)t[o]=$s(e,o);return t}class Pu{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=bt(o)?o:String(o),this._raw=Ce(t);let a=!0,r=t;if(!be(t)||bt(this._key)||!Dn(this._key))do a=!Wn(r)||yt(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ke(this._raw[this._key])){const o=this._object[this._key];if(Ke(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return du(this._raw,this._key)}}class Mu{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 za(e,t,o){return Ke(e)?e:Se(e)?new Mu(e):Ne(e)&&arguments.length>1?$s(e,t,o):me(e)}function $s(e,t,o){return new Pu(e,t,o)}class Iu{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ba(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=rn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ue!==this)return ds(this,!0),!0}get value(){const t=this.dep.track();return fs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Nu(e,t,o=!1){let n,a;return Se(e)?n=e:(n=e.get,a=e.set),new Iu(n,a,o)}const Yn={},qn=new WeakMap;let vo;function Fu(e,t=!1,o=vo){if(o){let n=qn.get(o);n||qn.set(o,n=[]),n.push(e)}}function Ru(e,t,o=Oe){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=k=>a?k:yt(k)||a===!1||a===0?Yt(k,1):Yt(k);let u,f,v,x,T=!1,w=!1;if(Ke(e)?(f=()=>e.value,T=yt(e)):Vt(e)?(f=()=>c(e),T=!0):be(e)?(w=!0,T=e.some(k=>Vt(k)||yt(k)),f=()=>e.map(k=>{if(Ke(k))return k.value;if(Vt(k))return c(k);if(Se(k))return l?l(k,2):k()})):Se(e)?t?f=l?()=>l(e,2):e:f=()=>{if(v){Ft();try{v()}finally{Rt()}}const k=vo;vo=u;try{return l?l(e,3,[x]):e(x)}finally{vo=k}}:f=It,t&&a){const k=f,A=a===!0?1/0:a;f=()=>Yt(k(),A)}const E=ls(),_=()=>{u.stop(),E&&E.active&&Ea(E.effects,u)};if(r&&t){const k=t;t=(...A)=>{k(...A),_()}}let S=w?new Array(e.length).fill(Yn):Yn;const g=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const A=u.run();if(a||T||(w?A.some((L,O)=>Nt(L,S[O])):Nt(A,S))){v&&v();const L=vo;vo=u;try{const O=[A,S===Yn?void 0:w&&S[0]===Yn?[]:S,x];S=A,l?l(t,3,O):t(...O)}finally{vo=L}}}else u.run()};return i&&i(g),u=new cs(f),u.scheduler=s?()=>s(g,!1):g,x=k=>Fu(k,!1,u),v=u.onStop=()=>{const k=qn.get(u);if(k){if(l)l(k,4);else for(const A of k)A();qn.delete(u)}},t?n?g(!0):S=u.run():s?s(g.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function Yt(e,t=1/0,o){if(t<=0||!Ne(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ke(e))Yt(e.value,t,o);else if(be(e))for(let n=0;n{Yt(n,t,o)});else if(Rn(e)){for(const n in e)Yt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Yt(e[n],t,o)}return e}/** +**/let et;class ir{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&&et&&(et.active?(this.parent=et,this.index=(et.scopes||(et.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)for(t=0,o=this.scopes.length;t0&&--this._on===0){if(et===this)et=this.prevScope;else{let t=et;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(an){let t=an;for(an=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;nn;){let t=nn;for(nn=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 pr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gr(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Oa(n),cu(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Da(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Da(e))))return;e.flags|=2;const t=e.dep,o=Ue,n=At;Ue=e,At=!0;try{pr(e);const a=e.fn(e._value);(t.version===0||Nt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ue=o,At=n,gr(e),e.flags&=-3}}function Oa(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)Oa(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function cu(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let At=!0;const hr=[];function Ft(){hr.push(At),At=!1}function Rt(){const e=hr.pop();At=e===void 0?!0:e}function mr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ue;Ue=void 0;try{t()}finally{Ue=o}}}let sn=0;class uu{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 Ba{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(!Ue||!At||Ue===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ue)o=this.activeLink=new uu(Ue,this),Ue.deps?(o.prevDep=Ue.depsTail,Ue.depsTail.nextDep=o,Ue.depsTail=o):Ue.deps=Ue.depsTail=o,br(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=Ue.depsTail,o.nextDep=void 0,Ue.depsTail.nextDep=o,Ue.depsTail=o,Ue.deps===o&&(Ue.deps=n)}return o}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Fa();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ra()}}}function br(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)br(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const jn=new WeakMap,_o=Symbol(""),Ua=Symbol(""),rn=Symbol("");function lt(e,t,o){if(At&&Ue){let n=jn.get(e);n||jn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Ba),a.map=n,a.key=o),a.track()}}function Ht(e,t,o,n,a,s){const r=jn.get(e);if(!r){sn++;return}const i=l=>{l&&l.trigger()};if(Fa(),t==="clear")r.forEach(i);else{const l=be(e),c=l&&Dn(o);if(l&&o==="length"){const u=Number(n);r.forEach((f,v)=>{(v==="length"||v===rn||!bt(v)&&v>=u)&&i(f)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(rn)),t){case"add":l?c&&i(r.get("length")):(i(r.get(_o)),Po(e)&&i(r.get(Ua)));break;case"delete":l||(i(r.get(_o)),Po(e)&&i(r.get(Ua)));break;case"set":Po(e)&&i(r.get(_o));break}}Ra()}function du(e,t){const o=jn.get(e);return o&&o.get(t)}function Mo(e){const t=Ce(e);return t===e?t:(lt(t,"iterate",rn),yt(e)?t:t.map(xt))}function Gn(e){return lt(e=Ce(e),"iterate",rn),e}function Dt(e,t){return Wt(e)?No(Vt(e)?xt(t):t):xt(t)}const pu={__proto__:null,[Symbol.iterator](){return ja(this,Symbol.iterator,e=>Dt(this,e))},concat(...e){return Mo(this).concat(...e.map(t=>be(t)?Mo(t):t))},entries(){return ja(this,"entries",e=>(e[1]=Dt(this,e[1]),e))},every(e,t){return zt(this,"every",e,t,void 0,arguments)},filter(e,t){return zt(this,"filter",e,t,o=>o.map(n=>Dt(this,n)),arguments)},find(e,t){return zt(this,"find",e,t,o=>Dt(this,o),arguments)},findIndex(e,t){return zt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return zt(this,"findLast",e,t,o=>Dt(this,o),arguments)},findLastIndex(e,t){return zt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return zt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ga(this,"includes",e)},indexOf(...e){return Ga(this,"indexOf",e)},join(e){return Mo(this).join(e)},lastIndexOf(...e){return Ga(this,"lastIndexOf",e)},map(e,t){return zt(this,"map",e,t,void 0,arguments)},pop(){return ln(this,"pop")},push(...e){return ln(this,"push",e)},reduce(e,...t){return yr(this,"reduce",e,t)},reduceRight(e,...t){return yr(this,"reduceRight",e,t)},shift(){return ln(this,"shift")},some(e,t){return zt(this,"some",e,t,void 0,arguments)},splice(...e){return ln(this,"splice",e)},toReversed(){return Mo(this).toReversed()},toSorted(e){return Mo(this).toSorted(e)},toSpliced(...e){return Mo(this).toSpliced(...e)},unshift(...e){return ln(this,"unshift",e)},values(){return ja(this,"values",e=>Dt(this,e))}};function ja(e,t,o){const n=Gn(e),a=n[t]();return n!==e&&!yt(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const gu=Array.prototype;function zt(e,t,o,n,a,s){const r=Gn(e),i=r!==e&&!yt(e),l=r[t];if(l!==gu[t]){const f=l.apply(e,s);return i?xt(f):f}let c=o;r!==e&&(i?c=function(f,v){return o.call(this,Dt(e,f),v,e)}:o.length>2&&(c=function(f,v){return o.call(this,f,v,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function yr(e,t,o,n){const a=Gn(e),s=a!==e&&!yt(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,f){return i&&(i=!1,c=Dt(e,c)),o.call(this,c,Dt(e,u),f,e)}):o.length>3&&(r=function(c,u,f){return o.call(this,c,u,f,e)}));const l=a[t](r,...n);return i?Dt(e,l):l}function Ga(e,t,o){const n=Ce(e);lt(n,"iterate",rn);const a=n[t](...o);return(a===-1||a===!1)&&Wn(o[0])?(o[0]=Ce(o[0]),n[t](...o)):a}function ln(e,t,o=[]){Ft(),Fa();const n=Ce(e)[t].apply(e,o);return Ra(),Rt(),n}const fu=Ta("__proto__,__v_isRef,__isVue"),_r=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function hu(e){bt(e)||(e=String(e));const t=Ce(this);return lt(t,"has",e),t.hasOwnProperty(e)}class vr{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?Lr:xr:s?Ar:Sr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=be(t);if(!a){let l;if(r&&(l=pu[o]))return l;if(o==="hasOwnProperty")return hu}const i=Reflect.get(t,o,Ke(t)?t:n);if((bt(o)?_r.has(o):fu(o))||(a||lt(t,"get",o),s))return i;if(Ke(i)){const l=r&&Dn(o)?i:i.value;return a&&Ne(l)?Ha(l):l}return Ne(i)?a?Ha(i):Io(i):i}}class wr extends vr{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=be(t)&&Dn(o);if(!this._isShallow){const c=Wt(s);if(!yt(n)&&!Wt(n)&&(s=Ce(s),n=Ce(n)),!r&&Ke(s)&&!Ke(n))return c||(s.value=n),!0}const i=r?Number(o)e,Kn=e=>Reflect.getPrototypeOf(e);function vu(e,t,o){return function(...n){const a=this.__v_raw,s=Ce(a),r=Po(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?Ka:t?No:xt;return!t&<(s,"iterate",l?Ua:_o),qe(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:i?[u(f[0]),u(f[1])]:u(f),done:v}}})}}function Hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wu(e,t){const o={get(a){const s=this.__v_raw,r=Ce(s),i=Ce(a);e||(Nt(a,i)&<(r,"get",a),lt(r,"get",i));const{has:l}=Kn(r),c=t?Ka:e?No:xt;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&<(Ce(a),"iterate",_o),a.size},has(a){const s=this.__v_raw,r=Ce(s),i=Ce(a);return e||(Nt(a,i)&<(r,"has",a),lt(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=Ce(i),c=t?Ka:e?No:xt;return!e&<(l,"iterate",_o),i.forEach((u,f)=>a.call(s,c(u),c(f),r))}};return qe(o,e?{add:Hn("add"),set:Hn("set"),delete:Hn("delete"),clear:Hn("clear")}:{add(a){const s=Ce(this),r=Kn(s),i=Ce(a),l=!t&&!yt(a)&&!Wt(a)?i:a;return r.has.call(s,l)||Nt(a,l)&&r.has.call(s,a)||Nt(i,l)&&r.has.call(s,i)||(s.add(l),Ht(s,"add",l,l)),this},set(a,s){!t&&!yt(s)&&!Wt(s)&&(s=Ce(s));const r=Ce(this),{has:i,get:l}=Kn(r);let c=i.call(r,a);c||(a=Ce(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?Nt(s,u)&&Ht(r,"set",a,s):Ht(r,"add",a,s),this},delete(a){const s=Ce(this),{has:r,get:i}=Kn(s);let l=r.call(s,a);l||(a=Ce(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&Ht(s,"delete",a,void 0),c},clear(){const a=Ce(this),s=a.size!==0,r=a.clear();return s&&Ht(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=vu(a,e,t)}),o}function zn(e,t){const o=wu(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Me(o,a)&&a in n?o:n,a,s)}const ku={get:zn(!1,!1)},Su={get:zn(!1,!0)},Au={get:zn(!0,!1)},xu={get:zn(!0,!0)},Sr=new WeakMap,Ar=new WeakMap,xr=new WeakMap,Lr=new WeakMap;function Lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Io(e){return Wt(e)?e:Vn(e,!1,mu,ku,Sr)}function Tu(e){return Vn(e,!1,yu,Su,Ar)}function Ha(e){return Vn(e,!0,bu,Au,xr)}function U0(e){return Vn(e,!0,_u,xu,Lr)}function Vn(e,t,o,n,a){if(!Ne(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=Lu(Zc(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Vt(e){return Wt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function yt(e){return!!(e&&e.__v_isShallow)}function Wn(e){return e?!!e.__v_raw:!1}function Ce(e){const t=e&&e.__v_raw;return t?Ce(t):e}function cn(e){return!Me(e,"__v_skip")&&Object.isExtensible(e)&&tr(e,"__v_skip",!0),e}const xt=e=>Ne(e)?Io(e):e,No=e=>Ne(e)?Ha(e):e;function Ke(e){return e?e.__v_isRef===!0:!1}function me(e){return Er(e,!1)}function Tr(e){return Er(e,!0)}function Er(e,t){return Ke(e)?e:new Eu(e,t)}class Eu{constructor(t,o){this.dep=new Ba,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ce(t),this._value=o?t:xt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||yt(t)||Wt(t);t=n?t:Ce(t),Nt(t,o)&&(this._rawValue=t,this._value=n?t:xt(t),this.dep.trigger())}}function pe(e){return Ke(e)?e.value:e}const Cu={get:(e,t,o)=>t==="__v_raw"?e:pe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Ke(a)&&!Ke(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Cr(e){return Vt(e)?e:new Proxy(e,Cu)}function $u(e){const t=be(e)?new Array(e.length):{};for(const o in e)t[o]=$r(e,o);return t}class Pu{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=bt(o)?o:String(o),this._raw=Ce(t);let a=!0,s=t;if(!be(t)||bt(this._key)||!Dn(this._key))do a=!Wn(s)||yt(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ke(this._raw[this._key])){const o=this._object[this._key];if(Ke(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return du(this._raw,this._key)}}class Mu{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 za(e,t,o){return Ke(e)?e:Se(e)?new Mu(e):Ne(e)&&arguments.length>1?$r(e,t,o):me(e)}function $r(e,t,o){return new Pu(e,t,o)}class Iu{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ba(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ue!==this)return dr(this,!0),!0}get value(){const t=this.dep.track();return fr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Nu(e,t,o=!1){let n,a;return Se(e)?n=e:(n=e.get,a=e.set),new Iu(n,a,o)}const Yn={},qn=new WeakMap;let vo;function Fu(e,t=!1,o=vo){if(o){let n=qn.get(o);n||qn.set(o,n=[]),n.push(e)}}function Ru(e,t,o=Oe){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=k=>a?k:yt(k)||a===!1||a===0?Yt(k,1):Yt(k);let u,f,v,x,T=!1,w=!1;if(Ke(e)?(f=()=>e.value,T=yt(e)):Vt(e)?(f=()=>c(e),T=!0):be(e)?(w=!0,T=e.some(k=>Vt(k)||yt(k)),f=()=>e.map(k=>{if(Ke(k))return k.value;if(Vt(k))return c(k);if(Se(k))return l?l(k,2):k()})):Se(e)?t?f=l?()=>l(e,2):e:f=()=>{if(v){Ft();try{v()}finally{Rt()}}const k=vo;vo=u;try{return l?l(e,3,[x]):e(x)}finally{vo=k}}:f=It,t&&a){const k=f,A=a===!0?1/0:a;f=()=>Yt(k(),A)}const E=lr(),_=()=>{u.stop(),E&&E.active&&Ea(E.effects,u)};if(s&&t){const k=t;t=(...A)=>{k(...A),_()}}let S=w?new Array(e.length).fill(Yn):Yn;const g=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const A=u.run();if(a||T||(w?A.some((L,O)=>Nt(L,S[O])):Nt(A,S))){v&&v();const L=vo;vo=u;try{const O=[A,S===Yn?void 0:w&&S[0]===Yn?[]:S,x];S=A,l?l(t,3,O):t(...O)}finally{vo=L}}}else u.run()};return i&&i(g),u=new cr(f),u.scheduler=r?()=>r(g,!1):g,x=k=>Fu(k,!1,u),v=u.onStop=()=>{const k=qn.get(u);if(k){if(l)l(k,4);else for(const A of k)A();qn.delete(u)}},t?n?g(!0):S=u.run():r?r(g.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function Yt(e,t=1/0,o){if(t<=0||!Ne(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ke(e))Yt(e.value,t,o);else if(be(e))for(let n=0;n{Yt(n,t,o)});else if(Rn(e)){for(const n in e)Yt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Yt(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const un=[];let Va=!1;function G0(e,...t){if(Va)return;Va=!0,Ft();const o=un.length?un[un.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Du();if(n)Fo(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 <${Li(o,r.type)}>`).join(` -`),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` -`,...Ou(a)),console.warn(...r)}Rt(),Va=!1}function Du(){let e=un[un.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 Ou(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Bu(o))}),t}function Bu({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Li(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...Uu(e.props),r]:[a+r]}function Uu(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Ps(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Ps(e,t,o){return je(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ke(t)?(t=Ps(e,Ce(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ce(t),o?t:[`${e}=`,t])}function Fo(e,t,o,n){try{return n?e(...n):e()}catch(a){dn(a,t,o)}}function Lt(e,t,o,n){if(Se(e)){const a=Fo(e,t,o,n);return a&&Qr(a)&&a.catch(r=>{dn(r,t,o)}),a}if(be(e)){const a=[];for(let r=0;r>>1,a=ut[n],r=pn(a);r=pn(o)?ut.push(e):ut.splice(ju(t),0,e),e.flags|=1,Is()}}function Is(){Jn||(Jn=Ms.then(Rs))}function Ku(e){be(e)?Ro.push(...e):no&&e.id===-1?no.splice(Do+1,0,e):e.flags&1||(Ro.push(e),e.flags|=1),Is()}function Ns(e,t,o=Ot+1){for(;opn(o)-pn(n));if(Ro.length=0,no){no.push(...t);return}for(no=t,Do=0;Doe.id==null?e.flags&2?-1:1/0:e.id;function Rs(e){try{for(Ot=0;Ot{n._d&&aa(-1);const r=Xn(t);let s;try{s=e(...a)}finally{Xn(r),n._d&&aa(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Hu(e,t){if(rt===null)return e;const o=ia(rt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Se(t)?t.call(n&&n.proxy):t}}function zu(){return!!(ro()||ko)}const Vu=Symbol.for("v-scx"),Wu=()=>$e(Vu);function Ye(e,t,o){return Os(e,t,o)}function Os(e,t,o=Oe){const{immediate:n,deep:a,flush:r,once:s}=o,i=qe({},o),l=t&&n||!t&&r!=="post";let c;if(Go){if(r==="sync"){const x=Wu();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=It,x.resume=It,x.pause=It,x}}const u=st;i.call=(x,T,w)=>Lt(x,u,T,w);let f=!1;r==="post"?i.scheduler=x=>{ft(x,u&&u.suspense)}:r!=="sync"&&(f=!0,i.scheduler=(x,T)=>{T?x():Ya(x)}),i.augmentJob=x=>{t&&(x.flags|=4),f&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const v=Ru(e,t,i);return Go&&(c?c.push(v):l&&v()),v}function Yu(e,t,o){const n=this.proxy,a=je(e)?e.includes(".")?Bs(n,e):()=>n[e]:e.bind(n,n);let r;Se(t)?r=t:(r=t.handler,o=t);const s=kn(this),i=Os(a,r.bind(n),o);return s(),i}function Bs(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,qa=Symbol("_leaveCb");function Ja(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ja(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function gn(e,t){return Se(e)?qe({name:e.name},t,{setup:e}):e}function Xa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Us(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Zn=new WeakMap;function fn(e,t,o,n,a=!1){if(be(e)){e.forEach((w,E)=>fn(w,t&&(be(t)?t[E]:t),o,n,a));return}if(Oo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&fn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?ia(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===Oe?i.refs={}:i.refs,f=i.setupState,v=Ce(f),x=f===Oe?Jr:w=>Us(u,w)?!1:Me(v,w),T=(w,E)=>!(E&&Us(u,E));if(c!=null&&c!==l){if(Gs(t),je(c))u[c]=null,x(c)&&(f[c]=null);else if(Ke(c)){const w=t;T(c,w.k)&&(c.value=null),w.k&&(u[w.k]=null)}}if(Se(l))Fo(l,i,12,[s,u]);else{const w=je(l),E=Ke(l);if(w||E){const _=()=>{if(e.f){const S=w?x(l)?f[l]:u[l]:T()||!e.k?l.value:u[e.k];if(a)be(S)&&Ea(S,r);else if(be(S))S.includes(r)||S.push(r);else if(w)u[l]=[r],x(l)&&(f[l]=u[l]);else{const g=[r];T(l,e.k)&&(l.value=g),e.k&&(u[e.k]=g)}}else w?(u[l]=s,x(l)&&(f[l]=s)):E&&(T(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const S=()=>{_(),Zn.delete(e)};S.id=-1,Zn.set(e,S),ft(S,o)}else Gs(e),_()}}}function Gs(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const js=e=>e.nodeType===8;Un().requestIdleCallback,Un().cancelIdleCallback;function Xu(e,t){if(js(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(js(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Oo=e=>!!e.type.__asyncLoader;function Za(e){Se(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 c=null,u,f=0;const v=()=>(f++,c=null,x()),x=()=>{let T;return c||(T=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((E,_)=>{l(w,()=>E(v()),()=>_(w),f+1)});throw w}).then(w=>T!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),u=w,w)))};return gn({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(T,w,E){let _=!1;(w.bu||(w.bu=[])).push(()=>_=!0);const S=()=>{_||E()},g=r?()=>{const k=r(S,A=>Xu(T,A));k&&(w.bum||(w.bum=[])).push(k)}:S;u?g():x().then(()=>!w.isUnmounted&&g())},get __asyncResolved(){return u},setup(){const T=st;if(Xa(T),u)return()=>Qn(u,T);const w=g=>{c=null,dn(g,T,13,!n)};if(i&&T.suspense||Go)return x().then(g=>()=>Qn(g,T)).catch(g=>(w(g),()=>n?Ve(n,{error:g}):null));const E=me(!1),_=me(),S=me(!!a);return a&&setTimeout(()=>{S.value=!1},a),s!=null&&setTimeout(()=>{if(!E.value&&!_.value){const g=new Error(`Async component timed out after ${s}ms.`);w(g),_.value=g}},s),x().then(()=>{E.value=!0,T.parent&&Qa(T.parent.vnode)&&T.parent.update()}).catch(g=>{w(g),_.value=g}),()=>{if(E.value&&u)return Qn(u,T);if(_.value&&n)return Ve(n,{error:_.value});if(o&&!S.value)return Qn(o,T)}}})}function Qn(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Ve(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Qa=e=>e.type.__isKeepAlive;function Zu(e,t){Ks(e,"a",t)}function Qu(e,t){Ks(e,"da",t)}function Ks(e,t,o=st){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(ea(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Qa(a.parent.vnode)&&ed(n,t,o,a),a=a.parent}}function ed(e,t,o,n){const a=ea(t,e,n,!0);er(()=>{Ea(n[t],a)},o)}function ea(e,t,o=st,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{Ft();const i=kn(o),l=Lt(t,o,e,s);return i(),Rt(),l});return n?a.unshift(r):a.push(r),r}}const qt=e=>(t,o=st)=>{(!Go||e==="sp")&&ea(e,(...n)=>t(...n),o)},Hs=qt("bm"),ao=qt("m"),td=qt("bu"),od=qt("u"),Bo=qt("bum"),er=qt("um"),nd=qt("sp"),ad=qt("rtg"),rd=qt("rtc");function sd(e,t=st){ea("ec",e,t)}const id="components",zs=Symbol.for("v-ndc");function ld(e){return je(e)?cd(id,e,!1)||e:e||zs}function cd(e,t,o=!0,n=!1){const a=rt||st;if(a){const r=a.type;{const i=xi(r,!1);if(i&&(i===t||i===ot(t)||i===Bn(ot(t))))return r}const s=Vs(a[e]||r[e],t)||Vs(a.appContext[e],t);return!s&&n?r:s}}function Vs(e,t){return e&&(e[t]||e[ot(t)]||e[Bn(ot(t))])}function Bt(e,t,o,n){let a;const r=o,s=be(e);if(s||je(e)){const i=s&&Vt(e);let l=!1,c=!1;i&&(l=!yt(e),c=Wt(e),e=jn(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(o.name=t),J(),Je(Ie,null,[Ve("slot",o,n)],c?-2:64)}let r=e[t];r&&r._c&&(r._d=!1),J();const s=r&&Ws(r(o)),i=o.key||s&&s.key,l=Je(Ie,{key:(i&&!bt(i)?i:`_${t}`)+(!s&&n?"_fb":"")},s||[],s&&e._===1?64:-2);return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),r&&r._c&&(r._d=!0),l}function Ws(e){return e.some(t=>vn(t)?!(t.type===Jt||t.type===Ie&&!Ws(t.children)):!0)?e:null}const tr=e=>e?ki(e)?ia(e):tr(e.parent):null,hn=qe(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=>tr(e.parent),$root:e=>tr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xs(e),$forceUpdate:e=>e.f||(e.f=()=>{Ya(e.update)}),$nextTick:e=>e.n||(e.n=Wa.bind(e.proxy)),$watch:e=>Yu.bind(e)}),or=(e,t)=>e!==Oe&&!e.__isScriptSetup&&Me(e,t),ud={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 v=s[t];if(v!==void 0)switch(v){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(or(n,t))return s[t]=1,n[t];if(a!==Oe&&Me(a,t))return s[t]=2,a[t];if(Me(r,t))return s[t]=3,r[t];if(o!==Oe&&Me(o,t))return s[t]=4,o[t];nr&&(s[t]=0)}}const c=hn[t];let u,f;if(c)return t==="$attrs"&<(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Oe&&Me(o,t))return s[t]=4,o[t];if(f=l.config.globalProperties,Me(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return or(a,t)?(a[t]=o,!0):n!==Oe&&Me(n,t)?(n[t]=o,!0):Me(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!==Oe&&i[0]!=="$"&&Me(e,i)||or(t,i)||Me(r,i)||Me(n,i)||Me(hn,i)||Me(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Me(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Ys(e){return be(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let nr=!0;function dd(e){const t=Xs(e),o=e.proxy,n=e.ctx;nr=!1,t.beforeCreate&&qs(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:f,mounted:v,beforeUpdate:x,updated:T,activated:w,deactivated:E,beforeDestroy:_,beforeUnmount:S,destroyed:g,unmounted:k,render:A,renderTracked:L,renderTriggered:O,errorCaptured:$,serverPrefetch:m,expose:U,inheritAttrs:H,components:I,directives:W,filters:ue}=t;if(c&&pd(c,n,null),s)for(const j in s){const se=s[j];Se(se)&&(n[j]=se.bind(o))}if(a){const j=a.call(o,o);Ne(j)&&(e.data=Io(j))}if(nr=!0,r)for(const j in r){const se=r[j],fe=Se(se)?se.bind(o,o):Se(se.get)?se.get.bind(o,o):It,Z=!Se(se)&&Se(se.set)?se.set.bind(o):It,ce=Q({get:fe,set:Z});Object.defineProperty(n,j,{enumerable:!0,configurable:!0,get:()=>ce.value,set:oe=>ce.value=oe})}if(i)for(const j in i)Js(i[j],n,o,j);if(l){const j=Se(l)?l.call(o):l;Reflect.ownKeys(j).forEach(se=>{wt(se,j[se])})}u&&qs(u,e,"c");function M(j,se){be(se)?se.forEach(fe=>j(fe.bind(o))):se&&j(se.bind(o))}if(M(Hs,f),M(ao,v),M(td,x),M(od,T),M(Zu,w),M(Qu,E),M(sd,$),M(rd,L),M(ad,O),M(Bo,S),M(er,k),M(nd,m),be(U))if(U.length){const j=e.exposed||(e.exposed={});U.forEach(se=>{Object.defineProperty(j,se,{get:()=>o[se],set:fe=>o[se]=fe,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===It&&(e.render=A),H!=null&&(e.inheritAttrs=H),I&&(e.components=I),W&&(e.directives=W),m&&Xa(e)}function pd(e,t,o=It){be(e)&&(e=ar(e));for(const n in e){const a=e[n];let r;Ne(a)?"default"in a?r=$e(a.from||n,a.default,!0):r=$e(a.from||n):r=$e(a),Ke(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function qs(e,t,o){Lt(be(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Js(e,t,o,n){let a=n.includes(".")?Bs(o,n):()=>o[n];if(je(e)){const r=t[e];Se(r)&&Ye(a,r)}else if(Se(e))Ye(a,e.bind(o));else if(Ne(e))if(be(e))e.forEach(r=>Js(r,t,o,n));else{const r=Se(e.handler)?e.handler.bind(o):t[e.handler];Se(r)&&Ye(a,r,e)}}function Xs(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(c=>oa(l,c,s,!0)),oa(l,t,s)),Ne(t)&&r.set(t,l),l}function oa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&oa(e,r,o,!0),a&&a.forEach(s=>oa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=gd[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const gd={data:Zs,props:Qs,emits:Qs,methods:mn,computed:mn,beforeCreate:dt,created:dt,beforeMount:dt,mounted:dt,beforeUpdate:dt,updated:dt,beforeDestroy:dt,beforeUnmount:dt,destroyed:dt,unmounted:dt,activated:dt,deactivated:dt,errorCaptured:dt,serverPrefetch:dt,components:mn,directives:mn,watch:hd,provide:Zs,inject:fd};function Zs(e,t){return t?e?function(){return qe(Se(e)?e.call(this,this):e,Se(t)?t.call(this,this):t)}:t:e}function fd(e,t){return mn(ar(e),ar(t))}function ar(e){if(be(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ot(t)}Modifiers`]||e[`${vt(t)}Modifiers`];function _d(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Oe;let a=o;const r=t.startsWith("update:"),s=r&&yd(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>je(u)?u.trim():u)),s.number&&(a=o.map(tu)));let i,l=n[i=Ca(t)]||n[i=Ca(ot(t))];!l&&r&&(l=n[i=Ca(vt(t))]),l&&Lt(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,Lt(c,e,6,a)}}const vd=new WeakMap;function ti(e,t,o=!1){const n=o?vd:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Se(e)){const l=c=>{const u=ti(c,t,!0);u&&(i=!0,qe(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ne(e)&&n.set(e,null),null):(be(r)?r.forEach(l=>s[l]=null):qe(s,r),Ne(e)&&n.set(e,s),s)}function na(e,t){return!e||!Nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Me(e,t[0].toLowerCase()+t.slice(1))||Me(e,vt(t))||Me(e,t))}function j0(){}function oi(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:f,data:v,setupState:x,ctx:T,inheritAttrs:w}=e,E=Xn(e);let _,S;try{if(o.shapeFlag&4){const k=a||n,A=k;_=Ut(c.call(A,k,u,f,x,v,T)),S=i}else{const k=t;_=Ut(k.length>1?k(f,{attrs:i,slots:s,emit:l}):k(f,null)),S=t.props?i:wd(i)}}catch(k){yn.length=0,dn(k,e,1),_=Ve(Jt)}let g=_;if(S&&w!==!1){const k=Object.keys(S),{shapeFlag:A}=g;k.length&&A&7&&(r&&k.some(Fn)&&(S=kd(S,r)),g=Uo(g,S,!1,!0))}return o.dirs&&(g=Uo(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(o.dirs):o.dirs),o.transition&&Ja(g,o.transition),_=g,Xn(E),_}const wd=e=>{let t;for(const o in e)(o==="class"||o==="style"||Nn(o))&&((t||(t={}))[o]=e[o]);return t},kd=(e,t)=>{const o={};for(const n in e)(!Fn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sd(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ni(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(ri),ii=e=>Object.getPrototypeOf(e)===ri;function xd(e,t,o,n=!1){const a={},r=si();e.propsDefaults=Object.create(null),li(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Tu(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Ld(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Ce(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[v,x]=ci(f,t,!0);qe(s,v),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Ne(e)&&n.set(e,$o),$o;if(be(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ir=e=>be(e)?e.map(Ut):[Ut(e)],Ed=(e,t,o)=>{if(t._n)return t;const n=Tt((...a)=>ir(t(...a)),o);return n._c=!1,n},di=(e,t,o)=>{const n=e._ctx;for(const a in e){if(sr(a))continue;const r=e[a];if(Se(r))t[a]=Ed(a,r,n);else if(r!=null){const s=ir(r);t[a]=()=>s}}},pi=(e,t)=>{const o=ir(t);e.slots.default=()=>o},gi=(e,t,o)=>{for(const n in t)(o||!sr(n))&&(e[n]=t[n])},Cd=(e,t,o)=>{const n=e.slots=si();if(e.vnode.shapeFlag&32){const a=t._;a?(gi(n,t,o),o&&ts(n,"_",a,!0)):di(t,n)}else t&&pi(e,t)},$d=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Oe;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:gi(a,t,o):(r=!t.$stable,di(t,a)),s=t}else t&&(pi(e,t),s={default:1});if(r)for(const i in a)!sr(i)&&s[i]==null&&delete a[i]},ft=Fd;function Pd(e){return Md(e)}function Md(e,t){const o=Un();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:v,setScopeId:x=It,insertStaticContent:T}=e,w=(d,y,b,P=null,D=null,B=null,Y=void 0,q=null,p=!!y.dynamicChildren)=>{if(d===y)return;d&&!wn(d,y)&&(P=Te(d),oe(d,D,B,!0),d=null),y.patchFlag===-2&&(p=!1,y.dynamicChildren=null);const{type:h,ref:F,shapeFlag:K}=y;switch(h){case bn:E(d,y,b,P);break;case Jt:_(d,y,b,P);break;case cr:d==null&&S(y,b,P,Y);break;case Ie:I(d,y,b,P,D,B,Y,q,p);break;default:K&1?A(d,y,b,P,D,B,Y,q,p):K&6?W(d,y,b,P,D,B,Y,q,p):(K&64||K&128)&&h.process(d,y,b,P,D,B,Y,q,p,he)}F!=null&&D?fn(F,d&&d.ref,B,y||d,!y):F==null&&d&&d.ref!=null&&fn(d.ref,null,B,d,!0)},E=(d,y,b,P)=>{if(d==null)n(y.el=i(y.children),b,P);else{const D=y.el=d.el;y.children!==d.children&&c(D,y.children)}},_=(d,y,b,P)=>{d==null?n(y.el=l(y.children||""),b,P):y.el=d.el},S=(d,y,b,P)=>{[d.el,d.anchor]=T(d.children,y,b,P,d.el,d.anchor)},g=({el:d,anchor:y},b,P)=>{let D;for(;d&&d!==y;)D=v(d),n(d,b,P),d=D;n(y,b,P)},k=({el:d,anchor:y})=>{let b;for(;d&&d!==y;)b=v(d),a(d),d=b;a(y)},A=(d,y,b,P,D,B,Y,q,p)=>{if(y.type==="svg"?Y="svg":y.type==="math"&&(Y="mathml"),d==null)L(y,b,P,D,B,Y,q,p);else{const h=d.el&&d.el._isVueCE?d.el:null;try{h&&h._beginPatch(),m(d,y,D,B,Y,q,p)}finally{h&&h._endPatch()}}},L=(d,y,b,P,D,B,Y,q)=>{let p,h;const{props:F,shapeFlag:K,transition:re,dirs:ee}=d;if(p=d.el=s(d.type,B,F&&F.is,F),K&8?u(p,d.children):K&16&&$(d.children,p,null,P,D,lr(d,B),Y,q),ee&&wo(d,null,P,"created"),O(p,d,d.scopeId,Y,P),F){for(const V in F)V!=="value"&&!on(V)&&r(p,V,null,F[V],B,P);"value"in F&&r(p,"value",null,F.value,B),(h=F.onVnodeBeforeMount)&&Gt(h,P,d)}ee&&wo(d,null,P,"beforeMount");const R=Id(D,re);R&&re.beforeEnter(p),n(p,y,b),((h=F&&F.onVnodeMounted)||R||ee)&&ft(()=>{try{h&&Gt(h,P,d),R&&re.enter(p),ee&&wo(d,null,P,"mounted")}finally{}},D)},O=(d,y,b,P,D)=>{if(b&&x(d,b),P)for(let B=0;B{for(let h=p;h{const q=y.el=d.el;let{patchFlag:p,dynamicChildren:h,dirs:F}=y;p|=d.patchFlag&16;const K=d.props||Oe,re=y.props||Oe;let ee;if(b&&So(b,!1),(ee=re.onVnodeBeforeUpdate)&&Gt(ee,b,y,d),F&&wo(y,d,b,"beforeUpdate"),b&&So(b,!0),(K.innerHTML&&re.innerHTML==null||K.textContent&&re.textContent==null)&&u(q,""),h?U(d.dynamicChildren,h,q,b,P,lr(y,D),B):Y||se(d,y,q,null,b,P,lr(y,D),B,!1),p>0){if(p&16)H(q,K,re,b,D);else if(p&2&&K.class!==re.class&&r(q,"class",null,re.class,D),p&4&&r(q,"style",K.style,re.style,D),p&8){const R=y.dynamicProps;for(let V=0;V{ee&&Gt(ee,b,y,d),F&&wo(y,d,b,"updated")},P)},U=(d,y,b,P,D,B,Y)=>{for(let q=0;q{if(y!==b){if(y!==Oe)for(const B in y)!on(B)&&!(B in b)&&r(d,B,y[B],null,D,P);for(const B in b){if(on(B))continue;const Y=b[B],q=y[B];Y!==q&&B!=="value"&&r(d,B,q,Y,D,P)}"value"in b&&r(d,"value",y.value,b.value,D)}},I=(d,y,b,P,D,B,Y,q,p)=>{const h=y.el=d?d.el:i(""),F=y.anchor=d?d.anchor:i("");let{patchFlag:K,dynamicChildren:re,slotScopeIds:ee}=y;ee&&(q=q?q.concat(ee):ee),d==null?(n(h,b,P),n(F,b,P),$(y.children||[],b,F,D,B,Y,q,p)):K>0&&K&64&&re&&d.dynamicChildren&&d.dynamicChildren.length===re.length?(U(d.dynamicChildren,re,b,D,B,Y,q),(y.key!=null||D&&y===D.subTree)&&fi(d,y,!0)):se(d,y,b,F,D,B,Y,q,p)},W=(d,y,b,P,D,B,Y,q,p)=>{y.slotScopeIds=q,d==null?y.shapeFlag&512?D.ctx.activate(y,b,P,Y,p):ue(y,b,P,D,B,Y,p):C(d,y,p)},ue=(d,y,b,P,D,B,Y)=>{const q=d.component=jd(d,P,D);if(Qa(d)&&(q.ctx.renderer=he),Kd(q,!1,Y),q.asyncDep){if(D&&D.registerDep(q,M,Y),!d.el){const p=q.subTree=Ve(Jt);_(null,p,y,b),d.placeholder=p.el}}else M(q,d,y,b,D,B,Y)},C=(d,y,b)=>{const P=y.component=d.component;if(Sd(d,y,b))if(P.asyncDep&&!P.asyncResolved){j(P,y,b);return}else P.next=y,P.update();else y.el=d.el,P.vnode=y},M=(d,y,b,P,D,B,Y)=>{const q=()=>{if(d.isMounted){let{next:K,bu:re,u:ee,parent:R,vnode:V}=d;{const Qe=hi(d);if(Qe){K&&(K.el=V.el,j(d,K,Y)),Qe.asyncDep.then(()=>{ft(()=>{d.isUnmounted||h()},D)});return}}let de=K,xe;So(d,!1),K?(K.el=V.el,j(d,K,Y)):K=V,re&&$a(re),(xe=K.props&&K.props.onVnodeBeforeUpdate)&&Gt(xe,R,K,V),So(d,!0);const De=oi(d),at=d.subTree;d.subTree=De,w(at,De,f(at.el),Te(at),d,D,B),K.el=De.el,de===null&&Ad(d,De.el),ee&&ft(ee,D),(xe=K.props&&K.props.onVnodeUpdated)&&ft(()=>Gt(xe,R,K,V),D)}else{let K;const{el:re,props:ee}=y,{bm:R,m:V,parent:de,root:xe,type:De}=d,at=Oo(y);So(d,!1),R&&$a(R),!at&&(K=ee&&ee.onVnodeBeforeMount)&&Gt(K,de,y),So(d,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(De,d.parent?d.parent.type:void 0);const Qe=d.subTree=oi(d);w(null,Qe,b,P,d,D,B),y.el=Qe.el}if(V&&ft(V,D),!at&&(K=ee&&ee.onVnodeMounted)){const Qe=y;ft(()=>Gt(K,de,Qe),D)}(y.shapeFlag&256||de&&Oo(de.vnode)&&de.vnode.shapeFlag&256)&&d.a&&ft(d.a,D),d.isMounted=!0,y=b=P=null}};d.scope.on();const p=d.effect=new cs(q);d.scope.off();const h=d.update=p.run.bind(p),F=d.job=p.runIfDirty.bind(p);F.i=d,F.id=d.uid,p.scheduler=()=>Ya(F),So(d,!0),h()},j=(d,y,b)=>{y.component=d;const P=d.vnode.props;d.vnode=y,d.next=null,Ld(d,y.props,P,b),$d(d,y.children,b),Ft(),Ns(d),Rt()},se=(d,y,b,P,D,B,Y,q,p=!1)=>{const h=d&&d.children,F=d?d.shapeFlag:0,K=y.children,{patchFlag:re,shapeFlag:ee}=y;if(re>0){if(re&128){Z(h,K,b,P,D,B,Y,q,p);return}else if(re&256){fe(h,K,b,P,D,B,Y,q,p);return}}ee&8?(F&16&&ge(h,D,B),K!==h&&u(b,K)):F&16?ee&16?Z(h,K,b,P,D,B,Y,q,p):ge(h,D,B,!0):(F&8&&u(b,""),ee&16&&$(K,b,P,D,B,Y,q,p))},fe=(d,y,b,P,D,B,Y,q,p)=>{d=d||$o,y=y||$o;const h=d.length,F=y.length,K=Math.min(h,F);let re;for(re=0;reF?ge(d,D,B,!0,!1,K):$(y,b,P,D,B,Y,q,p,K)},Z=(d,y,b,P,D,B,Y,q,p)=>{let h=0;const F=y.length;let K=d.length-1,re=F-1;for(;h<=K&&h<=re;){const ee=d[h],R=y[h]=p?Xt(y[h]):Ut(y[h]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;h++}for(;h<=K&&h<=re;){const ee=d[K],R=y[re]=p?Xt(y[re]):Ut(y[re]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;K--,re--}if(h>K){if(h<=re){const ee=re+1,R=eere)for(;h<=K;)oe(d[h],D,B,!0),h++;else{const ee=h,R=h,V=new Map;for(h=R;h<=re;h++){const ae=y[h]=p?Xt(y[h]):Ut(y[h]);ae.key!=null&&V.set(ae.key,h)}let de,xe=0;const De=re-R+1;let at=!1,Qe=0;const X=new Array(De);for(h=0;h=De){oe(ae,D,B,!0);continue}let ve;if(ae.key!=null)ve=V.get(ae.key);else for(de=R;de<=re;de++)if(X[de-R]===0&&wn(ae,y[de])){ve=de;break}ve===void 0?oe(ae,D,B,!0):(X[ve-R]=h+1,ve>=Qe?Qe=ve:at=!0,w(ae,y[ve],b,null,D,B,Y,q,p),xe++)}const te=at?Nd(X):$o;for(de=te.length-1,h=De-1;h>=0;h--){const ae=R+h,ve=y[ae],Ze=y[ae+1],yo=ae+1{const{el:B,type:Y,transition:q,children:p,shapeFlag:h}=d;if(h&6){ce(d.component.subTree,y,b,P);return}if(h&128){d.suspense.move(y,b,P);return}if(h&64){Y.move(d,y,b,he);return}if(Y===Ie){n(B,y,b);for(let K=0;Kq.enter(B),D));else{const{leave:K,delayLeave:re,afterLeave:ee}=q,R=()=>{d.ctx.isUnmounted?a(B):n(B,y,b)},V=()=>{const de=B._isLeaving||!!B[qa];B._isLeaving&&B[qa](!0),q.persisted&&!de?R():K(B,()=>{R(),ee&&ee()})};re?re(B,R,V):V()}else n(B,y,b)},oe=(d,y,b,P=!1,D=!1)=>{const{type:B,props:Y,ref:q,children:p,dynamicChildren:h,shapeFlag:F,patchFlag:K,dirs:re,cacheIndex:ee,memo:R}=d;if(K===-2&&(D=!1),q!=null&&(Ft(),fn(q,null,b,d,!0),Rt()),ee!=null&&(y.renderCache[ee]=void 0),F&256){y.ctx.deactivate(d);return}const V=F&1&&re,de=!Oo(d);let xe;if(de&&(xe=Y&&Y.onVnodeBeforeUnmount)&&Gt(xe,y,d),F&6)Fe(d.component,b,P);else{if(F&128){d.suspense.unmount(b,P);return}V&&wo(d,null,y,"beforeUnmount"),F&64?d.type.remove(d,y,b,he,P):h&&!h.hasOnce&&(B!==Ie||K>0&&K&64)?ge(h,y,b,!1,!0):(B===Ie&&K&384||!D&&F&16)&&ge(p,y,b),P&&ke(d)}const De=R!=null&&ee==null;(de&&(xe=Y&&Y.onVnodeUnmounted)||V||De)&&ft(()=>{xe&&Gt(xe,y,d),V&&wo(d,null,y,"unmounted"),De&&(d.el=null)},b)},ke=d=>{const{type:y,el:b,anchor:P,transition:D}=d;if(y===Ie){ie(b,P);return}if(y===cr){k(d);return}const B=()=>{a(b),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(d.shapeFlag&1&&D&&!D.persisted){const{leave:Y,delayLeave:q}=D,p=()=>Y(b,B);q?q(d.el,B,p):p()}else B()},ie=(d,y)=>{let b;for(;d!==y;)b=v(d),a(d),d=b;a(y)},Fe=(d,y,b)=>{const{bum:P,scope:D,job:B,subTree:Y,um:q,m:p,a:h}=d;mi(p),mi(h),P&&$a(P),D.stop(),B&&(B.flags|=8,oe(Y,d,y,b)),q&&ft(q,y),ft(()=>{d.isUnmounted=!0},y)},ge=(d,y,b,P=!1,D=!1,B=0)=>{for(let Y=B;Y{if(d.shapeFlag&6)return Te(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const y=v(d.anchor||d.el),b=y&&y[qu];return b?v(b):y};let Ae=!1;const z=(d,y,b)=>{let P;d==null?y._vnode&&(oe(y._vnode,null,null,!0),P=y._vnode.component):w(y._vnode||null,d,y,null,null,null,b),y._vnode=d,Ae||(Ae=!0,Ns(P),Fs(),Ae=!1)},he={p:w,um:oe,m:ce,r:ke,mt:ue,mc:$,pc:se,pbc:U,n:Te,o:e};return{render:z,hydrate:void 0,createApp:bd(z)}}function lr({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 So({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Id(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fi(e,t,o=!1){const n=e.children,a=t.children;if(be(n)&&be(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 hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:hi(t)}function mi(e){if(e)for(let t=0;te.__isSuspense;function Fd(e,t){t&&t.pendingBranch?be(e)?t.effects.push(...e):t.effects.push(e):Ku(e)}const Ie=Symbol.for("v-fgt"),bn=Symbol.for("v-txt"),Jt=Symbol.for("v-cmt"),cr=Symbol.for("v-stc"),yn=[];let _t=null;function J(e=!1){yn.push(_t=e?null:[])}function Rd(){yn.pop(),_t=yn[yn.length-1]||null}let _n=1;function aa(e,t=!1){_n+=e,e<0&&_t&&t&&(_t.hasOnce=!0)}function _i(e){return e.dynamicChildren=_n>0?_t||$o:null,Rd(),_n>0&&_t&&_t.push(e),e}function ne(e,t,o,n,a,r){return _i(G(e,t,o,n,a,r,!0))}function Je(e,t,o,n,a){return _i(Ve(e,t,o,n,a,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function wn(e,t){return e.type===t.type&&e.key===t.key}const vi=({key:e})=>e??null,ra=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?je(e)||Ke(e)||Se(e)?{i:rt,r:e,k:t,f:!!o}:e:null);function G(e,t=null,o=null,n=0,a=null,r=e===Ie?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vi(t),ref:t&&ra(t),scopeId:Ds,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:rt};return i?(ur(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=je(o)?8:16),_n>0&&!s&&_t&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&_t.push(l),l}const Ve=Dd;function Dd(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===zs)&&(e=Jt),vn(e)){const i=Uo(e,t,!0);return o&&ur(i,o),_n>0&&!r&&_t&&(i.shapeFlag&6?_t[_t.indexOf(e)]=i:_t.push(i)),i.patchFlag=-2,i}if(qd(e)&&(e=e.__vccOpts),t){t=Od(t);let{class:i,style:l}=t;i&&!je(i)&&(t.class=Be(i)),Ne(l)&&(Wn(l)&&!be(l)&&(l=qe({},l)),t.style=ct(l))}const s=je(e)?1:yi(e)?128:Ju(e)?64:Ne(e)?4:Se(e)?2:0;return G(e,t,o,n,a,s,r,!0)}function Od(e){return e?Wn(e)||ii(e)?qe({},e):e:null}function Uo(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?Bd(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vi(c),ref:t&&t.ref?o&&r?be(r)?r.concat(ra(t)):[r,ra(t)]:ra(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!==Ie?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&&Uo(e.ssContent),ssFallback:e.ssFallback&&Uo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ja(u,l.clone(u)),u}function ht(e=" ",t=0){return Ve(bn,null,e,t)}function we(e="",t=!1){return t?(J(),Je(Jt,null,e)):Ve(Jt,null,e)}function Ut(e){return e==null||typeof e=="boolean"?Ve(Jt):be(e)?Ve(Ie,null,e.slice()):vn(e)?Xt(e):Ve(bn,null,String(e))}function Xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Uo(e)}function ur(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(be(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),ur(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!ii(t)?t._ctx=rt:a===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Se(t)?(t={default:t,_ctx:rt},o=32):(t=String(t),n&64?(o=16,t=[ht(t)]):o=8);e.children=t,e.shapeFlag|=o}function Bd(...e){const t={};for(let o=0;ost||rt;let sa,dr;{const e=Un(),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)}};sa=t("__VUE_INSTANCE_SETTERS__",o=>st=o),dr=t("__VUE_SSR_SETTERS__",o=>Go=o)}const kn=e=>{const t=st;return sa(e),e.scope.on(),()=>{e.scope.off(),sa(t)}},wi=()=>{st&&st.scope.off(),sa(null)};function ki(e){return e.vnode.shapeFlag&4}let Go=!1;function Kd(e,t=!1,o=!1){t&&dr(t);const{props:n,children:a}=e.vnode,r=ki(e);xd(e,n,r,t),Cd(e,a,o||t);const s=r?Hd(e,t):void 0;return t&&dr(!1),s}function Hd(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ud);const{setup:n}=o;if(n){Ft();const a=e.setupContext=n.length>1?Vd(e):null,r=kn(e),s=Fo(n,e,0,[e.props,a]),i=Qr(s);if(Rt(),r(),(i||e.sp)&&!Oo(e)&&Xa(e),i){if(s.then(wi,wi),t)return s.then(l=>{Si(e,l)}).catch(l=>{dn(l,e,0)});e.asyncDep=s}else Si(e,s)}else Ai(e)}function Si(e,t,o){Se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ne(t)&&(e.setupState=Cs(t)),Ai(e)}function Ai(e,t,o){const n=e.type;e.render||(e.render=n.render||It);{const a=kn(e);Ft();try{dd(e)}finally{Rt(),a()}}}const zd={get(e,t){return lt(e,"get",""),e[t]}};function Vd(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,zd),slots:e.slots,emit:e.emit,expose:t}}function ia(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cs(cn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in hn)return hn[o](e)},has(t,o){return o in t||o in hn}})):e.proxy}const Wd=/(?:^|[-_])\w/g,Yd=e=>e.replace(Wd,t=>t.toUpperCase()).replace(/[-_]/g,"");function xi(e,t=!0){return Se(e)?e.displayName||e.name:e.name||t&&e.__name}function Li(e,t,o=!1){let n=xi(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?Yd(n):o?"App":"Anonymous"}function qd(e){return Se(e)&&"__vccOpts"in e}const Q=(e,t)=>Nu(e,t,Go);function Ti(e,t,o){try{aa(-1);const n=arguments.length;return n===2?Ne(t)&&!be(t)?vn(t)?Ve(e,null,[t]):Ve(e,t):Ve(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&vn(o)&&(o=[o]),Ve(e,t,o))}finally{aa(1)}}const Jd="3.5.35";/** +**/const un=[];let Va=!1;function j0(e,...t){if(Va)return;Va=!0,Ft();const o=un.length?un[un.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Du();if(n)Fo(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 <${Li(o,s.type)}>`).join(` +`),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` +`,...Ou(a)),console.warn(...s)}Rt(),Va=!1}function Du(){let e=un[un.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 Ou(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...Bu(o))}),t}function Bu({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Li(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Uu(e.props),s]:[a+s]}function Uu(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Pr(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Pr(e,t,o){return Ge(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ke(t)?(t=Pr(e,Ce(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ce(t),o?t:[`${e}=`,t])}function Fo(e,t,o,n){try{return n?e(...n):e()}catch(a){dn(a,t,o)}}function Lt(e,t,o,n){if(Se(e)){const a=Fo(e,t,o,n);return a&&Qs(a)&&a.catch(s=>{dn(s,t,o)}),a}if(be(e)){const a=[];for(let s=0;s>>1,a=ut[n],s=pn(a);s=pn(o)?ut.push(e):ut.splice(Gu(t),0,e),e.flags|=1,Ir()}}function Ir(){Jn||(Jn=Mr.then(Rr))}function Ku(e){be(e)?Ro.push(...e):no&&e.id===-1?no.splice(Do+1,0,e):e.flags&1||(Ro.push(e),e.flags|=1),Ir()}function Nr(e,t,o=Ot+1){for(;opn(o)-pn(n));if(Ro.length=0,no){no.push(...t);return}for(no=t,Do=0;Doe.id==null?e.flags&2?-1:1/0:e.id;function Rr(e){try{for(Ot=0;Ot{n._d&&aa(-1);const s=Xn(t);let r;try{r=e(...a)}finally{Xn(s),n._d&&aa(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Hu(e,t){if(st===null)return e;const o=ia(st),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Se(t)?t.call(n&&n.proxy):t}}function zu(){return!!(so()||ko)}const Vu=Symbol.for("v-scx"),Wu=()=>$e(Vu);function Ye(e,t,o){return Or(e,t,o)}function Or(e,t,o=Oe){const{immediate:n,deep:a,flush:s,once:r}=o,i=qe({},o),l=t&&n||!t&&s!=="post";let c;if(jo){if(s==="sync"){const x=Wu();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=It,x.resume=It,x.pause=It,x}}const u=rt;i.call=(x,T,w)=>Lt(x,u,T,w);let f=!1;s==="post"?i.scheduler=x=>{ft(x,u&&u.suspense)}:s!=="sync"&&(f=!0,i.scheduler=(x,T)=>{T?x():Ya(x)}),i.augmentJob=x=>{t&&(x.flags|=4),f&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const v=Ru(e,t,i);return jo&&(c?c.push(v):l&&v()),v}function Yu(e,t,o){const n=this.proxy,a=Ge(e)?e.includes(".")?Br(n,e):()=>n[e]:e.bind(n,n);let s;Se(t)?s=t:(s=t.handler,o=t);const r=kn(this),i=Or(a,s.bind(n),o);return r(),i}function Br(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,qa=Symbol("_leaveCb");function Ja(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ja(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function gn(e,t){return Se(e)?qe({name:e.name},t,{setup:e}):e}function Xa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ur(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Zn=new WeakMap;function fn(e,t,o,n,a=!1){if(be(e)){e.forEach((w,E)=>fn(w,t&&(be(t)?t[E]:t),o,n,a));return}if(Oo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&fn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?ia(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Oe?i.refs={}:i.refs,f=i.setupState,v=Ce(f),x=f===Oe?Js:w=>Ur(u,w)?!1:Me(v,w),T=(w,E)=>!(E&&Ur(u,E));if(c!=null&&c!==l){if(jr(t),Ge(c))u[c]=null,x(c)&&(f[c]=null);else if(Ke(c)){const w=t;T(c,w.k)&&(c.value=null),w.k&&(u[w.k]=null)}}if(Se(l))Fo(l,i,12,[r,u]);else{const w=Ge(l),E=Ke(l);if(w||E){const _=()=>{if(e.f){const S=w?x(l)?f[l]:u[l]:T()||!e.k?l.value:u[e.k];if(a)be(S)&&Ea(S,s);else if(be(S))S.includes(s)||S.push(s);else if(w)u[l]=[s],x(l)&&(f[l]=u[l]);else{const g=[s];T(l,e.k)&&(l.value=g),e.k&&(u[e.k]=g)}}else w?(u[l]=r,x(l)&&(f[l]=r)):E&&(T(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const S=()=>{_(),Zn.delete(e)};S.id=-1,Zn.set(e,S),ft(S,o)}else jr(e),_()}}}function jr(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const Gr=e=>e.nodeType===8;Un().requestIdleCallback,Un().cancelIdleCallback;function Xu(e,t){if(Gr(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Gr(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Oo=e=>!!e.type.__asyncLoader;function Za(e){Se(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,f=0;const v=()=>(f++,c=null,x()),x=()=>{let T;return c||(T=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((E,_)=>{l(w,()=>E(v()),()=>_(w),f+1)});throw w}).then(w=>T!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),u=w,w)))};return gn({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(T,w,E){let _=!1;(w.bu||(w.bu=[])).push(()=>_=!0);const S=()=>{_||E()},g=s?()=>{const k=s(S,A=>Xu(T,A));k&&(w.bum||(w.bum=[])).push(k)}:S;u?g():x().then(()=>!w.isUnmounted&&g())},get __asyncResolved(){return u},setup(){const T=rt;if(Xa(T),u)return()=>Qn(u,T);const w=g=>{c=null,dn(g,T,13,!n)};if(i&&T.suspense||jo)return x().then(g=>()=>Qn(g,T)).catch(g=>(w(g),()=>n?Ve(n,{error:g}):null));const E=me(!1),_=me(),S=me(!!a);return a&&setTimeout(()=>{S.value=!1},a),r!=null&&setTimeout(()=>{if(!E.value&&!_.value){const g=new Error(`Async component timed out after ${r}ms.`);w(g),_.value=g}},r),x().then(()=>{E.value=!0,T.parent&&Qa(T.parent.vnode)&&T.parent.update()}).catch(g=>{w(g),_.value=g}),()=>{if(E.value&&u)return Qn(u,T);if(_.value&&n)return Ve(n,{error:_.value});if(o&&!S.value)return Qn(o,T)}}})}function Qn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=Ve(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Qa=e=>e.type.__isKeepAlive;function Zu(e,t){Kr(e,"a",t)}function Qu(e,t){Kr(e,"da",t)}function Kr(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(ea(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Qa(a.parent.vnode)&&ed(n,t,o,a),a=a.parent}}function ed(e,t,o,n){const a=ea(t,e,n,!0);es(()=>{Ea(n[t],a)},o)}function ea(e,t,o=rt,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{Ft();const i=kn(o),l=Lt(t,o,e,r);return i(),Rt(),l});return n?a.unshift(s):a.push(s),s}}const qt=e=>(t,o=rt)=>{(!jo||e==="sp")&&ea(e,(...n)=>t(...n),o)},Hr=qt("bm"),ao=qt("m"),td=qt("bu"),od=qt("u"),Bo=qt("bum"),es=qt("um"),nd=qt("sp"),ad=qt("rtg"),sd=qt("rtc");function rd(e,t=rt){ea("ec",e,t)}const id="components",zr=Symbol.for("v-ndc");function ld(e){return Ge(e)?cd(id,e,!1)||e:e||zr}function cd(e,t,o=!0,n=!1){const a=st||rt;if(a){const s=a.type;{const i=xi(s,!1);if(i&&(i===t||i===ot(t)||i===Bn(ot(t))))return s}const r=Vr(a[e]||s[e],t)||Vr(a.appContext[e],t);return!r&&n?s:r}}function Vr(e,t){return e&&(e[t]||e[ot(t)]||e[Bn(ot(t))])}function Bt(e,t,o,n){let a;const s=o,r=be(e);if(r||Ge(e)){const i=r&&Vt(e);let l=!1,c=!1;i&&(l=!yt(e),c=Wt(e),e=Gn(e)),a=new Array(e.length);for(let u=0,f=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"&&(o.name=t),J(),Je(Ie,null,[Ve("slot",o,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),J();const r=s&&Wr(s(o)),i=o.key||r&&r.key,l=Je(Ie,{key:(i&&!bt(i)?i:`_${t}`)+(!r&&n?"_fb":"")},r||[],r&&e._===1?64:-2);return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function Wr(e){return e.some(t=>vn(t)?!(t.type===Jt||t.type===Ie&&!Wr(t.children)):!0)?e:null}const ts=e=>e?ki(e)?ia(e):ts(e.parent):null,hn=qe(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=>ts(e.parent),$root:e=>ts(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xr(e),$forceUpdate:e=>e.f||(e.f=()=>{Ya(e.update)}),$nextTick:e=>e.n||(e.n=Wa.bind(e.proxy)),$watch:e=>Yu.bind(e)}),os=(e,t)=>e!==Oe&&!e.__isScriptSetup&&Me(e,t),ud={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 v=r[t];if(v!==void 0)switch(v){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(os(n,t))return r[t]=1,n[t];if(a!==Oe&&Me(a,t))return r[t]=2,a[t];if(Me(s,t))return r[t]=3,s[t];if(o!==Oe&&Me(o,t))return r[t]=4,o[t];ns&&(r[t]=0)}}const c=hn[t];let u,f;if(c)return t==="$attrs"&<(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Oe&&Me(o,t))return r[t]=4,o[t];if(f=l.config.globalProperties,Me(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return os(a,t)?(a[t]=o,!0):n!==Oe&&Me(n,t)?(n[t]=o,!0):Me(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!==Oe&&i[0]!=="$"&&Me(e,i)||os(t,i)||Me(s,i)||Me(n,i)||Me(hn,i)||Me(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Me(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Yr(e){return be(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ns=!0;function dd(e){const t=Xr(e),o=e.proxy,n=e.ctx;ns=!1,t.beforeCreate&&qr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:f,mounted:v,beforeUpdate:x,updated:T,activated:w,deactivated:E,beforeDestroy:_,beforeUnmount:S,destroyed:g,unmounted:k,render:A,renderTracked:L,renderTriggered:O,errorCaptured:$,serverPrefetch:m,expose:U,inheritAttrs:H,components:I,directives:W,filters:ue}=t;if(c&&pd(c,n,null),r)for(const G in r){const re=r[G];Se(re)&&(n[G]=re.bind(o))}if(a){const G=a.call(o,o);Ne(G)&&(e.data=Io(G))}if(ns=!0,s)for(const G in s){const re=s[G],fe=Se(re)?re.bind(o,o):Se(re.get)?re.get.bind(o,o):It,Z=!Se(re)&&Se(re.set)?re.set.bind(o):It,ce=Q({get:fe,set:Z});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>ce.value,set:oe=>ce.value=oe})}if(i)for(const G in i)Jr(i[G],n,o,G);if(l){const G=Se(l)?l.call(o):l;Reflect.ownKeys(G).forEach(re=>{wt(re,G[re])})}u&&qr(u,e,"c");function M(G,re){be(re)?re.forEach(fe=>G(fe.bind(o))):re&&G(re.bind(o))}if(M(Hr,f),M(ao,v),M(td,x),M(od,T),M(Zu,w),M(Qu,E),M(rd,$),M(sd,L),M(ad,O),M(Bo,S),M(es,k),M(nd,m),be(U))if(U.length){const G=e.exposed||(e.exposed={});U.forEach(re=>{Object.defineProperty(G,re,{get:()=>o[re],set:fe=>o[re]=fe,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===It&&(e.render=A),H!=null&&(e.inheritAttrs=H),I&&(e.components=I),W&&(e.directives=W),m&&Xa(e)}function pd(e,t,o=It){be(e)&&(e=as(e));for(const n in e){const a=e[n];let s;Ne(a)?"default"in a?s=$e(a.from||n,a.default,!0):s=$e(a.from||n):s=$e(a),Ke(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function qr(e,t,o){Lt(be(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Jr(e,t,o,n){let a=n.includes(".")?Br(o,n):()=>o[n];if(Ge(e)){const s=t[e];Se(s)&&Ye(a,s)}else if(Se(e))Ye(a,e.bind(o));else if(Ne(e))if(be(e))e.forEach(s=>Jr(s,t,o,n));else{const s=Se(e.handler)?e.handler.bind(o):t[e.handler];Se(s)&&Ye(a,s,e)}}function Xr(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=>oa(l,c,r,!0)),oa(l,t,r)),Ne(t)&&s.set(t,l),l}function oa(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&oa(e,s,o,!0),a&&a.forEach(r=>oa(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=gd[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const gd={data:Zr,props:Qr,emits:Qr,methods:mn,computed:mn,beforeCreate:dt,created:dt,beforeMount:dt,mounted:dt,beforeUpdate:dt,updated:dt,beforeDestroy:dt,beforeUnmount:dt,destroyed:dt,unmounted:dt,activated:dt,deactivated:dt,errorCaptured:dt,serverPrefetch:dt,components:mn,directives:mn,watch:hd,provide:Zr,inject:fd};function Zr(e,t){return t?e?function(){return qe(Se(e)?e.call(this,this):e,Se(t)?t.call(this,this):t)}:t:e}function fd(e,t){return mn(as(e),as(t))}function as(e){if(be(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ot(t)}Modifiers`]||e[`${vt(t)}Modifiers`];function _d(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Oe;let a=o;const s=t.startsWith("update:"),r=s&&yd(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>Ge(u)?u.trim():u)),r.number&&(a=o.map(tu)));let i,l=n[i=Ca(t)]||n[i=Ca(ot(t))];!l&&s&&(l=n[i=Ca(vt(t))]),l&&Lt(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,Lt(c,e,6,a)}}const vd=new WeakMap;function ti(e,t,o=!1){const n=o?vd:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!Se(e)){const l=c=>{const u=ti(c,t,!0);u&&(i=!0,qe(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ne(e)&&n.set(e,null),null):(be(s)?s.forEach(l=>r[l]=null):qe(r,s),Ne(e)&&n.set(e,r),r)}function na(e,t){return!e||!Nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Me(e,t[0].toLowerCase()+t.slice(1))||Me(e,vt(t))||Me(e,t))}function G0(){}function oi(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:f,data:v,setupState:x,ctx:T,inheritAttrs:w}=e,E=Xn(e);let _,S;try{if(o.shapeFlag&4){const k=a||n,A=k;_=Ut(c.call(A,k,u,f,x,v,T)),S=i}else{const k=t;_=Ut(k.length>1?k(f,{attrs:i,slots:r,emit:l}):k(f,null)),S=t.props?i:wd(i)}}catch(k){yn.length=0,dn(k,e,1),_=Ve(Jt)}let g=_;if(S&&w!==!1){const k=Object.keys(S),{shapeFlag:A}=g;k.length&&A&7&&(s&&k.some(Fn)&&(S=kd(S,s)),g=Uo(g,S,!1,!0))}return o.dirs&&(g=Uo(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(o.dirs):o.dirs),o.transition&&Ja(g,o.transition),_=g,Xn(E),_}const wd=e=>{let t;for(const o in e)(o==="class"||o==="style"||Nn(o))&&((t||(t={}))[o]=e[o]);return t},kd=(e,t)=>{const o={};for(const n in e)(!Fn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sd(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?ni(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(si),ii=e=>Object.getPrototypeOf(e)===si;function xd(e,t,o,n=!1){const a={},s=ri();e.propsDefaults=Object.create(null),li(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:Tu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Ld(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=Ce(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[v,x]=ci(f,t,!0);qe(r,v),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ne(e)&&n.set(e,$o),$o;if(be(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",is=e=>be(e)?e.map(Ut):[Ut(e)],Ed=(e,t,o)=>{if(t._n)return t;const n=Tt((...a)=>is(t(...a)),o);return n._c=!1,n},di=(e,t,o)=>{const n=e._ctx;for(const a in e){if(rs(a))continue;const s=e[a];if(Se(s))t[a]=Ed(a,s,n);else if(s!=null){const r=is(s);t[a]=()=>r}}},pi=(e,t)=>{const o=is(t);e.slots.default=()=>o},gi=(e,t,o)=>{for(const n in t)(o||!rs(n))&&(e[n]=t[n])},Cd=(e,t,o)=>{const n=e.slots=ri();if(e.vnode.shapeFlag&32){const a=t._;a?(gi(n,t,o),o&&tr(n,"_",a,!0)):di(t,n)}else t&&pi(e,t)},$d=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=Oe;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:gi(a,t,o):(s=!t.$stable,di(t,a)),r=t}else t&&(pi(e,t),r={default:1});if(s)for(const i in a)!rs(i)&&r[i]==null&&delete a[i]},ft=Fd;function Pd(e){return Md(e)}function Md(e,t){const o=Un();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:v,setScopeId:x=It,insertStaticContent:T}=e,w=(d,y,b,P=null,D=null,B=null,Y=void 0,q=null,p=!!y.dynamicChildren)=>{if(d===y)return;d&&!wn(d,y)&&(P=Te(d),oe(d,D,B,!0),d=null),y.patchFlag===-2&&(p=!1,y.dynamicChildren=null);const{type:h,ref:F,shapeFlag:K}=y;switch(h){case bn:E(d,y,b,P);break;case Jt:_(d,y,b,P);break;case cs:d==null&&S(y,b,P,Y);break;case Ie:I(d,y,b,P,D,B,Y,q,p);break;default:K&1?A(d,y,b,P,D,B,Y,q,p):K&6?W(d,y,b,P,D,B,Y,q,p):(K&64||K&128)&&h.process(d,y,b,P,D,B,Y,q,p,he)}F!=null&&D?fn(F,d&&d.ref,B,y||d,!y):F==null&&d&&d.ref!=null&&fn(d.ref,null,B,d,!0)},E=(d,y,b,P)=>{if(d==null)n(y.el=i(y.children),b,P);else{const D=y.el=d.el;y.children!==d.children&&c(D,y.children)}},_=(d,y,b,P)=>{d==null?n(y.el=l(y.children||""),b,P):y.el=d.el},S=(d,y,b,P)=>{[d.el,d.anchor]=T(d.children,y,b,P,d.el,d.anchor)},g=({el:d,anchor:y},b,P)=>{let D;for(;d&&d!==y;)D=v(d),n(d,b,P),d=D;n(y,b,P)},k=({el:d,anchor:y})=>{let b;for(;d&&d!==y;)b=v(d),a(d),d=b;a(y)},A=(d,y,b,P,D,B,Y,q,p)=>{if(y.type==="svg"?Y="svg":y.type==="math"&&(Y="mathml"),d==null)L(y,b,P,D,B,Y,q,p);else{const h=d.el&&d.el._isVueCE?d.el:null;try{h&&h._beginPatch(),m(d,y,D,B,Y,q,p)}finally{h&&h._endPatch()}}},L=(d,y,b,P,D,B,Y,q)=>{let p,h;const{props:F,shapeFlag:K,transition:se,dirs:ee}=d;if(p=d.el=r(d.type,B,F&&F.is,F),K&8?u(p,d.children):K&16&&$(d.children,p,null,P,D,ls(d,B),Y,q),ee&&wo(d,null,P,"created"),O(p,d,d.scopeId,Y,P),F){for(const V in F)V!=="value"&&!on(V)&&s(p,V,null,F[V],B,P);"value"in F&&s(p,"value",null,F.value,B),(h=F.onVnodeBeforeMount)&&jt(h,P,d)}ee&&wo(d,null,P,"beforeMount");const R=Id(D,se);R&&se.beforeEnter(p),n(p,y,b),((h=F&&F.onVnodeMounted)||R||ee)&&ft(()=>{try{h&&jt(h,P,d),R&&se.enter(p),ee&&wo(d,null,P,"mounted")}finally{}},D)},O=(d,y,b,P,D)=>{if(b&&x(d,b),P)for(let B=0;B{for(let h=p;h{const q=y.el=d.el;let{patchFlag:p,dynamicChildren:h,dirs:F}=y;p|=d.patchFlag&16;const K=d.props||Oe,se=y.props||Oe;let ee;if(b&&So(b,!1),(ee=se.onVnodeBeforeUpdate)&&jt(ee,b,y,d),F&&wo(y,d,b,"beforeUpdate"),b&&So(b,!0),(K.innerHTML&&se.innerHTML==null||K.textContent&&se.textContent==null)&&u(q,""),h?U(d.dynamicChildren,h,q,b,P,ls(y,D),B):Y||re(d,y,q,null,b,P,ls(y,D),B,!1),p>0){if(p&16)H(q,K,se,b,D);else if(p&2&&K.class!==se.class&&s(q,"class",null,se.class,D),p&4&&s(q,"style",K.style,se.style,D),p&8){const R=y.dynamicProps;for(let V=0;V{ee&&jt(ee,b,y,d),F&&wo(y,d,b,"updated")},P)},U=(d,y,b,P,D,B,Y)=>{for(let q=0;q{if(y!==b){if(y!==Oe)for(const B in y)!on(B)&&!(B in b)&&s(d,B,y[B],null,D,P);for(const B in b){if(on(B))continue;const Y=b[B],q=y[B];Y!==q&&B!=="value"&&s(d,B,q,Y,D,P)}"value"in b&&s(d,"value",y.value,b.value,D)}},I=(d,y,b,P,D,B,Y,q,p)=>{const h=y.el=d?d.el:i(""),F=y.anchor=d?d.anchor:i("");let{patchFlag:K,dynamicChildren:se,slotScopeIds:ee}=y;ee&&(q=q?q.concat(ee):ee),d==null?(n(h,b,P),n(F,b,P),$(y.children||[],b,F,D,B,Y,q,p)):K>0&&K&64&&se&&d.dynamicChildren&&d.dynamicChildren.length===se.length?(U(d.dynamicChildren,se,b,D,B,Y,q),(y.key!=null||D&&y===D.subTree)&&fi(d,y,!0)):re(d,y,b,F,D,B,Y,q,p)},W=(d,y,b,P,D,B,Y,q,p)=>{y.slotScopeIds=q,d==null?y.shapeFlag&512?D.ctx.activate(y,b,P,Y,p):ue(y,b,P,D,B,Y,p):C(d,y,p)},ue=(d,y,b,P,D,B,Y)=>{const q=d.component=Gd(d,P,D);if(Qa(d)&&(q.ctx.renderer=he),Kd(q,!1,Y),q.asyncDep){if(D&&D.registerDep(q,M,Y),!d.el){const p=q.subTree=Ve(Jt);_(null,p,y,b),d.placeholder=p.el}}else M(q,d,y,b,D,B,Y)},C=(d,y,b)=>{const P=y.component=d.component;if(Sd(d,y,b))if(P.asyncDep&&!P.asyncResolved){G(P,y,b);return}else P.next=y,P.update();else y.el=d.el,P.vnode=y},M=(d,y,b,P,D,B,Y)=>{const q=()=>{if(d.isMounted){let{next:K,bu:se,u:ee,parent:R,vnode:V}=d;{const Qe=hi(d);if(Qe){K&&(K.el=V.el,G(d,K,Y)),Qe.asyncDep.then(()=>{ft(()=>{d.isUnmounted||h()},D)});return}}let de=K,xe;So(d,!1),K?(K.el=V.el,G(d,K,Y)):K=V,se&&$a(se),(xe=K.props&&K.props.onVnodeBeforeUpdate)&&jt(xe,R,K,V),So(d,!0);const De=oi(d),at=d.subTree;d.subTree=De,w(at,De,f(at.el),Te(at),d,D,B),K.el=De.el,de===null&&Ad(d,De.el),ee&&ft(ee,D),(xe=K.props&&K.props.onVnodeUpdated)&&ft(()=>jt(xe,R,K,V),D)}else{let K;const{el:se,props:ee}=y,{bm:R,m:V,parent:de,root:xe,type:De}=d,at=Oo(y);So(d,!1),R&&$a(R),!at&&(K=ee&&ee.onVnodeBeforeMount)&&jt(K,de,y),So(d,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(De,d.parent?d.parent.type:void 0);const Qe=d.subTree=oi(d);w(null,Qe,b,P,d,D,B),y.el=Qe.el}if(V&&ft(V,D),!at&&(K=ee&&ee.onVnodeMounted)){const Qe=y;ft(()=>jt(K,de,Qe),D)}(y.shapeFlag&256||de&&Oo(de.vnode)&&de.vnode.shapeFlag&256)&&d.a&&ft(d.a,D),d.isMounted=!0,y=b=P=null}};d.scope.on();const p=d.effect=new cr(q);d.scope.off();const h=d.update=p.run.bind(p),F=d.job=p.runIfDirty.bind(p);F.i=d,F.id=d.uid,p.scheduler=()=>Ya(F),So(d,!0),h()},G=(d,y,b)=>{y.component=d;const P=d.vnode.props;d.vnode=y,d.next=null,Ld(d,y.props,P,b),$d(d,y.children,b),Ft(),Nr(d),Rt()},re=(d,y,b,P,D,B,Y,q,p=!1)=>{const h=d&&d.children,F=d?d.shapeFlag:0,K=y.children,{patchFlag:se,shapeFlag:ee}=y;if(se>0){if(se&128){Z(h,K,b,P,D,B,Y,q,p);return}else if(se&256){fe(h,K,b,P,D,B,Y,q,p);return}}ee&8?(F&16&&ge(h,D,B),K!==h&&u(b,K)):F&16?ee&16?Z(h,K,b,P,D,B,Y,q,p):ge(h,D,B,!0):(F&8&&u(b,""),ee&16&&$(K,b,P,D,B,Y,q,p))},fe=(d,y,b,P,D,B,Y,q,p)=>{d=d||$o,y=y||$o;const h=d.length,F=y.length,K=Math.min(h,F);let se;for(se=0;seF?ge(d,D,B,!0,!1,K):$(y,b,P,D,B,Y,q,p,K)},Z=(d,y,b,P,D,B,Y,q,p)=>{let h=0;const F=y.length;let K=d.length-1,se=F-1;for(;h<=K&&h<=se;){const ee=d[h],R=y[h]=p?Xt(y[h]):Ut(y[h]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;h++}for(;h<=K&&h<=se;){const ee=d[K],R=y[se]=p?Xt(y[se]):Ut(y[se]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;K--,se--}if(h>K){if(h<=se){const ee=se+1,R=eese)for(;h<=K;)oe(d[h],D,B,!0),h++;else{const ee=h,R=h,V=new Map;for(h=R;h<=se;h++){const ae=y[h]=p?Xt(y[h]):Ut(y[h]);ae.key!=null&&V.set(ae.key,h)}let de,xe=0;const De=se-R+1;let at=!1,Qe=0;const X=new Array(De);for(h=0;h=De){oe(ae,D,B,!0);continue}let ve;if(ae.key!=null)ve=V.get(ae.key);else for(de=R;de<=se;de++)if(X[de-R]===0&&wn(ae,y[de])){ve=de;break}ve===void 0?oe(ae,D,B,!0):(X[ve-R]=h+1,ve>=Qe?Qe=ve:at=!0,w(ae,y[ve],b,null,D,B,Y,q,p),xe++)}const te=at?Nd(X):$o;for(de=te.length-1,h=De-1;h>=0;h--){const ae=R+h,ve=y[ae],Ze=y[ae+1],yo=ae+1{const{el:B,type:Y,transition:q,children:p,shapeFlag:h}=d;if(h&6){ce(d.component.subTree,y,b,P);return}if(h&128){d.suspense.move(y,b,P);return}if(h&64){Y.move(d,y,b,he);return}if(Y===Ie){n(B,y,b);for(let K=0;Kq.enter(B),D));else{const{leave:K,delayLeave:se,afterLeave:ee}=q,R=()=>{d.ctx.isUnmounted?a(B):n(B,y,b)},V=()=>{const de=B._isLeaving||!!B[qa];B._isLeaving&&B[qa](!0),q.persisted&&!de?R():K(B,()=>{R(),ee&&ee()})};se?se(B,R,V):V()}else n(B,y,b)},oe=(d,y,b,P=!1,D=!1)=>{const{type:B,props:Y,ref:q,children:p,dynamicChildren:h,shapeFlag:F,patchFlag:K,dirs:se,cacheIndex:ee,memo:R}=d;if(K===-2&&(D=!1),q!=null&&(Ft(),fn(q,null,b,d,!0),Rt()),ee!=null&&(y.renderCache[ee]=void 0),F&256){y.ctx.deactivate(d);return}const V=F&1&&se,de=!Oo(d);let xe;if(de&&(xe=Y&&Y.onVnodeBeforeUnmount)&&jt(xe,y,d),F&6)Fe(d.component,b,P);else{if(F&128){d.suspense.unmount(b,P);return}V&&wo(d,null,y,"beforeUnmount"),F&64?d.type.remove(d,y,b,he,P):h&&!h.hasOnce&&(B!==Ie||K>0&&K&64)?ge(h,y,b,!1,!0):(B===Ie&&K&384||!D&&F&16)&&ge(p,y,b),P&&ke(d)}const De=R!=null&&ee==null;(de&&(xe=Y&&Y.onVnodeUnmounted)||V||De)&&ft(()=>{xe&&jt(xe,y,d),V&&wo(d,null,y,"unmounted"),De&&(d.el=null)},b)},ke=d=>{const{type:y,el:b,anchor:P,transition:D}=d;if(y===Ie){ie(b,P);return}if(y===cs){k(d);return}const B=()=>{a(b),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(d.shapeFlag&1&&D&&!D.persisted){const{leave:Y,delayLeave:q}=D,p=()=>Y(b,B);q?q(d.el,B,p):p()}else B()},ie=(d,y)=>{let b;for(;d!==y;)b=v(d),a(d),d=b;a(y)},Fe=(d,y,b)=>{const{bum:P,scope:D,job:B,subTree:Y,um:q,m:p,a:h}=d;mi(p),mi(h),P&&$a(P),D.stop(),B&&(B.flags|=8,oe(Y,d,y,b)),q&&ft(q,y),ft(()=>{d.isUnmounted=!0},y)},ge=(d,y,b,P=!1,D=!1,B=0)=>{for(let Y=B;Y{if(d.shapeFlag&6)return Te(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const y=v(d.anchor||d.el),b=y&&y[qu];return b?v(b):y};let Ae=!1;const z=(d,y,b)=>{let P;d==null?y._vnode&&(oe(y._vnode,null,null,!0),P=y._vnode.component):w(y._vnode||null,d,y,null,null,null,b),y._vnode=d,Ae||(Ae=!0,Nr(P),Fr(),Ae=!1)},he={p:w,um:oe,m:ce,r:ke,mt:ue,mc:$,pc:re,pbc:U,n:Te,o:e};return{render:z,hydrate:void 0,createApp:bd(z)}}function ls({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 So({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Id(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fi(e,t,o=!1){const n=e.children,a=t.children;if(be(n)&&be(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 hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:hi(t)}function mi(e){if(e)for(let t=0;te.__isSuspense;function Fd(e,t){t&&t.pendingBranch?be(e)?t.effects.push(...e):t.effects.push(e):Ku(e)}const Ie=Symbol.for("v-fgt"),bn=Symbol.for("v-txt"),Jt=Symbol.for("v-cmt"),cs=Symbol.for("v-stc"),yn=[];let _t=null;function J(e=!1){yn.push(_t=e?null:[])}function Rd(){yn.pop(),_t=yn[yn.length-1]||null}let _n=1;function aa(e,t=!1){_n+=e,e<0&&_t&&t&&(_t.hasOnce=!0)}function _i(e){return e.dynamicChildren=_n>0?_t||$o:null,Rd(),_n>0&&_t&&_t.push(e),e}function ne(e,t,o,n,a,s){return _i(j(e,t,o,n,a,s,!0))}function Je(e,t,o,n,a){return _i(Ve(e,t,o,n,a,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function wn(e,t){return e.type===t.type&&e.key===t.key}const vi=({key:e})=>e??null,sa=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ge(e)||Ke(e)||Se(e)?{i:st,r:e,k:t,f:!!o}:e:null);function j(e,t=null,o=null,n=0,a=null,s=e===Ie?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vi(t),ref:t&&sa(t),scopeId:Dr,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:st};return i?(us(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ge(o)?8:16),_n>0&&!r&&_t&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&_t.push(l),l}const Ve=Dd;function Dd(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===zr)&&(e=Jt),vn(e)){const i=Uo(e,t,!0);return o&&us(i,o),_n>0&&!s&&_t&&(i.shapeFlag&6?_t[_t.indexOf(e)]=i:_t.push(i)),i.patchFlag=-2,i}if(qd(e)&&(e=e.__vccOpts),t){t=Od(t);let{class:i,style:l}=t;i&&!Ge(i)&&(t.class=Be(i)),Ne(l)&&(Wn(l)&&!be(l)&&(l=qe({},l)),t.style=ct(l))}const r=Ge(e)?1:yi(e)?128:Ju(e)?64:Ne(e)?4:Se(e)?2:0;return j(e,t,o,n,a,r,s,!0)}function Od(e){return e?Wn(e)||ii(e)?qe({},e):e:null}function Uo(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Bd(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vi(c),ref:t&&t.ref?o&&s?be(s)?s.concat(sa(t)):[s,sa(t)]:sa(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!==Ie?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&&Uo(e.ssContent),ssFallback:e.ssFallback&&Uo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ja(u,l.clone(u)),u}function ht(e=" ",t=0){return Ve(bn,null,e,t)}function we(e="",t=!1){return t?(J(),Je(Jt,null,e)):Ve(Jt,null,e)}function Ut(e){return e==null||typeof e=="boolean"?Ve(Jt):be(e)?Ve(Ie,null,e.slice()):vn(e)?Xt(e):Ve(bn,null,String(e))}function Xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Uo(e)}function us(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(be(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),us(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!ii(t)?t._ctx=st:a===3&&st&&(st.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Se(t)?(t={default:t,_ctx:st},o=32):(t=String(t),n&64?(o=16,t=[ht(t)]):o=8);e.children=t,e.shapeFlag|=o}function Bd(...e){const t={};for(let o=0;ort||st;let ra,ds;{const e=Un(),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)}};ra=t("__VUE_INSTANCE_SETTERS__",o=>rt=o),ds=t("__VUE_SSR_SETTERS__",o=>jo=o)}const kn=e=>{const t=rt;return ra(e),e.scope.on(),()=>{e.scope.off(),ra(t)}},wi=()=>{rt&&rt.scope.off(),ra(null)};function ki(e){return e.vnode.shapeFlag&4}let jo=!1;function Kd(e,t=!1,o=!1){t&&ds(t);const{props:n,children:a}=e.vnode,s=ki(e);xd(e,n,s,t),Cd(e,a,o||t);const r=s?Hd(e,t):void 0;return t&&ds(!1),r}function Hd(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ud);const{setup:n}=o;if(n){Ft();const a=e.setupContext=n.length>1?Vd(e):null,s=kn(e),r=Fo(n,e,0,[e.props,a]),i=Qs(r);if(Rt(),s(),(i||e.sp)&&!Oo(e)&&Xa(e),i){if(r.then(wi,wi),t)return r.then(l=>{Si(e,l)}).catch(l=>{dn(l,e,0)});e.asyncDep=r}else Si(e,r)}else Ai(e)}function Si(e,t,o){Se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ne(t)&&(e.setupState=Cr(t)),Ai(e)}function Ai(e,t,o){const n=e.type;e.render||(e.render=n.render||It);{const a=kn(e);Ft();try{dd(e)}finally{Rt(),a()}}}const zd={get(e,t){return lt(e,"get",""),e[t]}};function Vd(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,zd),slots:e.slots,emit:e.emit,expose:t}}function ia(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cr(cn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in hn)return hn[o](e)},has(t,o){return o in t||o in hn}})):e.proxy}const Wd=/(?:^|[-_])\w/g,Yd=e=>e.replace(Wd,t=>t.toUpperCase()).replace(/[-_]/g,"");function xi(e,t=!0){return Se(e)?e.displayName||e.name:e.name||t&&e.__name}function Li(e,t,o=!1){let n=xi(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?Yd(n):o?"App":"Anonymous"}function qd(e){return Se(e)&&"__vccOpts"in e}const Q=(e,t)=>Nu(e,t,jo);function Ti(e,t,o){try{aa(-1);const n=arguments.length;return n===2?Ne(t)&&!be(t)?vn(t)?Ve(e,null,[t]):Ve(e,t):Ve(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&vn(o)&&(o=[o]),Ve(e,t,o))}finally{aa(1)}}const Jd="3.5.35";/** * @vue/runtime-dom v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let pr;const Ei=typeof window<"u"&&window.trustedTypes;if(Ei)try{pr=Ei.createPolicy("vue",{createHTML:e=>e})}catch{}const Ci=pr?e=>pr.createHTML(e):e=>e,Xd="http://www.w3.org/2000/svg",Zd="http://www.w3.org/1998/Math/MathML",Zt=typeof document<"u"?document:null,$i=Zt&&Zt.createElement("template"),Qd={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Zt.createElementNS(Xd,e):t==="mathml"?Zt.createElementNS(Zd,e):o?Zt.createElement(e,{is:o}):Zt.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Zt.createTextNode(e),createComment:e=>Zt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Zt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{$i.innerHTML=Ci(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=$i.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ep=Symbol("_vtc");function tp(e,t,o){const n=e[ep];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const la=Symbol("_vod"),Pi=Symbol("_vsh"),op={name:"show",beforeMount(e,{value:t},{transition:o}){e[la]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Sn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Sn(e,!0),n.enter(e)):n.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[la]:"none",e[Pi]=!t}const np=Symbol(""),ap=/(?:^|;)\s*display\s*:/;function rp(e,t,o){const n=e.style,a=je(o);let r=!1;if(o&&!a){if(t)if(je(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&An(n,i,"")}else for(const s in t)o[s]==null&&An(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?ip(e,s,!je(t)&&t?t[s]:void 0,i)||An(n,s,i):An(n,s,"")}}else if(a){if(t!==o){const s=n[np];s&&(o+=";"+s),n.cssText=o,r=ap.test(o)}}else t&&e.removeAttribute("style");la in e&&(e[la]=r?n.display:"",e[Pi]&&(n.display="none"))}const Mi=/\s*!important$/;function An(e,t,o){if(be(o))o.forEach(n=>An(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))e.setProperty(t,o);else{const n=sp(e,t);Mi.test(o)?e.setProperty(vt(n),o.replace(Mi,""),"important"):e[n]=o}}const Ii=["Webkit","Moz","ms"],gr={};function sp(e,t){const o=gr[t];if(o)return o;let n=ot(t);if(n!=="filter"&&n in e)return gr[t]=n;n=Bn(n);for(let a=0;afr||(pp.then(()=>fr=0),fr=Date.now());function fp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(be(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hp=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?tp(e,n,s):t==="style"?rp(e,o,n):Nn(t)?Fn(t)||up(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):mp(e,t,n,s))?(Ri(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fi(e,t,n,s,r,t!=="value")):e._isVueCE&&(bp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!je(n)))?Ri(e,ot(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fi(e,t,n,s))};function mp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bi(t)&&Se(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(t)&&je(o)?!1:t in e}function bp(e,t){const o=e._def.props;if(!o)return!1;const n=ot(t);return Array.isArray(o)?o.some(a=>ot(a)===n):Object.keys(o).some(a=>ot(a)===n)}const Ui={};function yp(e,t,o){let n=gn(e,t);Rn(n)&&(n=qe({},n,t));class a extends hr{constructor(s){super(n,s,o)}}return a.def=n,a}const _p=typeof HTMLElement<"u"?HTMLElement:class{};class hr extends _p{constructor(t,o={},n=Ki){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Ki?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(qe({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof hr){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Wa(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!be(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=os(this._props[l])),(i||(i=Object.create(null)))[ot(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;o?this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}):t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Me(this,n)||Object.defineProperty(this,n,{get:()=>pe(o[n])})}_resolveProps(t){const{props:o}=t,n=be(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(ot))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ui;const a=ot(t);o&&this._numberProps&&this._numberProps[a]&&(n=os(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Ui?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(vt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(vt(t),o+""):o||this.removeAttribute(vt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Sp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ve(this._def,qe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,Rn(s[0])?qe({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),vt(r)!==r&&a(vt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],r.insertBefore(c,i||s),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;oe.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>vp.some(o=>e[`${o}Key`]&&!t.includes(o))},Et=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{ji().render(...e)},Ki=(...e)=>{const t=ji().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=xp(n);if(!a)return;const r=t._component;!Se(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,Ap(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function Ap(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xp(e){return je(e)?document.querySelector(e):e}/*! +**/let ps;const Ei=typeof window<"u"&&window.trustedTypes;if(Ei)try{ps=Ei.createPolicy("vue",{createHTML:e=>e})}catch{}const Ci=ps?e=>ps.createHTML(e):e=>e,Xd="http://www.w3.org/2000/svg",Zd="http://www.w3.org/1998/Math/MathML",Zt=typeof document<"u"?document:null,$i=Zt&&Zt.createElement("template"),Qd={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Zt.createElementNS(Xd,e):t==="mathml"?Zt.createElementNS(Zd,e):o?Zt.createElement(e,{is:o}):Zt.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Zt.createTextNode(e),createComment:e=>Zt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Zt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{$i.innerHTML=Ci(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=$i.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ep=Symbol("_vtc");function tp(e,t,o){const n=e[ep];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const la=Symbol("_vod"),Pi=Symbol("_vsh"),op={name:"show",beforeMount(e,{value:t},{transition:o}){e[la]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Sn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Sn(e,!0),n.enter(e)):n.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[la]:"none",e[Pi]=!t}const np=Symbol(""),ap=/(?:^|;)\s*display\s*:/;function sp(e,t,o){const n=e.style,a=Ge(o);let s=!1;if(o&&!a){if(t)if(Ge(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&An(n,i,"")}else for(const r in t)o[r]==null&&An(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?ip(e,r,!Ge(t)&&t?t[r]:void 0,i)||An(n,r,i):An(n,r,"")}}else if(a){if(t!==o){const r=n[np];r&&(o+=";"+r),n.cssText=o,s=ap.test(o)}}else t&&e.removeAttribute("style");la in e&&(e[la]=s?n.display:"",e[Pi]&&(n.display="none"))}const Mi=/\s*!important$/;function An(e,t,o){if(be(o))o.forEach(n=>An(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))e.setProperty(t,o);else{const n=rp(e,t);Mi.test(o)?e.setProperty(vt(n),o.replace(Mi,""),"important"):e[n]=o}}const Ii=["Webkit","Moz","ms"],gs={};function rp(e,t){const o=gs[t];if(o)return o;let n=ot(t);if(n!=="filter"&&n in e)return gs[t]=n;n=Bn(n);for(let a=0;afs||(pp.then(()=>fs=0),fs=Date.now());function fp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(be(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hp=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?tp(e,n,r):t==="style"?sp(e,o,n):Nn(t)?Fn(t)||up(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):mp(e,t,n,r))?(Ri(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fi(e,t,n,r,s,t!=="value")):e._isVueCE&&(bp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ge(n)))?Ri(e,ot(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fi(e,t,n,r))};function mp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bi(t)&&Se(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(t)&&Ge(o)?!1:t in e}function bp(e,t){const o=e._def.props;if(!o)return!1;const n=ot(t);return Array.isArray(o)?o.some(a=>ot(a)===n):Object.keys(o).some(a=>ot(a)===n)}const Ui={};function yp(e,t,o){let n=gn(e,t);Rn(n)&&(n=qe({},n,t));class a extends hs{constructor(r){super(n,r,o)}}return a.def=n,a}const _p=typeof HTMLElement<"u"?HTMLElement:class{};class hs extends _p{constructor(t,o={},n=Ki){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Ki?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(qe({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof hs){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Wa(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!be(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=or(this._props[l])),(i||(i=Object.create(null)))[ot(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;o?this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}):t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Me(this,n)||Object.defineProperty(this,n,{get:()=>pe(o[n])})}_resolveProps(t){const{props:o}=t,n=be(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(ot))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ui;const a=ot(t);o&&this._numberProps&&this._numberProps[a]&&(n=or(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Ui?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(vt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(vt(t),o+""):o||this.removeAttribute(vt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Sp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ve(this._def,qe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,Rn(r[0])?qe({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),vt(s)!==s&&a(vt(s),r)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;oe.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>vp.some(o=>e[`${o}Key`]&&!t.includes(o))},Et=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r{Gi().render(...e)},Ki=(...e)=>{const t=Gi().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=xp(n);if(!a)return;const s=t._component;!Se(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Ap(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Ap(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xp(e){return Ge(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Hi;const ca=e=>Hi=e,zi=Symbol();function mr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(xn||(xn={}));function Lp(){const e=Ia(!0),t=e.run(()=>me({}));let o=[],n=[];const a=cn({install(r){ca(a),a._a=r,r.provide(zi,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Vi=()=>{};function Wi(e,t,o,n=Vi){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&ls()&&lu(a),a}function jo(e,...t){e.slice().forEach(o=>{o(...t)})}const Tp=e=>e(),Yi=Symbol(),br=Symbol();function yr(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];mr(a)&&mr(n)&&e.hasOwnProperty(o)&&!Ke(n)&&!Vt(n)?e[o]=yr(a,n):e[o]=n}return e}const Ep=Symbol();function Cp(e){return!mr(e)||!e.hasOwnProperty(Ep)}const{assign:so}=Object;function $p(e){return!!(Ke(e)&&e.effect)}function Pp(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=$u(o.state.value[e]);return so(u,r,Object.keys(s||{}).reduce((f,v)=>(f[v]=cn(Q(()=>{ca(o);const x=o._s.get(e);return s[v].call(x,x)})),f),{}))}return l=qi(e,c,t,o,n,!0),l}function qi(e,t,o={},n,a,r){let s;const i=so({actions:{}},o),l={deep:!0};let c,u,f=[],v=[],x;const T=n.state.value[e];!r&&!T&&(n.state.value[e]={});let w;function E($){let m;c=u=!1,typeof $=="function"?($(n.state.value[e]),m={type:xn.patchFunction,storeId:e,events:x}):(yr(n.state.value[e],$),m={type:xn.patchObject,payload:$,storeId:e,events:x});const U=w=Symbol();Wa().then(()=>{w===U&&(c=!0)}),u=!0,jo(f,m,n.state.value[e])}const _=r?function(){const{state:m}=o,U=m?m():{};this.$patch(H=>{so(H,U)})}:Vi;function S(){s.stop(),f=[],v=[],n._s.delete(e)}const g=($,m="")=>{if(Yi in $)return $[br]=m,$;const U=function(){ca(n);const H=Array.from(arguments),I=[],W=[];function ue(j){I.push(j)}function C(j){W.push(j)}jo(v,{args:H,name:U[br],store:A,after:ue,onError:C});let M;try{M=$.apply(this&&this.$id===e?this:A,H)}catch(j){throw jo(W,j),j}return M instanceof Promise?M.then(j=>(jo(I,j),j)).catch(j=>(jo(W,j),Promise.reject(j))):(jo(I,M),M)};return U[Yi]=!0,U[br]=m,U},k={_p:n,$id:e,$onAction:Wi.bind(null,v),$patch:E,$reset:_,$subscribe($,m={}){const U=Wi(f,$,m.detached,()=>H()),H=s.run(()=>Ye(()=>n.state.value[e],I=>{(m.flush==="sync"?u:c)&&$({storeId:e,type:xn.direct,events:x},I)},so({},l,m)));return U},$dispose:S},A=Io(k);n._s.set(e,A);const O=(n._a&&n._a.runWithContext||Tp)(()=>n._e.run(()=>(s=Ia()).run(()=>t({action:g}))));for(const $ in O){const m=O[$];if(Ke(m)&&!$p(m)||Vt(m))r||(T&&Cp(m)&&(Ke(m)?m.value=T[$]:yr(m,T[$])),n.state.value[e][$]=m);else if(typeof m=="function"){const U=g(m,$);O[$]=U,i.actions[$]=m}}return so(A,O),so(Ce(A),O),Object.defineProperty(A,"$state",{get:()=>n.state.value[e],set:$=>{E(m=>{so(m,$)})}}),n._p.forEach($=>{so(A,s.run(()=>$({store:A,app:n._a,pinia:n,options:i})))}),T&&r&&o.hydrate&&o.hydrate(A.$state,T),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function _r(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=zu();return i=i||(c?$e(zi,null):null),i&&ca(i),i=Hi,i._s.has(n)||(r?qi(n,t,a,i):Pp(n,a,i)),i._s.get(n)}return s.$id=n,s}let Mp=0;const Ip=_r("ui",{state:()=>({_storeInstanceId:++Mp,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=>e.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:e.theme==="dark",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;this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light"),localStorage.setItem("theme",e)},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(){const e=localStorage.getItem("theme");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)}))}}}),Np=_r("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",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)},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()}}}),Fp=_r("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]=cn({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]=cn({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}}}),Ao=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Rp={class:"profile-loader"},Dp={key:0,class:"profile-error"},Op={key:1,class:"profile-error"},Bp=Ao({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Q(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),n=Q(()=>{var x;return((x=o.value)==null?void 0:x.profile)||null}),a=Q(()=>{var x;return((x=o.value)==null?void 0:x.tk)||""}),r=Q(()=>{var x;return((x=o.value)==null?void 0:x.dataSource)||"doxa-csv"}),s=Q(()=>{var x;return((x=o.value)==null?void 0:x.colorSet)||"default"}),i=Q(()=>{var x;return((x=o.value)==null?void 0:x.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),l=$e("profileModules",null);if(!l)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const c=Q(()=>{if(!n.value)return null;const x=`./profiles/${n.value}.vue`;return l[x]?Za(l[x]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(l)),null)});wt("mapboxToken",a),wt("dataSource",r),wt("colorSet",s),wt("profileConfig",o),wt("instanceId",i);const u=Ip(),f=Np(),v=Fp();return wt("uiStore",u),wt("mapStore",f),wt("dataStore",v),(x,T)=>(J(),ne("div",Rp,[o.value?c.value?(J(),Je(ld(c.value),{key:2})):(J(),ne("div",Op,[G("p",null,[T[1]||(T[1]=ht("⚠️ Profile ",-1)),G("strong",null,'"'+ye(n.value)+'"',1),T[2]||(T[2]=ht(" not found.",-1))])])):(J(),ne("div",Dp,[...T[0]||(T[0]=[G("p",null,[ht("⚠️ "),G("strong",null,"doxa-map"),ht(": missing or invalid "),G("code",null,"profile-config"),ht(" prop.")],-1),G("p",null,[ht("Example: "),G("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Gp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},jp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},zp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Wp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},Yp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},qp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Jp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Xp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Zp={menuComingSoon:"Menü folgt in Kürze"},Qp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},eg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},tg={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},og={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ng={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed"},ag={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},rg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},sg={menuComingSoon:"Menu coming soon"},ig={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},lg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},cg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},ug={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},dg={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},pg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},gg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},fg={menuComingSoon:"Menú próximamente"},hg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},mg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},bg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},yg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},_g={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},vg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},wg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},kg={menuComingSoon:"Menu bientôt disponible"},Sg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ag={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},xg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Tg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Eg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Cg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},$g={menuComingSoon:"मेनू शीघ्र आ रहा है"},Pg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Mg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ig={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ng={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Fg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},Rg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Dg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Og={menuComingSoon:"Menu in arrivo"},Bg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ug={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Gg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},jg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Kg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},Hg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},zg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},Vg={menuComingSoon:"Menu em breve"},Wg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Yg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},qg={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},Jg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Xg={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},Zg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},Qg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},ef={menuComingSoon:"Meniu în curând"},tf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},of={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},nf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},af={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},rf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},sf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},lf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},cf={menuComingSoon:"Меню скоро появится"},uf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},df={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},pf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},gf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},ff={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},hf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},mf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},bf={menuComingSoon:"菜单即将推出"},yf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},_f={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},vf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Hi;const ca=e=>Hi=e,zi=Symbol();function ms(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(xn||(xn={}));function Lp(){const e=Ia(!0),t=e.run(()=>me({}));let o=[],n=[];const a=cn({install(s){ca(a),a._a=s,s.provide(zi,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Vi=()=>{};function Wi(e,t,o,n=Vi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&lr()&&lu(a),a}function Go(e,...t){e.slice().forEach(o=>{o(...t)})}const Tp=e=>e(),Yi=Symbol(),bs=Symbol();function ys(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];ms(a)&&ms(n)&&e.hasOwnProperty(o)&&!Ke(n)&&!Vt(n)?e[o]=ys(a,n):e[o]=n}return e}const Ep=Symbol();function Cp(e){return!ms(e)||!e.hasOwnProperty(Ep)}const{assign:ro}=Object;function $p(e){return!!(Ke(e)&&e.effect)}function Pp(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=$u(o.state.value[e]);return ro(u,s,Object.keys(r||{}).reduce((f,v)=>(f[v]=cn(Q(()=>{ca(o);const x=o._s.get(e);return r[v].call(x,x)})),f),{}))}return l=qi(e,c,t,o,n,!0),l}function qi(e,t,o={},n,a,s){let r;const i=ro({actions:{}},o),l={deep:!0};let c,u,f=[],v=[],x;const T=n.state.value[e];!s&&!T&&(n.state.value[e]={});let w;function E($){let m;c=u=!1,typeof $=="function"?($(n.state.value[e]),m={type:xn.patchFunction,storeId:e,events:x}):(ys(n.state.value[e],$),m={type:xn.patchObject,payload:$,storeId:e,events:x});const U=w=Symbol();Wa().then(()=>{w===U&&(c=!0)}),u=!0,Go(f,m,n.state.value[e])}const _=s?function(){const{state:m}=o,U=m?m():{};this.$patch(H=>{ro(H,U)})}:Vi;function S(){r.stop(),f=[],v=[],n._s.delete(e)}const g=($,m="")=>{if(Yi in $)return $[bs]=m,$;const U=function(){ca(n);const H=Array.from(arguments),I=[],W=[];function ue(G){I.push(G)}function C(G){W.push(G)}Go(v,{args:H,name:U[bs],store:A,after:ue,onError:C});let M;try{M=$.apply(this&&this.$id===e?this:A,H)}catch(G){throw Go(W,G),G}return M instanceof Promise?M.then(G=>(Go(I,G),G)).catch(G=>(Go(W,G),Promise.reject(G))):(Go(I,M),M)};return U[Yi]=!0,U[bs]=m,U},k={_p:n,$id:e,$onAction:Wi.bind(null,v),$patch:E,$reset:_,$subscribe($,m={}){const U=Wi(f,$,m.detached,()=>H()),H=r.run(()=>Ye(()=>n.state.value[e],I=>{(m.flush==="sync"?u:c)&&$({storeId:e,type:xn.direct,events:x},I)},ro({},l,m)));return U},$dispose:S},A=Io(k);n._s.set(e,A);const O=(n._a&&n._a.runWithContext||Tp)(()=>n._e.run(()=>(r=Ia()).run(()=>t({action:g}))));for(const $ in O){const m=O[$];if(Ke(m)&&!$p(m)||Vt(m))s||(T&&Cp(m)&&(Ke(m)?m.value=T[$]:ys(m,T[$])),n.state.value[e][$]=m);else if(typeof m=="function"){const U=g(m,$);O[$]=U,i.actions[$]=m}}return ro(A,O),ro(Ce(A),O),Object.defineProperty(A,"$state",{get:()=>n.state.value[e],set:$=>{E(m=>{ro(m,$)})}}),n._p.forEach($=>{ro(A,r.run(()=>$({store:A,app:n._a,pinia:n,options:i})))}),T&&s&&o.hydrate&&o.hydrate(A.$state,T),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function _s(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=zu();return i=i||(c?$e(zi,null):null),i&&ca(i),i=Hi,i._s.has(n)||(s?qi(n,t,a,i):Pp(n,a,i)),i._s.get(n)}return r.$id=n,r}let Mp=0;const Ip=_s("ui",{state:()=>({_storeInstanceId:++Mp,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=>e.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:e.theme==="dark",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;this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light"),localStorage.setItem("theme",e)},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(){const e=localStorage.getItem("theme");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)}))}}}),Np=_s("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",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)},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()}}}),Fp=_s("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]=cn({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]=cn({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}}}),Ao=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Rp={class:"profile-loader"},Dp={key:0,class:"profile-error"},Op={key:1,class:"profile-error"},Bp=Ao({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Q(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),n=Q(()=>{var x;return((x=o.value)==null?void 0:x.profile)||null}),a=Q(()=>{var x;return((x=o.value)==null?void 0:x.tk)||""}),s=Q(()=>{var x;return((x=o.value)==null?void 0:x.dataSource)||"doxa-csv"}),r=Q(()=>{var x;return((x=o.value)==null?void 0:x.colorSet)||"default"}),i=Q(()=>{var x;return((x=o.value)==null?void 0:x.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),l=$e("profileModules",null);if(!l)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const c=Q(()=>{if(!n.value)return null;const x=`./profiles/${n.value}.vue`;return l[x]?Za(l[x]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(l)),null)});wt("mapboxToken",a),wt("dataSource",s),wt("colorSet",r),wt("profileConfig",o),wt("instanceId",i);const u=Ip(),f=Np(),v=Fp();return wt("uiStore",u),wt("mapStore",f),wt("dataStore",v),(x,T)=>(J(),ne("div",Rp,[o.value?c.value?(J(),Je(ld(c.value),{key:2})):(J(),ne("div",Op,[j("p",null,[T[1]||(T[1]=ht("⚠️ Profile ",-1)),j("strong",null,'"'+ye(n.value)+'"',1),T[2]||(T[2]=ht(" not found.",-1))])])):(J(),ne("div",Dp,[...T[0]||(T[0]=[j("p",null,[ht("⚠️ "),j("strong",null,"doxa-map"),ht(": missing or invalid "),j("code",null,"profile-config"),ht(" prop.")],-1),j("p",null,[ht("Example: "),j("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},jp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"لا أحد يصلّي",hasPrayer:"شخص واحد أو أكثر يصلّي",fullPrayerCoverage:"أكثر من 100 شخص يصلّون"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},zp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Wp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},Yp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},qp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Jp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Xp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Zp={menuComingSoon:"Menü folgt in Kürze"},Qp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},eg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},tg={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},og={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ng={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed"},ag={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},sg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},rg={menuComingSoon:"Menu coming soon"},ig={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},lg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},cg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},ug={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},dg={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},pg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},gg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},fg={menuComingSoon:"Menú próximamente"},hg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},mg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},bg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},yg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},_g={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},vg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},wg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},kg={menuComingSoon:"Menu bientôt disponible"},Sg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ag={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},xg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Tg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Eg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Cg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},$g={menuComingSoon:"मेनू शीघ्र आ रहा है"},Pg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Mg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ig={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ng={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Fg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},Rg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Dg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Og={menuComingSoon:"Menu in arrivo"},Bg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ug={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},jg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Gg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Kg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},Hg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},zg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},Vg={menuComingSoon:"Menu em breve"},Wg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Yg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},qg={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},Jg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Xg={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},Zg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},Qg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},ef={menuComingSoon:"Meniu în curând"},tf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},of={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},nf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},af={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},sf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},rf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},lf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},cf={menuComingSoon:"Меню скоро появится"},uf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},df={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},pf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},gf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},ff={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},hf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},mf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},bf={menuComingSoon:"菜单即将推出"},yf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},_f={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},vf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function wf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ua=typeof window<"u",io=(e,t=!1)=>t?Symbol.for(e):Symbol(e),kf=(e,t,o)=>Sf({l:e,k:t,s:o}),Sf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Xe=e=>typeof e=="number"&&isFinite(e),Af=e=>el(e)==="[object Date]",lo=e=>el(e)==="[object RegExp]",da=e=>Le(e)&&Object.keys(e).length===0,it=Object.assign,xf=Object.create,Re=(e=null)=>xf(e);let Ji;const Qt=()=>Ji||(Ji=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Re());function Xi(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Zi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Zi(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Zi(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Tf=Object.prototype.hasOwnProperty;function Ct(e,t){return Tf.call(e,t)}const He=Array.isArray,Ge=e=>typeof e=="function",le=e=>typeof e=="string",Ee=e=>typeof e=="boolean",Pe=e=>e!==null&&typeof e=="object",Ef=e=>Pe(e)&&Ge(e.then)&&Ge(e.catch),Qi=Object.prototype.toString,el=e=>Qi.call(e),Le=e=>{if(!Pe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Cf=e=>e==null?"":He(e)||Le(e)&&e.toString===Qi?JSON.stringify(e,null,2):String(e);function $f(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function pa(e){let t=e;return()=>++t}const ga=e=>!Pe(e)||He(e);function fa(e,t){if(ga(e)||ga(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(Pe(n[r])&&!Pe(a[r])&&(a[r]=Array.isArray(n[r])?[]:Re()),ga(a[r])||ga(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! + */function wf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ua=typeof window<"u",io=(e,t=!1)=>t?Symbol.for(e):Symbol(e),kf=(e,t,o)=>Sf({l:e,k:t,s:o}),Sf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Xe=e=>typeof e=="number"&&isFinite(e),Af=e=>el(e)==="[object Date]",lo=e=>el(e)==="[object RegExp]",da=e=>Le(e)&&Object.keys(e).length===0,it=Object.assign,xf=Object.create,Re=(e=null)=>xf(e);let Ji;const Qt=()=>Ji||(Ji=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Re());function Xi(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Zi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${Zi(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${Zi(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Tf=Object.prototype.hasOwnProperty;function Ct(e,t){return Tf.call(e,t)}const He=Array.isArray,je=e=>typeof e=="function",le=e=>typeof e=="string",Ee=e=>typeof e=="boolean",Pe=e=>e!==null&&typeof e=="object",Ef=e=>Pe(e)&&je(e.then)&&je(e.catch),Qi=Object.prototype.toString,el=e=>Qi.call(e),Le=e=>{if(!Pe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Cf=e=>e==null?"":He(e)||Le(e)&&e.toString===Qi?JSON.stringify(e,null,2):String(e);function $f(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function pa(e){let t=e;return()=>++t}const ga=e=>!Pe(e)||He(e);function fa(e,t){if(ga(e)||ga(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(Pe(n[s])&&!Pe(a[s])&&(a[s]=Array.isArray(n[s])?[]:Re()),ga(a[s])||ga(n[s])?a[s]=n[s]:o.push({src:n[s],des:a[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Pf(e,t,o){return{line:e,column:t,offset:o}}function ha(e,t,o){return{start:e,end:t}}const Mf=/\{([0-9a-zA-Z]+)\}/g;function tl(e,...t){return t.length===1&&If(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Mf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const ol=Object.assign,nl=e=>typeof e=="string",If=e=>e!==null&&typeof e=="object";function al(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const vr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Nf={[vr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Ff(e,t,...o){const n=tl(Nf[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const _e={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Rf={[_e.EXPECTED_TOKEN]:"Expected token: '{0}'",[_e.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[_e.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[_e.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[_e.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[_e.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[_e.EMPTY_PLACEHOLDER]:"Empty placeholder",[_e.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[_e.INVALID_LINKED_FORMAT]:"Invalid linked format",[_e.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[_e.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[_e.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[_e.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[_e.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[_e.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Ko(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=tl((a||Rf)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function Df(e){throw e}const eo=" ",Of="\r",pt=` -`,Bf="\u2028",Uf="\u2029";function Gf(e){const t=e;let o=0,n=1,a=1,r=0;const s=O=>t[O]===Of&&t[O+1]===pt,i=O=>t[O]===pt,l=O=>t[O]===Uf,c=O=>t[O]===Bf,u=O=>s(O)||i(O)||l(O)||c(O),f=()=>o,v=()=>n,x=()=>a,T=()=>r,w=O=>s(O)||l(O)||c(O)?pt:t[O],E=()=>w(o),_=()=>w(o+r);function S(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function g(){return s(o+r)&&r++,r++,t[o+r]}function k(){o=0,n=1,a=1,r=0}function A(O=0){r=O}function L(){const O=o+r;for(;O!==o;)S();r=0}return{index:f,line:v,column:x,peekOffset:T,charAt:w,currentChar:E,currentPeek:_,next:S,peek:g,reset:k,resetPeek:A,skipToPeek:L}}const co=void 0,jf=".",rl="'",Kf="tokenizer";function Hf(e,t={}){const o=t.location!==!1,n=Gf(e),a=()=>n.index(),r=()=>Pf(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,h,F,...K){const re=c();if(h.column+=F,h.offset+=F,u){const ee=o?ha(re.startLoc,h):null,R=Ko(p,ee,{domain:Kf,args:K});u(R)}}function v(p,h,F){p.endLoc=r(),p.currentType=h;const K={type:h};return o&&(K.loc=ha(p.startLoc,p.endLoc)),F!=null&&(K.value=F),K}const x=p=>v(p,14);function T(p,h){return p.currentChar()===h?(p.next(),h):(f(_e.EXPECTED_TOKEN,r(),0,h),"")}function w(p){let h="";for(;p.currentPeek()===eo||p.currentPeek()===pt;)h+=p.currentPeek(),p.peek();return h}function E(p){const h=w(p);return p.skipToPeek(),h}function _(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function S(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=48&&h<=57}function g(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function k(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()==="-"?p.peek():p.currentPeek(),re=S(K);return p.resetPeek(),re}function A(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()===rl;return p.resetPeek(),K}function L(p,h){const{currentType:F}=h;if(F!==8)return!1;w(p);const K=p.currentPeek()===".";return p.resetPeek(),K}function O(p,h){const{currentType:F}=h;if(F!==9)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function $(p,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;w(p);const K=p.currentPeek()===":";return p.resetPeek(),K}function m(p,h){const{currentType:F}=h;if(F!==10)return!1;const K=()=>{const ee=p.currentPeek();return ee==="{"?_(p.peek()):ee==="@"||ee==="%"||ee==="|"||ee===":"||ee==="."||ee===eo||!ee?!1:ee===pt?(p.peek(),K()):I(p,!1)},re=K();return p.resetPeek(),re}function U(p){w(p);const h=p.currentPeek()==="|";return p.resetPeek(),h}function H(p){const h=w(p),F=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function I(p,h=!0){const F=(re=!1,ee="",R=!1)=>{const V=p.currentPeek();return V==="{"?ee==="%"?!1:re:V==="@"||!V?ee==="%"?!0:re:V==="%"?(p.peek(),F(re,"%",!0)):V==="|"?ee==="%"||R?!0:!(ee===eo||ee===pt):V===eo?(p.peek(),F(!0,eo,R)):V===pt?(p.peek(),F(!0,pt,R)):!0},K=F();return h&&p.resetPeek(),K}function W(p,h){const F=p.currentChar();return F===co?co:h(F)?(p.next(),F):null}function ue(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function C(p){return W(p,ue)}function M(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function j(p){return W(p,M)}function se(p){const h=p.charCodeAt(0);return h>=48&&h<=57}function fe(p){return W(p,se)}function Z(p){const h=p.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function ce(p){return W(p,Z)}function oe(p){let h="",F="";for(;h=fe(p);)F+=h;return F}function ke(p){E(p);const h=p.currentChar();return h!=="%"&&f(_e.EXPECTED_TOKEN,r(),0,h),p.next(),"%"}function ie(p){let h="";for(;;){const F=p.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(I(p))h+=F,p.next();else break;else if(F===eo||F===pt)if(I(p))h+=F,p.next();else{if(U(p))break;h+=F,p.next()}else h+=F,p.next()}return h}function Fe(p){E(p);let h="",F="";for(;h=j(p);)F+=h;return p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),F}function ge(p){E(p);let h="";return p.currentChar()==="-"?(p.next(),h+=`-${oe(p)}`):h+=oe(p),p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),h}function Te(p){return p!==rl&&p!==pt}function Ae(p){E(p),T(p,"'");let h="",F="";for(;h=W(p,Te);)h==="\\"?F+=z(p):F+=h;const K=p.currentChar();return K===pt||K===co?(f(_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),K===pt&&(p.next(),T(p,"'")),F):(T(p,"'"),F)}function z(p){const h=p.currentChar();switch(h){case"\\":case"'":return p.next(),`\\${h}`;case"u":return he(p,h,4);case"U":return he(p,h,6);default:return f(_e.UNKNOWN_ESCAPE_SEQUENCE,r(),0,h),""}}function he(p,h,F){T(p,h);let K="";for(let re=0;re{const K=p.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===eo?F:(F+=K,p.next(),h(F))};return h("")}function P(p){E(p);const h=T(p,"|");return E(p),h}function D(p,h){let F=null;switch(p.currentChar()){case"{":return h.braceNest>=1&&f(_e.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),F=v(h,2,"{"),E(p),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(_e.EMPTY_PLACEHOLDER,r(),0),p.next(),F=v(h,3,"}"),h.braceNest--,h.braceNest>0&&E(p),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),F=B(p,h)||x(h),h.braceNest=0,F;default:{let re=!0,ee=!0,R=!0;if(U(p))return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),h.braceNest=0,Y(p,h);if(re=g(p,h))return F=v(h,5,Fe(p)),E(p),F;if(ee=k(p,h))return F=v(h,6,ge(p)),E(p),F;if(R=A(p,h))return F=v(h,7,Ae(p)),E(p),F;if(!re&&!ee&&!R)return F=v(h,13,d(p)),f(_e.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,F.value),E(p),F;break}}return F}function B(p,h){const{currentType:F}=h;let K=null;const re=p.currentChar();switch((F===8||F===9||F===12||F===10)&&(re===pt||re===eo)&&f(_e.INVALID_LINKED_FORMAT,r(),0),re){case"@":return p.next(),K=v(h,8,"@"),h.inLinked=!0,K;case".":return E(p),p.next(),v(h,9,".");case":":return E(p),p.next(),v(h,10,":");default:return U(p)?(K=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,K):L(p,h)||$(p,h)?(E(p),B(p,h)):O(p,h)?(E(p),v(h,12,y(p))):m(p,h)?(E(p),re==="{"?D(p,h)||K:v(h,11,b(p))):(F===8&&f(_e.INVALID_LINKED_FORMAT,r(),0),h.braceNest=0,h.inLinked=!1,Y(p,h))}}function Y(p,h){let F={type:14};if(h.braceNest>0)return D(p,h)||x(h);if(h.inLinked)return B(p,h)||x(h);switch(p.currentChar()){case"{":return D(p,h)||x(h);case"}":return f(_e.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),v(h,3,"}");case"@":return B(p,h)||x(h);default:{if(U(p))return F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:re,hasSpace:ee}=H(p);if(re)return ee?v(h,0,ie(p)):v(h,4,ke(p));if(I(p))return v(h,0,ie(p));break}}return F}function q(){const{currentType:p,offset:h,startLoc:F,endLoc:K}=l;return l.lastType=p,l.lastOffset=h,l.lastStartLoc=F,l.lastEndLoc=K,l.offset=a(),l.startLoc=r(),n.currentChar()===co?v(l,14):Y(n,l)}return{nextToken:q,currentOffset:a,currentPosition:r,context:c}}const zf="parser",Vf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wf(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Yf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,o){const m=t?ha(A,$):null,U=Ko(k,m,{domain:zf,args:O});o(U)}}function r(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,n){const m=t?ha(A,$):null;n(Ff(k,m,O))}}function s(g,k,A){const L={type:g};return t&&(L.start=k,L.end=k,L.loc={start:A,end:A}),L}function i(g,k,A,L){t&&(g.end=k,g.loc&&(g.loc.end=A))}function l(g,k){const A=g.context(),L=s(3,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function c(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=s(5,L,O);return $.index=parseInt(k,10),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function u(g,k,A){const L=g.context(),{lastOffset:O,lastStartLoc:$}=L,m=s(4,O,$);return m.key=k,A===!0&&(m.modulo=!0),g.nextToken(),i(m,g.currentOffset(),g.currentPosition()),m}function f(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=s(9,L,O);return $.value=k.replace(Vf,Wf),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function v(g){const k=g.nextToken(),A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=s(8,L,O);return k.type!==12?(a(g,_e.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),$.value="",i($,L,O),{nextConsumeToken:k,node:$}):(k.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,$t(k)),$.value=k.value||"",i($,g.currentOffset(),g.currentPosition()),{node:$})}function x(g,k){const A=g.context(),L=s(7,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function T(g){const k=g.context(),A=s(6,k.offset,k.startLoc);let L=g.nextToken();if(L.type===9){const O=v(g);A.modifier=O.node,L=O.nextConsumeToken||g.nextToken()}switch(L.type!==10&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),L=g.nextToken(),L.type===2&&(L=g.nextToken()),L.type){case 11:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=x(g,L.value||"");break;case 5:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=u(g,L.value||"");break;case 6:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=c(g,L.value||"");break;case 7:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=f(g,L.value||"");break;default:{a(g,_e.UNEXPECTED_EMPTY_LINKED_KEY,k.lastStartLoc,0);const O=g.context(),$=s(7,O.offset,O.startLoc);return $.value="",i($,O.offset,O.startLoc),A.key=$,i(A,O.offset,O.startLoc),{nextConsumeToken:L,node:A}}}return i(A,g.currentOffset(),g.currentPosition()),{node:A}}function w(g){const k=g.context(),A=k.currentType===1?g.currentOffset():k.offset,L=k.currentType===1?k.endLoc:k.startLoc,O=s(2,A,L);O.items=[];let $=null,m=null;do{const I=$||g.nextToken();switch($=null,I.type){case 0:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(l(g,I.value||""));break;case 6:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(c(g,I.value||""));break;case 4:m=!0;break;case 5:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(u(g,I.value||"",!!m)),m&&(r(g,vr.USE_MODULO_SYNTAX,k.lastStartLoc,0,$t(I)),m=null);break;case 7:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(f(g,I.value||""));break;case 8:{const W=T(g);O.items.push(W.node),$=W.nextConsumeToken||null;break}}}while(k.currentType!==14&&k.currentType!==1);const U=k.currentType===1?k.lastOffset:g.currentOffset(),H=k.currentType===1?k.lastEndLoc:g.currentPosition();return i(O,U,H),O}function E(g,k,A,L){const O=g.context();let $=L.items.length===0;const m=s(1,k,A);m.cases=[],m.cases.push(L);do{const U=w(g);$||($=U.items.length===0),m.cases.push(U)}while(O.currentType!==14);return $&&a(g,_e.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),i(m,g.currentOffset(),g.currentPosition()),m}function _(g){const k=g.context(),{offset:A,startLoc:L}=k,O=w(g);return k.currentType===14?O:E(g,A,L,O)}function S(g){const k=Hf(g,ol({},e)),A=k.context(),L=s(0,A.offset,A.startLoc);return t&&L.loc&&(L.loc.source=g),L.body=_(k),e.onCacheKey&&(L.cacheKey=e.onCacheKey(g)),A.currentType!==14&&a(k,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,g[A.offset]||""),i(L,k.currentOffset(),k.currentPosition()),L}return{parse:S}}function $t(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function qf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function sl(e,t){for(let o=0;oil(o)),e}function il(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(w,E){s.code+=w}function c(w,E=!0){const _=E?n:"";l(a?_+" ".repeat(w):_)}function u(w=!0){const E=++s.indentLevel;w&&c(E)}function f(w=!0){const E=--s.indentLevel;w&&c(E)}function v(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:f,newline:v,helper:w=>`_${w}`,needIndent:()=>s.needIndent}}function th(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),zo(e,t.key),t.modifier?(e.push(", "),zo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function oh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=nl(t.mode)?t.mode:"normal",n=nl(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=eh(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${al(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),zo(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function sh(e,t={}){const o=ol({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Yf(o).parse(e);return n?(r&&Xf(i),a&&Ho(i),{ast:i,code:""}):(Jf(i,o),rh(i,o))}/*! + */function Pf(e,t,o){return{line:e,column:t,offset:o}}function ha(e,t,o){return{start:e,end:t}}const Mf=/\{([0-9a-zA-Z]+)\}/g;function tl(e,...t){return t.length===1&&If(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Mf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const ol=Object.assign,nl=e=>typeof e=="string",If=e=>e!==null&&typeof e=="object";function al(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const vs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Nf={[vs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Ff(e,t,...o){const n=tl(Nf[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const _e={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Rf={[_e.EXPECTED_TOKEN]:"Expected token: '{0}'",[_e.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[_e.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[_e.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[_e.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[_e.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[_e.EMPTY_PLACEHOLDER]:"Empty placeholder",[_e.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[_e.INVALID_LINKED_FORMAT]:"Invalid linked format",[_e.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[_e.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[_e.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[_e.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[_e.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[_e.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Ko(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=tl((a||Rf)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function Df(e){throw e}const eo=" ",Of="\r",pt=` +`,Bf="\u2028",Uf="\u2029";function jf(e){const t=e;let o=0,n=1,a=1,s=0;const r=O=>t[O]===Of&&t[O+1]===pt,i=O=>t[O]===pt,l=O=>t[O]===Uf,c=O=>t[O]===Bf,u=O=>r(O)||i(O)||l(O)||c(O),f=()=>o,v=()=>n,x=()=>a,T=()=>s,w=O=>r(O)||l(O)||c(O)?pt:t[O],E=()=>w(o),_=()=>w(o+s);function S(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function g(){return r(o+s)&&s++,s++,t[o+s]}function k(){o=0,n=1,a=1,s=0}function A(O=0){s=O}function L(){const O=o+s;for(;O!==o;)S();s=0}return{index:f,line:v,column:x,peekOffset:T,charAt:w,currentChar:E,currentPeek:_,next:S,peek:g,reset:k,resetPeek:A,skipToPeek:L}}const co=void 0,Gf=".",sl="'",Kf="tokenizer";function Hf(e,t={}){const o=t.location!==!1,n=jf(e),a=()=>n.index(),s=()=>Pf(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,h,F,...K){const se=c();if(h.column+=F,h.offset+=F,u){const ee=o?ha(se.startLoc,h):null,R=Ko(p,ee,{domain:Kf,args:K});u(R)}}function v(p,h,F){p.endLoc=s(),p.currentType=h;const K={type:h};return o&&(K.loc=ha(p.startLoc,p.endLoc)),F!=null&&(K.value=F),K}const x=p=>v(p,14);function T(p,h){return p.currentChar()===h?(p.next(),h):(f(_e.EXPECTED_TOKEN,s(),0,h),"")}function w(p){let h="";for(;p.currentPeek()===eo||p.currentPeek()===pt;)h+=p.currentPeek(),p.peek();return h}function E(p){const h=w(p);return p.skipToPeek(),h}function _(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function S(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=48&&h<=57}function g(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function k(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()==="-"?p.peek():p.currentPeek(),se=S(K);return p.resetPeek(),se}function A(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()===sl;return p.resetPeek(),K}function L(p,h){const{currentType:F}=h;if(F!==8)return!1;w(p);const K=p.currentPeek()===".";return p.resetPeek(),K}function O(p,h){const{currentType:F}=h;if(F!==9)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function $(p,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;w(p);const K=p.currentPeek()===":";return p.resetPeek(),K}function m(p,h){const{currentType:F}=h;if(F!==10)return!1;const K=()=>{const ee=p.currentPeek();return ee==="{"?_(p.peek()):ee==="@"||ee==="%"||ee==="|"||ee===":"||ee==="."||ee===eo||!ee?!1:ee===pt?(p.peek(),K()):I(p,!1)},se=K();return p.resetPeek(),se}function U(p){w(p);const h=p.currentPeek()==="|";return p.resetPeek(),h}function H(p){const h=w(p),F=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function I(p,h=!0){const F=(se=!1,ee="",R=!1)=>{const V=p.currentPeek();return V==="{"?ee==="%"?!1:se:V==="@"||!V?ee==="%"?!0:se:V==="%"?(p.peek(),F(se,"%",!0)):V==="|"?ee==="%"||R?!0:!(ee===eo||ee===pt):V===eo?(p.peek(),F(!0,eo,R)):V===pt?(p.peek(),F(!0,pt,R)):!0},K=F();return h&&p.resetPeek(),K}function W(p,h){const F=p.currentChar();return F===co?co:h(F)?(p.next(),F):null}function ue(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function C(p){return W(p,ue)}function M(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function G(p){return W(p,M)}function re(p){const h=p.charCodeAt(0);return h>=48&&h<=57}function fe(p){return W(p,re)}function Z(p){const h=p.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function ce(p){return W(p,Z)}function oe(p){let h="",F="";for(;h=fe(p);)F+=h;return F}function ke(p){E(p);const h=p.currentChar();return h!=="%"&&f(_e.EXPECTED_TOKEN,s(),0,h),p.next(),"%"}function ie(p){let h="";for(;;){const F=p.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(I(p))h+=F,p.next();else break;else if(F===eo||F===pt)if(I(p))h+=F,p.next();else{if(U(p))break;h+=F,p.next()}else h+=F,p.next()}return h}function Fe(p){E(p);let h="",F="";for(;h=G(p);)F+=h;return p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),F}function ge(p){E(p);let h="";return p.currentChar()==="-"?(p.next(),h+=`-${oe(p)}`):h+=oe(p),p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Te(p){return p!==sl&&p!==pt}function Ae(p){E(p),T(p,"'");let h="",F="";for(;h=W(p,Te);)h==="\\"?F+=z(p):F+=h;const K=p.currentChar();return K===pt||K===co?(f(_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),K===pt&&(p.next(),T(p,"'")),F):(T(p,"'"),F)}function z(p){const h=p.currentChar();switch(h){case"\\":case"'":return p.next(),`\\${h}`;case"u":return he(p,h,4);case"U":return he(p,h,6);default:return f(_e.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function he(p,h,F){T(p,h);let K="";for(let se=0;se{const K=p.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===eo?F:(F+=K,p.next(),h(F))};return h("")}function P(p){E(p);const h=T(p,"|");return E(p),h}function D(p,h){let F=null;switch(p.currentChar()){case"{":return h.braceNest>=1&&f(_e.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),p.next(),F=v(h,2,"{"),E(p),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(_e.EMPTY_PLACEHOLDER,s(),0),p.next(),F=v(h,3,"}"),h.braceNest--,h.braceNest>0&&E(p),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),F=B(p,h)||x(h),h.braceNest=0,F;default:{let se=!0,ee=!0,R=!0;if(U(p))return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,Y(p,h);if(se=g(p,h))return F=v(h,5,Fe(p)),E(p),F;if(ee=k(p,h))return F=v(h,6,ge(p)),E(p),F;if(R=A(p,h))return F=v(h,7,Ae(p)),E(p),F;if(!se&&!ee&&!R)return F=v(h,13,d(p)),f(_e.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,F.value),E(p),F;break}}return F}function B(p,h){const{currentType:F}=h;let K=null;const se=p.currentChar();switch((F===8||F===9||F===12||F===10)&&(se===pt||se===eo)&&f(_e.INVALID_LINKED_FORMAT,s(),0),se){case"@":return p.next(),K=v(h,8,"@"),h.inLinked=!0,K;case".":return E(p),p.next(),v(h,9,".");case":":return E(p),p.next(),v(h,10,":");default:return U(p)?(K=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,K):L(p,h)||$(p,h)?(E(p),B(p,h)):O(p,h)?(E(p),v(h,12,y(p))):m(p,h)?(E(p),se==="{"?D(p,h)||K:v(h,11,b(p))):(F===8&&f(_e.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,Y(p,h))}}function Y(p,h){let F={type:14};if(h.braceNest>0)return D(p,h)||x(h);if(h.inLinked)return B(p,h)||x(h);switch(p.currentChar()){case"{":return D(p,h)||x(h);case"}":return f(_e.UNBALANCED_CLOSING_BRACE,s(),0),p.next(),v(h,3,"}");case"@":return B(p,h)||x(h);default:{if(U(p))return F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:se,hasSpace:ee}=H(p);if(se)return ee?v(h,0,ie(p)):v(h,4,ke(p));if(I(p))return v(h,0,ie(p));break}}return F}function q(){const{currentType:p,offset:h,startLoc:F,endLoc:K}=l;return l.lastType=p,l.lastOffset=h,l.lastStartLoc=F,l.lastEndLoc=K,l.offset=a(),l.startLoc=s(),n.currentChar()===co?v(l,14):Y(n,l)}return{nextToken:q,currentOffset:a,currentPosition:s,context:c}}const zf="parser",Vf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wf(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Yf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,o){const m=t?ha(A,$):null,U=Ko(k,m,{domain:zf,args:O});o(U)}}function s(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,n){const m=t?ha(A,$):null;n(Ff(k,m,O))}}function r(g,k,A){const L={type:g};return t&&(L.start=k,L.end=k,L.loc={start:A,end:A}),L}function i(g,k,A,L){t&&(g.end=k,g.loc&&(g.loc.end=A))}function l(g,k){const A=g.context(),L=r(3,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function c(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=r(5,L,O);return $.index=parseInt(k,10),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function u(g,k,A){const L=g.context(),{lastOffset:O,lastStartLoc:$}=L,m=r(4,O,$);return m.key=k,A===!0&&(m.modulo=!0),g.nextToken(),i(m,g.currentOffset(),g.currentPosition()),m}function f(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=r(9,L,O);return $.value=k.replace(Vf,Wf),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function v(g){const k=g.nextToken(),A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=r(8,L,O);return k.type!==12?(a(g,_e.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),$.value="",i($,L,O),{nextConsumeToken:k,node:$}):(k.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,$t(k)),$.value=k.value||"",i($,g.currentOffset(),g.currentPosition()),{node:$})}function x(g,k){const A=g.context(),L=r(7,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function T(g){const k=g.context(),A=r(6,k.offset,k.startLoc);let L=g.nextToken();if(L.type===9){const O=v(g);A.modifier=O.node,L=O.nextConsumeToken||g.nextToken()}switch(L.type!==10&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),L=g.nextToken(),L.type===2&&(L=g.nextToken()),L.type){case 11:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=x(g,L.value||"");break;case 5:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=u(g,L.value||"");break;case 6:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=c(g,L.value||"");break;case 7:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=f(g,L.value||"");break;default:{a(g,_e.UNEXPECTED_EMPTY_LINKED_KEY,k.lastStartLoc,0);const O=g.context(),$=r(7,O.offset,O.startLoc);return $.value="",i($,O.offset,O.startLoc),A.key=$,i(A,O.offset,O.startLoc),{nextConsumeToken:L,node:A}}}return i(A,g.currentOffset(),g.currentPosition()),{node:A}}function w(g){const k=g.context(),A=k.currentType===1?g.currentOffset():k.offset,L=k.currentType===1?k.endLoc:k.startLoc,O=r(2,A,L);O.items=[];let $=null,m=null;do{const I=$||g.nextToken();switch($=null,I.type){case 0:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(l(g,I.value||""));break;case 6:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(c(g,I.value||""));break;case 4:m=!0;break;case 5:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(u(g,I.value||"",!!m)),m&&(s(g,vs.USE_MODULO_SYNTAX,k.lastStartLoc,0,$t(I)),m=null);break;case 7:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(f(g,I.value||""));break;case 8:{const W=T(g);O.items.push(W.node),$=W.nextConsumeToken||null;break}}}while(k.currentType!==14&&k.currentType!==1);const U=k.currentType===1?k.lastOffset:g.currentOffset(),H=k.currentType===1?k.lastEndLoc:g.currentPosition();return i(O,U,H),O}function E(g,k,A,L){const O=g.context();let $=L.items.length===0;const m=r(1,k,A);m.cases=[],m.cases.push(L);do{const U=w(g);$||($=U.items.length===0),m.cases.push(U)}while(O.currentType!==14);return $&&a(g,_e.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),i(m,g.currentOffset(),g.currentPosition()),m}function _(g){const k=g.context(),{offset:A,startLoc:L}=k,O=w(g);return k.currentType===14?O:E(g,A,L,O)}function S(g){const k=Hf(g,ol({},e)),A=k.context(),L=r(0,A.offset,A.startLoc);return t&&L.loc&&(L.loc.source=g),L.body=_(k),e.onCacheKey&&(L.cacheKey=e.onCacheKey(g)),A.currentType!==14&&a(k,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,g[A.offset]||""),i(L,k.currentOffset(),k.currentPosition()),L}return{parse:S}}function $t(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function qf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function rl(e,t){for(let o=0;oil(o)),e}function il(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;or;function l(w,E){r.code+=w}function c(w,E=!0){const _=E?n:"";l(a?_+" ".repeat(w):_)}function u(w=!0){const E=++r.indentLevel;w&&c(E)}function f(w=!0){const E=--r.indentLevel;w&&c(E)}function v(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:f,newline:v,helper:w=>`_${w}`,needIndent:()=>r.needIndent}}function th(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),zo(e,t.key),t.modifier?(e.push(", "),zo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function oh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=nl(t.mode)?t.mode:"normal",n=nl(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=eh(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${al(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),zo(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function rh(e,t={}){const o=ol({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=Yf(o).parse(e);return n?(s&&Xf(i),a&&Ho(i),{ast:i,code:""}):(Jf(i,o),sh(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ih(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function jt(e){return Pe(e)&&kr(e)===0&&(Ct(e,"b")||Ct(e,"body"))}const ll=["b","body"];function lh(e){return uo(e,ll)}const cl=["c","cases"];function ch(e){return uo(e,cl,[])}const ul=["s","static"];function uh(e){return uo(e,ul)}const dl=["i","items"];function dh(e){return uo(e,dl,[])}const pl=["t","type"];function kr(e){return uo(e,pl)}const gl=["v","value"];function ma(e,t){const o=uo(e,gl);if(o!=null)return o;throw Ln(t)}const fl=["m","modifier"];function ph(e){return uo(e,fl)}const hl=["k","key"];function gh(e){const t=uo(e,hl);if(t)return t;throw Ln(6)}function uo(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},v[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},v[2]=()=>{v[0](),a++},v[3]=()=>{if(a>0)a--,n=4,v[0]();else{if(a=0,s===void 0||(s=yh(s),s===!1))return!1;v[1]()}};function x(){const T=e[o+1];if(n===5&&T==="'"||n===6&&T==='"')return o++,i="\\"+T,v[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&x())){if(l=bh(r),f=po[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=v[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const bl=new Map;function vh(e,t){return Pe(e)?e[t]:null}function wh(e,t){if(!Pe(e))return null;let o=bl.get(t);if(o||(o=_h(t),o&&bl.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,Sh=e=>"",Ah="text",xh=e=>e.length===0?"":$f(e),Lh=Cf;function yl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Th(e){const t=Xe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Xe(e.named.count)||Xe(e.named.n))?Xe(e.named.count)?e.named.count:Xe(e.named.n)?e.named.n:t:t}function Eh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Ch(e={}){const t=e.locale,o=Th(e),n=Pe(e.pluralRules)&&le(t)&&Ge(e.pluralRules[t])?e.pluralRules[t]:yl,a=Pe(e.pluralRules)&&le(t)&&Ge(e.pluralRules[t])?yl:void 0,r=_=>_[n(o,_.length,a)],s=e.list||[],i=_=>s[_],l=e.named||Re();Xe(e.pluralIndex)&&Eh(o,l);const c=_=>l[_];function u(_){const S=Ge(e.messages)?e.messages(_):Pe(e.messages)?e.messages[_]:!1;return S||(e.parent?e.parent.message(_):Sh)}const f=_=>e.modifiers?e.modifiers[_]:kh,v=Le(e.processor)&&Ge(e.processor.normalize)?e.processor.normalize:xh,x=Le(e.processor)&&Ge(e.processor.interpolate)?e.processor.interpolate:Lh,T=Le(e.processor)&&le(e.processor.type)?e.processor.type:Ah,E={list:i,named:c,plural:r,linked:(_,...S)=>{const[g,k]=S;let A="text",L="";S.length===1?Pe(g)?(L=g.modifier||L,A=g.type||A):le(g)&&(L=g||L):S.length===2&&(le(g)&&(L=g||L),le(k)&&(A=k||A));const O=u(_)(E),$=A==="vnode"&&He(O)&&L?O[0]:O;return L?f(L)($,A):$},message:u,type:T,interpolate:x,normalize:v,values:it(Re(),s,l)};return E}let Tn=null;function $h(e){Tn=e}function Ph(e,t,o){Tn&&Tn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Mh=Ih("function:translate");function Ih(e){return t=>Tn&&Tn.emit(e,t)}const Nh=vr.__EXTEND_POINT__,xo=pa(Nh),Fh={FALLBACK_TO_TRANSLATE:xo(),CANNOT_FORMAT_NUMBER:xo(),FALLBACK_TO_NUMBER_FORMAT:xo(),CANNOT_FORMAT_DATE:xo(),FALLBACK_TO_DATE_FORMAT:xo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:xo(),__EXTEND_POINT__:xo()},_l=_e.__EXTEND_POINT__,Lo=pa(_l),Pt={INVALID_ARGUMENT:_l,INVALID_DATE_ARGUMENT:Lo(),INVALID_ISO_DATE_ARGUMENT:Lo(),NOT_SUPPORT_NON_STRING_MESSAGE:Lo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Lo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Lo(),NOT_SUPPORT_LOCALE_TYPE:Lo(),__EXTEND_POINT__:Lo()};function Kt(e){return Ko(e,null,void 0)}function Sr(e,t){return t.locale!=null?vl(t.locale):vl(e.locale)}let Ar;function vl(e){if(le(e))return e;if(Ge(e)){if(e.resolvedOnce&&Ar!=null)return Ar;if(e.constructor.name==="Function"){const t=e();if(Ef(t))throw Kt(Pt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ar=t}else throw Kt(Pt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Kt(Pt.NOT_SUPPORT_LOCALE_TYPE)}function Rh(e,t,o){return[...new Set([o,...He(t)?t:Pe(t)?Object.keys(t):le(t)?[t]:[o]])]}function wl(e,t,o){const n=le(o)?o:Vo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;He(s);)s=kl(r,s,t);const i=He(t)||!Le(t)?t:t.default?t.default:null;s=le(i)?[i]:i,He(s)&&kl(r,s,!1),a.__localeChainCache.set(n,r)}return r}function kl(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Uh(){return{upper:(e,t)=>t==="text"&&le(e)?e.toUpperCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&le(e)?e.toLowerCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&le(e)?Al(e):t==="vnode"&&Pe(e)&&"__v_isVNode"in e?Al(e.children):e}}let xl;function Ll(e){xl=e}let Tl;function Gh(e){Tl=e}let El;function jh(e){El=e}let Cl=null;const Kh=e=>{Cl=e},Hh=()=>Cl;let $l=null;const Pl=e=>{$l=e},zh=()=>$l;let Ml=0;function Vh(e={}){const t=Ge(e.onWarn)?e.onWarn:wf,o=le(e.version)?e.version:Bh,n=le(e.locale)||Ge(e.locale)?e.locale:Vo,a=Ge(n)?Vo:n,r=He(e.fallbackLocale)||Le(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Le(e.messages)?e.messages:xr(a),i=Le(e.datetimeFormats)?e.datetimeFormats:xr(a),l=Le(e.numberFormats)?e.numberFormats:xr(a),c=it(Re(),e.modifiers,Uh()),u=e.pluralRules||Re(),f=Ge(e.missing)?e.missing:null,v=Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,x=Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,T=!!e.fallbackFormat,w=!!e.unresolving,E=Ge(e.postTranslation)?e.postTranslation:null,_=Le(e.processor)?e.processor:null,S=Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,k=Ge(e.messageCompiler)?e.messageCompiler:xl,A=Ge(e.messageResolver)?e.messageResolver:Tl||vh,L=Ge(e.localeFallbacker)?e.localeFallbacker:El||Rh,O=Pe(e.fallbackContext)?e.fallbackContext:void 0,$=e,m=Pe($.__datetimeFormatters)?$.__datetimeFormatters:new Map,U=Pe($.__numberFormatters)?$.__numberFormatters:new Map,H=Pe($.__meta)?$.__meta:{};Ml++;const I={version:o,cid:Ml,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:f,missingWarn:v,fallbackWarn:x,fallbackFormat:T,unresolving:w,postTranslation:E,processor:_,warnHtmlMessage:S,escapeParameter:g,messageCompiler:k,messageResolver:A,localeFallbacker:L,fallbackContext:O,onWarn:t,__meta:H};return I.datetimeFormats=i,I.numberFormats=l,I.__datetimeFormatters=m,I.__numberFormatters=U,__INTLIFY_PROD_DEVTOOLS__&&Ph(I,o,H),I}const xr=e=>({[e]:Re()});function Lr(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return le(i)?i:t}else return t}function En(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Wh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Yh(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nqh(o,e)}function qh(e,t){const o=lh(t);if(o==null)throw Ln(0);if(kr(o)===1){const r=ch(o);return e.plural(r.reduce((s,i)=>[...s,Il(e,i)],[]))}else return Il(e,o)}function Il(e,t){const o=uh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=dh(t).reduce((a,r)=>[...a,Er(e,r)],[]);return e.normalize(n)}}function Er(e,t){const o=kr(t);switch(o){case 3:return ma(t,o);case 9:return ma(t,o);case 4:{const n=t;if(Ct(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ct(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ln(o)}case 5:{const n=t;if(Ct(n,"i")&&Xe(n.i))return e.interpolate(e.list(n.i));if(Ct(n,"index")&&Xe(n.index))return e.interpolate(e.list(n.index));throw Ln(o)}case 6:{const n=t,a=ph(n),r=gh(n);return e.linked(Er(e,r),a?Er(e,a):void 0,e.type)}case 7:return ma(t,o);case 8:return ma(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Nl=e=>e;let Wo=Re();function Fl(e,t={}){let o=!1;const n=t.onError||Df;return t.onError=a=>{o=!0,n(a)},{...sh(e,t),detectError:o}}const Jh=(e,t)=>{if(!le(e))throw Kt(Pt.NOT_SUPPORT_NON_STRING_MESSAGE);{Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{code:r,detectError:s}=Fl(e,t),i=new Function(`return ${r}`)();return s?i:Wo[n]=i}};function Xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&le(e)){Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{ast:r,detectError:s}=Fl(e,{...t,location:!1,jit:!0}),i=Tr(r);return s?i:Wo[n]=i}else{const o=e.cacheKey;if(o){const n=Wo[o];return n||(Wo[o]=Tr(e))}else return Tr(e)}}const Rl=()=>"",kt=e=>Ge(e);function Dl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Cr(...t),u=Ee(c.missingWarn)?c.missingWarn:e.missingWarn,f=Ee(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,v=Ee(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,T=le(c.default)||Ee(c.default)?Ee(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",w=o||T!=="",E=Sr(e,c);v&&Zh(c);let[_,S,g]=x?[l,E,i[E]||Re()]:Ol(e,l,E,s,f,u),k=_,A=l;if(!x&&!(le(k)||jt(k)||kt(k))&&w&&(k=T,A=k),!x&&(!(le(k)||jt(k)||kt(k))||!le(S)))return a?ba:l;let L=!1;const O=()=>{L=!0},$=kt(k)?k:Bl(e,l,S,k,A,O);if(L)return k;const m=tm(e,S,g,c),U=Ch(m),H=Qh(e,$,U);let I=n?n(H,l):H;if(v&&le(I)&&(I=Lf(I)),__INTLIFY_PROD_DEVTOOLS__){const W={timestamp:Date.now(),key:le(l)?l:kt(k)?k.key:"",locale:S||(kt(k)?k.locale:""),format:le(k)?k:kt(k)?k.source:"",message:I};W.meta=it({},e.__meta,Hh()||{}),Mh(W)}return I}function Zh(e){He(e.list)?e.list=e.list.map(t=>le(t)?Xi(t):t):Pe(e.named)&&Object.keys(e.named).forEach(t=>{le(e.named[t])&&(e.named[t]=Xi(e.named[t]))})}function Ol(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Re(),v,x=null;const T="translate";for(let w=0;wn;return c.locale=o,c.key=t,c}const l=s(n,em(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Qh(e,t,o){return t(o)}function Cr(...e){const[t,o,n]=e,a=Re();if(!le(t)&&!Xe(t)&&!kt(t)&&!jt(t))throw Kt(Pt.INVALID_ARGUMENT);const r=Xe(t)?String(t):(kt(t),t);return Xe(o)?a.plural=o:le(o)?a.default=o:Le(o)&&!da(o)?a.named=o:He(o)&&(a.list=o),Xe(n)?a.plural=n:le(n)?a.default=n:Le(n)&&it(a,n),[r,a]}function em(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>kf(t,o,s)}}function tm(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,v={locale:t,modifiers:a,pluralRules:r,messages:x=>{let T=s(o,x);if(T==null&&u){const[,,w]=Ol(u,x,t,i,l,c);T=s(w,x)}if(le(T)||jt(T)){let w=!1;const _=Bl(e,x,t,T,x,()=>{w=!0});return w?Rl:_}else return kt(T)?T:Rl}};return e.processor&&(v.processor=e.processor),n.list&&(v.list=n.list),n.named&&(v.named=n.named),Xe(n.plural)&&(v.pluralIndex=n.plural),v}function Ul(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,f]=$r(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Sr(e,u),w=s(e,a,T);if(!le(l)||l==="")return new Intl.DateTimeFormat(T,f).format(c);let E={},_,S=null;const g="datetime format";for(let L=0;L{Gl.includes(l)?s[l]=o[l]:r[l]=o[l]}),le(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function jl(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Kl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,f]=Pr(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Sr(e,u),w=s(e,a,T);if(!le(l)||l==="")return new Intl.NumberFormat(T,f).format(c);let E={},_,S=null;const g="number format";for(let L=0;L{Hl.includes(l)?s[l]=o[l]:r[l]=o[l]}),le(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function zl(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}ih();/*! + */function ih(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Gt(e){return Pe(e)&&ks(e)===0&&(Ct(e,"b")||Ct(e,"body"))}const ll=["b","body"];function lh(e){return uo(e,ll)}const cl=["c","cases"];function ch(e){return uo(e,cl,[])}const ul=["s","static"];function uh(e){return uo(e,ul)}const dl=["i","items"];function dh(e){return uo(e,dl,[])}const pl=["t","type"];function ks(e){return uo(e,pl)}const gl=["v","value"];function ma(e,t){const o=uo(e,gl);if(o!=null)return o;throw Ln(t)}const fl=["m","modifier"];function ph(e){return uo(e,fl)}const hl=["k","key"];function gh(e){const t=uo(e,hl);if(t)return t;throw Ln(6)}function uo(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},v[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},v[2]=()=>{v[0](),a++},v[3]=()=>{if(a>0)a--,n=4,v[0]();else{if(a=0,r===void 0||(r=yh(r),r===!1))return!1;v[1]()}};function x(){const T=e[o+1];if(n===5&&T==="'"||n===6&&T==='"')return o++,i="\\"+T,v[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&x())){if(l=bh(s),f=po[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=v[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const bl=new Map;function vh(e,t){return Pe(e)?e[t]:null}function wh(e,t){if(!Pe(e))return null;let o=bl.get(t);if(o||(o=_h(t),o&&bl.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,Sh=e=>"",Ah="text",xh=e=>e.length===0?"":$f(e),Lh=Cf;function yl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Th(e){const t=Xe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Xe(e.named.count)||Xe(e.named.n))?Xe(e.named.count)?e.named.count:Xe(e.named.n)?e.named.n:t:t}function Eh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Ch(e={}){const t=e.locale,o=Th(e),n=Pe(e.pluralRules)&&le(t)&&je(e.pluralRules[t])?e.pluralRules[t]:yl,a=Pe(e.pluralRules)&&le(t)&&je(e.pluralRules[t])?yl:void 0,s=_=>_[n(o,_.length,a)],r=e.list||[],i=_=>r[_],l=e.named||Re();Xe(e.pluralIndex)&&Eh(o,l);const c=_=>l[_];function u(_){const S=je(e.messages)?e.messages(_):Pe(e.messages)?e.messages[_]:!1;return S||(e.parent?e.parent.message(_):Sh)}const f=_=>e.modifiers?e.modifiers[_]:kh,v=Le(e.processor)&&je(e.processor.normalize)?e.processor.normalize:xh,x=Le(e.processor)&&je(e.processor.interpolate)?e.processor.interpolate:Lh,T=Le(e.processor)&&le(e.processor.type)?e.processor.type:Ah,E={list:i,named:c,plural:s,linked:(_,...S)=>{const[g,k]=S;let A="text",L="";S.length===1?Pe(g)?(L=g.modifier||L,A=g.type||A):le(g)&&(L=g||L):S.length===2&&(le(g)&&(L=g||L),le(k)&&(A=k||A));const O=u(_)(E),$=A==="vnode"&&He(O)&&L?O[0]:O;return L?f(L)($,A):$},message:u,type:T,interpolate:x,normalize:v,values:it(Re(),r,l)};return E}let Tn=null;function $h(e){Tn=e}function Ph(e,t,o){Tn&&Tn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Mh=Ih("function:translate");function Ih(e){return t=>Tn&&Tn.emit(e,t)}const Nh=vs.__EXTEND_POINT__,xo=pa(Nh),Fh={FALLBACK_TO_TRANSLATE:xo(),CANNOT_FORMAT_NUMBER:xo(),FALLBACK_TO_NUMBER_FORMAT:xo(),CANNOT_FORMAT_DATE:xo(),FALLBACK_TO_DATE_FORMAT:xo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:xo(),__EXTEND_POINT__:xo()},_l=_e.__EXTEND_POINT__,Lo=pa(_l),Pt={INVALID_ARGUMENT:_l,INVALID_DATE_ARGUMENT:Lo(),INVALID_ISO_DATE_ARGUMENT:Lo(),NOT_SUPPORT_NON_STRING_MESSAGE:Lo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Lo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Lo(),NOT_SUPPORT_LOCALE_TYPE:Lo(),__EXTEND_POINT__:Lo()};function Kt(e){return Ko(e,null,void 0)}function Ss(e,t){return t.locale!=null?vl(t.locale):vl(e.locale)}let As;function vl(e){if(le(e))return e;if(je(e)){if(e.resolvedOnce&&As!=null)return As;if(e.constructor.name==="Function"){const t=e();if(Ef(t))throw Kt(Pt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return As=t}else throw Kt(Pt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Kt(Pt.NOT_SUPPORT_LOCALE_TYPE)}function Rh(e,t,o){return[...new Set([o,...He(t)?t:Pe(t)?Object.keys(t):le(t)?[t]:[o]])]}function wl(e,t,o){const n=le(o)?o:Vo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;He(r);)r=kl(s,r,t);const i=He(t)||!Le(t)?t:t.default?t.default:null;r=le(i)?[i]:i,He(r)&&kl(s,r,!1),a.__localeChainCache.set(n,s)}return s}function kl(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Uh(){return{upper:(e,t)=>t==="text"&&le(e)?e.toUpperCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&le(e)?e.toLowerCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&le(e)?Al(e):t==="vnode"&&Pe(e)&&"__v_isVNode"in e?Al(e.children):e}}let xl;function Ll(e){xl=e}let Tl;function jh(e){Tl=e}let El;function Gh(e){El=e}let Cl=null;const Kh=e=>{Cl=e},Hh=()=>Cl;let $l=null;const Pl=e=>{$l=e},zh=()=>$l;let Ml=0;function Vh(e={}){const t=je(e.onWarn)?e.onWarn:wf,o=le(e.version)?e.version:Bh,n=le(e.locale)||je(e.locale)?e.locale:Vo,a=je(n)?Vo:n,s=He(e.fallbackLocale)||Le(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=Le(e.messages)?e.messages:xs(a),i=Le(e.datetimeFormats)?e.datetimeFormats:xs(a),l=Le(e.numberFormats)?e.numberFormats:xs(a),c=it(Re(),e.modifiers,Uh()),u=e.pluralRules||Re(),f=je(e.missing)?e.missing:null,v=Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,x=Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,T=!!e.fallbackFormat,w=!!e.unresolving,E=je(e.postTranslation)?e.postTranslation:null,_=Le(e.processor)?e.processor:null,S=Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,k=je(e.messageCompiler)?e.messageCompiler:xl,A=je(e.messageResolver)?e.messageResolver:Tl||vh,L=je(e.localeFallbacker)?e.localeFallbacker:El||Rh,O=Pe(e.fallbackContext)?e.fallbackContext:void 0,$=e,m=Pe($.__datetimeFormatters)?$.__datetimeFormatters:new Map,U=Pe($.__numberFormatters)?$.__numberFormatters:new Map,H=Pe($.__meta)?$.__meta:{};Ml++;const I={version:o,cid:Ml,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:f,missingWarn:v,fallbackWarn:x,fallbackFormat:T,unresolving:w,postTranslation:E,processor:_,warnHtmlMessage:S,escapeParameter:g,messageCompiler:k,messageResolver:A,localeFallbacker:L,fallbackContext:O,onWarn:t,__meta:H};return I.datetimeFormats=i,I.numberFormats=l,I.__datetimeFormatters=m,I.__numberFormatters=U,__INTLIFY_PROD_DEVTOOLS__&&Ph(I,o,H),I}const xs=e=>({[e]:Re()});function Ls(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return le(i)?i:t}else return t}function En(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Wh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Yh(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nqh(o,e)}function qh(e,t){const o=lh(t);if(o==null)throw Ln(0);if(ks(o)===1){const s=ch(o);return e.plural(s.reduce((r,i)=>[...r,Il(e,i)],[]))}else return Il(e,o)}function Il(e,t){const o=uh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=dh(t).reduce((a,s)=>[...a,Es(e,s)],[]);return e.normalize(n)}}function Es(e,t){const o=ks(t);switch(o){case 3:return ma(t,o);case 9:return ma(t,o);case 4:{const n=t;if(Ct(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ct(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ln(o)}case 5:{const n=t;if(Ct(n,"i")&&Xe(n.i))return e.interpolate(e.list(n.i));if(Ct(n,"index")&&Xe(n.index))return e.interpolate(e.list(n.index));throw Ln(o)}case 6:{const n=t,a=ph(n),s=gh(n);return e.linked(Es(e,s),a?Es(e,a):void 0,e.type)}case 7:return ma(t,o);case 8:return ma(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Nl=e=>e;let Wo=Re();function Fl(e,t={}){let o=!1;const n=t.onError||Df;return t.onError=a=>{o=!0,n(a)},{...rh(e,t),detectError:o}}const Jh=(e,t)=>{if(!le(e))throw Kt(Pt.NOT_SUPPORT_NON_STRING_MESSAGE);{Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{code:s,detectError:r}=Fl(e,t),i=new Function(`return ${s}`)();return r?i:Wo[n]=i}};function Xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&le(e)){Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{ast:s,detectError:r}=Fl(e,{...t,location:!1,jit:!0}),i=Ts(s);return r?i:Wo[n]=i}else{const o=e.cacheKey;if(o){const n=Wo[o];return n||(Wo[o]=Ts(e))}else return Ts(e)}}const Rl=()=>"",kt=e=>je(e);function Dl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=Cs(...t),u=Ee(c.missingWarn)?c.missingWarn:e.missingWarn,f=Ee(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,v=Ee(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,T=le(c.default)||Ee(c.default)?Ee(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",w=o||T!=="",E=Ss(e,c);v&&Zh(c);let[_,S,g]=x?[l,E,i[E]||Re()]:Ol(e,l,E,r,f,u),k=_,A=l;if(!x&&!(le(k)||Gt(k)||kt(k))&&w&&(k=T,A=k),!x&&(!(le(k)||Gt(k)||kt(k))||!le(S)))return a?ba:l;let L=!1;const O=()=>{L=!0},$=kt(k)?k:Bl(e,l,S,k,A,O);if(L)return k;const m=tm(e,S,g,c),U=Ch(m),H=Qh(e,$,U);let I=n?n(H,l):H;if(v&&le(I)&&(I=Lf(I)),__INTLIFY_PROD_DEVTOOLS__){const W={timestamp:Date.now(),key:le(l)?l:kt(k)?k.key:"",locale:S||(kt(k)?k.locale:""),format:le(k)?k:kt(k)?k.source:"",message:I};W.meta=it({},e.__meta,Hh()||{}),Mh(W)}return I}function Zh(e){He(e.list)?e.list=e.list.map(t=>le(t)?Xi(t):t):Pe(e.named)&&Object.keys(e.named).forEach(t=>{le(e.named[t])&&(e.named[t]=Xi(e.named[t]))})}function Ol(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Re(),v,x=null;const T="translate";for(let w=0;wn;return c.locale=o,c.key=t,c}const l=r(n,em(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Qh(e,t,o){return t(o)}function Cs(...e){const[t,o,n]=e,a=Re();if(!le(t)&&!Xe(t)&&!kt(t)&&!Gt(t))throw Kt(Pt.INVALID_ARGUMENT);const s=Xe(t)?String(t):(kt(t),t);return Xe(o)?a.plural=o:le(o)?a.default=o:Le(o)&&!da(o)?a.named=o:He(o)&&(a.list=o),Xe(n)?a.plural=n:le(n)?a.default=n:Le(n)&&it(a,n),[s,a]}function em(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>kf(t,o,r)}}function tm(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,v={locale:t,modifiers:a,pluralRules:s,messages:x=>{let T=r(o,x);if(T==null&&u){const[,,w]=Ol(u,x,t,i,l,c);T=r(w,x)}if(le(T)||Gt(T)){let w=!1;const _=Bl(e,x,t,T,x,()=>{w=!0});return w?Rl:_}else return kt(T)?T:Rl}};return e.processor&&(v.processor=e.processor),n.list&&(v.list=n.list),n.named&&(v.named=n.named),Xe(n.plural)&&(v.pluralIndex=n.plural),v}function Ul(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,f]=$s(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Ss(e,u),w=r(e,a,T);if(!le(l)||l==="")return new Intl.DateTimeFormat(T,f).format(c);let E={},_,S=null;const g="datetime format";for(let L=0;L{jl.includes(l)?r[l]=o[l]:s[l]=o[l]}),le(n)?s.locale=n:Le(n)&&(r=n),Le(a)&&(r=a),[s.key||"",i,s,r]}function Gl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Kl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,f]=Ps(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Ss(e,u),w=r(e,a,T);if(!le(l)||l==="")return new Intl.NumberFormat(T,f).format(c);let E={},_,S=null;const g="number format";for(let L=0;L{Hl.includes(l)?r[l]=o[l]:s[l]=o[l]}),le(n)?s.locale=n:Le(n)&&(r=n),Le(a)&&(r=a),[s.key||"",i,s,r]}function zl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}ih();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const om="9.14.5";function nm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Qt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Qt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1)}const am=Fh.__EXTEND_POINT__,to=pa(am);to(),to(),to(),to(),to(),to(),to(),to(),to();const Vl=Pt.__EXTEND_POINT__,mt=pa(Vl),tt={UNEXPECTED_RETURN_TYPE:Vl,INVALID_ARGUMENT:mt(),MUST_BE_CALL_SETUP_TOP:mt(),NOT_INSTALLED:mt(),NOT_AVAILABLE_IN_LEGACY_MODE:mt(),REQUIRED_VALUE:mt(),INVALID_VALUE:mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:mt(),NOT_INSTALLED_WITH_PROVIDE:mt(),UNEXPECTED_ERROR:mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:mt(),BRIDGE_SUPPORT_VUE_2_ONLY:mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:mt(),__EXTEND_POINT__:mt()};function nt(e,...t){return Ko(e,null,void 0)}const Mr=io("__translateVNode"),Ir=io("__datetimeParts"),Nr=io("__numberParts"),Wl=io("__setPluralRules"),Yl=io("__injectWithOption"),Fr=io("__dispose");function Cn(e){if(!Pe(e)||jt(e))return e;for(const t in e)if(Ct(e,t))if(!t.includes("."))Pe(e[t])&&Cn(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:c}=i;l?(s[l]=s[l]||Re(),fa(c,s[l])):fa(c,s)}else le(i)&&fa(JSON.parse(i),s)}),a==null&&r)for(const i in s)Ct(s,i)&&Cn(s[i]);return s}function ql(e){return e.type}function Jl(e,t,o){let n=Pe(t.messages)?t.messages:Re();"__i18nGlobal"in o&&(n=ya(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Pe(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Pe(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Xl(e){return Ve(bn,null,e,0)}const Zl="__INTLIFY_META__",Ql=()=>[],rm=()=>!1;let ec=0;function tc(e){return(t,o,n,a)=>e(o,n,ro()||void 0,a)}const sm=()=>{const e=ro();let t=null;return e&&(t=ql(e)[Zl])?{[Zl]:t}:null};function Rr(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=ua?me:Ts,i=!!e.translateExistCompatible;let l=Ee(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:le(e.locale)?e.locale:Vo),u=s(o&&l?o.fallbackLocale.value:le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=s(ya(c.value,e)),v=s(Le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=s(Le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let T=o?o.missingWarn:Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,w=o?o.fallbackWarn:Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,E=o?o.fallbackRoot:Ee(e.fallbackRoot)?e.fallbackRoot:!0,_=!!e.fallbackFormat,S=Ge(e.missing)?e.missing:null,g=Ge(e.missing)?tc(e.missing):null,k=Ge(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const O=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let $=e.pluralRules||o&&o.pluralRules,m;m=(()=>{a&&Pl(null);const R={version:om,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:O,pluralRules:$,missing:g===null?void 0:g,missingWarn:T,fallbackWarn:w,fallbackFormat:_,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};R.datetimeFormats=v.value,R.numberFormats=x.value,R.__datetimeFormatters=Le(m)?m.__datetimeFormatters:void 0,R.__numberFormatters=Le(m)?m.__numberFormatters:void 0;const V=Vh(R);return a&&Pl(V),V})(),En(m,c.value,u.value);function H(){return[c.value,u.value,f.value,v.value,x.value]}const I=Q({get:()=>c.value,set:R=>{c.value=R,m.locale=c.value}}),W=Q({get:()=>u.value,set:R=>{u.value=R,m.fallbackLocale=u.value,En(m,c.value,R)}}),ue=Q(()=>f.value),C=Q(()=>v.value),M=Q(()=>x.value);function j(){return Ge(k)?k:null}function se(R){k=R,m.postTranslation=R}function fe(){return S}function Z(R){R!==null&&(g=tc(R)),S=R,m.missing=g}const ce=(R,V,de,xe,De,at)=>{H();let Qe;try{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=o?zh():void 0),Qe=R(m)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=void 0)}if(de!=="translate exists"&&Xe(Qe)&&Qe===ba||de==="translate exists"&&!Qe){const[X,te]=V();return o&&E?xe(o):De(X)}else{if(at(Qe))return Qe;throw nt(tt.UNEXPECTED_RETURN_TYPE)}};function oe(...R){return ce(V=>Reflect.apply(Dl,null,[V,...R]),()=>Cr(...R),"translate",V=>Reflect.apply(V.t,V,[...R]),V=>V,V=>le(V))}function ke(...R){const[V,de,xe]=R;if(xe&&!Pe(xe))throw nt(tt.INVALID_ARGUMENT);return oe(V,de,it({resolvedMessage:!0},xe||{}))}function ie(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$r(...R),"datetime format",V=>Reflect.apply(V.d,V,[...R]),()=>Sl,V=>le(V))}function Fe(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Pr(...R),"number format",V=>Reflect.apply(V.n,V,[...R]),()=>Sl,V=>le(V))}function ge(R){return R.map(V=>le(V)||Xe(V)||Ee(V)?Xl(String(V)):V)}const Ae={normalize:ge,interpolate:R=>R,type:"vnode"};function z(...R){return ce(V=>{let de;const xe=V;try{xe.processor=Ae,de=Reflect.apply(Dl,null,[xe,...R])}finally{xe.processor=null}return de},()=>Cr(...R),"translate",V=>V[Mr](...R),V=>[Xl(V)],V=>He(V))}function he(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Pr(...R),"number format",V=>V[Nr](...R),Ql,V=>le(V)||He(V))}function N(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$r(...R),"datetime format",V=>V[Ir](...R),Ql,V=>le(V)||He(V))}function d(R){$=R,m.pluralRules=$}function y(R,V){return ce(()=>{if(!R)return!1;const de=le(V)?V:c.value,xe=D(de),De=m.messageResolver(xe,R);return i?De!=null:jt(De)||kt(De)||le(De)},()=>[R],"translate exists",de=>Reflect.apply(de.te,de,[R,V]),rm,de=>Ee(de))}function b(R){let V=null;const de=wl(m,u.value,c.value);for(let xe=0;xe{l&&(c.value=R,m.locale=R,En(m,c.value,u.value))}),Ye(o.fallbackLocale,R=>{l&&(u.value=R,m.fallbackLocale=R,En(m,c.value,u.value))}));const ee={id:ec,locale:I,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(R){l=R,R&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,En(m,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:ue,get modifiers(){return O},get pluralRules(){return $||{}},get isGlobal(){return a},get missingWarn(){return T},set missingWarn(R){T=R,m.missingWarn=T},get fallbackWarn(){return w},set fallbackWarn(R){w=R,m.fallbackWarn=w},get fallbackRoot(){return E},set fallbackRoot(R){E=R},get fallbackFormat(){return _},set fallbackFormat(R){_=R,m.fallbackFormat=_},get warnHtmlMessage(){return A},set warnHtmlMessage(R){A=R,m.warnHtmlMessage=R},get escapeParameter(){return L},set escapeParameter(R){L=R,m.escapeParameter=R},t:oe,getLocaleMessage:D,setLocaleMessage:B,mergeLocaleMessage:Y,getPostTranslationHandler:j,setPostTranslationHandler:se,getMissingHandler:fe,setMissingHandler:Z,[Wl]:d};return ee.datetimeFormats=C,ee.numberFormats=M,ee.rt=ke,ee.te=y,ee.tm=P,ee.d=ie,ee.n=Fe,ee.getDateTimeFormat=q,ee.setDateTimeFormat=p,ee.mergeDateTimeFormat=h,ee.getNumberFormat=F,ee.setNumberFormat=K,ee.mergeNumberFormat=re,ee[Yl]=n,ee[Mr]=z,ee[Ir]=N,ee[Nr]=he,ee}function im(e){const t=le(e.locale)?e.locale:Vo,o=le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ge(e.missing)?e.missing:void 0,a=Ee(e.silentTranslationWarn)||lo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Ee(e.silentFallbackWarn)||lo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Ee(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ge(e.postTranslation)?e.postTranslation:void 0,f=le(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,v=!!e.escapeParameterHtml,x=Ee(e.sync)?e.sync:!0;let T=e.messages;if(Le(e.sharedMessages)){const L=e.sharedMessages;T=Object.keys(L).reduce(($,m)=>{const U=$[m]||($[m]={});return it(U,L[m]),$},T||{})}const{__i18n:w,__root:E,__injectWithOption:_}=e,S=e.datetimeFormats,g=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:T,flatJson:k,datetimeFormats:S,numberFormats:g,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:v,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:A,__i18n:w,__root:E,__injectWithOption:_}}function Dr(e={},t){{const o=Rr(im(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 Ee(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Ee(r)?!r:r},get silentFallbackWarn(){return Ee(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Ee(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,c={};let u=null,f=null;if(!le(s))throw nt(tt.INVALID_ARGUMENT);const v=s;return le(i)?c.locale=i:He(i)?u=i:Le(i)&&(f=i),He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,f=null;if(!le(s))throw nt(tt.INVALID_ARGUMENT);const v=s;return le(i)?c.locale=i:Xe(i)?c.plural=i:He(i)?u=i:Le(i)&&(f=i),le(l)?c.locale=l:He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},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 Or={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function lm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ie?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Re())}function oc(e){return Ie}const nc=gn({name:"i18n-t",props:it({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Xe(e)||!isNaN(e)}},Or),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||gt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(f=>f!=="_"),s=Re();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=le(e.plural)?+e.plural:e.plural);const i=lm(t,r),l=a[Mr](e.keypath,i,s),c=it(Re(),n),u=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(u,c,l)}}});function cm(e){return He(e)&&!le(e[0])}function ac(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Re();e.locale&&(s.locale=e.locale),le(e.format)?s.key=e.format:Pe(e.format)&&(le(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((v,x)=>o.includes(x)?it(Re(),v,{[x]:e.format[x]}):v,Re()));const l=n(e.value,s,i);let c=[s.key];He(l)?c=l.map((v,x)=>{const T=a[v.type],w=T?T({[v.type]:v.value,index:x,parts:l}):[v.value];return cm(w)&&(w[0].key=`${v.type}-${x}`),w}):le(l)&&(c=[l]);const u=it(Re(),r),f=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(f,u,c)}}const rc=gn({name:"i18n-n",props:it({value:{type:Number,required:!0},format:{type:[String,Object]}},Or),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,Hl,(...n)=>o[Nr](...n))}}),sc=gn({name:"i18n-d",props:it({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Or),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,Gl,(...n)=>o[Ir](...n))}});function um(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 dm(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw nt(tt.UNEXPECTED_ERROR);const u=um(e,i.$),f=ic(c);return[Reflect.apply(u.t,u,[...lc(f)]),u]};return{created:(s,i)=>{const[l,c]=t(i);ua&&e.global===c&&(s.__i18nWatcher=Ye(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{ua&&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,c=ic(i);s.textContent=Reflect.apply(l.t,l,[...lc(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ic(e){if(le(e))return{path:e};if(Le(e)){if(!("path"in e))throw nt(tt.REQUIRED_VALUE,"path");return e}else throw nt(tt.INVALID_VALUE)}function lc(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return le(o)&&(s.locale=o),Xe(a)&&(s.plural=a),Xe(r)&&(s.plural=r),[t,i,s]}function pm(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ee(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":nc.name,"I18nT"].forEach(s=>e.component(s,nc)),[rc.name,"I18nN"].forEach(s=>e.component(s,rc)),[sc.name,"I18nD"].forEach(s=>e.component(s,sc))),e.directive("t",dm(t))}function gm(e,t,o){return{beforeCreate(){const n=ro();if(!n)throw nt(tt.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=cc(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Dr(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=cc(e,a);else{this.$i18n=Dr({__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&&Jl(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=ro();if(!n)throw nt(tt.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 cc(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[Wl](t.pluralizationRules||e.pluralizationRules);const o=ya(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 fm=io("global-vue-i18n");function hm(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ee(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ee(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=mm(e,o),l=io("");function c(v){return r.get(v)||null}function u(v,x){r.set(v,x)}function f(v){r.delete(v)}{const v={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...T){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,v),Le(T[0])){const _=T[0];v.__composerExtend=_.__composerExtend,v.__vueI18nExtend=_.__vueI18nExtend}let w=null;!o&&n&&(w=xm(x,v.global)),__VUE_I18N_FULL_INSTALL__&&pm(x,v,...T),__VUE_I18N_LEGACY_API__&&o&&x.mixin(gm(i,i.__composer,v));const E=x.unmount;x.unmount=()=>{w&&w(),v.dispose(),E()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return v}}function gt(e={}){const t=ro();if(t==null)throw nt(tt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw nt(tt.NOT_INSTALLED);const o=bm(t),n=_m(o),a=ql(t),r=ym(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw nt(tt.NOT_AVAILABLE_IN_LEGACY_MODE);return Sm(t,r,n,e)}if(r==="global")return Jl(n,e,a),n;if(r==="parent"){let l=vm(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=it({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Rr(l),s.__composerExtend&&(i[Fr]=s.__composerExtend(i)),km(s,t,i),s.__setInstance(t,i)}return i}function mm(e,t,o){const n=Ia();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Dr(e)):n.run(()=>Rr(e));if(a==null)throw nt(tt.UNEXPECTED_ERROR);return[n,a]}}function bm(e){{const t=$e(e.isCE?fm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw nt(e.isCE?tt.NOT_INSTALLED_WITH_PROVIDE:tt.UNEXPECTED_ERROR);return t}}function ym(e,t){return da(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function _m(e){return e.mode==="composition"?e.global:e.global.__composer}function vm(e,t,o=!1){let n=null;const a=t.root;let r=wm(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[Yl]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function wm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function km(e,t,o){ao(()=>{},t),er(()=>{const n=o;e.__deleteInstance(t);const a=n[Fr];a&&(a(),delete n[Fr])},t)}function Sm(e,t,o,n={}){const a=t==="local",r=Ts(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw nt(tt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Ee(n.inheritLocale)?n.inheritLocale:!le(n.locale),i=me(!a||s?o.locale.value:le(n.locale)?n.locale:Vo),l=me(!a||s?o.fallbackLocale.value:le(n.fallbackLocale)||He(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=me(ya(i.value,n)),u=me(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),f=me(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),v=a?o.missingWarn:Ee(n.missingWarn)||lo(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Ee(n.fallbackWarn)||lo(n.fallbackWarn)?n.fallbackWarn:!0,T=a?o.fallbackRoot:Ee(n.fallbackRoot)?n.fallbackRoot:!0,w=!!n.fallbackFormat,E=Ge(n.missing)?n.missing:null,_=Ge(n.postTranslation)?n.postTranslation:null,S=a?o.warnHtmlMessage:Ee(n.warnHtmlMessage)?n.warnHtmlMessage:!0,g=!!n.escapeParameter,k=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function L(){return[i.value,l.value,c.value,u.value,f.value]}const O=Q({get:()=>r.value?r.value.locale.value:i.value,set:b=>{r.value&&(r.value.locale.value=b),i.value=b}}),$=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:b=>{r.value&&(r.value.fallbackLocale.value=b),l.value=b}}),m=Q(()=>r.value?r.value.messages.value:c.value),U=Q(()=>u.value),H=Q(()=>f.value);function I(){return r.value?r.value.getPostTranslationHandler():_}function W(b){r.value&&r.value.setPostTranslationHandler(b)}function ue(){return r.value?r.value.getMissingHandler():E}function C(b){r.value&&r.value.setMissingHandler(b)}function M(b){return L(),b()}function j(...b){return r.value?M(()=>Reflect.apply(r.value.t,null,[...b])):M(()=>"")}function se(...b){return r.value?Reflect.apply(r.value.rt,null,[...b]):""}function fe(...b){return r.value?M(()=>Reflect.apply(r.value.d,null,[...b])):M(()=>"")}function Z(...b){return r.value?M(()=>Reflect.apply(r.value.n,null,[...b])):M(()=>"")}function ce(b){return r.value?r.value.tm(b):{}}function oe(b,P){return r.value?r.value.te(b,P):!1}function ke(b){return r.value?r.value.getLocaleMessage(b):{}}function ie(b,P){r.value&&(r.value.setLocaleMessage(b,P),c.value[b]=P)}function Fe(b,P){r.value&&r.value.mergeLocaleMessage(b,P)}function ge(b){return r.value?r.value.getDateTimeFormat(b):{}}function Te(b,P){r.value&&(r.value.setDateTimeFormat(b,P),u.value[b]=P)}function Ae(b,P){r.value&&r.value.mergeDateTimeFormat(b,P)}function z(b){return r.value?r.value.getNumberFormat(b):{}}function he(b,P){r.value&&(r.value.setNumberFormat(b,P),f.value[b]=P)}function N(b,P){r.value&&r.value.mergeNumberFormat(b,P)}const d={get id(){return r.value?r.value.id:-1},locale:O,fallbackLocale:$,messages:m,datetimeFormats:U,numberFormats:H,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(b){r.value&&(r.value.inheritLocale=b)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:k},get pluralRules(){return r.value?r.value.pluralRules:A},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:v},set missingWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackWarn(){return r.value?r.value.fallbackWarn:x},set fallbackWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackRoot(){return r.value?r.value.fallbackRoot:T},set fallbackRoot(b){r.value&&(r.value.fallbackRoot=b)},get fallbackFormat(){return r.value?r.value.fallbackFormat:w},set fallbackFormat(b){r.value&&(r.value.fallbackFormat=b)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:S},set warnHtmlMessage(b){r.value&&(r.value.warnHtmlMessage=b)},get escapeParameter(){return r.value?r.value.escapeParameter:g},set escapeParameter(b){r.value&&(r.value.escapeParameter=b)},t:j,getPostTranslationHandler:I,setPostTranslationHandler:W,getMissingHandler:ue,setMissingHandler:C,rt:se,d:fe,n:Z,tm:ce,te:oe,getLocaleMessage:ke,setLocaleMessage:ie,mergeLocaleMessage:Fe,getDateTimeFormat:ge,setDateTimeFormat:Te,mergeDateTimeFormat:Ae,getNumberFormat:z,setNumberFormat:he,mergeNumberFormat:N};function y(b){b.locale.value=i.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{b.mergeLocaleMessage(P,c.value[P])}),Object.keys(u.value).forEach(P=>{b.mergeDateTimeFormat(P,u.value[P])}),Object.keys(f.value).forEach(P=>{b.mergeNumberFormat(P,f.value[P])}),b.escapeParameter=g,b.fallbackFormat=w,b.fallbackRoot=T,b.fallbackWarn=x,b.missingWarn=v,b.warnHtmlMessage=S}return Hs(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw nt(tt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,f.value=b.numberFormats.value):a&&y(b)}),d}const Am=["locale","fallbackLocale","availableLocales"],uc=["t","rt","d","n","tm","te"];function xm(e,t){const o=Object.create(null);return Am.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw nt(tt.UNEXPECTED_ERROR);const s=Ke(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,uc.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw nt(tt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,uc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(nm(),__INTLIFY_JIT_COMPILATION__?Ll(Xh):Ll(Jh),Gh(wh),jh(wl),__INTLIFY_PROD_DEVTOOLS__){const e=Qt();e.__INTLIFY__=!0,$h(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Lm=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":Gp,"./locales/ar/detail.json":jp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":zp,"./locales/ar/prayerLaps.json":Vp,"./locales/ar/search.json":Wp,"./locales/de/aria.json":Yp,"./locales/de/buttons.json":qp,"./locales/de/detail.json":Jp,"./locales/de/legend.json":Xp,"./locales/de/messages.json":Zp,"./locales/de/options.json":Qp,"./locales/de/prayerLaps.json":eg,"./locales/de/search.json":tg,"./locales/en/aria.json":og,"./locales/en/buttons.json":ng,"./locales/en/detail.json":ag,"./locales/en/legend.json":rg,"./locales/en/messages.json":sg,"./locales/en/options.json":ig,"./locales/en/prayerLaps.json":lg,"./locales/en/search.json":cg,"./locales/es/aria.json":ug,"./locales/es/buttons.json":dg,"./locales/es/detail.json":pg,"./locales/es/legend.json":gg,"./locales/es/messages.json":fg,"./locales/es/options.json":hg,"./locales/es/prayerLaps.json":mg,"./locales/es/search.json":bg,"./locales/fr/aria.json":yg,"./locales/fr/buttons.json":_g,"./locales/fr/detail.json":vg,"./locales/fr/legend.json":wg,"./locales/fr/messages.json":kg,"./locales/fr/options.json":Sg,"./locales/fr/prayerLaps.json":Ag,"./locales/fr/search.json":xg,"./locales/hi/aria.json":Lg,"./locales/hi/buttons.json":Tg,"./locales/hi/detail.json":Eg,"./locales/hi/legend.json":Cg,"./locales/hi/messages.json":$g,"./locales/hi/options.json":Pg,"./locales/hi/prayerLaps.json":Mg,"./locales/hi/search.json":Ig,"./locales/it/aria.json":Ng,"./locales/it/buttons.json":Fg,"./locales/it/detail.json":Rg,"./locales/it/legend.json":Dg,"./locales/it/messages.json":Og,"./locales/it/options.json":Bg,"./locales/it/prayerLaps.json":Ug,"./locales/it/search.json":Gg,"./locales/pt/aria.json":jg,"./locales/pt/buttons.json":Kg,"./locales/pt/detail.json":Hg,"./locales/pt/legend.json":zg,"./locales/pt/messages.json":Vg,"./locales/pt/options.json":Wg,"./locales/pt/prayerLaps.json":Yg,"./locales/pt/search.json":qg,"./locales/ro/aria.json":Jg,"./locales/ro/buttons.json":Xg,"./locales/ro/detail.json":Zg,"./locales/ro/legend.json":Qg,"./locales/ro/messages.json":ef,"./locales/ro/options.json":tf,"./locales/ro/prayerLaps.json":of,"./locales/ro/search.json":nf,"./locales/ru/aria.json":af,"./locales/ru/buttons.json":rf,"./locales/ru/detail.json":sf,"./locales/ru/legend.json":lf,"./locales/ru/messages.json":cf,"./locales/ru/options.json":uf,"./locales/ru/prayerLaps.json":df,"./locales/ru/search.json":pf,"./locales/zh/aria.json":gf,"./locales/zh/buttons.json":ff,"./locales/zh/detail.json":hf,"./locales/zh/legend.json":mf,"./locales/zh/messages.json":bf,"./locales/zh/options.json":yf,"./locales/zh/prayerLaps.json":_f,"./locales/zh/search.json":vf}),$n={};for(const[e,t]of Object.entries(Lm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;$n[n]??($n[n]={}),$n[n][a]=t}const Tm=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Em=new Set(["ar"]);function Cm(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Tm.includes(t)?t:"en"}function $m(){return hm({legacy:!1,globalInjection:!0,locale:Cm(),fallbackLocale:"en",messages:$n,missingWarn:!1,fallbackWarn:!1})}const Pm=Object.assign({"./profiles/doxa-simple-map.vue":()=>La(()=>Promise.resolve().then(()=>Q_),void 0)});if(typeof window<"u"&&((Jc=window.mapboxgl)!=null&&Jc.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function dc(){return yp(Bp,{configureApp(e){e.use(Lp()),e.use($m()),e.provide("profileModules",Pm)}})}const Mm=dc(),Im=dc();typeof customElements<"u"&&(customElements.get("doxa-map")||customElements.define("doxa-map",Mm),customElements.get("doxa-simple-map")||customElements.define("doxa-simple-map",Im));const pc="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function Nm(e){const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const o=r=>new Promise(s=>setTimeout(s,r)),n=t.querySelector(`link[href="${pc}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(r=>{n.addEventListener("load",r,{once:!0}),n.addEventListener("error",r,{once:!0})}),o(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=pc,await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0}),t.prepend(a)}),o(2e3)])}function Fm({containerRef:e,accessToken:t,style:o,center:n=[20,10],zoom:a=2,minZoom:r=.5,maxZoom:s=18,pitch:i=0,bearing:l=0}){const c=me(null),u=me(!1);async function f(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}await Nm(e.value),await new Promise(_=>requestAnimationFrame(_));const x=e.value,T=x.clientWidth,w=x.clientHeight;if(T===0||w===0){console.error(`[useMapInstance] Container has ZERO dimensions (${T}×${w}). Map will be invisible. Check that parent elements have CSS sizing.`);let _=x.parentElement,S=0;for(;_&&S<5;)_=_.parentElement,S++}const E=t;mapboxgl.accessToken=E,c.value=new mapboxgl.Map({accessToken:E,container:e.value,style:o,center:n,zoom:a,minZoom:r,maxZoom:s,pitch:i,bearing:l,attributionControl:!1}),c.value.on("style.load",()=>{requestAnimationFrame(()=>{var _;(_=c.value)==null||_.resize(),u.value=!0})})}function v(){c.value&&(c.value.remove(),c.value=null,u.value=!1)}return{map:c,isMapReady:u,initializeMap:f,destroy:v}}const We={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"},Rm="peoplePraying",To=144,Eo={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Br=Eo,Dm={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"};function Yo(e){var n;const t=e.peoplePraying??((n=e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=To?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function gc(e){return Eo[Yo(e)]}function Om(e){var o;const t=e.peoplePraying??((o=e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Bm(e){return Yo(e)==="fullPrayer"}function Um(e){return gc(e)}function fc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,To],Eo.fullPrayer,[">",t,0],Eo.hasPrayer,Eo.noPrayer]}const Gm={name:"Prayer Progress",propertyKey:Rm,palette:Eo,colors:Eo,labels:Dm,threshold:To,getColor:Um,applyColor:fc,buildColorExpression:fc,getPrayerLevel:Yo,getPrayerColor:gc,checkHasPrayer:Om,checkHasFullPrayer:Bm},jm="engagementStatus",go={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},hc=go,Km={notEngaged:"Unengaged",hasEngagement:"Engaged"};function Hm(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)?go.hasEngagement:go.notEngaged}function mc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const zm={name:"Engagement Progress",propertyKey:jm,palette:go,colors:go,labels:Km,getColor:Hm,applyColor:mc,buildColorExpression:mc},Vm="adoptionStatus",fo={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},bc=fo,Wm={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function Ym(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)?fo.hasAdoption:fo.notAdopted}function yc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],fo.hasAdoption,["==",t,1],fo.hasAdoption,fo.notAdopted]}const qm={name:"Adoption Progress",propertyKey:Vm,palette:fo,colors:fo,labels:Wm,getColor:Ym,applyColor:yc,buildColorExpression:yc},_c="affinityBlock",qo="#95a5a6",Jo={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"},Pn={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"},Xo=Pn;Object.entries(Jo).reduce((e,[t,o])=>(e[o]=t,e),{});const Jm=Object.entries(Jo).reduce((e,[t,o])=>(e[o]=Xo[t],e),{}),Xm=Jo;function vc(e){return Jo[e]||"Unknown"}function wc(e){return Xo[e]||qo}function Zm(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Xo[e]||qo:Jm[e]||qo:qo}function Qm(){return Object.entries(Jo).map(([e,t])=>({code:e,name:t,color:Xo[e]}))}function eb(e){return{code:e,name:Jo[e]||"Unknown",color:Xo[e]||qo}}function tb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return wc(t)}function ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vc(t)}function kc(){const e=["match",["get",_c]];return Object.entries(Xo).forEach(([t,o])=>{e.push(t,o)}),e.push(qo),e}const nb={name:"Affinity Block",propertyKey:_c,palette:Pn,colors:Pn,names:Xm,getColor:tb,applyColor:kc,buildColorExpression:kc,getName:ob,getAffinityBlockName:vc,getAffinityBlockColor:Zm,getAffinityBlockColorByCode:wc,getAffinityBlocksArray:Qm,getAffinityBlockData:eb},Sc="languageFamily",ab="#000000",Zo={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function Mt(e){return Zo[e]||ab}const rb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Zo))t[e(o)]=o;return t})();function Ur(e){if(!e)return"Unknown";const t=String(e).trim();return rb[t.toLowerCase()]||t}function sb(e){var t;return Mt(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Ac(){const e=["match",["get",Sc]];return Object.entries(Zo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const ib={name:"Language Family",propertyKey:Sc,palette:Zo,colors:Zo,getColor:sb,applyColor:Ac,buildColorExpression:Ac,getLanguageFamilyColor:Mt,canonicalFamilyName:Ur};function lb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Lc),e}const pb={name:"DOXA Region",propertyKey:xc,palette:Mn,colors:Mn,aliases:Tc,getColor:db,applyColor:Ec,buildColorExpression:Ec,getRegionColor:ub},gb="resourceType",oo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},_a=["bible","jesusFilm","radio","gospel","audio","stories"],Cc={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},fb=Cc;function va(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function hb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return oo.hasResources;return oo.noResources}function mb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return!0;return!1}function bb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return o;return"noResources"}function $c(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],oo.hasResources,oo.noResources]}const yb={name:"Gospel Resources",propertyKey:gb,palette:oo,colors:oo,names:Cc,priority:_a,getColor:hb,applyColor:$c,buildColorExpression:$c,hasAnyResource:mb,getResourceType:bb,getCSVColumn:va},_b="religion",Gr="#94a3b8",jr={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Pc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return jr[t]?t:"U"}function vb(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 St[Pc(t)]||Gr}function Mc(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,Gr]}const wb={propertyKey:_b,palette:St,families:jr,getColor:vb,applyColor:Mc,buildColorExpression:Mc,fallback:Gr},ze={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},Ic={[ze.LANGUAGE_FAMILY]:ib,[ze.AFFINITY_BLOCK]:nb,[ze.DOXA_REGION]:pb,[ze.RESOURCE]:yb,[ze.PRAYER_PROGRESS]:Gm,[ze.ENGAGEMENT]:zm,[ze.ADOPTION]:qm,[ze.RELIGION]:wb};function Nc(e){return Ic[e]||Ic[ze.LANGUAGE_FAMILY]}function Kr(e,t={}){return Nc(e).applyColor(t)}(()=>{const e=o=>String(o||"").toLowerCase().replace(/[^a-z0-9]+/g,""),t={};for(const o of Object.keys(Mn))t[e(o)]=o;return t.na="No WAGF Region/Bloc",t})();function Hr(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const kb=[[/ sign language$/i,"Sign Language"]];function Sb(e){const t=Hr(e.languageFamily);if(t)return t;const o=Hr(e.language||e.primary_language);if(!o||typeof o!="string")return"";const n=o.trim(),a=n.split(",").map(s=>s.trim()).filter(Boolean);if(a.length>=2){const s=[...a].reverse().join(" ");if(We[s])return We[s];if(a.length>=3){const i=[a[1],a[0]].join(" ");if(We[i])return We[i]}}if(We[n])return We[n];const r=n.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==n&&We[r])return We[r];for(const[s,i]of kb)if(s.test(n))return i;return""}function Ab(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:r=O=>O}=e;n||console.error("useMapData: dataSourceManager is required!");const s=me(!1),i=me(null),l=me(!1),c=me([]),u=me([]),f=me(null),v=me([]),x=me([]),T=me([]),w=me(null);async function E(){if(!n)throw new Error("dataSourceManager is required for useMapData");s.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const C=a.getSourceData(o);u.value=r(C.normalizedData||[])}else{const C=await n.setActiveSource(o);for(const M of C){const j=Hr(M.language||M.primary_language);j&&(M.language=j);const se=Sb(M);M.languageFamily=Ur(se)}u.value=r(C),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:C,timestamp:Date.now()})}c.value=r(u.value.map(C=>({id:C.uniqueId,slug:C.slug||"",rop3:C.peopleGroupId,peopleId3:C.peopleId3,name:C.name,language:C.language,languageFamily:C.languageFamily,country:C.country,population:C.population,status:C.engagementStatus||C.status,latitude:C.latitude,longitude:C.longitude,lng:C.longitude,lat:C.latitude,description:C.description,imageUrl:C.imageUrl,doxaRegion:C.doxaRegion||C.wagfRegion||"",peoplePraying:C.peoplePraying??null,_normalized:C})));const O=n.getDataByLanguageFamily();v.value=Object.entries(O).map(([C,M])=>{const j=M.reduce((se,fe)=>{const Z=parseInt(fe.population)||0;return se+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:j,groups:M}}).sort((C,M)=>M.count-C.count);const $=n.getDataByRegion();x.value=Object.entries($).map(([C,M])=>{const j=M.reduce((se,fe)=>{const Z=parseInt(fe.population)||0;return se+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:j,groups:M}}).sort((C,M)=>C.name.localeCompare(M.name));const m={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(C=>{const M=parseInt(C.population)||0;let j=!1;C.bible==="Available"&&(m.bible.count++,m.bible.population+=M,m.bible.groups.push(C),j=!0),C.jesusFilm==="Available"&&(m.jesusFilm.count++,m.jesusFilm.population+=M,m.jesusFilm.groups.push(C),j=!0),C.radio==="Available"&&(m.radio.count++,m.radio.population+=M,m.radio.groups.push(C),j=!0),C.gospel==="Available"&&(m.gospel.count++,m.gospel.population+=M,m.gospel.groups.push(C),j=!0),C.audio==="Available"&&(m.audio.count++,m.audio.population+=M,m.audio.groups.push(C),j=!0),C.stories==="Available"&&(m.stories.count++,m.stories.population+=M,m.stories.groups.push(C),j=!0),j?(m.hasResources.count++,m.hasResources.population+=M,m.hasResources.groups.push(C)):(m.noResources.count++,m.noResources.population+=M,m.noResources.groups.push(C))});const U=u.value.length,H=u.value.reduce((C,M)=>C+(parseInt(M.population)||0),0),I={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},W={bible:{count:U-m.bible.count,population:H-m.bible.population},jesusFilm:{count:U-m.jesusFilm.count,population:H-m.jesusFilm.population},radio:{count:U-m.radio.count,population:H-m.radio.population},gospel:{count:U-m.gospel.count,population:H-m.gospel.population},audio:{count:U-m.audio.count,population:H-m.audio.population},stories:{count:U-m.stories.count,population:H-m.stories.population}},ue="#2c3e50";return T.value=[{name:I.bible,key:"bible",count:m.bible.count,population:m.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:W.bible.count,population:W.bible.population,color:ue}]},{name:I.jesusFilm,key:"jesusFilm",count:m.jesusFilm.count,population:m.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:W.jesusFilm.count,population:W.jesusFilm.population,color:ue}]},{name:I.radio,key:"radio",count:m.radio.count,population:m.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:W.radio.count,population:W.radio.population,color:ue}]},{name:I.gospel,key:"gospel",count:m.gospel.count,population:m.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:W.gospel.count,population:W.gospel.population,color:ue}]},{name:I.audio,key:"audio",count:m.audio.count,population:m.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:W.audio.count,population:W.audio.population,color:ue}]},{name:I.stories,key:"stories",count:m.stories.count,population:m.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:W.stories.count,population:W.stories.population,color:ue}]},{name:I.hasResources,key:"hasResources",count:m.hasResources.count,population:m.hasResources.population,isParent:!0,children:[{name:I.noResources,key:"noResources",count:m.noResources.count,population:m.noResources.population,color:ue}]}],w.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:v.value,doxaRegionsData:x.value,resourcesData:T.value,stats:w.value}}catch(O){throw console.error(`Failed to load data for map "${t}":`,O),i.value=O.message||"Failed to load data",O}finally{s.value=!1}}async function _(){var O,$,m;try{const U={},H=u.value||[];for(const I of H){const W=I.countryIso||(($=(O=I._raw)==null?void 0:O.country_code)==null?void 0:$.value)||"",ue=(m=I._raw)==null?void 0:m.wagf_region,C=I.wagfRegionLabel||I.doxaRegionLabel||(ue&&typeof ue=="object"?ue.label:"")||I.doxaRegion||I.wagfRegion||"";W&&C&&!U[W]&&(U[W]=C)}return f.value={isoToRegion:U},f.value}catch(U){throw console.error(`Error building regions data for map "${t}":`,U),i.value=U.message||"Failed to build regions",U}}function S(){return n?n.getDataByLanguageFamily():{}}function g(){return n?n.getDataByRegion():{}}function k(O){return S()[O]||[]}function A(O){return g()[O]||[]}function L(){c.value=[],u.value=[],f.value=null,v.value=[],x.value=[],T.value=[],w.value=null,l.value=!1,i.value=null}return{isLoading:s,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:v,doxaRegionsData:x,resourcesData:T,stats:w,loadData:E,loadRegionsData:_,getDataByLanguageFamily:S,getDataByRegion:g,getPeopleGroupsByFamily:k,getPeopleGroupsByRegion:A,clearData:L}}const xb={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]}},wa={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,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function Lb(e){return xb[e]||null}function zr(e="standard"){return wa.circleRadius[e]||wa.circleRadius.standard}function Tb(e="standard"){return wa.circleStrokeWidth[e]||wa.circleStrokeWidth.standard}function Eb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=$e("uiStore"),s=me([]);function i(_){const S=n(_.languageFamily),g="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let k=_.imageUrl;(!k||k.includes("NoImageAvailable"))&&(k=g);const A=(_.name||"U")[0].toUpperCase(),L=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],O=A.charCodeAt(0)%L.length;return` + */const om="9.14.5";function nm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Qt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Qt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1)}const am=Fh.__EXTEND_POINT__,to=pa(am);to(),to(),to(),to(),to(),to(),to(),to(),to();const Vl=Pt.__EXTEND_POINT__,mt=pa(Vl),tt={UNEXPECTED_RETURN_TYPE:Vl,INVALID_ARGUMENT:mt(),MUST_BE_CALL_SETUP_TOP:mt(),NOT_INSTALLED:mt(),NOT_AVAILABLE_IN_LEGACY_MODE:mt(),REQUIRED_VALUE:mt(),INVALID_VALUE:mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:mt(),NOT_INSTALLED_WITH_PROVIDE:mt(),UNEXPECTED_ERROR:mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:mt(),BRIDGE_SUPPORT_VUE_2_ONLY:mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:mt(),__EXTEND_POINT__:mt()};function nt(e,...t){return Ko(e,null,void 0)}const Ms=io("__translateVNode"),Is=io("__datetimeParts"),Ns=io("__numberParts"),Wl=io("__setPluralRules"),Yl=io("__injectWithOption"),Fs=io("__dispose");function Cn(e){if(!Pe(e)||Gt(e))return e;for(const t in e)if(Ct(e,t))if(!t.includes("."))Pe(e[t])&&Cn(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]||Re(),fa(c,r[l])):fa(c,r)}else le(i)&&fa(JSON.parse(i),r)}),a==null&&s)for(const i in r)Ct(r,i)&&Cn(r[i]);return r}function ql(e){return e.type}function Jl(e,t,o){let n=Pe(t.messages)?t.messages:Re();"__i18nGlobal"in o&&(n=ya(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Pe(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Pe(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Xl(e){return Ve(bn,null,e,0)}const Zl="__INTLIFY_META__",Ql=()=>[],sm=()=>!1;let ec=0;function tc(e){return(t,o,n,a)=>e(o,n,so()||void 0,a)}const rm=()=>{const e=so();let t=null;return e&&(t=ql(e)[Zl])?{[Zl]:t}:null};function Rs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=ua?me:Tr,i=!!e.translateExistCompatible;let l=Ee(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:le(e.locale)?e.locale:Vo),u=r(o&&l?o.fallbackLocale.value:le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=r(ya(c.value,e)),v=r(Le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=r(Le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let T=o?o.missingWarn:Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,w=o?o.fallbackWarn:Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,E=o?o.fallbackRoot:Ee(e.fallbackRoot)?e.fallbackRoot:!0,_=!!e.fallbackFormat,S=je(e.missing)?e.missing:null,g=je(e.missing)?tc(e.missing):null,k=je(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const O=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let $=e.pluralRules||o&&o.pluralRules,m;m=(()=>{a&&Pl(null);const R={version:om,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:O,pluralRules:$,missing:g===null?void 0:g,missingWarn:T,fallbackWarn:w,fallbackFormat:_,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};R.datetimeFormats=v.value,R.numberFormats=x.value,R.__datetimeFormatters=Le(m)?m.__datetimeFormatters:void 0,R.__numberFormatters=Le(m)?m.__numberFormatters:void 0;const V=Vh(R);return a&&Pl(V),V})(),En(m,c.value,u.value);function H(){return[c.value,u.value,f.value,v.value,x.value]}const I=Q({get:()=>c.value,set:R=>{c.value=R,m.locale=c.value}}),W=Q({get:()=>u.value,set:R=>{u.value=R,m.fallbackLocale=u.value,En(m,c.value,R)}}),ue=Q(()=>f.value),C=Q(()=>v.value),M=Q(()=>x.value);function G(){return je(k)?k:null}function re(R){k=R,m.postTranslation=R}function fe(){return S}function Z(R){R!==null&&(g=tc(R)),S=R,m.missing=g}const ce=(R,V,de,xe,De,at)=>{H();let Qe;try{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=o?zh():void 0),Qe=R(m)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=void 0)}if(de!=="translate exists"&&Xe(Qe)&&Qe===ba||de==="translate exists"&&!Qe){const[X,te]=V();return o&&E?xe(o):De(X)}else{if(at(Qe))return Qe;throw nt(tt.UNEXPECTED_RETURN_TYPE)}};function oe(...R){return ce(V=>Reflect.apply(Dl,null,[V,...R]),()=>Cs(...R),"translate",V=>Reflect.apply(V.t,V,[...R]),V=>V,V=>le(V))}function ke(...R){const[V,de,xe]=R;if(xe&&!Pe(xe))throw nt(tt.INVALID_ARGUMENT);return oe(V,de,it({resolvedMessage:!0},xe||{}))}function ie(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$s(...R),"datetime format",V=>Reflect.apply(V.d,V,[...R]),()=>Sl,V=>le(V))}function Fe(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Ps(...R),"number format",V=>Reflect.apply(V.n,V,[...R]),()=>Sl,V=>le(V))}function ge(R){return R.map(V=>le(V)||Xe(V)||Ee(V)?Xl(String(V)):V)}const Ae={normalize:ge,interpolate:R=>R,type:"vnode"};function z(...R){return ce(V=>{let de;const xe=V;try{xe.processor=Ae,de=Reflect.apply(Dl,null,[xe,...R])}finally{xe.processor=null}return de},()=>Cs(...R),"translate",V=>V[Ms](...R),V=>[Xl(V)],V=>He(V))}function he(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Ps(...R),"number format",V=>V[Ns](...R),Ql,V=>le(V)||He(V))}function N(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$s(...R),"datetime format",V=>V[Is](...R),Ql,V=>le(V)||He(V))}function d(R){$=R,m.pluralRules=$}function y(R,V){return ce(()=>{if(!R)return!1;const de=le(V)?V:c.value,xe=D(de),De=m.messageResolver(xe,R);return i?De!=null:Gt(De)||kt(De)||le(De)},()=>[R],"translate exists",de=>Reflect.apply(de.te,de,[R,V]),sm,de=>Ee(de))}function b(R){let V=null;const de=wl(m,u.value,c.value);for(let xe=0;xe{l&&(c.value=R,m.locale=R,En(m,c.value,u.value))}),Ye(o.fallbackLocale,R=>{l&&(u.value=R,m.fallbackLocale=R,En(m,c.value,u.value))}));const ee={id:ec,locale:I,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(R){l=R,R&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,En(m,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:ue,get modifiers(){return O},get pluralRules(){return $||{}},get isGlobal(){return a},get missingWarn(){return T},set missingWarn(R){T=R,m.missingWarn=T},get fallbackWarn(){return w},set fallbackWarn(R){w=R,m.fallbackWarn=w},get fallbackRoot(){return E},set fallbackRoot(R){E=R},get fallbackFormat(){return _},set fallbackFormat(R){_=R,m.fallbackFormat=_},get warnHtmlMessage(){return A},set warnHtmlMessage(R){A=R,m.warnHtmlMessage=R},get escapeParameter(){return L},set escapeParameter(R){L=R,m.escapeParameter=R},t:oe,getLocaleMessage:D,setLocaleMessage:B,mergeLocaleMessage:Y,getPostTranslationHandler:G,setPostTranslationHandler:re,getMissingHandler:fe,setMissingHandler:Z,[Wl]:d};return ee.datetimeFormats=C,ee.numberFormats=M,ee.rt=ke,ee.te=y,ee.tm=P,ee.d=ie,ee.n=Fe,ee.getDateTimeFormat=q,ee.setDateTimeFormat=p,ee.mergeDateTimeFormat=h,ee.getNumberFormat=F,ee.setNumberFormat=K,ee.mergeNumberFormat=se,ee[Yl]=n,ee[Ms]=z,ee[Is]=N,ee[Ns]=he,ee}function im(e){const t=le(e.locale)?e.locale:Vo,o=le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=je(e.missing)?e.missing:void 0,a=Ee(e.silentTranslationWarn)||lo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ee(e.silentFallbackWarn)||lo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=Ee(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=je(e.postTranslation)?e.postTranslation:void 0,f=le(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,v=!!e.escapeParameterHtml,x=Ee(e.sync)?e.sync:!0;let T=e.messages;if(Le(e.sharedMessages)){const L=e.sharedMessages;T=Object.keys(L).reduce(($,m)=>{const U=$[m]||($[m]={});return it(U,L[m]),$},T||{})}const{__i18n:w,__root:E,__injectWithOption:_}=e,S=e.datetimeFormats,g=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:T,flatJson:k,datetimeFormats:S,numberFormats:g,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:v,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:A,__i18n:w,__root:E,__injectWithOption:_}}function Ds(e={},t){{const o=Rs(im(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 Ee(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ee(s)?!s:s},get silentFallbackWarn(){return Ee(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ee(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,f=null;if(!le(r))throw nt(tt.INVALID_ARGUMENT);const v=r;return le(i)?c.locale=i:He(i)?u=i:Le(i)&&(f=i),He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,f=null;if(!le(r))throw nt(tt.INVALID_ARGUMENT);const v=r;return le(i)?c.locale=i:Xe(i)?c.plural=i:He(i)?u=i:Le(i)&&(f=i),le(l)?c.locale=l:He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},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 Os={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function lm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ie?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Re())}function oc(e){return Ie}const nc=gn({name:"i18n-t",props:it({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Xe(e)||!isNaN(e)}},Os),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||gt({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),r=Re();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=le(e.plural)?+e.plural:e.plural);const i=lm(t,s),l=a[Ms](e.keypath,i,r),c=it(Re(),n),u=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(u,c,l)}}});function cm(e){return He(e)&&!le(e[0])}function ac(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=Re();e.locale&&(r.locale=e.locale),le(e.format)?r.key=e.format:Pe(e.format)&&(le(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((v,x)=>o.includes(x)?it(Re(),v,{[x]:e.format[x]}):v,Re()));const l=n(e.value,r,i);let c=[r.key];He(l)?c=l.map((v,x)=>{const T=a[v.type],w=T?T({[v.type]:v.value,index:x,parts:l}):[v.value];return cm(w)&&(w[0].key=`${v.type}-${x}`),w}):le(l)&&(c=[l]);const u=it(Re(),s),f=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(f,u,c)}}const sc=gn({name:"i18n-n",props:it({value:{type:Number,required:!0},format:{type:[String,Object]}},Os),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,Hl,(...n)=>o[Ns](...n))}}),rc=gn({name:"i18n-d",props:it({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Os),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,jl,(...n)=>o[Is](...n))}});function um(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 dm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw nt(tt.UNEXPECTED_ERROR);const u=um(e,i.$),f=ic(c);return[Reflect.apply(u.t,u,[...lc(f)]),u]};return{created:(r,i)=>{const[l,c]=t(i);ua&&e.global===c&&(r.__i18nWatcher=Ye(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{ua&&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=ic(i);r.textContent=Reflect.apply(l.t,l,[...lc(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function ic(e){if(le(e))return{path:e};if(Le(e)){if(!("path"in e))throw nt(tt.REQUIRED_VALUE,"path");return e}else throw nt(tt.INVALID_VALUE)}function lc(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return le(o)&&(r.locale=o),Xe(a)&&(r.plural=a),Xe(s)&&(r.plural=s),[t,i,r]}function pm(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ee(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":nc.name,"I18nT"].forEach(r=>e.component(r,nc)),[sc.name,"I18nN"].forEach(r=>e.component(r,sc)),[rc.name,"I18nD"].forEach(r=>e.component(r,rc))),e.directive("t",dm(t))}function gm(e,t,o){return{beforeCreate(){const n=so();if(!n)throw nt(tt.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=cc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Ds(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=cc(e,a);else{this.$i18n=Ds({__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&&Jl(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=so();if(!n)throw nt(tt.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 cc(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[Wl](t.pluralizationRules||e.pluralizationRules);const o=ya(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 fm=io("global-vue-i18n");function hm(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ee(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ee(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=mm(e,o),l=io("");function c(v){return s.get(v)||null}function u(v,x){s.set(v,x)}function f(v){s.delete(v)}{const v={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...T){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,v),Le(T[0])){const _=T[0];v.__composerExtend=_.__composerExtend,v.__vueI18nExtend=_.__vueI18nExtend}let w=null;!o&&n&&(w=xm(x,v.global)),__VUE_I18N_FULL_INSTALL__&&pm(x,v,...T),__VUE_I18N_LEGACY_API__&&o&&x.mixin(gm(i,i.__composer,v));const E=x.unmount;x.unmount=()=>{w&&w(),v.dispose(),E()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return v}}function gt(e={}){const t=so();if(t==null)throw nt(tt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw nt(tt.NOT_INSTALLED);const o=bm(t),n=_m(o),a=ql(t),s=ym(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw nt(tt.NOT_AVAILABLE_IN_LEGACY_MODE);return Sm(t,s,n,e)}if(s==="global")return Jl(n,e,a),n;if(s==="parent"){let l=vm(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=it({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Rs(l),r.__composerExtend&&(i[Fs]=r.__composerExtend(i)),km(r,t,i),r.__setInstance(t,i)}return i}function mm(e,t,o){const n=Ia();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ds(e)):n.run(()=>Rs(e));if(a==null)throw nt(tt.UNEXPECTED_ERROR);return[n,a]}}function bm(e){{const t=$e(e.isCE?fm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw nt(e.isCE?tt.NOT_INSTALLED_WITH_PROVIDE:tt.UNEXPECTED_ERROR);return t}}function ym(e,t){return da(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function _m(e){return e.mode==="composition"?e.global:e.global.__composer}function vm(e,t,o=!1){let n=null;const a=t.root;let s=wm(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[Yl]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function wm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function km(e,t,o){ao(()=>{},t),es(()=>{const n=o;e.__deleteInstance(t);const a=n[Fs];a&&(a(),delete n[Fs])},t)}function Sm(e,t,o,n={}){const a=t==="local",s=Tr(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw nt(tt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=Ee(n.inheritLocale)?n.inheritLocale:!le(n.locale),i=me(!a||r?o.locale.value:le(n.locale)?n.locale:Vo),l=me(!a||r?o.fallbackLocale.value:le(n.fallbackLocale)||He(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=me(ya(i.value,n)),u=me(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),f=me(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),v=a?o.missingWarn:Ee(n.missingWarn)||lo(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Ee(n.fallbackWarn)||lo(n.fallbackWarn)?n.fallbackWarn:!0,T=a?o.fallbackRoot:Ee(n.fallbackRoot)?n.fallbackRoot:!0,w=!!n.fallbackFormat,E=je(n.missing)?n.missing:null,_=je(n.postTranslation)?n.postTranslation:null,S=a?o.warnHtmlMessage:Ee(n.warnHtmlMessage)?n.warnHtmlMessage:!0,g=!!n.escapeParameter,k=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function L(){return[i.value,l.value,c.value,u.value,f.value]}const O=Q({get:()=>s.value?s.value.locale.value:i.value,set:b=>{s.value&&(s.value.locale.value=b),i.value=b}}),$=Q({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:b=>{s.value&&(s.value.fallbackLocale.value=b),l.value=b}}),m=Q(()=>s.value?s.value.messages.value:c.value),U=Q(()=>u.value),H=Q(()=>f.value);function I(){return s.value?s.value.getPostTranslationHandler():_}function W(b){s.value&&s.value.setPostTranslationHandler(b)}function ue(){return s.value?s.value.getMissingHandler():E}function C(b){s.value&&s.value.setMissingHandler(b)}function M(b){return L(),b()}function G(...b){return s.value?M(()=>Reflect.apply(s.value.t,null,[...b])):M(()=>"")}function re(...b){return s.value?Reflect.apply(s.value.rt,null,[...b]):""}function fe(...b){return s.value?M(()=>Reflect.apply(s.value.d,null,[...b])):M(()=>"")}function Z(...b){return s.value?M(()=>Reflect.apply(s.value.n,null,[...b])):M(()=>"")}function ce(b){return s.value?s.value.tm(b):{}}function oe(b,P){return s.value?s.value.te(b,P):!1}function ke(b){return s.value?s.value.getLocaleMessage(b):{}}function ie(b,P){s.value&&(s.value.setLocaleMessage(b,P),c.value[b]=P)}function Fe(b,P){s.value&&s.value.mergeLocaleMessage(b,P)}function ge(b){return s.value?s.value.getDateTimeFormat(b):{}}function Te(b,P){s.value&&(s.value.setDateTimeFormat(b,P),u.value[b]=P)}function Ae(b,P){s.value&&s.value.mergeDateTimeFormat(b,P)}function z(b){return s.value?s.value.getNumberFormat(b):{}}function he(b,P){s.value&&(s.value.setNumberFormat(b,P),f.value[b]=P)}function N(b,P){s.value&&s.value.mergeNumberFormat(b,P)}const d={get id(){return s.value?s.value.id:-1},locale:O,fallbackLocale:$,messages:m,datetimeFormats:U,numberFormats:H,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(b){s.value&&(s.value.inheritLocale=b)},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:v},set missingWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackRoot(){return s.value?s.value.fallbackRoot:T},set fallbackRoot(b){s.value&&(s.value.fallbackRoot=b)},get fallbackFormat(){return s.value?s.value.fallbackFormat:w},set fallbackFormat(b){s.value&&(s.value.fallbackFormat=b)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:S},set warnHtmlMessage(b){s.value&&(s.value.warnHtmlMessage=b)},get escapeParameter(){return s.value?s.value.escapeParameter:g},set escapeParameter(b){s.value&&(s.value.escapeParameter=b)},t:G,getPostTranslationHandler:I,setPostTranslationHandler:W,getMissingHandler:ue,setMissingHandler:C,rt:re,d:fe,n:Z,tm:ce,te:oe,getLocaleMessage:ke,setLocaleMessage:ie,mergeLocaleMessage:Fe,getDateTimeFormat:ge,setDateTimeFormat:Te,mergeDateTimeFormat:Ae,getNumberFormat:z,setNumberFormat:he,mergeNumberFormat:N};function y(b){b.locale.value=i.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{b.mergeLocaleMessage(P,c.value[P])}),Object.keys(u.value).forEach(P=>{b.mergeDateTimeFormat(P,u.value[P])}),Object.keys(f.value).forEach(P=>{b.mergeNumberFormat(P,f.value[P])}),b.escapeParameter=g,b.fallbackFormat=w,b.fallbackRoot=T,b.fallbackWarn=x,b.missingWarn=v,b.warnHtmlMessage=S}return Hr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw nt(tt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,f.value=b.numberFormats.value):a&&y(b)}),d}const Am=["locale","fallbackLocale","availableLocales"],uc=["t","rt","d","n","tm","te"];function xm(e,t){const o=Object.create(null);return Am.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw nt(tt.UNEXPECTED_ERROR);const r=Ke(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,uc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw nt(tt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,uc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(nm(),__INTLIFY_JIT_COMPILATION__?Ll(Xh):Ll(Jh),jh(wh),Gh(wl),__INTLIFY_PROD_DEVTOOLS__){const e=Qt();e.__INTLIFY__=!0,$h(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Lm=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":jp,"./locales/ar/detail.json":Gp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":zp,"./locales/ar/prayerLaps.json":Vp,"./locales/ar/search.json":Wp,"./locales/de/aria.json":Yp,"./locales/de/buttons.json":qp,"./locales/de/detail.json":Jp,"./locales/de/legend.json":Xp,"./locales/de/messages.json":Zp,"./locales/de/options.json":Qp,"./locales/de/prayerLaps.json":eg,"./locales/de/search.json":tg,"./locales/en/aria.json":og,"./locales/en/buttons.json":ng,"./locales/en/detail.json":ag,"./locales/en/legend.json":sg,"./locales/en/messages.json":rg,"./locales/en/options.json":ig,"./locales/en/prayerLaps.json":lg,"./locales/en/search.json":cg,"./locales/es/aria.json":ug,"./locales/es/buttons.json":dg,"./locales/es/detail.json":pg,"./locales/es/legend.json":gg,"./locales/es/messages.json":fg,"./locales/es/options.json":hg,"./locales/es/prayerLaps.json":mg,"./locales/es/search.json":bg,"./locales/fr/aria.json":yg,"./locales/fr/buttons.json":_g,"./locales/fr/detail.json":vg,"./locales/fr/legend.json":wg,"./locales/fr/messages.json":kg,"./locales/fr/options.json":Sg,"./locales/fr/prayerLaps.json":Ag,"./locales/fr/search.json":xg,"./locales/hi/aria.json":Lg,"./locales/hi/buttons.json":Tg,"./locales/hi/detail.json":Eg,"./locales/hi/legend.json":Cg,"./locales/hi/messages.json":$g,"./locales/hi/options.json":Pg,"./locales/hi/prayerLaps.json":Mg,"./locales/hi/search.json":Ig,"./locales/it/aria.json":Ng,"./locales/it/buttons.json":Fg,"./locales/it/detail.json":Rg,"./locales/it/legend.json":Dg,"./locales/it/messages.json":Og,"./locales/it/options.json":Bg,"./locales/it/prayerLaps.json":Ug,"./locales/it/search.json":jg,"./locales/pt/aria.json":Gg,"./locales/pt/buttons.json":Kg,"./locales/pt/detail.json":Hg,"./locales/pt/legend.json":zg,"./locales/pt/messages.json":Vg,"./locales/pt/options.json":Wg,"./locales/pt/prayerLaps.json":Yg,"./locales/pt/search.json":qg,"./locales/ro/aria.json":Jg,"./locales/ro/buttons.json":Xg,"./locales/ro/detail.json":Zg,"./locales/ro/legend.json":Qg,"./locales/ro/messages.json":ef,"./locales/ro/options.json":tf,"./locales/ro/prayerLaps.json":of,"./locales/ro/search.json":nf,"./locales/ru/aria.json":af,"./locales/ru/buttons.json":sf,"./locales/ru/detail.json":rf,"./locales/ru/legend.json":lf,"./locales/ru/messages.json":cf,"./locales/ru/options.json":uf,"./locales/ru/prayerLaps.json":df,"./locales/ru/search.json":pf,"./locales/zh/aria.json":gf,"./locales/zh/buttons.json":ff,"./locales/zh/detail.json":hf,"./locales/zh/legend.json":mf,"./locales/zh/messages.json":bf,"./locales/zh/options.json":yf,"./locales/zh/prayerLaps.json":_f,"./locales/zh/search.json":vf}),$n={};for(const[e,t]of Object.entries(Lm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;$n[n]??($n[n]={}),$n[n][a]=t}const Tm=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Em=new Set(["ar"]);function Cm(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Tm.includes(t)?t:"en"}function $m(){return hm({legacy:!1,globalInjection:!0,locale:Cm(),fallbackLocale:"en",messages:$n,missingWarn:!1,fallbackWarn:!1})}const Pm=Object.assign({"./profiles/doxa-simple-map.vue":()=>La(()=>Promise.resolve().then(()=>Q_),void 0)});if(typeof window<"u"&&((Jc=window.mapboxgl)!=null&&Jc.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function dc(){return yp(Bp,{configureApp(e){e.use(Lp()),e.use($m()),e.provide("profileModules",Pm)}})}const Mm=dc(),Im=dc();typeof customElements<"u"&&(customElements.get("doxa-map")||customElements.define("doxa-map",Mm),customElements.get("doxa-simple-map")||customElements.define("doxa-simple-map",Im));const pc="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function Nm(e){const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const o=s=>new Promise(r=>setTimeout(r,s)),n=t.querySelector(`link[href="${pc}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(s=>{n.addEventListener("load",s,{once:!0}),n.addEventListener("error",s,{once:!0})}),o(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=pc,await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0}),t.prepend(a)}),o(2e3)])}function Fm({containerRef:e,accessToken:t,style:o,center:n=[20,10],zoom:a=2,minZoom:s=.5,maxZoom:r=18,pitch:i=0,bearing:l=0}){const c=me(null),u=me(!1);async function f(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}await Nm(e.value),await new Promise(_=>requestAnimationFrame(_));const x=e.value,T=x.clientWidth,w=x.clientHeight;if(T===0||w===0){console.error(`[useMapInstance] Container has ZERO dimensions (${T}×${w}). Map will be invisible. Check that parent elements have CSS sizing.`);let _=x.parentElement,S=0;for(;_&&S<5;)_=_.parentElement,S++}const E=t;mapboxgl.accessToken=E,c.value=new mapboxgl.Map({accessToken:E,container:e.value,style:o,center:n,zoom:a,minZoom:s,maxZoom:r,pitch:i,bearing:l,attributionControl:!1}),c.value.on("style.load",()=>{requestAnimationFrame(()=>{var _;(_=c.value)==null||_.resize(),u.value=!0})})}function v(){c.value&&(c.value.remove(),c.value=null,u.value=!1)}return{map:c,isMapReady:u,initializeMap:f,destroy:v}}const We={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"},Rm="peoplePraying",To=100,Eo={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Bs=Eo,Dm={noPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayer:"100+ People Praying"};function Yo(e){var n;const t=e.peoplePraying??((n=e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=To?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function gc(e){return Eo[Yo(e)]}function Om(e){var o;const t=e.peoplePraying??((o=e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Bm(e){return Yo(e)==="fullPrayer"}function Um(e){return gc(e)}function fc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,To],Eo.fullPrayer,[">",t,0],Eo.hasPrayer,Eo.noPrayer]}const jm={name:"Prayer Progress",propertyKey:Rm,palette:Eo,colors:Eo,labels:Dm,threshold:To,getColor:Um,applyColor:fc,buildColorExpression:fc,getPrayerLevel:Yo,getPrayerColor:gc,checkHasPrayer:Om,checkHasFullPrayer:Bm},Gm="engagementStatus",go={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},hc=go,Km={notEngaged:"Unengaged",hasEngagement:"Engaged"};function Hm(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)?go.hasEngagement:go.notEngaged}function mc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const zm={name:"Engagement Progress",propertyKey:Gm,palette:go,colors:go,labels:Km,getColor:Hm,applyColor:mc,buildColorExpression:mc},Vm="adoptionStatus",fo={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},bc=fo,Wm={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function Ym(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)?fo.hasAdoption:fo.notAdopted}function yc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],fo.hasAdoption,["==",t,1],fo.hasAdoption,fo.notAdopted]}const qm={name:"Adoption Progress",propertyKey:Vm,palette:fo,colors:fo,labels:Wm,getColor:Ym,applyColor:yc,buildColorExpression:yc},_c="affinityBlock",qo="#95a5a6",Jo={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"},Pn={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"},Xo=Pn;Object.entries(Jo).reduce((e,[t,o])=>(e[o]=t,e),{});const Jm=Object.entries(Jo).reduce((e,[t,o])=>(e[o]=Xo[t],e),{}),Xm=Jo;function vc(e){return Jo[e]||"Unknown"}function wc(e){return Xo[e]||qo}function Zm(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Xo[e]||qo:Jm[e]||qo:qo}function Qm(){return Object.entries(Jo).map(([e,t])=>({code:e,name:t,color:Xo[e]}))}function eb(e){return{code:e,name:Jo[e]||"Unknown",color:Xo[e]||qo}}function tb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return wc(t)}function ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vc(t)}function kc(){const e=["match",["get",_c]];return Object.entries(Xo).forEach(([t,o])=>{e.push(t,o)}),e.push(qo),e}const nb={name:"Affinity Block",propertyKey:_c,palette:Pn,colors:Pn,names:Xm,getColor:tb,applyColor:kc,buildColorExpression:kc,getName:ob,getAffinityBlockName:vc,getAffinityBlockColor:Zm,getAffinityBlockColorByCode:wc,getAffinityBlocksArray:Qm,getAffinityBlockData:eb},Sc="languageFamily",ab="#000000",Zo={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function Mt(e){return Zo[e]||ab}const sb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Zo))t[e(o)]=o;return t})();function Us(e){if(!e)return"Unknown";const t=String(e).trim();return sb[t.toLowerCase()]||t}function rb(e){var t;return Mt(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Ac(){const e=["match",["get",Sc]];return Object.entries(Zo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const ib={name:"Language Family",propertyKey:Sc,palette:Zo,colors:Zo,getColor:rb,applyColor:Ac,buildColorExpression:Ac,getLanguageFamilyColor:Mt,canonicalFamilyName:Us};function lb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Lc),e}const pb={name:"DOXA Region",propertyKey:xc,palette:Mn,colors:Mn,aliases:Tc,getColor:db,applyColor:Ec,buildColorExpression:Ec,getRegionColor:ub},gb="resourceType",oo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},_a=["bible","jesusFilm","radio","gospel","audio","stories"],Cc={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},fb=Cc;function va(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function hb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return oo.hasResources;return oo.noResources}function mb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return!0;return!1}function bb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return o;return"noResources"}function $c(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],oo.hasResources,oo.noResources]}const yb={name:"Gospel Resources",propertyKey:gb,palette:oo,colors:oo,names:Cc,priority:_a,getColor:hb,applyColor:$c,buildColorExpression:$c,hasAnyResource:mb,getResourceType:bb,getCSVColumn:va},_b="religion",js="#94a3b8",Gs={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Pc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Gs[t]?t:"U"}function vb(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 St[Pc(t)]||js}function Mc(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,js]}const wb={propertyKey:_b,palette:St,families:Gs,getColor:vb,applyColor:Mc,buildColorExpression:Mc,fallback:js},ze={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},Ic={[ze.LANGUAGE_FAMILY]:ib,[ze.AFFINITY_BLOCK]:nb,[ze.DOXA_REGION]:pb,[ze.RESOURCE]:yb,[ze.PRAYER_PROGRESS]:jm,[ze.ENGAGEMENT]:zm,[ze.ADOPTION]:qm,[ze.RELIGION]:wb};function Nc(e){return Ic[e]||Ic[ze.LANGUAGE_FAMILY]}function Ks(e,t={}){return Nc(e).applyColor(t)}(()=>{const e=o=>String(o||"").toLowerCase().replace(/[^a-z0-9]+/g,""),t={};for(const o of Object.keys(Mn))t[e(o)]=o;return t.na="No WAGF Region/Bloc",t})();function Hs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const kb=[[/ sign language$/i,"Sign Language"]];function Sb(e){const t=Hs(e.languageFamily);if(t)return t;const o=Hs(e.language||e.primary_language);if(!o||typeof o!="string")return"";const n=o.trim(),a=n.split(",").map(r=>r.trim()).filter(Boolean);if(a.length>=2){const r=[...a].reverse().join(" ");if(We[r])return We[r];if(a.length>=3){const i=[a[1],a[0]].join(" ");if(We[i])return We[i]}}if(We[n])return We[n];const s=n.replace(/\s*\(.*?\)\s*$/,"").trim();if(s!==n&&We[s])return We[s];for(const[r,i]of kb)if(r.test(n))return i;return""}function Ab(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=O=>O}=e;n||console.error("useMapData: dataSourceManager is required!");const r=me(!1),i=me(null),l=me(!1),c=me([]),u=me([]),f=me(null),v=me([]),x=me([]),T=me([]),w=me(null);async function E(){if(!n)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const C=a.getSourceData(o);u.value=s(C.normalizedData||[])}else{const C=await n.setActiveSource(o);for(const M of C){const G=Hs(M.language||M.primary_language);G&&(M.language=G);const re=Sb(M);M.languageFamily=Us(re)}u.value=s(C),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:C,timestamp:Date.now()})}c.value=s(u.value.map(C=>({id:C.uniqueId,slug:C.slug||"",rop3:C.peopleGroupId,peopleId3:C.peopleId3,name:C.name,language:C.language,languageFamily:C.languageFamily,country:C.country,population:C.population,status:C.engagementStatus||C.status,latitude:C.latitude,longitude:C.longitude,lng:C.longitude,lat:C.latitude,description:C.description,imageUrl:C.imageUrl,doxaRegion:C.doxaRegion||C.wagfRegion||"",peoplePraying:C.peoplePraying??null,_normalized:C})));const O=n.getDataByLanguageFamily();v.value=Object.entries(O).map(([C,M])=>{const G=M.reduce((re,fe)=>{const Z=parseInt(fe.population)||0;return re+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:G,groups:M}}).sort((C,M)=>M.count-C.count);const $=n.getDataByRegion();x.value=Object.entries($).map(([C,M])=>{const G=M.reduce((re,fe)=>{const Z=parseInt(fe.population)||0;return re+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:G,groups:M}}).sort((C,M)=>C.name.localeCompare(M.name));const m={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(C=>{const M=parseInt(C.population)||0;let G=!1;C.bible==="Available"&&(m.bible.count++,m.bible.population+=M,m.bible.groups.push(C),G=!0),C.jesusFilm==="Available"&&(m.jesusFilm.count++,m.jesusFilm.population+=M,m.jesusFilm.groups.push(C),G=!0),C.radio==="Available"&&(m.radio.count++,m.radio.population+=M,m.radio.groups.push(C),G=!0),C.gospel==="Available"&&(m.gospel.count++,m.gospel.population+=M,m.gospel.groups.push(C),G=!0),C.audio==="Available"&&(m.audio.count++,m.audio.population+=M,m.audio.groups.push(C),G=!0),C.stories==="Available"&&(m.stories.count++,m.stories.population+=M,m.stories.groups.push(C),G=!0),G?(m.hasResources.count++,m.hasResources.population+=M,m.hasResources.groups.push(C)):(m.noResources.count++,m.noResources.population+=M,m.noResources.groups.push(C))});const U=u.value.length,H=u.value.reduce((C,M)=>C+(parseInt(M.population)||0),0),I={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},W={bible:{count:U-m.bible.count,population:H-m.bible.population},jesusFilm:{count:U-m.jesusFilm.count,population:H-m.jesusFilm.population},radio:{count:U-m.radio.count,population:H-m.radio.population},gospel:{count:U-m.gospel.count,population:H-m.gospel.population},audio:{count:U-m.audio.count,population:H-m.audio.population},stories:{count:U-m.stories.count,population:H-m.stories.population}},ue="#2c3e50";return T.value=[{name:I.bible,key:"bible",count:m.bible.count,population:m.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:W.bible.count,population:W.bible.population,color:ue}]},{name:I.jesusFilm,key:"jesusFilm",count:m.jesusFilm.count,population:m.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:W.jesusFilm.count,population:W.jesusFilm.population,color:ue}]},{name:I.radio,key:"radio",count:m.radio.count,population:m.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:W.radio.count,population:W.radio.population,color:ue}]},{name:I.gospel,key:"gospel",count:m.gospel.count,population:m.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:W.gospel.count,population:W.gospel.population,color:ue}]},{name:I.audio,key:"audio",count:m.audio.count,population:m.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:W.audio.count,population:W.audio.population,color:ue}]},{name:I.stories,key:"stories",count:m.stories.count,population:m.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:W.stories.count,population:W.stories.population,color:ue}]},{name:I.hasResources,key:"hasResources",count:m.hasResources.count,population:m.hasResources.population,isParent:!0,children:[{name:I.noResources,key:"noResources",count:m.noResources.count,population:m.noResources.population,color:ue}]}],w.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:v.value,doxaRegionsData:x.value,resourcesData:T.value,stats:w.value}}catch(O){throw console.error(`Failed to load data for map "${t}":`,O),i.value=O.message||"Failed to load data",O}finally{r.value=!1}}async function _(){var O,$,m;try{const U={},H=u.value||[];for(const I of H){const W=I.countryIso||(($=(O=I._raw)==null?void 0:O.country_code)==null?void 0:$.value)||"",ue=(m=I._raw)==null?void 0:m.wagf_region,C=I.wagfRegionLabel||I.doxaRegionLabel||(ue&&typeof ue=="object"?ue.label:"")||I.doxaRegion||I.wagfRegion||"";W&&C&&!U[W]&&(U[W]=C)}return f.value={isoToRegion:U},f.value}catch(U){throw console.error(`Error building regions data for map "${t}":`,U),i.value=U.message||"Failed to build regions",U}}function S(){return n?n.getDataByLanguageFamily():{}}function g(){return n?n.getDataByRegion():{}}function k(O){return S()[O]||[]}function A(O){return g()[O]||[]}function L(){c.value=[],u.value=[],f.value=null,v.value=[],x.value=[],T.value=[],w.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:v,doxaRegionsData:x,resourcesData:T,stats:w,loadData:E,loadRegionsData:_,getDataByLanguageFamily:S,getDataByRegion:g,getPeopleGroupsByFamily:k,getPeopleGroupsByRegion:A,clearData:L}}const xb={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]}},wa={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,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function Lb(e){return xb[e]||null}function zs(e="standard"){return wa.circleRadius[e]||wa.circleRadius.standard}function Tb(e="standard"){return wa.circleStrokeWidth[e]||wa.circleStrokeWidth.standard}function Eb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=$e("uiStore"),r=me([]);function i(_){const S=n(_.languageFamily),g="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let k=_.imageUrl;(!k||k.includes("NoImageAvailable"))&&(k=g);const A=(_.name||"U")[0].toUpperCase(),L=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],O=A.charCodeAt(0)%L.length;return`
{try{const L=A.features[0],O=L.properties,$=L.geometry.coordinates.slice();for(;Math.abs(A.lngLat.lng-$[0])>180;)$[0]+=A.lngLat.lng>$[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(L),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat($).setHTML(i(O)).addTo(S)}catch(L){console.error(` [${o}] Pin click handler error:`,L)}};S.on("click",g,k),s.value.push({event:"click",layer:g,handler:k})}function u(){const _=t();if(!_)return;const S="regions-fill";if(!_.getLayer(S))return;const g=k=>{const A=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const L of A)if(_.getLayer(L)){const O=_.queryRenderedFeatures(k.point,{layers:[L]});if(O&&O.length>0)return}if(k.features&&k.features.length>0){const L=k.features[0].properties;new mapboxgl.Popup().setLngLat(k.lngLat).setHTML(l(L)).addTo(_)}};_.on("click",S,g),s.value.push({event:"click",layer:S,handler:g})}function f(){const _=t();if(!_)return;const S="clusters";if(!_.getLayer(S))return;const g=k=>{const A=_.queryRenderedFeatures(k.point,{layers:[S]});if(!A.length)return;const L=A[0].properties.cluster_id,O=A[0].source;_.getSource(O).getClusterExpansionZoom(L,($,m)=>{$||_.easeTo({center:A[0].geometry.coordinates,zoom:m})})};_.on("click",S,g),s.value.push({event:"click",layer:S,handler:g})}function v(_){const S=t();if(!S||!S.getLayer(_))return;const g=()=>{S.getCanvas().style.cursor="pointer"},k=()=>{S.getCanvas().style.cursor=""};S.on("mouseenter",_,g),S.on("mouseleave",_,k),s.value.push({event:"mouseenter",layer:_,handler:g}),s.value.push({event:"mouseleave",layer:_,handler:k})}function x(){c(),v("language-family-pins"),c("language-family-pins-hitbox"),v("language-family-pins-hitbox"),f(),v("clusters")}function T(){u(),v("regions-fill")}function w(){const _=t();_&&(_.getLayer("language-family-pins")&&x(),_.getLayer("regions-fill")&&T(),_.getLayer("people-groups-pins")&&(c(),v("people-groups-pins")))}function E(){const _=t();if(_){for(const{event:S,layer:g,handler:k}of s.value)try{_.off(S,g,k)}catch{}s.value=[]}}return{attachAllEventHandlers:w,attachLanguageFamilyEvents:x,attachRegionEvents:T,attachPinClickHandler:c,attachRegionClickHandler:u,attachClusterClickHandler:f,attachCursorHandlers:v,detachAllEventHandlers:E,generatePinPopupContent:i,generateRegionPopupContent:l,registeredHandlers:s}}const Cb=[[/ sign language$/i,"Sign Language"]];function $b(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(We[a])return We[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(We[r])return We[r]}}if(We[t])return We[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&We[n])return We[n];for(const[a,r]of Cb)if(a.test(t))return r;return null}function Pb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Eb({getMap:t,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),s=me({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),i=me({});function l(Z,ce="languageFamily"){const oe=t();if(!oe||!(Z!=null&&Z.length))return;const ke=Kr(ce),ie=Z.map(z=>{var he,N,d,y,b,P,D,B,Y,q,p,h,F,K,re,ee,R,V,de;return{type:"Feature",properties:{uniqueId:z.id||z.uniqueId,slug:z.slug||((he=z._normalized)==null?void 0:he.slug)||"",rop3:z.rop3||z.peopleGroupId,peopleId3:z.peopleId3||"",name:z.name,language:z.language,languageFamily:z.languageFamily||((N=z._normalized)==null?void 0:N.languageFamily)||$b(z.language)||"Unknown",affinityBlock:z.affinityBlock||z.affbloc||z.Affbloc||((d=z._normalized)==null?void 0:d.affinityBlock)||"Unknown",affinityBlockLabel:z.affinityBlockLabel||((y=z._normalized)==null?void 0:y.affinityBlockLabel)||"",cluster:z.cluster||((b=z._normalized)==null?void 0:b.cluster)||"",clusterLabel:z.clusterLabel||((P=z._normalized)==null?void 0:P.clusterLabel)||"",peopleGroup:z.peopleGroup||((D=z._normalized)==null?void 0:D.peopleGroup)||"",peopleGroupLabel:z.peopleGroupLabel||((B=z._normalized)==null?void 0:B.peopleGroupLabel)||"",doxaRegion:z.doxaRegion||((Y=z._normalized)==null?void 0:Y.doxaRegion)||"Unknown",wagfBlock:z.wagfBlock||((q=z._normalized)==null?void 0:q.wagfBlock)||"",wagfBlockLabel:z.wagfBlockLabel||((p=z._normalized)==null?void 0:p.wagfBlockLabel)||"",wagfRegionLabel:z.wagfRegionLabel||((h=z._normalized)==null?void 0:h.wagfRegionLabel)||"",country:z.country,countryIso:z.countryIso,countryIsoLabel:z.countryIsoLabel,countryName:z.countryName,religion:z.religion,religionCode:z.religionCode,religionLabel:z.religionLabel,religionName:z.religionName,population:z.population,status:z.status,description:z.description||"",imageUrl:z.imageUrl||"",peoplePraying:Number(z.peoplePraying??((F=z._normalized)==null?void 0:F.peoplePraying)??0),engagementStatus:z.engagementStatus===!0||z.engagementStatus===1||!1,adoptionStatus:z.adoptionStatus===!0||z.adoptionStatus===1||!1,bible:z.bible||((K=z._normalized)==null?void 0:K.bible)||"Not Available",jesusFilm:z.jesusFilm||((re=z._normalized)==null?void 0:re.jesusFilm)||"Not Available",radio:z.radio||((ee=z._normalized)==null?void 0:ee.radio)||"Not Available",gospel:z.gospel||((R=z._normalized)==null?void 0:R.gospel)||"Not Available",audio:z.audio||((V=z._normalized)==null?void 0:V.audio)||"Not Available",stories:z.stories||((de=z._normalized)==null?void 0:de.stories)||"Not Available",lng:parseFloat(z.longitude||z.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(z.longitude||z.lng),parseFloat(z.latitude||z.lat)]}}}).filter(z=>!isNaN(z.geometry.coordinates[0])&&!isNaN(z.geometry.coordinates[1])),Fe=.04,ge=z=>`${z.geometry.coordinates[0]},${z.geometry.coordinates[1]}`,Te=new Map;for(const z of ie){const he=ge(z);Te.has(he)||Te.set(he,[]),Te.get(he).push(z)}for(const z of Te.values()){if(z.length<2)continue;const[he,N]=z[0].geometry.coordinates,d=z.length;for(let y=0;y{var he;return(Ae.languageFamily||((he=Ae._normalized)==null?void 0:he.languageFamily)||"Unknown")===Z});if(ke.length<2)return;const ie=n(Z),Fe=[],ge=15,Te=[...ke].sort((Ae,z)=>(Ae.longitude||Ae.lng)-(z.longitude||z.lng));for(let Ae=0;Ae=",["get","peoplePraying"],To],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const I=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function W(Z,ce){const oe=["interpolate",["linear"],["zoom"]];for(let ke=0;ke",["get","peoplePraying"],0],oe=H();if(!O.every(ie=>Z.getLayer(ie))){for(const ie of O)if(Z.getLayer(ie))try{Z.removeLayer(ie)}catch{}Z.addLayer({id:k,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":oe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0}},"language-family-pins");for(const ie of L)Z.addLayer({id:ie,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":oe,"circle-stroke-opacity":0}},"language-family-pins")}}function C(){const Z=t();if(Z)for(const ce of O)Z.getLayer(ce)&&Z.removeLayer(ce)}function M(Z){const ce=t();if(!ce)return;const oe=[">",["get","peoplePraying"],0],ke=Z?["all",oe,Z]:oe;for(const ie of O)if(ce.getLayer(ie))try{ce.setFilter(ie,ke)}catch{}}function j(){const Z=t();if(Z){if(ue(),_&&(cancelAnimationFrame(_),_=null),S=!0,Z.getLayer("language-family-pins"))try{Z.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],To],1,[">",["get","peoplePraying"],0],1,3])}catch{}se()}}function se(){_&&(cancelAnimationFrame(_),_=null);const Z=++g;let ce=performance.now();function oe(ke){if(!S||Z!==g)return;const ie=t();if(!ie||!O.some(ge=>ie.getLayer(ge))){_=null;return}const Fe=(ke-ce)/1e3;for(let ge=0;ge{try{const L=A.features[0],O=L.properties,$=L.geometry.coordinates.slice();for(;Math.abs(A.lngLat.lng-$[0])>180;)$[0]+=A.lngLat.lng>$[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(L),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat($).setHTML(i(O)).addTo(S)}catch(L){console.error(` [${o}] Pin click handler error:`,L)}};S.on("click",g,k),r.value.push({event:"click",layer:g,handler:k})}function u(){const _=t();if(!_)return;const S="regions-fill";if(!_.getLayer(S))return;const g=k=>{const A=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const L of A)if(_.getLayer(L)){const O=_.queryRenderedFeatures(k.point,{layers:[L]});if(O&&O.length>0)return}if(k.features&&k.features.length>0){const L=k.features[0].properties;new mapboxgl.Popup().setLngLat(k.lngLat).setHTML(l(L)).addTo(_)}};_.on("click",S,g),r.value.push({event:"click",layer:S,handler:g})}function f(){const _=t();if(!_)return;const S="clusters";if(!_.getLayer(S))return;const g=k=>{const A=_.queryRenderedFeatures(k.point,{layers:[S]});if(!A.length)return;const L=A[0].properties.cluster_id,O=A[0].source;_.getSource(O).getClusterExpansionZoom(L,($,m)=>{$||_.easeTo({center:A[0].geometry.coordinates,zoom:m})})};_.on("click",S,g),r.value.push({event:"click",layer:S,handler:g})}function v(_){const S=t();if(!S||!S.getLayer(_))return;const g=()=>{S.getCanvas().style.cursor="pointer"},k=()=>{S.getCanvas().style.cursor=""};S.on("mouseenter",_,g),S.on("mouseleave",_,k),r.value.push({event:"mouseenter",layer:_,handler:g}),r.value.push({event:"mouseleave",layer:_,handler:k})}function x(){c(),v("language-family-pins"),c("language-family-pins-hitbox"),v("language-family-pins-hitbox"),f(),v("clusters")}function T(){u(),v("regions-fill")}function w(){const _=t();_&&(_.getLayer("language-family-pins")&&x(),_.getLayer("regions-fill")&&T(),_.getLayer("people-groups-pins")&&(c(),v("people-groups-pins")))}function E(){const _=t();if(_){for(const{event:S,layer:g,handler:k}of r.value)try{_.off(S,g,k)}catch{}r.value=[]}}return{attachAllEventHandlers:w,attachLanguageFamilyEvents:x,attachRegionEvents:T,attachPinClickHandler:c,attachRegionClickHandler:u,attachClusterClickHandler:f,attachCursorHandlers:v,detachAllEventHandlers:E,generatePinPopupContent:i,generateRegionPopupContent:l,registeredHandlers:r}}const Cb=[[/ sign language$/i,"Sign Language"]];function $b(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(We[a])return We[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(We[s])return We[s]}}if(We[t])return We[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&We[n])return We[n];for(const[a,s]of Cb)if(a.test(t))return s;return null}function Pb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Eb({getMap:t,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),r=me({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),i=me({});function l(Z,ce="languageFamily"){const oe=t();if(!oe||!(Z!=null&&Z.length))return;const ke=Ks(ce),ie=Z.map(z=>{var he,N,d,y,b,P,D,B,Y,q,p,h,F,K,se,ee,R,V,de;return{type:"Feature",properties:{uniqueId:z.id||z.uniqueId,slug:z.slug||((he=z._normalized)==null?void 0:he.slug)||"",rop3:z.rop3||z.peopleGroupId,peopleId3:z.peopleId3||"",name:z.name,language:z.language,languageFamily:z.languageFamily||((N=z._normalized)==null?void 0:N.languageFamily)||$b(z.language)||"Unknown",affinityBlock:z.affinityBlock||z.affbloc||z.Affbloc||((d=z._normalized)==null?void 0:d.affinityBlock)||"Unknown",affinityBlockLabel:z.affinityBlockLabel||((y=z._normalized)==null?void 0:y.affinityBlockLabel)||"",cluster:z.cluster||((b=z._normalized)==null?void 0:b.cluster)||"",clusterLabel:z.clusterLabel||((P=z._normalized)==null?void 0:P.clusterLabel)||"",peopleGroup:z.peopleGroup||((D=z._normalized)==null?void 0:D.peopleGroup)||"",peopleGroupLabel:z.peopleGroupLabel||((B=z._normalized)==null?void 0:B.peopleGroupLabel)||"",doxaRegion:z.doxaRegion||((Y=z._normalized)==null?void 0:Y.doxaRegion)||"Unknown",wagfBlock:z.wagfBlock||((q=z._normalized)==null?void 0:q.wagfBlock)||"",wagfBlockLabel:z.wagfBlockLabel||((p=z._normalized)==null?void 0:p.wagfBlockLabel)||"",wagfRegionLabel:z.wagfRegionLabel||((h=z._normalized)==null?void 0:h.wagfRegionLabel)||"",country:z.country,countryIso:z.countryIso,countryIsoLabel:z.countryIsoLabel,countryName:z.countryName,religion:z.religion,religionCode:z.religionCode,religionLabel:z.religionLabel,religionName:z.religionName,population:z.population,status:z.status,description:z.description||"",imageUrl:z.imageUrl||"",peoplePraying:Number(z.peoplePraying??((F=z._normalized)==null?void 0:F.peoplePraying)??0),engagementStatus:z.engagementStatus===!0||z.engagementStatus===1||!1,adoptionStatus:z.adoptionStatus===!0||z.adoptionStatus===1||!1,bible:z.bible||((K=z._normalized)==null?void 0:K.bible)||"Not Available",jesusFilm:z.jesusFilm||((se=z._normalized)==null?void 0:se.jesusFilm)||"Not Available",radio:z.radio||((ee=z._normalized)==null?void 0:ee.radio)||"Not Available",gospel:z.gospel||((R=z._normalized)==null?void 0:R.gospel)||"Not Available",audio:z.audio||((V=z._normalized)==null?void 0:V.audio)||"Not Available",stories:z.stories||((de=z._normalized)==null?void 0:de.stories)||"Not Available",lng:parseFloat(z.longitude||z.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(z.longitude||z.lng),parseFloat(z.latitude||z.lat)]}}}).filter(z=>!isNaN(z.geometry.coordinates[0])&&!isNaN(z.geometry.coordinates[1])),Fe=.04,ge=z=>`${z.geometry.coordinates[0]},${z.geometry.coordinates[1]}`,Te=new Map;for(const z of ie){const he=ge(z);Te.has(he)||Te.set(he,[]),Te.get(he).push(z)}for(const z of Te.values()){if(z.length<2)continue;const[he,N]=z[0].geometry.coordinates,d=z.length;for(let y=0;y{var he;return(Ae.languageFamily||((he=Ae._normalized)==null?void 0:he.languageFamily)||"Unknown")===Z});if(ke.length<2)return;const ie=n(Z),Fe=[],ge=15,Te=[...ke].sort((Ae,z)=>(Ae.longitude||Ae.lng)-(z.longitude||z.lng));for(let Ae=0;Ae=",["get","peoplePraying"],To],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const I=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function W(Z,ce){const oe=["interpolate",["linear"],["zoom"]];for(let ke=0;ke",["get","peoplePraying"],0],oe=H();if(!O.every(ie=>Z.getLayer(ie))){for(const ie of O)if(Z.getLayer(ie))try{Z.removeLayer(ie)}catch{}Z.addLayer({id:k,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":oe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0}},"language-family-pins");for(const ie of L)Z.addLayer({id:ie,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":oe,"circle-stroke-opacity":0}},"language-family-pins")}}function C(){const Z=t();if(Z)for(const ce of O)Z.getLayer(ce)&&Z.removeLayer(ce)}function M(Z){const ce=t();if(!ce)return;const oe=[">",["get","peoplePraying"],0],ke=Z?["all",oe,Z]:oe;for(const ie of O)if(ce.getLayer(ie))try{ce.setFilter(ie,ke)}catch{}}function G(){const Z=t();if(Z){if(ue(),_&&(cancelAnimationFrame(_),_=null),S=!0,Z.getLayer("language-family-pins"))try{Z.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],To],1,[">",["get","peoplePraying"],0],1,3])}catch{}re()}}function re(){_&&(cancelAnimationFrame(_),_=null);const Z=++g;let ce=performance.now();function oe(ke){if(!S||Z!==g)return;const ie=t();if(!ie||!O.some(ge=>ie.getLayer(ge))){_=null;return}const Fe=(ke-ce)/1e3;for(let ge=0;ge /* Angled, brush-style pin (qa: 2026-05-06 user feedback — wanted a more hand-drawn / painterly feel like the reference image they shared). @@ -188,9 +188,9 @@ fill="url(#${o})" /> -`,t}function Ib(e={}){const{getMap:t=()=>null}=e,o=$e("uiStore");let n=null,a=null;const r=$e("getActivePinColor",null);let s=Vr,i=null;function l(){const w=t();w&&(w.getLayer(ho)||w.getSource("language-families")&&w.addLayer({id:ho,type:"circle",source:"language-families",paint:{"circle-radius":["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],"circle-color":s,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":"#FFFFFF","circle-stroke-opacity":1},filter:["==",["get","uniqueId"],"__none__"]}))}function c(){(!n||i!==s)&&(n=Mb(s),i=s)}function u(w,E){const _=t();_&&(c(),a&&a.remove(),a=new mapboxgl.Marker({element:n,anchor:"bottom",offset:[0,0]}).setLngLat([w,E]).addTo(_))}function f(){a&&(a.remove(),a=null)}function v(w){var L,O;const E=t();if(!E)return;const _=(r==null?void 0:r(w==null?void 0:w.properties))??Vr;if(_!==s&&(s=_,E.getLayer(ho)&&E.setPaintProperty(ho,"circle-color",s)),l(),!w){E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],"__none__"]),f();return}const S=((L=w.properties)==null?void 0:L.uniqueId)||"__none__",g=(O=w.geometry)==null?void 0:O.coordinates;if(!g)return;E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],S]);const[k,A]=g;u(k,A)}Ye(()=>o.selectedPeopleGroup,w=>{v(w)});function x(){l()}function T(){f(),n=null}return{initialize:x,cleanup:T,updateSelectedPin:v}}function mo(e,t){const o=t||Nb(e);ao(()=>{var i;const n=ro();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function Nb(e){let t=0;for(let o=0;o 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}}},Wr={};function Fc(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:xa&&xa.tagName.toUpperCase()==="SCRIPT"&&xa.src||new URL("doxa-simple-map.js",document.baseURI).href}<"u"&&(Wr==null?void 0:Wr.VITE_API_BASE_URL)||""}class Rb{constructor(){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.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Fb,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="",r=!1,s=[],i=!0;for(let l=0;l0){if(s.push(a.trim()),a="",i)n.push(...s),i=!1;else if(s.length>1){const f={};n.forEach((v,x)=>{f[v]=s[x]||""}),o.push(f)}s=[]}}else a+=c}if((a||s.length>0)&&(s.push(a.trim()),!i&&s.length>1)){const l={};n.forEach((c,u)=>{l[c]=s[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:r}=this.parseCSV(n);return this.rawData=r,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(s=>s.trim())),r=[];for(const[s,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||r.push({systemField:s,sourceField:l,isComposite:!0});else i&&!a.has(i)&&r.push({systemField:s,sourceField:i,isComposite:!1});r.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,r)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],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=Fc(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",r=[];a&&r.push(`fields=${a}`);const s={...t.queryParams||{}};for(const[u,f]of Object.entries(s))r.push(`${u}=${encodeURIComponent(f)}`);r.push(`_=${Date.now()}`);const i=`${o}${n}?${r.join("&")}`;try{const u=await fetch(i,{cache:"no-store"});if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${o} may be down or misconfigured.`);const v=await u.json();return this.rawData=Array.isArray(v)?v:v.posts||v.data||v.results||[],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(f=>this.getFieldValue(n,f));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 r=a.engagementStatus;r!=null&&(typeof r=="object"&&"value"in r?(a.engagementStatusLabel=r.label||r.value,a.engagementStatus=r.value==="engaged"):a.engagementStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const s=a.adoptionStatus;s!=null&&(a.adoptionStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="object"&&!!(s!=null&&s.value)||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){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}}}const bo={center:[20,10],zoom:1.8,pitch:20,bearing:0};function Db(e){return(e==null?void 0:e.properties)||e||{}}function ka(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function Ob(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if(We[n])return We[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(We[a])return We[a]}}if(We[e])return We[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&We[o]?We[o]:null}const Bb=[[/ sign language$/i,"Sign Language"]];function Ub(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function Gb(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function jb(e){var s,i,l,c;const t=e.language_family??e.languageFamily??((s=e._raw)==null?void 0:s.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=ka(t),n=Ur(o);if(n&&n!=="Unknown")return n;const a=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),r=ka(a);if(r){const u=String(r).trim(),f=Ob(u);if(f)return f;for(const[v,x]of Bb)if(v.test(u))return x}return"Unknown"}function Kb(e){var a,r;const t=((a=e._raw)==null?void 0:a.primary_language)??((r=e._raw)==null?void 0:r.PrimaryLanguage);if(t){const s=ka(t);if(s)return String(s).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=ka(o);return n&&String(n).trim()||"— Unknown —"}function Hb(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function zb(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function Vb(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function Wb(e,t){var a,r,s,i;const o=parseFloat(t.latitude??t.lat??((a=t._raw)==null?void 0:a.Latitude)??((r=t._raw)==null?void 0:r.latitude)),n=parseFloat(t.longitude??t.lng??((s=t._raw)==null?void 0:s.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function Yb(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function Sa(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function Rc(e,t={}){t.aggregator;const o=Io({});function n(w){return!!o[w]}function a(w){o[w]=!o[w]}function r(w){const E=new Set(Array.isArray(w)?w:[]);for(const _ of Object.keys(o))E.has(_)||(o[_]=!1);for(const _ of E)o[_]=!0}const s=Q(()=>{const w=(e==null?void 0:e.value)||[],E=new Map;for(const _ of w){const S=Db(_),g=jb(S),k=Kb(S),A=Ub(k),L=Gb(k),O=Hb(S),$=zb(_,S),m=Vb(_,S),U=Wb(_,S);let H=E.get(g);H||(H={key:g,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},E.set(g,H)),H.peopleGroupCount+=1,H.population+=O,$!=null&&H.pinIds.push($),U&&H.coords.push(U),m&&!H.clusterId&&(H.clusterId=m);let I=H.languages.get(A);if(I||(I={key:A,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},H.languages.set(A,I)),I.peopleGroupCount+=1,I.population+=O,$!=null&&I.pinIds.push($),U&&I.coords.push(U),m&&!I.clusterId&&(I.clusterId=m),L){let W=I.dialects.get(L);W?W.originalLabels.add(k):(W={key:L,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([k])},I.dialects.set(L,W)),W.peopleGroupCount+=1,W.population+=O,$!=null&&W.pinIds.push($),U&&W.coords.push(U)}}return E}),i=t.showAllKnown!==!1,l=Q(()=>{const w=s.value,E=[],_=new Set;for(const S of w.values())E.push({key:S.key,label:S.key,color:Mt(S.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"family",clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords}),_.add(S.key);if(i)for(const S of Object.keys(Zo))_.has(S)||E.push({key:S,label:S,color:Mt(S),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return E.sort(Yb),E});function c(w){const E=s.value.get(w);if(!E)return[];const _=[];for(const S of E.languages.values())_.push({key:`${w}__${S.key}`,label:S.key,color:Mt(w),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:w,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return _.sort(Sa),_}function u(w){const E=w.indexOf("__");if(E<0)return[];const _=w.slice(0,E),S=w.slice(E+2),g=s.value.get(_);if(!g)return[];const k=g.languages.get(S);if(!k)return[];const A=[];for(const L of k.dialects.values())A.push({key:`${w}__${L.key}`,label:`${S}, ${L.key}`,dialectOnly:L.key,color:Mt(_),peopleGroupCount:L.peopleGroupCount,population:L.population,kind:"dialect",languageKey:S,familyKey:_,pinIds:L.pinIds,coords:L.coords,originalLabels:Array.from(L.originalLabels)});return A.sort(Sa),A}const f=Q(()=>{const w=s.value,E=[];for(const _ of w.values())for(const S of _.languages.values())E.push({key:`${_.key}__${S.key}`,label:S.key,color:Mt(_.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:_.key,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return E.sort(Sa),E}),v=Q(()=>{const w=s.value,E=[];for(const _ of w.values())for(const S of _.languages.values())for(const g of S.dialects.values())E.push({key:`${_.key}__${S.key}__${g.key}`,label:`${S.key}, ${g.key}`,dialectOnly:g.key,color:Mt(_.key),peopleGroupCount:g.peopleGroupCount,population:g.population,kind:"dialect",languageKey:S.key,familyKey:_.key,pinIds:g.pinIds,coords:g.coords,originalLabels:Array.from(g.originalLabels)});return E.sort(Sa),E});function x(w){let E=w;if(typeof w=="string"&&(E=l.value.find(S=>S.key===w),!E))return;const _={kind:E.kind,pinIds:E.pinIds||[],coords:E.coords||[]};E.kind==="family"&&(_.familyKey=E.label),E.kind==="language"&&(_.languageKey=E.label,_.familyKey=E.familyKey),E.kind==="dialect"&&(_.dialectKey=E.key,_.dialectOnly=E.dialectOnly||E.label,_.languageKey=E.languageKey,_.familyKey=E.familyKey,_.originalLabels=E.originalLabels||[]),E.kind==="cluster"&&(_.clusterId=E.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:_}))}const T=Q(()=>{const w=s.value,E=[];for(const _ of w.values()){const S=Mt(_.key),g=[];for(const A of _.languages.values()){A.key&&A.key!=="— Unknown —"&&g.push(A.key);for(const L of A.dialects.values())for(const O of L.originalLabels)O&&g.push(O)}const k={id:`fam:${_.key}`,label:_.key,color:S,count:_.peopleGroupCount,pop:_.population,filter:g.length>0?["any",["==",["get","languageFamily"],_.key],["in",["get","language"],["literal",Array.from(new Set(g))]]]:["==",["get","languageFamily"],_.key],children:[]};for(const A of _.languages.values()){const L=A.key,O={id:`lang:${_.key}__${L}`,label:L,color:S,count:A.peopleGroupCount,pop:A.population,filter:["any",["==",["get","language"],L],["==",["slice",["get","language"],0,L.length+1],L+","],["in"," "+L,["get","language"]]],children:[]};for(const $ of A.dialects.values()){const m=Array.from($.originalLabels);O.children.push({id:`dial:${_.key}__${L}__${$.key}`,label:`${L}, ${$.key}`,color:S,count:$.peopleGroupCount,pop:$.population,filter:m.length===1?["==",["get","language"],m[0]]:["in",["get","language"],["literal",m]],originalLabels:m,children:[]})}k.children.push(O)}E.push(k)}return E.sort((_,S)=>S.pop-_.pop||S.count-_.count),E});return{rows:l,languageRows:f,dialectRows:v,langTree:T,toggle:a,isExpanded:n,setExpansionToOnly:r,childRowsFor:c,dialectRowsFor:u,highlight:x}}const qb=[],Jb={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","No WAGF Region/Bloc":"#95a5a6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},Dc={"Arab World":"#3aac4c",Deaf:"#FFFFFF","East Asian Peoples":"#f7ee6a","Eurasian Peoples":"#ffefbd","Horn of Africa Peoples":"#d37429",Jews:"#710f11","Latin-Caribbean Americans":"#e61e24","Malay Peoples":"#acd566","North American Peoples":"#f87d80","Pacific Islanders":"#418c71","Persian-Median":"#20306c","South Asian Peoples":"#a7892f","Southeast Asian Peoples":"#e84e21","Sub-Saharan Peoples":"#9e4821","Tibetan-Himalayan Peoples":"#426eb5","Turkic Peoples":"#b57bb5"};function Co(e,t){const a=Object.values(e.sources||{}).flatMap(r=>(r==null?void 0:r.features)||[]).filter(r=>t(r.properties||r));return{count:a.length,population:a.reduce((r,s)=>{var l;const i=s.properties||s;return r+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}function Oc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}function Bc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const Xb={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function In(e){return e==="doxa-region"?"doxa-regions":e}function Zb(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function Qb(e){return(Number(e)||0).toLocaleString()}function Yr(e,t={}){const o=$e("dataStore"),n=$e("uiStore"),a=$e("mapStore"),{t:r}=gt(),s=Q(()=>{if(In(e.value)==="religion")return"Religion";const w=Xb[e.value];return w?r(w):""}),i=Q(()=>In(e.value)==="affinity-blocs"?qb:[{key:"count",label:r("legend.columns.upgs"),width:48},{key:"population",label:r("legend.columns.population"),width:48}]),l=Q(()=>{const T=In(e.value);return T==="prayer"?n.prayerFilter:T==="engagement"?n.engagementFilter:T==="adoption"?n.adoptionFilter:T==="language-families"?a.selectedFamily:T==="doxa-regions"?a.selectedRegion:T==="gospel-resources"?a.selectedResource:T==="religion"?n.religionFilter:null});function c(T){const w=In(e.value);w==="prayer"?n.setPrayerFilter(n.prayerFilter===T?null:T):w==="engagement"?n.setEngagementFilter(n.engagementFilter===T?null:T):w==="adoption"?n.setAdoptionFilter(n.adoptionFilter===T?null:T):w==="language-families"?a.selectFamily(a.selectedFamily===T?null:T):w==="doxa-regions"?a.selectRegion(a.selectedRegion===T?null:T):w==="gospel-resources"?a.selectResource(a.selectedResource===T?null:T):w==="religion"&&n.setReligionFilter(n.religionFilter===T?null:T)}const u=Q(()=>{var w,E,_,S;const T=In(e.value);if(T==="prayer"){const g=Co(o,L=>Yo(L)==="noPrayer"),k=Co(o,L=>Yo(L)==="hasPrayer"),A=Co(o,L=>Yo(L)==="fullPrayer");return[{key:"noPrayer",label:r("legend.prayer.needsPrayer"),color:Br.noPrayer,count:g.count,population:g.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:r("legend.prayer.hasPrayer"),color:Br.hasPrayer,count:k.count,population:k.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:r("legend.prayer.fullPrayerCoverage"),color:Br.fullPrayer,count:A.count,population:A.population,filterKey:"fullPrayer"}]}]}if(T==="engagement"){const g=Co(o,A=>!Oc(A)),k=Co(o,A=>Oc(A));return[{key:"notEngaged",label:r("legend.engagement.needsEngagement"),color:hc.notEngaged,count:g.count,population:g.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:r("legend.engagement.hasEngagement"),color:hc.hasEngagement,count:k.count,population:k.population,filterKey:"hasEngagement"}]}]}if(T==="adoption"){const g=Co(o,A=>!Bc(A)),k=Co(o,A=>Bc(A));return[{key:"notAdopted",label:r("legend.adoption.needsAdoption"),color:bc.notAdopted,count:g.count,population:g.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:r("legend.adoption.hasAdoption"),color:bc.hasAdoption,count:k.count,population:k.population,filterKey:"hasAdoption"}]}]}if(T==="religion"){const g={},A=Object.values(o.sources||{}).flatMap($=>($==null?void 0:$.features)||[]);for(const $ of A){const m=$.properties||$,U=m.religion||((E=(w=m._raw)==null?void 0:w.religion)==null?void 0:E.value)||((_=m._raw)==null?void 0:_.religion)||"",H=Pc(U);g[H]||(g[H]={count:0,population:0}),g[H].count+=1,g[H].population+=parseInt(m.population||((S=m._raw)==null?void 0:S.Population)||0)||0}const L=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const $ of L)delete g[$];return Object.keys(g).sort(($,m)=>$==="C"?-1:m==="C"?1:g[m].population-g[$].population).map($=>({key:$,label:jr[$]||"Unknown",color:St[$]||"#94a3b8",count:g[$].count,population:g[$].population,filterKey:$,children:[]}))}if(T==="language-families")return(o.languageFamiliesData||[]).map(g=>({key:g.name,label:g.name,color:Mt(g.name),count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="language-family"){const k={value:Object.values(o.sources||{}).flatMap(L=>(L==null?void 0:L.features)||[])},{rows:A}=Rc(k);return A.value.map(L=>({key:L.key,label:L.label,color:L.color,count:L.peopleGroupCount,population:L.population,filterKey:L.key,children:[]}))}if(T==="doxa-regions")return(o.doxaRegionsData||[]).map(g=>({key:g.name,label:g.name,color:Jb[g.name]||"#999",count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="gospel-resources"){const g=o.resourcesData||[];return Object.keys(oo).map(k=>{const A=g.find(L=>L.key===k);return{key:k,label:fb[k]||k,color:oo[k],count:(A==null?void 0:A.count)||0,population:(A==null?void 0:A.population)||0,filterKey:k,children:((A==null?void 0:A.children)||[]).map(L=>({key:L.key,label:L.name||L.key,color:L.color||oo[k],count:L.count||0,population:L.population||0,filterKey:L.key}))}})}return T==="affinity-blocs"?Object.keys(Dc).map(g=>({key:g,label:g,color:Dc[g],filterKey:g,children:[]})):[]});function f(T,w){return T.reduce((E,_)=>{var g;let S=_[w]||0;return(g=_.children)!=null&&g.length&&(S+=f(_.children,w)),E+S},0)}const v=Q(()=>f(u.value,"count")),x=Q(()=>f(u.value,"population"));return{items:u,columns:i,title:s,activeFilter:l,setFilter:c,totalCount:v,totalPopulation:x,fmtPop:Zb,fmtCount:Qb}}const ey={key:0,class:"lrg-title-row"},ty={class:"lrg-title-caret-slot"},oy={class:"lrg-title"},ny={class:"lrg-row"},ay=["onClick"],ry={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},sy=["onClick"],iy={class:"lrg-name"},ly={class:"lrg-badge-inner"},cy=["onClick"],uy={class:"lrg-name"},dy={class:"lrg-badge-inner"},py={key:1,class:"lrg-footer"},gy={class:"lrg-footer-label"},Uc=Ao({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1}},emits:["filter-click"],setup(e){const{t}=gt();mo(` +`,t}function Ib(e={}){const{getMap:t=()=>null}=e,o=$e("uiStore");let n=null,a=null;const s=$e("getActivePinColor",null);let r=Vs,i=null;function l(){const w=t();w&&(w.getLayer(ho)||w.getSource("language-families")&&w.addLayer({id:ho,type:"circle",source:"language-families",paint:{"circle-radius":["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],"circle-color":r,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":"#FFFFFF","circle-stroke-opacity":1},filter:["==",["get","uniqueId"],"__none__"]}))}function c(){(!n||i!==r)&&(n=Mb(r),i=r)}function u(w,E){const _=t();_&&(c(),a&&a.remove(),a=new mapboxgl.Marker({element:n,anchor:"bottom",offset:[0,0]}).setLngLat([w,E]).addTo(_))}function f(){a&&(a.remove(),a=null)}function v(w){var L,O;const E=t();if(!E)return;const _=(s==null?void 0:s(w==null?void 0:w.properties))??Vs;if(_!==r&&(r=_,E.getLayer(ho)&&E.setPaintProperty(ho,"circle-color",r)),l(),!w){E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],"__none__"]),f();return}const S=((L=w.properties)==null?void 0:L.uniqueId)||"__none__",g=(O=w.geometry)==null?void 0:O.coordinates;if(!g)return;E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],S]);const[k,A]=g;u(k,A)}Ye(()=>o.selectedPeopleGroup,w=>{v(w)});function x(){l()}function T(){f(),n=null}return{initialize:x,cleanup:T,updateSelectedPin:v}}function mo(e,t){const o=t||Nb(e);ao(()=>{var i;const n=so();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}function Nb(e){let t=0;for(let o=0;o 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}}},Ws={};function Fc(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:xa&&xa.tagName.toUpperCase()==="SCRIPT"&&xa.src||new URL("doxa-simple-map.js",document.baseURI).href}<"u"&&(Ws==null?void 0:Ws.VITE_API_BASE_URL)||""}class Rb{constructor(){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.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Fb,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,r=[],i=!0;for(let l=0;l0){if(r.push(a.trim()),a="",i)n.push(...r),i=!1;else if(r.length>1){const f={};n.forEach((v,x)=>{f[v]=r[x]||""}),o.push(f)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};n.forEach((c,u)=>{l[c]=r[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(r=>r.trim())),s=[];for(const[r,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,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=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],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=Fc(),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 r={...t.queryParams||{}};for(const[u,f]of Object.entries(r))s.push(`${u}=${encodeURIComponent(f)}`);s.push(`_=${Date.now()}`);const i=`${o}${n}?${s.join("&")}`;try{const u=await fetch(i,{cache:"no-store"});if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${o} may be down or misconfigured.`);const v=await u.json();return this.rawData=Array.isArray(v)?v:v.posts||v.data||v.results||[],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(f=>this.getFieldValue(n,f));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 r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){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}}}const bo={center:[20,10],zoom:1.8,pitch:20,bearing:0};function Db(e){return(e==null?void 0:e.properties)||e||{}}function ka(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function Ob(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if(We[n])return We[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(We[a])return We[a]}}if(We[e])return We[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&We[o]?We[o]:null}const Bb=[[/ sign language$/i,"Sign Language"]];function Ub(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function jb(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function Gb(e){var r,i,l,c;const t=e.language_family??e.languageFamily??((r=e._raw)==null?void 0:r.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=ka(t),n=Us(o);if(n&&n!=="Unknown")return n;const a=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),s=ka(a);if(s){const u=String(s).trim(),f=Ob(u);if(f)return f;for(const[v,x]of Bb)if(v.test(u))return x}return"Unknown"}function Kb(e){var a,s;const t=((a=e._raw)==null?void 0:a.primary_language)??((s=e._raw)==null?void 0:s.PrimaryLanguage);if(t){const r=ka(t);if(r)return String(r).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=ka(o);return n&&String(n).trim()||"— Unknown —"}function Hb(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function zb(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function Vb(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function Wb(e,t){var a,s,r,i;const o=parseFloat(t.latitude??t.lat??((a=t._raw)==null?void 0:a.Latitude)??((s=t._raw)==null?void 0:s.latitude)),n=parseFloat(t.longitude??t.lng??((r=t._raw)==null?void 0:r.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function Yb(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function Sa(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function Rc(e,t={}){t.aggregator;const o=Io({});function n(w){return!!o[w]}function a(w){o[w]=!o[w]}function s(w){const E=new Set(Array.isArray(w)?w:[]);for(const _ of Object.keys(o))E.has(_)||(o[_]=!1);for(const _ of E)o[_]=!0}const r=Q(()=>{const w=(e==null?void 0:e.value)||[],E=new Map;for(const _ of w){const S=Db(_),g=Gb(S),k=Kb(S),A=Ub(k),L=jb(k),O=Hb(S),$=zb(_,S),m=Vb(_,S),U=Wb(_,S);let H=E.get(g);H||(H={key:g,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},E.set(g,H)),H.peopleGroupCount+=1,H.population+=O,$!=null&&H.pinIds.push($),U&&H.coords.push(U),m&&!H.clusterId&&(H.clusterId=m);let I=H.languages.get(A);if(I||(I={key:A,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},H.languages.set(A,I)),I.peopleGroupCount+=1,I.population+=O,$!=null&&I.pinIds.push($),U&&I.coords.push(U),m&&!I.clusterId&&(I.clusterId=m),L){let W=I.dialects.get(L);W?W.originalLabels.add(k):(W={key:L,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([k])},I.dialects.set(L,W)),W.peopleGroupCount+=1,W.population+=O,$!=null&&W.pinIds.push($),U&&W.coords.push(U)}}return E}),i=t.showAllKnown!==!1,l=Q(()=>{const w=r.value,E=[],_=new Set;for(const S of w.values())E.push({key:S.key,label:S.key,color:Mt(S.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"family",clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords}),_.add(S.key);if(i)for(const S of Object.keys(Zo))_.has(S)||E.push({key:S,label:S,color:Mt(S),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return E.sort(Yb),E});function c(w){const E=r.value.get(w);if(!E)return[];const _=[];for(const S of E.languages.values())_.push({key:`${w}__${S.key}`,label:S.key,color:Mt(w),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:w,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return _.sort(Sa),_}function u(w){const E=w.indexOf("__");if(E<0)return[];const _=w.slice(0,E),S=w.slice(E+2),g=r.value.get(_);if(!g)return[];const k=g.languages.get(S);if(!k)return[];const A=[];for(const L of k.dialects.values())A.push({key:`${w}__${L.key}`,label:`${S}, ${L.key}`,dialectOnly:L.key,color:Mt(_),peopleGroupCount:L.peopleGroupCount,population:L.population,kind:"dialect",languageKey:S,familyKey:_,pinIds:L.pinIds,coords:L.coords,originalLabels:Array.from(L.originalLabels)});return A.sort(Sa),A}const f=Q(()=>{const w=r.value,E=[];for(const _ of w.values())for(const S of _.languages.values())E.push({key:`${_.key}__${S.key}`,label:S.key,color:Mt(_.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:_.key,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return E.sort(Sa),E}),v=Q(()=>{const w=r.value,E=[];for(const _ of w.values())for(const S of _.languages.values())for(const g of S.dialects.values())E.push({key:`${_.key}__${S.key}__${g.key}`,label:`${S.key}, ${g.key}`,dialectOnly:g.key,color:Mt(_.key),peopleGroupCount:g.peopleGroupCount,population:g.population,kind:"dialect",languageKey:S.key,familyKey:_.key,pinIds:g.pinIds,coords:g.coords,originalLabels:Array.from(g.originalLabels)});return E.sort(Sa),E});function x(w){let E=w;if(typeof w=="string"&&(E=l.value.find(S=>S.key===w),!E))return;const _={kind:E.kind,pinIds:E.pinIds||[],coords:E.coords||[]};E.kind==="family"&&(_.familyKey=E.label),E.kind==="language"&&(_.languageKey=E.label,_.familyKey=E.familyKey),E.kind==="dialect"&&(_.dialectKey=E.key,_.dialectOnly=E.dialectOnly||E.label,_.languageKey=E.languageKey,_.familyKey=E.familyKey,_.originalLabels=E.originalLabels||[]),E.kind==="cluster"&&(_.clusterId=E.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:_}))}const T=Q(()=>{const w=r.value,E=[];for(const _ of w.values()){const S=Mt(_.key),g=[];for(const A of _.languages.values()){A.key&&A.key!=="— Unknown —"&&g.push(A.key);for(const L of A.dialects.values())for(const O of L.originalLabels)O&&g.push(O)}const k={id:`fam:${_.key}`,label:_.key,color:S,count:_.peopleGroupCount,pop:_.population,filter:g.length>0?["any",["==",["get","languageFamily"],_.key],["in",["get","language"],["literal",Array.from(new Set(g))]]]:["==",["get","languageFamily"],_.key],children:[]};for(const A of _.languages.values()){const L=A.key,O={id:`lang:${_.key}__${L}`,label:L,color:S,count:A.peopleGroupCount,pop:A.population,filter:["any",["==",["get","language"],L],["==",["slice",["get","language"],0,L.length+1],L+","],["in"," "+L,["get","language"]]],children:[]};for(const $ of A.dialects.values()){const m=Array.from($.originalLabels);O.children.push({id:`dial:${_.key}__${L}__${$.key}`,label:`${L}, ${$.key}`,color:S,count:$.peopleGroupCount,pop:$.population,filter:m.length===1?["==",["get","language"],m[0]]:["in",["get","language"],["literal",m]],originalLabels:m,children:[]})}k.children.push(O)}E.push(k)}return E.sort((_,S)=>S.pop-_.pop||S.count-_.count),E});return{rows:l,languageRows:f,dialectRows:v,langTree:T,toggle:a,isExpanded:n,setExpansionToOnly:s,childRowsFor:c,dialectRowsFor:u,highlight:x}}const qb=[],Jb={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","No WAGF Region/Bloc":"#95a5a6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},Dc={"Arab World":"#3aac4c",Deaf:"#FFFFFF","East Asian Peoples":"#f7ee6a","Eurasian Peoples":"#ffefbd","Horn of Africa Peoples":"#d37429",Jews:"#710f11","Latin-Caribbean Americans":"#e61e24","Malay Peoples":"#acd566","North American Peoples":"#f87d80","Pacific Islanders":"#418c71","Persian-Median":"#20306c","South Asian Peoples":"#a7892f","Southeast Asian Peoples":"#e84e21","Sub-Saharan Peoples":"#9e4821","Tibetan-Himalayan Peoples":"#426eb5","Turkic Peoples":"#b57bb5"};function Co(e,t){const a=Object.values(e.sources||{}).flatMap(s=>(s==null?void 0:s.features)||[]).filter(s=>t(s.properties||s));return{count:a.length,population:a.reduce((s,r)=>{var l;const i=r.properties||r;return s+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}function Oc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}function Bc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const Xb={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function In(e){return e==="doxa-region"?"doxa-regions":e}function Zb(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function Qb(e){return(Number(e)||0).toLocaleString()}function Ys(e,t={}){const o=$e("dataStore"),n=$e("uiStore"),a=$e("mapStore"),{t:s}=gt(),r=Q(()=>{if(In(e.value)==="religion")return"Religion";const w=Xb[e.value];return w?s(w):""}),i=Q(()=>In(e.value)==="affinity-blocs"?qb:[{key:"count",label:s("legend.columns.upgs"),width:48},{key:"population",label:s("legend.columns.population"),width:48}]),l=Q(()=>{const T=In(e.value);return T==="prayer"?n.prayerFilter:T==="engagement"?n.engagementFilter:T==="adoption"?n.adoptionFilter:T==="language-families"?a.selectedFamily:T==="doxa-regions"?a.selectedRegion:T==="gospel-resources"?a.selectedResource:T==="religion"?n.religionFilter:null});function c(T){const w=In(e.value);w==="prayer"?n.setPrayerFilter(n.prayerFilter===T?null:T):w==="engagement"?n.setEngagementFilter(n.engagementFilter===T?null:T):w==="adoption"?n.setAdoptionFilter(n.adoptionFilter===T?null:T):w==="language-families"?a.selectFamily(a.selectedFamily===T?null:T):w==="doxa-regions"?a.selectRegion(a.selectedRegion===T?null:T):w==="gospel-resources"?a.selectResource(a.selectedResource===T?null:T):w==="religion"&&n.setReligionFilter(n.religionFilter===T?null:T)}const u=Q(()=>{var w,E,_,S;const T=In(e.value);if(T==="prayer"){const g=Co(o,L=>Yo(L)==="noPrayer"),k=Co(o,L=>Yo(L)==="hasPrayer"),A=Co(o,L=>Yo(L)==="fullPrayer");return[{key:"noPrayer",label:s("legend.prayer.needsPrayer"),color:Bs.noPrayer,count:g.count,population:g.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:s("legend.prayer.hasPrayer"),color:Bs.hasPrayer,count:k.count,population:k.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:s("legend.prayer.fullPrayerCoverage"),color:Bs.fullPrayer,count:A.count,population:A.population,filterKey:"fullPrayer"}]}]}if(T==="engagement"){const g=Co(o,A=>!Oc(A)),k=Co(o,A=>Oc(A));return[{key:"notEngaged",label:s("legend.engagement.needsEngagement"),color:hc.notEngaged,count:g.count,population:g.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:s("legend.engagement.hasEngagement"),color:hc.hasEngagement,count:k.count,population:k.population,filterKey:"hasEngagement"}]}]}if(T==="adoption"){const g=Co(o,A=>!Bc(A)),k=Co(o,A=>Bc(A));return[{key:"notAdopted",label:s("legend.adoption.needsAdoption"),color:bc.notAdopted,count:g.count,population:g.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:s("legend.adoption.hasAdoption"),color:bc.hasAdoption,count:k.count,population:k.population,filterKey:"hasAdoption"}]}]}if(T==="religion"){const g={},A=Object.values(o.sources||{}).flatMap($=>($==null?void 0:$.features)||[]);for(const $ of A){const m=$.properties||$,U=m.religion||((E=(w=m._raw)==null?void 0:w.religion)==null?void 0:E.value)||((_=m._raw)==null?void 0:_.religion)||"",H=Pc(U);g[H]||(g[H]={count:0,population:0}),g[H].count+=1,g[H].population+=parseInt(m.population||((S=m._raw)==null?void 0:S.Population)||0)||0}const L=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const $ of L)delete g[$];return Object.keys(g).sort(($,m)=>$==="C"?-1:m==="C"?1:g[m].population-g[$].population).map($=>({key:$,label:Gs[$]||"Unknown",color:St[$]||"#94a3b8",count:g[$].count,population:g[$].population,filterKey:$,children:[]}))}if(T==="language-families")return(o.languageFamiliesData||[]).map(g=>({key:g.name,label:g.name,color:Mt(g.name),count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="language-family"){const k={value:Object.values(o.sources||{}).flatMap(L=>(L==null?void 0:L.features)||[])},{rows:A}=Rc(k);return A.value.map(L=>({key:L.key,label:L.label,color:L.color,count:L.peopleGroupCount,population:L.population,filterKey:L.key,children:[]}))}if(T==="doxa-regions")return(o.doxaRegionsData||[]).map(g=>({key:g.name,label:g.name,color:Jb[g.name]||"#999",count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="gospel-resources"){const g=o.resourcesData||[];return Object.keys(oo).map(k=>{const A=g.find(L=>L.key===k);return{key:k,label:fb[k]||k,color:oo[k],count:(A==null?void 0:A.count)||0,population:(A==null?void 0:A.population)||0,filterKey:k,children:((A==null?void 0:A.children)||[]).map(L=>({key:L.key,label:L.name||L.key,color:L.color||oo[k],count:L.count||0,population:L.population||0,filterKey:L.key}))}})}return T==="affinity-blocs"?Object.keys(Dc).map(g=>({key:g,label:g,color:Dc[g],filterKey:g,children:[]})):[]});function f(T,w){return T.reduce((E,_)=>{var g;let S=_[w]||0;return(g=_.children)!=null&&g.length&&(S+=f(_.children,w)),E+S},0)}const v=Q(()=>f(u.value,"count")),x=Q(()=>f(u.value,"population"));return{items:u,columns:i,title:r,activeFilter:l,setFilter:c,totalCount:v,totalPopulation:x,fmtPop:Zb,fmtCount:Qb}}const ey={key:0,class:"lrg-title-row"},ty={class:"lrg-title-caret-slot"},oy={class:"lrg-title"},ny={class:"lrg-row"},ay=["onClick"],sy={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},ry=["onClick"],iy={class:"lrg-name"},ly={class:"lrg-badge-inner"},cy=["onClick"],uy={class:"lrg-name"},dy={class:"lrg-badge-inner"},py={key:1,class:"lrg-footer"},gy={class:"lrg-footer-label"},Uc=Ao({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1}},emits:["filter-click"],setup(e){const{t}=gt();mo(` /* ── LegendRows — single flat grid with an invisible caret column. Spec: docs/legend-spec.md. One parent grid (.lrg-items) with subgrid children (.lrg-title-row, .lrg-row, .lrg-footer). Col 1 is the caret @@ -279,7 +279,7 @@ .lrg-dark .lrg-header-col{color:rgba(243,243,241,0.65);} .lrg-dark .lrg-footer{background:#2a332a;border-top-color:rgba(255,255,255,0.1);color:rgba(243,243,241,0.75);} .lrg-dark .lrg-footer-label{color:rgba(243,243,241,0.65);} -`,"legend-row-group");const o=e,n=Io({});function a(s){n[s]=!n[s]}const r=Q(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(s,i)=>(J(),ne("div",{class:Be(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[G("div",{class:"lrg-items",style:ct({"--lrg-grid-cols":r.value})},[!e.hideColumnHeader&&(e.title||e.columns.length)?(J(),ne("div",ey,[G("span",ty,[ta(s.$slots,"title-caret",{},void 0,!0)]),G("span",oy,ye(e.title),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-header-col"},ye(l.label),1))),128))])):we("",!0),(J(!0),ne(Ie,null,Bt(e.items,l=>(J(),ne(Ie,{key:l.key},[G("div",ny,[l.children&&l.children.length&&!e.disableCollapse?(J(),ne("button",{key:0,class:Be(["lrg-caret",{expanded:!n[l.key]}]),onClick:Et(c=>a(l.key),["stop"]),"aria-label":"Toggle children"},[...i[0]||(i[0]=[G("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,ay)):(J(),ne("span",ry)),G("div",{class:Be(["lrg-item",{selected:e.activeFilter===l.filterKey}]),onClick:c=>s.$emit("filter-click",l.filterKey)},[G("div",{class:"lrg-item-inner",style:ct({backgroundColor:l.color,"--lrg-item-color":l.color})},[G("span",iy,ye(l.label),1),(J(!0),ne(Ie,null,Bt(e.columns,c=>(J(),ne("span",{key:c.key,class:"lrg-badge"},[G("span",ly,ye(c.key==="population"?e.fmtPop(l.population):e.fmtCount(l.count)),1)]))),128))],4)],10,sy)]),l.children&&l.children.length&&!n[l.key]?(J(!0),ne(Ie,{key:0},Bt(l.children,c=>(J(),ne("div",{key:c.key,class:"lrg-row lrg-row-child"},[i[1]||(i[1]=G("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),G("div",{class:Be(["lrg-item",{selected:e.activeFilter===c.filterKey}]),onClick:u=>s.$emit("filter-click",c.filterKey)},[G("div",{class:"lrg-item-inner",style:ct({backgroundColor:c.color,"--lrg-item-color":c.color})},[G("span",uy,ye(c.label),1),(J(!0),ne(Ie,null,Bt(e.columns,u=>(J(),ne("span",{key:u.key,class:"lrg-badge"},[G("span",dy,ye(u.key==="population"?e.fmtPop(c.population):e.fmtCount(c.count)),1)]))),128))],4)],10,cy)]))),128)):we("",!0)],64))),128)),e.columns.length&&e.showFooter?(J(),ne("div",py,[i[2]||(i[2]=G("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),G("span",gy,ye(pe(t)("legend.footer.total")),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-footer-value"},ye(l.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):we("",!0)],4)],2))}},[["__scopeId","data-v-686c20a7"]]),Gc=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function jc(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%Gc.length,n=Gc[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function fy(e,t={}){const{size:o=32,borderRadius:n=4}=t,a=jc(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:a.backgroundColor,color:a.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const hy={key:0,class:"detail-header"},my={class:"header-left"},by={class:"header-text"},yy={class:"people-group-name"},_y={class:"people-group-subtitle"},vy=["aria-label"],wy={class:"detail-content"},ky={key:0,class:"pg-name-lead"},Sy={class:"action-buttons"},Ay={class:"quick-stats"},xy={class:"stat-item"},Ly={class:"stat-label"},Ty={class:"stat-value"},Ey={class:"stat-item"},Cy={class:"stat-label"},$y={class:"stat-value"},Py={class:"stat-item"},My={class:"stat-label"},Iy={class:"stat-value"},Ny={class:"stat-item"},Fy={class:"stat-label"},Ry={class:"stat-value"},Dy={key:1,class:"image-container position-inside"},Oy=["src","alt"],By={key:2,class:"description-section"},Uy={key:0,class:"description-text"},Gy={key:1,class:"description-text empty"},Kc="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Hc=Ao({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=gt();mo(` +`,"legend-row-group");const o=e,n=Io({});function a(r){n[r]=!n[r]}const s=Q(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(r,i)=>(J(),ne("div",{class:Be(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[j("div",{class:"lrg-items",style:ct({"--lrg-grid-cols":s.value})},[!e.hideColumnHeader&&(e.title||e.columns.length)?(J(),ne("div",ey,[j("span",ty,[ta(r.$slots,"title-caret",{},void 0,!0)]),j("span",oy,ye(e.title),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-header-col"},ye(l.label),1))),128))])):we("",!0),(J(!0),ne(Ie,null,Bt(e.items,l=>(J(),ne(Ie,{key:l.key},[j("div",ny,[l.children&&l.children.length&&!e.disableCollapse?(J(),ne("button",{key:0,class:Be(["lrg-caret",{expanded:!n[l.key]}]),onClick:Et(c=>a(l.key),["stop"]),"aria-label":"Toggle children"},[...i[0]||(i[0]=[j("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,ay)):(J(),ne("span",sy)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===l.filterKey}]),onClick:c=>r.$emit("filter-click",l.filterKey)},[j("div",{class:"lrg-item-inner",style:ct({backgroundColor:l.color,"--lrg-item-color":l.color})},[j("span",iy,ye(l.label),1),(J(!0),ne(Ie,null,Bt(e.columns,c=>(J(),ne("span",{key:c.key,class:"lrg-badge"},[j("span",ly,ye(c.key==="population"?e.fmtPop(l.population):e.fmtCount(l.count)),1)]))),128))],4)],10,ry)]),l.children&&l.children.length&&!n[l.key]?(J(!0),ne(Ie,{key:0},Bt(l.children,c=>(J(),ne("div",{key:c.key,class:"lrg-row lrg-row-child"},[i[1]||(i[1]=j("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===c.filterKey}]),onClick:u=>r.$emit("filter-click",c.filterKey)},[j("div",{class:"lrg-item-inner",style:ct({backgroundColor:c.color,"--lrg-item-color":c.color})},[j("span",uy,ye(c.label),1),(J(!0),ne(Ie,null,Bt(e.columns,u=>(J(),ne("span",{key:u.key,class:"lrg-badge"},[j("span",dy,ye(u.key==="population"?e.fmtPop(c.population):e.fmtCount(c.count)),1)]))),128))],4)],10,cy)]))),128)):we("",!0)],64))),128)),e.columns.length&&e.showFooter?(J(),ne("div",py,[i[2]||(i[2]=j("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),j("span",gy,ye(pe(t)("legend.footer.total")),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-footer-value"},ye(l.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):we("",!0)],4)],2))}},[["__scopeId","data-v-686c20a7"]]),jc=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function Gc(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%jc.length,n=jc[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function fy(e,t={}){const{size:o=32,borderRadius:n=4}=t,a=Gc(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:a.backgroundColor,color:a.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const hy={key:0,class:"detail-header"},my={class:"header-left"},by={class:"header-text"},yy={class:"people-group-name"},_y={class:"people-group-subtitle"},vy=["aria-label"],wy={class:"detail-content"},ky={key:0,class:"pg-name-lead"},Sy={class:"action-buttons"},Ay={class:"quick-stats"},xy={class:"stat-item"},Ly={class:"stat-label"},Ty={class:"stat-value"},Ey={class:"stat-item"},Cy={class:"stat-label"},$y={class:"stat-value"},Py={class:"stat-item"},My={class:"stat-label"},Iy={class:"stat-value"},Ny={class:"stat-item"},Fy={class:"stat-label"},Ry={class:"stat-value"},Dy={key:1,class:"image-container position-inside"},Oy=["src","alt"],By={key:2,class:"description-section"},Uy={key:0,class:"description-text"},jy={key:1,class:"description-text empty"},Kc="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Hc=Ao({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=gt();mo(` .people-group-detail{display:flex;flex-direction:column;height:100%;overflow-y:auto;} .people-group-detail.dark-mode{background:#1a1a2e;color:#eee;} .detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:white;position:sticky;top:0;z-index:10;} @@ -330,7 +330,7 @@ .dark-mode .description-text{color:#d1d5db;} .description-text.empty{color:#999;font-style:italic;} .dark-mode .description-text.empty{color:#6b7280;} -`,"legend-people-group-detail");const n=e,a=$e("uiStore"),r=Q(()=>a.legendState),s=Q(()=>a.isMobile),i=Q(()=>!s.value||r.value==="fullyOpen"),l=Q(()=>jc(n.peopleGroup.properties.name)),c=Q(()=>l.value.letter),u=Q(()=>fy(n.peopleGroup.properties.name,{size:32,borderRadius:4})),f=Q(()=>n.peopleGroup.properties),v=me(null),x=me(!1),T=Q(()=>f.value.slug||"");async function w(C){if(!C)return;const M=Fc();if(M)try{const j=await fetch(`${M}/api/people-groups/detail/${encodeURIComponent(C)}?lang=${encodeURIComponent(o.value)}`);if(!j.ok)throw new Error(`HTTP ${j.status}`);v.value=await j.json()}catch{v.value=null}}Ye(T,C=>{x.value=!1,v.value=null,w(C)},{immediate:!0});const E=Q(()=>{var C;return f.value.countryName||f.value.countryIsoLabel||f.value.country||f.value.countryIso||((C=f.value._raw)==null?void 0:C.Country)||""}),_=Q(()=>{var j;const C=f.value.status||((j=f.value._raw)==null?void 0:j.Status),M=E.value||"Unknown";return C?`${M} • ${C}`:M}),S=Q(()=>{var M;const C=f.value.language||((M=f.value._raw)==null?void 0:M.Language);if(!C)return"Unknown";if(typeof C=="object"&&C.label)return C.label;if(typeof C=="string"&&C.startsWith("{"))try{const j=JSON.parse(C);if(j!=null&&j.label)return j.label}catch{}return C}),g=Q(()=>{var C;return f.value.population||((C=f.value._raw)==null?void 0:C.Population)||0}),k=Q(()=>{var C;return f.value.religionName||f.value.religionLabel||f.value.religion||((C=f.value._raw)==null?void 0:C.Religion)||""}),A=Q(()=>{var C,M,j;return((C=v.value)==null?void 0:C.imb_people_description)||((M=v.value)==null?void 0:M.description)||f.value.description||((j=f.value._raw)==null?void 0:j.Description)||""}),L=Q(()=>{var C,M,j;return((C=v.value)==null?void 0:C.image_url)||((M=v.value)==null?void 0:M.imageUrl)||f.value.imageUrl||((j=f.value._raw)==null?void 0:j.ImageURL)||Kc}),O=Q(()=>{const C=parseInt(g.value);return C>=1e6?`${(C/1e6).toFixed(1)}M`:C>=1e3?`${(C/1e3).toFixed(1)}K`:C.toLocaleString()});function $(){a.selectPeopleGroup(null)}function m(C){return`https://pray.doxa.life/${encodeURIComponent(C)}?source=doxalife`}function U(C){var j;return`${typeof window<"u"&&((j=window.location)==null?void 0:j.origin)||"https://doxa.life"}/adopt/${encodeURIComponent(C)}/?source=doxalife`}function H(C){var j;return`${typeof window<"u"&&((j=window.location)==null?void 0:j.origin)||"https://doxa.life"}/research/${encodeURIComponent(C)}/`}function I(){const C=T.value;if(!C)return;const M=n.action==="adopt"?U(C):m(C);window.open(M,"_blank","noopener")}function W(){const C=T.value;C&&window.open(H(C),"_blank","noopener")}function ue(C){C.target.dataset.usedFallback||(C.target.dataset.usedFallback="true",C.target.src=Kc)}return(C,M)=>(J(),ne("div",{class:Be(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?we("",!0):(J(),ne("div",hy,[G("div",my,[G("div",{class:"avatar",style:ct(u.value)},ye(c.value),5),G("div",by,[G("h3",yy,ye(e.peopleGroup.properties.name),1),G("p",_y,ye(_.value),1)])]),G("button",{class:"close-button",onClick:$,"aria-label":pe(t)("aria.closeDetailView")},[...M[1]||(M[1]=[G("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[G("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,vy)])),G("div",wy,[e.hideHeader?(J(),ne("h3",ky,ye(e.peopleGroup.properties.name||pe(t)("legend.header.peopleGroupFallback")),1)):we("",!0),G("div",Sy,[e.action==="pray"||e.action==="adopt"?(J(),ne("button",{key:0,class:"action-btn primary",onClick:I},[M[2]||(M[2]=G("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[G("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),G("span",null,ye(e.action==="adopt"?pe(t)("buttons.adoptThem"):pe(t)("buttons.prayForThem")),1)])):we("",!0),G("button",{class:"action-btn secondary",onClick:W},[M[3]||(M[3]=G("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[G("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),G("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),G("span",null,ye(pe(t)("buttons.moreInfo")),1)])]),G("div",Ay,[G("div",xy,[G("span",Ly,ye(pe(t)("detail.labels.country")),1),G("span",Ty,ye(E.value||"—"),1)]),G("div",Ey,[G("span",Cy,ye(pe(t)("detail.labels.population")),1),G("span",$y,ye(O.value||"—"),1)]),G("div",Py,[G("span",My,ye(pe(t)("detail.labels.language")),1),G("span",Iy,ye(S.value||"—"),1)]),G("div",Ny,[G("span",Fy,ye(pe(t)("detail.labels.religion")),1),G("span",Ry,ye(k.value||"—"),1)])]),i.value?(J(),ne("div",Dy,[G("div",{class:Be(["image-placeholder-svg",{hidden:x.value}])},[...M[4]||(M[4]=[G("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[G("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),G("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),L.value?(J(),ne("img",{key:0,src:L.value,alt:`${e.peopleGroup.properties.name} people group`,class:Be(["people-group-image",{loaded:x.value}]),onLoad:M[0]||(M[0]=j=>x.value=!0),onError:ue},null,42,Oy)):we("",!0)])):we("",!0),i.value?(J(),ne("div",By,[A.value?(J(),ne("p",Uy,ye(A.value),1)):(J(),ne("p",Gy,ye(pe(t)("detail.messages.noDescription")),1))])):we("",!0)])],2))}},[["__scopeId","data-v-0cd4696d"]]),zc={excludeReligionFamilies:["C"]},jy={class:"legend-reopen-label"},Ky=["aria-label"],Hy=["aria-label"],zy=["aria-label"],Vy=Ao({__name:"LegendDesktop",props:{legendType:{type:String,required:!0},initiallyCollapsed:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0)),{t:o}=gt();mo(` +`,"legend-people-group-detail");const n=e,a=$e("uiStore"),s=Q(()=>a.legendState),r=Q(()=>a.isMobile),i=Q(()=>!r.value||s.value==="fullyOpen"),l=Q(()=>Gc(n.peopleGroup.properties.name)),c=Q(()=>l.value.letter),u=Q(()=>fy(n.peopleGroup.properties.name,{size:32,borderRadius:4})),f=Q(()=>n.peopleGroup.properties),v=me(null),x=me(!1),T=Q(()=>f.value.slug||"");async function w(C){if(!C)return;const M=Fc();if(M)try{const G=await fetch(`${M}/api/people-groups/detail/${encodeURIComponent(C)}?lang=${encodeURIComponent(o.value)}`);if(!G.ok)throw new Error(`HTTP ${G.status}`);v.value=await G.json()}catch{v.value=null}}Ye(T,C=>{x.value=!1,v.value=null,w(C)},{immediate:!0});const E=Q(()=>{var C;return f.value.countryName||f.value.countryIsoLabel||f.value.country||f.value.countryIso||((C=f.value._raw)==null?void 0:C.Country)||""}),_=Q(()=>{var G;const C=f.value.status||((G=f.value._raw)==null?void 0:G.Status),M=E.value||"Unknown";return C?`${M} • ${C}`:M}),S=Q(()=>{var M;const C=f.value.language||((M=f.value._raw)==null?void 0:M.Language);if(!C)return"Unknown";if(typeof C=="object"&&C.label)return C.label;if(typeof C=="string"&&C.startsWith("{"))try{const G=JSON.parse(C);if(G!=null&&G.label)return G.label}catch{}return C}),g=Q(()=>{var C;return f.value.population||((C=f.value._raw)==null?void 0:C.Population)||0}),k=Q(()=>{var C;return f.value.religionName||f.value.religionLabel||f.value.religion||((C=f.value._raw)==null?void 0:C.Religion)||""}),A=Q(()=>{var C,M,G;return((C=v.value)==null?void 0:C.imb_people_description)||((M=v.value)==null?void 0:M.description)||f.value.description||((G=f.value._raw)==null?void 0:G.Description)||""}),L=Q(()=>{var C,M,G;return((C=v.value)==null?void 0:C.image_url)||((M=v.value)==null?void 0:M.imageUrl)||f.value.imageUrl||((G=f.value._raw)==null?void 0:G.ImageURL)||Kc}),O=Q(()=>{const C=parseInt(g.value);return C>=1e6?`${(C/1e6).toFixed(1)}M`:C>=1e3?`${(C/1e3).toFixed(1)}K`:C.toLocaleString()});function $(){a.selectPeopleGroup(null)}function m(C){return`https://pray.doxa.life/${encodeURIComponent(C)}?source=doxalife`}function U(C){var G;return`${typeof window<"u"&&((G=window.location)==null?void 0:G.origin)||"https://doxa.life"}/adopt/${encodeURIComponent(C)}/?source=doxalife`}function H(C){var G;return`${typeof window<"u"&&((G=window.location)==null?void 0:G.origin)||"https://doxa.life"}/research/${encodeURIComponent(C)}/`}function I(){const C=T.value;if(!C)return;const M=n.action==="adopt"?U(C):m(C);window.open(M,"_blank","noopener")}function W(){const C=T.value;C&&window.open(H(C),"_blank","noopener")}function ue(C){C.target.dataset.usedFallback||(C.target.dataset.usedFallback="true",C.target.src=Kc)}return(C,M)=>(J(),ne("div",{class:Be(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?we("",!0):(J(),ne("div",hy,[j("div",my,[j("div",{class:"avatar",style:ct(u.value)},ye(c.value),5),j("div",by,[j("h3",yy,ye(e.peopleGroup.properties.name),1),j("p",_y,ye(_.value),1)])]),j("button",{class:"close-button",onClick:$,"aria-label":pe(t)("aria.closeDetailView")},[...M[1]||(M[1]=[j("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,vy)])),j("div",wy,[e.hideHeader?(J(),ne("h3",ky,ye(e.peopleGroup.properties.name||pe(t)("legend.header.peopleGroupFallback")),1)):we("",!0),j("div",Sy,[e.action==="pray"||e.action==="adopt"?(J(),ne("button",{key:0,class:"action-btn primary",onClick:I},[M[2]||(M[2]=j("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[j("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),j("span",null,ye(e.action==="adopt"?pe(t)("buttons.adoptThem"):pe(t)("buttons.prayForThem")),1)])):we("",!0),j("button",{class:"action-btn secondary",onClick:W},[M[3]||(M[3]=j("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[j("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),j("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),j("span",null,ye(pe(t)("buttons.moreInfo")),1)])]),j("div",Ay,[j("div",xy,[j("span",Ly,ye(pe(t)("detail.labels.country")),1),j("span",Ty,ye(E.value||"—"),1)]),j("div",Ey,[j("span",Cy,ye(pe(t)("detail.labels.population")),1),j("span",$y,ye(O.value||"—"),1)]),j("div",Py,[j("span",My,ye(pe(t)("detail.labels.language")),1),j("span",Iy,ye(S.value||"—"),1)]),j("div",Ny,[j("span",Fy,ye(pe(t)("detail.labels.religion")),1),j("span",Ry,ye(k.value||"—"),1)])]),i.value?(J(),ne("div",Dy,[j("div",{class:Be(["image-placeholder-svg",{hidden:x.value}])},[...M[4]||(M[4]=[j("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[j("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),j("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),L.value?(J(),ne("img",{key:0,src:L.value,alt:`${e.peopleGroup.properties.name} people group`,class:Be(["people-group-image",{loaded:x.value}]),onLoad:M[0]||(M[0]=G=>x.value=!0),onError:ue},null,42,Oy)):we("",!0)])):we("",!0),i.value?(J(),ne("div",By,[A.value?(J(),ne("p",Uy,ye(A.value),1)):(J(),ne("p",jy,ye(pe(t)("detail.messages.noDescription")),1))])):we("",!0)])],2))}},[["__scopeId","data-v-0cd4696d"]]),zc={excludeReligionFamilies:["C"]},Gy={class:"legend-reopen-label"},Ky=["aria-label"],Hy=["aria-label"],zy=["aria-label"],Vy=Ao({__name:"LegendDesktop",props:{legendType:{type:String,required:!0},initiallyCollapsed:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0)),{t:o}=gt();mo(` /* ── Container — the card. The LegendRows grid owns left/right padding via its caret + trailing columns. The card itself only adds top/bottom breathing space via @@ -478,7 +478,7 @@ .legend-dark .legend-item-selected{outline-color:rgba(255,255,255,0.5)!important;} .legend-dark .legend-tree-caret{color:rgba(243,243,241,0.7)!important;} .legend-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);} -`,"legend-component");const n=e;$e("mapStore"),$e("dataStore");const a=$e("uiStore"),r=za(n,"legendType"),{items:s,columns:i,title:l,activeFilter:c,setFilter:u,totalCount:f,totalPopulation:v,fmtPop:x,fmtCount:T}=Yr(r,zc);$e("normalizedPeopleGroups",null);const w=$e("mapId",null),E=Q(()=>a.isMobile),_=Q(()=>a.legendMode),S=Q(()=>a.selectedPeopleGroup),g=me(n.initiallyCollapsed);let k=null;const A=Q(()=>{var $;return _.value==="detail"&&S.value?(($=S.value.properties)==null?void 0:$.name)||o("legend.header.peopleGroupFallback"):g.value?o("legend.header.collapsed"):l.value});function L(){g.value=!g.value}Ye(_,($,m)=>{$==="detail"&&m!=="detail"&&g.value&&(g.value=!1)});function O($){u($)}return ao(()=>{window.innerWidth<768&&(g.value=!0),k=$=>{var m;w&&((m=$.detail)!=null&&m.mapId)&&$.detail.mapId!==w||(g.value=!1)},window.addEventListener("doxa:openDesktopLegend",k)}),Bo(()=>{k&&window.removeEventListener("doxa:openDesktopLegend",k)}),($,m)=>E.value?(J(),Je(pe(t),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):g.value?(J(),ne("button",{key:1,class:Be(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:"Expand legend",onClick:m[0]||(m[0]=U=>g.value=!1)},[m[2]||(m[2]=G("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),G("span",jy,ye(pe(l)),1),m[3]||(m[3]=G("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],2)):(J(),ne("div",{key:2,class:Be(["legend-container",{"legend-dark":e.isDark}])},[_.value==="detail"?(J(),ne("button",{key:0,class:"detail-collapse-btn",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},null,8,Ky)):we("",!0),_.value==="detail"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:m[1]||(m[1]=Et(U=>pe(a).selectPeopleGroup(null),["stop"])),"aria-label":pe(o)("aria.backToLegend")},[...m[4]||(m[4]=[G("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[G("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Hy)):we("",!0),G("div",{class:Be(["legend-content",{"no-padding":pe(i).length>0}])},[_.value==="detail"&&S.value?(J(),Je(Hc,{key:0,peopleGroup:S.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):e.legendType==="language-family"?(J(),ne(Ie,{key:1},[],64)):(J(),Je(Uc,{key:2,title:A.value,items:pe(s),columns:pe(i),activeFilter:pe(c),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(f),totalPopulation:pe(v),fmtPop:pe(x),fmtCount:pe(T),onFilterClick:O},{"title-caret":Tt(()=>[G("button",{class:"legend-collapse-caret",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},[...m[5]||(m[5]=[G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:"rotate(180deg)","transform-origin":"center"}})],-1)])],8,zy)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))],2)],2))}},[["__scopeId","data-v-6dbdb66e"]]),Vc="pplrInstance";function Wy(e){return{instanceId:e,selection:me(null),activeTab:me(0),isSearching:me(!1),geocoderText:me(""),pinDetail:me(null),theme:me("dark")}}function Yy(e){wt(Vc,e)}function qy(){return $e(Vc,null)}const Jy=["data-theme"],Xy={class:"stl-inner"},Zy={class:"stl-titlebar"},Qy={class:"stl-tb-caret-slot"},e_=["title"],t_={class:"stl-tb-eyebrow"},o_=["title"],n_={key:2,class:"stl-tb-title"},a_={key:0,class:"stl-tabs-wrap"},r_={class:"stl-tabs"},s_=["onClick"],i_=["title","onClick"],l_={key:0,class:"stl-info-pop"},c_={class:"stl-col-hdr"},u_={class:"stl-hdr-name"},d_={key:0,class:"stl-sort-arrow"},p_={key:0,class:"stl-sort-arrow"},g_=["onClick"],f_=["onClick"],h_={key:1,class:"stl-caret-sp"},m_={key:3,class:"stl-dot-sp"},b_={class:"stl-name"},y_={key:4,class:"stl-num"},__={key:5,class:"stl-num"},v_={class:"stl-x-slot"},w_={key:0,class:"stl-empty stl-loading"},k_={key:1,class:"stl-empty"},S_={key:2,class:"stl-empty"},A_={key:3,class:"stl-overflow"},x_={key:1,class:"stl-footer"},L_={class:"stl-footer-label"},T_={key:0,class:"stl-num stl-footer-num"},E_={key:1,class:"stl-num stl-footer-num"},C_=["data-theme"],$_={class:"stl-reopen-label"},Wc=Ao({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},totalLabel:{type:String,default:""},totalCount:{type:Number,default:null},totalPop:{type:Number,default:null}},emits:["select","update:open"],setup(e,{emit:t}){const o=e,n=t,a=qy();function r(N,d=0){return N!=null&&N.length?Math.max(...N.map(y=>r(y.children??[],d+1))):d}function s(N,d,y=0){return y===d?N.slice():N.flatMap(b=>s(b.children??[],d,y+1))}function i(N,d,y=[]){var b;for(const P of N){if(P.id===d)return y;if((b=P.children)!=null&&b.length){const D=i(P.children,d,[...y,P]);if(D)return D}}return null}function l(N,d=new Set){var y;if(!((y=N==null?void 0:N.children)!=null&&y.length))return d;for(const b of N.children)d.add(b.id),l(b,d);return d}const c=Q(()=>r(o.nodes)),u=Q(()=>{const N=o.tabs??[],d=N.length||c.value+1;return Array.from({length:d},(y,b)=>N[b]??{id:`gen${b+1}`,label:`Generation ${b+1}`})}),f=me(0),v=me(new Set),x=me(null),T=me(o.open!==null?o.open:!0),w=me(null),E=me(null),_=me("desc"),S=Q({get:()=>o.hideTabs?0:a?a.activeTab.value:f.value,set:N=>{o.hideTabs||(a?a.activeTab.value=N:f.value=N)}}),g=Q({get:()=>a?a.selection.value:x.value,set:N=>{a?a.selection.value=N:x.value=N}}),k=Q(()=>{var N;return((N=g.value)==null?void 0:N.id)||null});Ye(()=>o.open,N=>{N!==null&&(T.value=N)}),Ye(()=>o.nodes,()=>{const N=a==null?void 0:a.activeTab.value;S.value=typeof N=="number"&&N>=0?N:0,v.value=new Set,g.value=null,n("select",null)},{deep:!1});let A=null;a&&Ye(()=>a.selection.value,N=>{if((N==null?void 0:N.id)===A)return;if(!N){A=null;return}A=N.id;const d=i(o.nodes,N.id)||[];typeof N.depth=="number"&&(S.value=Math.min(N.depth,u.value.length-1));const y=S.value,b=new Set;d.slice(y).forEach(P=>b.add(P.id)),v.value=b,n("select",N)});function L(N,d){const y=(d.pop??0)-(N.pop??0);return y!==0?y:(d.count??0)-(N.count??0)}const O=Q(()=>{if(!E.value)return L;const N=E.value,d=_.value==="asc"?1:-1;return(y,b)=>((y[N]??0)-(b[N]??0))*d});function $(N){E.value===N?_.value==="desc"?_.value="asc":(E.value=null,_.value="desc"):(E.value=N,_.value="desc")}const m=me([]),U=me(!1);let H=-1;function I(N){if(m.value[N]){U.value=!1;return}U.value=!0,H=N,setTimeout(()=>{if(H!==N)return;const d=[...s(o.nodes,N)].sort(O.value),y=[...m.value];y[N]=d,m.value=y,U.value=!1},0)}Ye(S,N=>I(N),{immediate:!0}),Ye(()=>[o.nodes,E.value,_.value],()=>{m.value=[],I(S.value)},{deep:!1});const W=Q(()=>m.value[S.value]||[]),ue=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?W.value.slice(0,N):W.value}),C=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?Math.max(0,W.value.length-N):0});function M(N,d,y,b,P){var D;for(const B of d)N.push({node:B,relDepth:y,parent:b,ancestors:P}),v.value.has(B.id)&&((D=B.children)!=null&&D.length)&&M(N,[...B.children].sort(O.value),y+1,B,[...P,B])}const j=Q(()=>{const N=[];M(N,ue.value,0,null,[]);for(let d=0;dP+1&&q.ancestors[P]}if(P===y.relDepth-1){let Y=!1;for(let q=d+1;qk.value!==null),fe=Q(()=>o.columns.includes("count")),Z=Q(()=>o.columns.includes("pop")),ce=Q(()=>g.value?l(g.value):new Set),oe=Q(()=>{var D;const N=g.value;if(!N)return null;const d=i(o.nodes,N.id);if(!d||!d.length)return null;const y=d[d.length-1],b=d.length-1,P=((D=u.value[b])==null?void 0:D.label)||"Parent";return{node:y,tabName:P}});function ke(N){k.value===N.id?(A=null,g.value=null,n("select",null)):(A=N.id,g.value=N,n("select",N))}function ie(N,d){d==null||d.stopPropagation();const y=new Set(v.value),b=y.has(N);if(b?y.delete(N):y.add(N),v.value=y,b&&g.value){const P=i(o.nodes,g.value.id);P&&P.some(D=>D.id===N)&&(A=null,g.value=null,n("select",null))}}function Fe(N){if(S.value===N){w.value=w.value===N?null:N;return}S.value=N,v.value=new Set,A=null,g.value=null,w.value=null,n("select",null)}function ge(N){N==null||N.stopPropagation(),A=null,g.value=null,n("select",null)}function Te(N,d){d==null||d.stopPropagation(),w.value=w.value===N?null:N}function Ae(N){return N?N>=1e6?(N/1e6).toFixed(1)+"M":N>=1e3?Math.round(N/1e3)+"k":N.toLocaleString():"—"}function z(N){return N!=null?N.toLocaleString():"—"}function he(N){var d;return{selected:k.value===N.node.id,descendant:se.value&&ce.value.has(N.node.id),child:N.relDepth>0,leaf:!((d=N.node.children)!=null&&d.length)}}return mo(` +`,"legend-component");const n=e;$e("mapStore"),$e("dataStore");const a=$e("uiStore"),s=za(n,"legendType"),{items:r,columns:i,title:l,activeFilter:c,setFilter:u,totalCount:f,totalPopulation:v,fmtPop:x,fmtCount:T}=Ys(s,zc);$e("normalizedPeopleGroups",null);const w=$e("mapId",null),E=Q(()=>a.isMobile),_=Q(()=>a.legendMode),S=Q(()=>a.selectedPeopleGroup),g=me(n.initiallyCollapsed);let k=null;const A=Q(()=>{var $;return _.value==="detail"&&S.value?(($=S.value.properties)==null?void 0:$.name)||o("legend.header.peopleGroupFallback"):g.value?o("legend.header.collapsed"):l.value});function L(){g.value=!g.value}Ye(_,($,m)=>{$==="detail"&&m!=="detail"&&g.value&&(g.value=!1)});function O($){u($)}return ao(()=>{window.innerWidth<768&&(g.value=!0),k=$=>{var m;w&&((m=$.detail)!=null&&m.mapId)&&$.detail.mapId!==w||(g.value=!1)},window.addEventListener("doxa:openDesktopLegend",k)}),Bo(()=>{k&&window.removeEventListener("doxa:openDesktopLegend",k)}),($,m)=>E.value?(J(),Je(pe(t),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):g.value?(J(),ne("button",{key:1,class:Be(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:"Expand legend",onClick:m[0]||(m[0]=U=>g.value=!1)},[m[2]||(m[2]=j("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),j("span",Gy,ye(pe(l)),1),m[3]||(m[3]=j("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],2)):(J(),ne("div",{key:2,class:Be(["legend-container",{"legend-dark":e.isDark}])},[_.value==="detail"?(J(),ne("button",{key:0,class:"detail-collapse-btn",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},null,8,Ky)):we("",!0),_.value==="detail"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:m[1]||(m[1]=Et(U=>pe(a).selectPeopleGroup(null),["stop"])),"aria-label":pe(o)("aria.backToLegend")},[...m[4]||(m[4]=[j("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Hy)):we("",!0),j("div",{class:Be(["legend-content",{"no-padding":pe(i).length>0}])},[_.value==="detail"&&S.value?(J(),Je(Hc,{key:0,peopleGroup:S.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):e.legendType==="language-family"?(J(),ne(Ie,{key:1},[],64)):(J(),Je(Uc,{key:2,title:A.value,items:pe(r),columns:pe(i),activeFilter:pe(c),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(f),totalPopulation:pe(v),fmtPop:pe(x),fmtCount:pe(T),onFilterClick:O},{"title-caret":Tt(()=>[j("button",{class:"legend-collapse-caret",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},[...m[5]||(m[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:"rotate(180deg)","transform-origin":"center"}})],-1)])],8,zy)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))],2)],2))}},[["__scopeId","data-v-6dbdb66e"]]),Vc="pplrInstance";function Wy(e){return{instanceId:e,selection:me(null),activeTab:me(0),isSearching:me(!1),geocoderText:me(""),pinDetail:me(null),theme:me("dark")}}function Yy(e){wt(Vc,e)}function qy(){return $e(Vc,null)}const Jy=["data-theme"],Xy={class:"stl-inner"},Zy={class:"stl-titlebar"},Qy={class:"stl-tb-caret-slot"},e_=["title"],t_={class:"stl-tb-eyebrow"},o_=["title"],n_={key:2,class:"stl-tb-title"},a_={key:0,class:"stl-tabs-wrap"},s_={class:"stl-tabs"},r_=["onClick"],i_=["title","onClick"],l_={key:0,class:"stl-info-pop"},c_={class:"stl-col-hdr"},u_={class:"stl-hdr-name"},d_={key:0,class:"stl-sort-arrow"},p_={key:0,class:"stl-sort-arrow"},g_=["onClick"],f_=["onClick"],h_={key:1,class:"stl-caret-sp"},m_={key:3,class:"stl-dot-sp"},b_={class:"stl-name"},y_={key:4,class:"stl-num"},__={key:5,class:"stl-num"},v_={class:"stl-x-slot"},w_={key:0,class:"stl-empty stl-loading"},k_={key:1,class:"stl-empty"},S_={key:2,class:"stl-empty"},A_={key:3,class:"stl-overflow"},x_={key:1,class:"stl-footer"},L_={class:"stl-footer-label"},T_={key:0,class:"stl-num stl-footer-num"},E_={key:1,class:"stl-num stl-footer-num"},C_=["data-theme"],$_={class:"stl-reopen-label"},Wc=Ao({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},totalLabel:{type:String,default:""},totalCount:{type:Number,default:null},totalPop:{type:Number,default:null}},emits:["select","update:open"],setup(e,{emit:t}){const o=e,n=t,a=qy();function s(N,d=0){return N!=null&&N.length?Math.max(...N.map(y=>s(y.children??[],d+1))):d}function r(N,d,y=0){return y===d?N.slice():N.flatMap(b=>r(b.children??[],d,y+1))}function i(N,d,y=[]){var b;for(const P of N){if(P.id===d)return y;if((b=P.children)!=null&&b.length){const D=i(P.children,d,[...y,P]);if(D)return D}}return null}function l(N,d=new Set){var y;if(!((y=N==null?void 0:N.children)!=null&&y.length))return d;for(const b of N.children)d.add(b.id),l(b,d);return d}const c=Q(()=>s(o.nodes)),u=Q(()=>{const N=o.tabs??[],d=N.length||c.value+1;return Array.from({length:d},(y,b)=>N[b]??{id:`gen${b+1}`,label:`Generation ${b+1}`})}),f=me(0),v=me(new Set),x=me(null),T=me(o.open!==null?o.open:!0),w=me(null),E=me(null),_=me("desc"),S=Q({get:()=>o.hideTabs?0:a?a.activeTab.value:f.value,set:N=>{o.hideTabs||(a?a.activeTab.value=N:f.value=N)}}),g=Q({get:()=>a?a.selection.value:x.value,set:N=>{a?a.selection.value=N:x.value=N}}),k=Q(()=>{var N;return((N=g.value)==null?void 0:N.id)||null});Ye(()=>o.open,N=>{N!==null&&(T.value=N)}),Ye(()=>o.nodes,()=>{const N=a==null?void 0:a.activeTab.value;S.value=typeof N=="number"&&N>=0?N:0,v.value=new Set,g.value=null,n("select",null)},{deep:!1});let A=null;a&&Ye(()=>a.selection.value,N=>{if((N==null?void 0:N.id)===A)return;if(!N){A=null;return}A=N.id;const d=i(o.nodes,N.id)||[];typeof N.depth=="number"&&(S.value=Math.min(N.depth,u.value.length-1));const y=S.value,b=new Set;d.slice(y).forEach(P=>b.add(P.id)),v.value=b,n("select",N)});function L(N,d){const y=(d.pop??0)-(N.pop??0);return y!==0?y:(d.count??0)-(N.count??0)}const O=Q(()=>{if(!E.value)return L;const N=E.value,d=_.value==="asc"?1:-1;return(y,b)=>((y[N]??0)-(b[N]??0))*d});function $(N){E.value===N?_.value==="desc"?_.value="asc":(E.value=null,_.value="desc"):(E.value=N,_.value="desc")}const m=me([]),U=me(!1);let H=-1;function I(N){if(m.value[N]){U.value=!1;return}U.value=!0,H=N,setTimeout(()=>{if(H!==N)return;const d=[...r(o.nodes,N)].sort(O.value),y=[...m.value];y[N]=d,m.value=y,U.value=!1},0)}Ye(S,N=>I(N),{immediate:!0}),Ye(()=>[o.nodes,E.value,_.value],()=>{m.value=[],I(S.value)},{deep:!1});const W=Q(()=>m.value[S.value]||[]),ue=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?W.value.slice(0,N):W.value}),C=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?Math.max(0,W.value.length-N):0});function M(N,d,y,b,P){var D;for(const B of d)N.push({node:B,relDepth:y,parent:b,ancestors:P}),v.value.has(B.id)&&((D=B.children)!=null&&D.length)&&M(N,[...B.children].sort(O.value),y+1,B,[...P,B])}const G=Q(()=>{const N=[];M(N,ue.value,0,null,[]);for(let d=0;dP+1&&q.ancestors[P]}if(P===y.relDepth-1){let Y=!1;for(let q=d+1;qk.value!==null),fe=Q(()=>o.columns.includes("count")),Z=Q(()=>o.columns.includes("pop")),ce=Q(()=>g.value?l(g.value):new Set),oe=Q(()=>{var D;const N=g.value;if(!N)return null;const d=i(o.nodes,N.id);if(!d||!d.length)return null;const y=d[d.length-1],b=d.length-1,P=((D=u.value[b])==null?void 0:D.label)||"Parent";return{node:y,tabName:P}});function ke(N){k.value===N.id?(A=null,g.value=null,n("select",null)):(A=N.id,g.value=N,n("select",N))}function ie(N,d){d==null||d.stopPropagation();const y=new Set(v.value),b=y.has(N);if(b?y.delete(N):y.add(N),v.value=y,b&&g.value){const P=i(o.nodes,g.value.id);P&&P.some(D=>D.id===N)&&(A=null,g.value=null,n("select",null))}}function Fe(N){if(S.value===N){w.value=w.value===N?null:N;return}S.value=N,v.value=new Set,A=null,g.value=null,w.value=null,n("select",null)}function ge(N){N==null||N.stopPropagation(),A=null,g.value=null,n("select",null)}function Te(N,d){d==null||d.stopPropagation(),w.value=w.value===N?null:N}function Ae(N){return N?N>=1e6?(N/1e6).toFixed(1)+"M":N>=1e3?Math.round(N/1e3)+"k":N.toLocaleString():"—"}function z(N){return N!=null?N.toLocaleString():"—"}function he(N){var d;return{selected:k.value===N.node.id,descendant:re.value&&ce.value.has(N.node.id),child:N.relDepth>0,leaf:!((d=N.node.children)!=null&&d.length)}}return mo(` .stl-inner { --stl-pad-x: 10px; --stl-gap: 6px; @@ -858,7 +858,7 @@ .stl-reopen[data-theme="light"] .stl-reopen-caret { color: #57606a; } .stl-panel[data-theme="light"] .stl-x-chip { color: #57606a; border-color: rgba(208,215,222,0.6); } .stl-panel[data-theme="light"] .stl-x-chip:hover { color: #1f2328; background: rgba(208,215,222,0.3); border-color: #afb8c1; } -`,"semantic-tree-legend"),(N,d)=>{var y,b,P,D,B;return J(),ne(Ie,null,[G("div",{class:Be(["stl-panel",{closed:!T.value,"fit-content":e.hideTabs}]),"data-theme":((y=pe(a))==null?void 0:y.theme.value)||"dark"},[G("div",Xy,[G("div",Zy,[G("span",Qy,[ta(N.$slots,"title-caret",{},void 0,!0)]),N.$slots["title-caret"]?we("",!0):(J(),ne("button",{key:0,class:Be(["stl-collapse-btn",{closed:!T.value}]),title:T.value?"Collapse legend":"Expand legend",onClick:d[0]||(d[0]=Y=>{T.value=!T.value,n("update:open",T.value)})},[...d[5]||(d[5]=[G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,e_)),oe.value&&g.value?(J(),ne(Ie,{key:1},[G("span",t_,ye(oe.value.tabName),1),oe.value.node.color?(J(),ne("span",{key:0,class:"stl-tb-dot",style:ct({background:oe.value.node.color})},null,4)):we("",!0),G("span",{class:"stl-tb-text",title:oe.value.node.label},ye(oe.value.node.label),9,o_)],64)):(J(),ne("span",n_,ye(e.title),1))]),e.hideTabs?we("",!0):(J(),ne("div",a_,[G("div",r_,[(J(!0),ne(Ie,null,Bt(u.value,(Y,q)=>(J(),ne("div",{key:Y.id,class:Be(["stl-tab-chip",{active:S.value===q}])},[G("button",{class:"stl-tab",onClick:p=>Fe(q)},ye(Y.label),9,s_),Y.info?(J(),ne("button",{key:0,class:"stl-tab-info",title:Y.info,onClick:p=>Te(q,p)},"i",8,i_)):we("",!0)],2))),128))]),w.value!==null&&((b=u.value[w.value])!=null&&b.info)?(J(),ne("div",l_,ye(u.value[w.value].info),1)):we("",!0)])),G("div",c_,[d[8]||(d[8]=G("span",{class:"stl-caret-sp"},null,-1)),d[9]||(d[9]=G("span",{class:"stl-dot-sp"},null,-1)),G("span",u_,ye(e.columnLabel||(e.hideTabs?e.title:((P=u.value[S.value])==null?void 0:P.label)||"Name")),1),fe.value?(J(),ne("button",{key:0,class:Be(["stl-hdr-num",{active:E.value==="count"}]),title:"Sort by UUPGs",onClick:d[1]||(d[1]=Y=>$("count"))},[d[6]||(d[6]=ht(" UUPGs ",-1)),E.value==="count"?(J(),ne("span",d_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),Z.value?(J(),ne("button",{key:1,class:Be(["stl-hdr-num",{active:E.value==="pop"}]),title:"Sort by Population",onClick:d[2]||(d[2]=Y=>$("pop"))},[d[7]||(d[7]=ht(" Pop ",-1)),E.value==="pop"?(J(),ne("span",p_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),d[10]||(d[10]=G("span",{class:"stl-x-slot"},null,-1))]),G("div",{class:Be(["stl-rows",{"has-sel":se.value}])},[(J(!0),ne(Ie,null,Bt(j.value,Y=>{var q,p;return J(),ne("div",{key:Y.node.id,class:Be(["stl-row",he(Y)]),style:ct({"--trunk-color":((q=Y.parent)==null?void 0:q.color)||"#6e7681","--row-color":Y.node.color||"#73A17F"}),onClick:h=>ke(Y.node)},[(J(!0),ne(Ie,null,Bt(Y.trunks,(h,F)=>(J(),ne("span",{key:`tr${F}`,class:Be(["stl-trunk",`stl-trunk-${h}`])},null,2))),128)),(p=Y.node.children)!=null&&p.length?(J(),ne("button",{key:0,class:Be(["stl-caret",{open:v.value.has(Y.node.id)}]),onClick:Et(h=>ie(Y.node.id,h),["stop"])},[...d[11]||(d[11]=[G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,f_)):(J(),ne("span",h_)),Y.node.color?(J(),ne("span",{key:2,class:"stl-dot",style:ct({background:Y.node.color})},null,4)):(J(),ne("span",m_)),G("span",b_,ye(Y.node.label),1),fe.value?(J(),ne("span",y_,ye(z(Y.node.count)),1)):we("",!0),Z.value?(J(),ne("span",__,ye(Ae(Y.node.pop)),1)):we("",!0),G("span",v_,[k.value===Y.node.id?(J(),ne("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:d[3]||(d[3]=Et(h=>ge(h),["stop"]))},[...d[12]||(d[12]=[G("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):we("",!0)])],14,g_)}),128)),U.value&&!j.value.length?(J(),ne("div",w_,[d[13]||(d[13]=G("span",{class:"stl-spinner"},null,-1)),G("span",null,"Loading "+ye(((D=u.value[S.value])==null?void 0:D.label)||"rows")+"…",1)])):!j.value.length&&e.nodes.length===0?(J(),ne("div",k_,"Loading data…")):j.value.length?we("",!0):(J(),ne("div",S_,"No data at this level")),C.value>0?(J(),ne("div",A_,[ht(" Showing top "+ye(u.value[S.value].topLimit.toLocaleString())+" of "+ye(W.value.length.toLocaleString())+" — ",1),d[14]||(d[14]=G("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):we("",!0)],2),e.totalLabel?(J(),ne("div",x_,[d[15]||(d[15]=G("span",{class:"stl-caret-sp"},null,-1)),d[16]||(d[16]=G("span",{class:"stl-dot-sp"},null,-1)),G("span",L_,ye(e.totalLabel),1),fe.value?(J(),ne("span",T_,ye(z(e.totalCount)),1)):we("",!0),Z.value?(J(),ne("span",E_,ye(Ae(e.totalPop)),1)):we("",!0),d[17]||(d[17]=G("span",{class:"stl-x-slot"},null,-1))])):we("",!0)])],10,Jy),T.value?we("",!0):(J(),ne("button",{key:0,class:"stl-reopen","data-theme":((B=pe(a))==null?void 0:B.theme.value)||"dark",title:"Expand legend",onClick:d[4]||(d[4]=Y=>{T.value=!0,n("update:open",!0)})},[d[18]||(d[18]=G("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),G("span",$_,[g.value?(J(),ne(Ie,{key:0},[g.value.color?(J(),ne("span",{key:0,class:"stl-reopen-dot",style:ct({background:g.value.color})},null,4)):we("",!0),ht(" "+ye(g.value.label),1)],64)):(J(),ne(Ie,{key:1},[ht(ye(e.title),1)],64))]),d[19]||(d[19]=G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,C_))],64)}}},[["__scopeId","data-v-d5ce018a"]]);function P_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(bo==null?void 0:bo.center)||[20,10],defaultZoom:s=bo==null?void 0:bo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(m,U,H={x:150,y:0}){const I=t();if(!I)return m;try{const W=I.getCanvas(),ue=W.width,C=W.height,M=I.project(m),j=window.devicePixelRatio||1,se=(H.x||0)*j,fe=(H.y||0)*j,Z={x:M.x-se,y:M.y-fe},ce=I.unproject(Z);return[ce.lng,ce.lat]}catch{return m}}function c(m,U=[]){const H=t();if(!H)return;let I=null,W=5;const ue=U.filter(M=>M.languageFamily===m);if(ue.length>0){let M=1/0,j=-1/0,se=1/0,fe=-1/0;if(ue.forEach(Z=>{Z.longitude&&Z.latitude&&(M=Math.min(M,Z.longitude),j=Math.max(j,Z.longitude),se=Math.min(se,Z.latitude),fe=Math.max(fe,Z.latitude))}),M!==1/0){I=[(M+j)/2,(se+fe)/2];const Z=j-M,ce=fe-se,oe=Math.max(Z,ce);oe>50?W=2:oe>20?W=3:oe>10?W=4:oe>5?W=5:W=6}}if(!I)return;const C=l(I);H.flyTo({center:C,zoom:W,...i})}function u(m){const U=t();if(!U)return;let H=null,I=4;const W=Lb(m);if(W)H=W.center,I=W.zoom||4;else if(a!=null&&a.features){const C=a.features.find(M=>{var j,se;return((j=M.properties)==null?void 0:j.region)===m||((se=M.properties)==null?void 0:se.name)===m});C&&(H=f(C))}if(!H)return;const ue=l(H);U.flyTo({center:ue,zoom:I,...i})}function f(m){if(!m||!m.geometry)return null;const{type:U,coordinates:H}=m.geometry;let I=[];if(U==="Polygon"?I=H[0]||[]:U==="MultiPolygon"&&H.forEach(C=>{I=I.concat(C[0]||[])}),I.length===0)return null;let W=0,ue=0;return I.forEach(C=>{W+=C[0],ue+=C[1]}),[W/I.length,ue/I.length]}function v(m,U={}){const H=t();if(!H)return;const I={center:m,...i,...U};H.flyTo(I)}function x(m,U){const H=t();if(!H||(m==null?void 0:m.longitude)==null||(m==null?void 0:m.latitude)==null)return;const I=U??Math.min(H.getZoom()+2,8);v([m.longitude,m.latitude],{zoom:I})}function T(m,U={top:40,right:40,bottom:40,left:40},H={}){const I=t();if(!I||!m)return;const W=H.maxZoom??4;I.fitBounds(m,{padding:U,maxZoom:W,...i})}function w(){const m=t();m&&m.flyTo({center:r,zoom:s,...i})}const E=80,_=800,S=5,g=5;function k(m){if(!m.length)return null;let U=1/0,H=-1/0,I=1/0,W=-1/0;for(const M of m){if(!Number.isFinite(M))continue;MH&&(H=M);const j=M<0?M+360:M;jW&&(W=j)}if(!Number.isFinite(U))return null;const ue=H-U,C=W-I;if(C180?I-360:I;return{minLng:M,maxLng:M+C}}return{minLng:U,maxLng:H}}function A(m,U){if(!Array.isArray(m))return m;switch(m[0]){case"get":return U==null?void 0:U[m[1]];case"literal":return m[1];case"has":return U!=null&&m[1]in U;case"!has":return U==null||!(m[1]in U);case"!":return!A(m[1],U);case"coalesce":{for(let I=1;I2){const ue=Number(A(m[2],U));return Number.isFinite(ue)?ue:0}return NaN}case"to-string":{const I=A(m[1],U);return I==null?"":String(I)}case"to-boolean":return!!A(m[1],U);case"slice":{const I=A(m[1],U),W=A(m[2],U),ue=m.length>3?A(m[3],U):void 0;return typeof I!="string"?"":ue!=null?I.slice(W,ue):I.slice(W)}default:return m}}function L(m,U){if(m===!0)return!0;if(m===!1)return!1;if(!Array.isArray(m))return!!m;const H=m[0];if(H==="all"){for(let I=1;I"||H===">="||H==="<"||H==="<="){const I=typeof m[1]=="string"?U==null?void 0:U[m[1]]:A(m[1],U),W=A(m[2],U);switch(H){case"==":return I===W||I==null&&W==null;case"!=":return!(I===W||I==null&&W==null);case">":return I>W;case">=":return I>=W;case"<":return I{const d=(N==null?void 0:N.properties)||{};return d.region===z||d.name===z||d.id===z});if(he){const N=[];let d=1/0,y=-1/0;const b=D=>{for(const B of D)Array.isArray(B[0])?b(B):Number.isFinite(B[0])&&Number.isFinite(B[1])&&(N.push(B[0]),B[1]y&&(y=B[1]))};(ge=he.geometry)!=null&&ge.coordinates&&b(he.geometry.coordinates);const P=k(N);if(P&&Number.isFinite(d)){H.fitBounds([[P.minLng,d],[P.maxLng,y]],{padding:E,maxZoom:S,duration:_,essential:!0});return}}}const I=U.sourceId??"language-families";if(!H.getSource(I))return;const W=U.matchExpr??m.filter;if(!W)return;const ue=O(H,I);if(!ue.length)return;const C=[];let M=1/0,j=-1/0,se=0,fe=0,Z=0;const ce=new Set;for(const Ae of ue){const z=Ae==null?void 0:Ae.properties;if(!L(W,z))continue;const he=z==null?void 0:z.uniqueId;if(he!=null){if(ce.has(he))continue;ce.add(he)}const N=(Te=Ae.geometry)==null?void 0:Te.coordinates;if(!Array.isArray(N)||N.length<2)continue;const d=N[0],y=N[1];!Number.isFinite(d)||!Number.isFinite(y)||(se===0&&(fe=d,Z=y),C.push(d),yj&&(j=y),se++)}if(se===0)return;const oe=k(C),ke=oe?oe.minLng:0,ie=oe?oe.maxLng:0;if(se===1){H.flyTo({center:[fe,Z],zoom:g,duration:_,essential:!0});return}const Fe=[[ke,M],[ie,j]];try{const Ae=typeof H.cameraForBounds=="function"?H.cameraForBounds(Fe,{padding:E,maxZoom:S}):null,z=typeof H.getMinZoom=="function"?H.getMinZoom():null;if((Ae==null||typeof Ae.zoom=="number"&&typeof z=="number"&&Ae.zoom{var y,b,P,D,B;return J(),ne(Ie,null,[j("div",{class:Be(["stl-panel",{closed:!T.value,"fit-content":e.hideTabs}]),"data-theme":((y=pe(a))==null?void 0:y.theme.value)||"dark"},[j("div",Xy,[j("div",Zy,[j("span",Qy,[ta(N.$slots,"title-caret",{},void 0,!0)]),N.$slots["title-caret"]?we("",!0):(J(),ne("button",{key:0,class:Be(["stl-collapse-btn",{closed:!T.value}]),title:T.value?"Collapse legend":"Expand legend",onClick:d[0]||(d[0]=Y=>{T.value=!T.value,n("update:open",T.value)})},[...d[5]||(d[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,e_)),oe.value&&g.value?(J(),ne(Ie,{key:1},[j("span",t_,ye(oe.value.tabName),1),oe.value.node.color?(J(),ne("span",{key:0,class:"stl-tb-dot",style:ct({background:oe.value.node.color})},null,4)):we("",!0),j("span",{class:"stl-tb-text",title:oe.value.node.label},ye(oe.value.node.label),9,o_)],64)):(J(),ne("span",n_,ye(e.title),1))]),e.hideTabs?we("",!0):(J(),ne("div",a_,[j("div",s_,[(J(!0),ne(Ie,null,Bt(u.value,(Y,q)=>(J(),ne("div",{key:Y.id,class:Be(["stl-tab-chip",{active:S.value===q}])},[j("button",{class:"stl-tab",onClick:p=>Fe(q)},ye(Y.label),9,r_),Y.info?(J(),ne("button",{key:0,class:"stl-tab-info",title:Y.info,onClick:p=>Te(q,p)},"i",8,i_)):we("",!0)],2))),128))]),w.value!==null&&((b=u.value[w.value])!=null&&b.info)?(J(),ne("div",l_,ye(u.value[w.value].info),1)):we("",!0)])),j("div",c_,[d[8]||(d[8]=j("span",{class:"stl-caret-sp"},null,-1)),d[9]||(d[9]=j("span",{class:"stl-dot-sp"},null,-1)),j("span",u_,ye(e.columnLabel||(e.hideTabs?e.title:((P=u.value[S.value])==null?void 0:P.label)||"Name")),1),fe.value?(J(),ne("button",{key:0,class:Be(["stl-hdr-num",{active:E.value==="count"}]),title:"Sort by UUPGs",onClick:d[1]||(d[1]=Y=>$("count"))},[d[6]||(d[6]=ht(" UUPGs ",-1)),E.value==="count"?(J(),ne("span",d_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),Z.value?(J(),ne("button",{key:1,class:Be(["stl-hdr-num",{active:E.value==="pop"}]),title:"Sort by Population",onClick:d[2]||(d[2]=Y=>$("pop"))},[d[7]||(d[7]=ht(" Pop ",-1)),E.value==="pop"?(J(),ne("span",p_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),d[10]||(d[10]=j("span",{class:"stl-x-slot"},null,-1))]),j("div",{class:Be(["stl-rows",{"has-sel":re.value}])},[(J(!0),ne(Ie,null,Bt(G.value,Y=>{var q,p;return J(),ne("div",{key:Y.node.id,class:Be(["stl-row",he(Y)]),style:ct({"--trunk-color":((q=Y.parent)==null?void 0:q.color)||"#6e7681","--row-color":Y.node.color||"#73A17F"}),onClick:h=>ke(Y.node)},[(J(!0),ne(Ie,null,Bt(Y.trunks,(h,F)=>(J(),ne("span",{key:`tr${F}`,class:Be(["stl-trunk",`stl-trunk-${h}`])},null,2))),128)),(p=Y.node.children)!=null&&p.length?(J(),ne("button",{key:0,class:Be(["stl-caret",{open:v.value.has(Y.node.id)}]),onClick:Et(h=>ie(Y.node.id,h),["stop"])},[...d[11]||(d[11]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,f_)):(J(),ne("span",h_)),Y.node.color?(J(),ne("span",{key:2,class:"stl-dot",style:ct({background:Y.node.color})},null,4)):(J(),ne("span",m_)),j("span",b_,ye(Y.node.label),1),fe.value?(J(),ne("span",y_,ye(z(Y.node.count)),1)):we("",!0),Z.value?(J(),ne("span",__,ye(Ae(Y.node.pop)),1)):we("",!0),j("span",v_,[k.value===Y.node.id?(J(),ne("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:d[3]||(d[3]=Et(h=>ge(h),["stop"]))},[...d[12]||(d[12]=[j("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):we("",!0)])],14,g_)}),128)),U.value&&!G.value.length?(J(),ne("div",w_,[d[13]||(d[13]=j("span",{class:"stl-spinner"},null,-1)),j("span",null,"Loading "+ye(((D=u.value[S.value])==null?void 0:D.label)||"rows")+"…",1)])):!G.value.length&&e.nodes.length===0?(J(),ne("div",k_,"Loading data…")):G.value.length?we("",!0):(J(),ne("div",S_,"No data at this level")),C.value>0?(J(),ne("div",A_,[ht(" Showing top "+ye(u.value[S.value].topLimit.toLocaleString())+" of "+ye(W.value.length.toLocaleString())+" — ",1),d[14]||(d[14]=j("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):we("",!0)],2),e.totalLabel?(J(),ne("div",x_,[d[15]||(d[15]=j("span",{class:"stl-caret-sp"},null,-1)),d[16]||(d[16]=j("span",{class:"stl-dot-sp"},null,-1)),j("span",L_,ye(e.totalLabel),1),fe.value?(J(),ne("span",T_,ye(z(e.totalCount)),1)):we("",!0),Z.value?(J(),ne("span",E_,ye(Ae(e.totalPop)),1)):we("",!0),d[17]||(d[17]=j("span",{class:"stl-x-slot"},null,-1))])):we("",!0)])],10,Jy),T.value?we("",!0):(J(),ne("button",{key:0,class:"stl-reopen","data-theme":((B=pe(a))==null?void 0:B.theme.value)||"dark",title:"Expand legend",onClick:d[4]||(d[4]=Y=>{T.value=!0,n("update:open",!0)})},[d[18]||(d[18]=j("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),j("span",$_,[g.value?(J(),ne(Ie,{key:0},[g.value.color?(J(),ne("span",{key:0,class:"stl-reopen-dot",style:ct({background:g.value.color})},null,4)):we("",!0),ht(" "+ye(g.value.label),1)],64)):(J(),ne(Ie,{key:1},[ht(ye(e.title),1)],64))]),d[19]||(d[19]=j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,C_))],64)}}},[["__scopeId","data-v-d5ce018a"]]);function P_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(bo==null?void 0:bo.center)||[20,10],defaultZoom:r=bo==null?void 0:bo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(m,U,H={x:150,y:0}){const I=t();if(!I)return m;try{const W=I.getCanvas(),ue=W.width,C=W.height,M=I.project(m),G=window.devicePixelRatio||1,re=(H.x||0)*G,fe=(H.y||0)*G,Z={x:M.x-re,y:M.y-fe},ce=I.unproject(Z);return[ce.lng,ce.lat]}catch{return m}}function c(m,U=[]){const H=t();if(!H)return;let I=null,W=5;const ue=U.filter(M=>M.languageFamily===m);if(ue.length>0){let M=1/0,G=-1/0,re=1/0,fe=-1/0;if(ue.forEach(Z=>{Z.longitude&&Z.latitude&&(M=Math.min(M,Z.longitude),G=Math.max(G,Z.longitude),re=Math.min(re,Z.latitude),fe=Math.max(fe,Z.latitude))}),M!==1/0){I=[(M+G)/2,(re+fe)/2];const Z=G-M,ce=fe-re,oe=Math.max(Z,ce);oe>50?W=2:oe>20?W=3:oe>10?W=4:oe>5?W=5:W=6}}if(!I)return;const C=l(I);H.flyTo({center:C,zoom:W,...i})}function u(m){const U=t();if(!U)return;let H=null,I=4;const W=Lb(m);if(W)H=W.center,I=W.zoom||4;else if(a!=null&&a.features){const C=a.features.find(M=>{var G,re;return((G=M.properties)==null?void 0:G.region)===m||((re=M.properties)==null?void 0:re.name)===m});C&&(H=f(C))}if(!H)return;const ue=l(H);U.flyTo({center:ue,zoom:I,...i})}function f(m){if(!m||!m.geometry)return null;const{type:U,coordinates:H}=m.geometry;let I=[];if(U==="Polygon"?I=H[0]||[]:U==="MultiPolygon"&&H.forEach(C=>{I=I.concat(C[0]||[])}),I.length===0)return null;let W=0,ue=0;return I.forEach(C=>{W+=C[0],ue+=C[1]}),[W/I.length,ue/I.length]}function v(m,U={}){const H=t();if(!H)return;const I={center:m,...i,...U};H.flyTo(I)}function x(m,U){const H=t();if(!H||(m==null?void 0:m.longitude)==null||(m==null?void 0:m.latitude)==null)return;const I=U??Math.min(H.getZoom()+2,8);v([m.longitude,m.latitude],{zoom:I})}function T(m,U={top:40,right:40,bottom:40,left:40},H={}){const I=t();if(!I||!m)return;const W=H.maxZoom??4;I.fitBounds(m,{padding:U,maxZoom:W,...i})}function w(){const m=t();m&&m.flyTo({center:s,zoom:r,...i})}const E=80,_=800,S=5,g=5;function k(m){if(!m.length)return null;let U=1/0,H=-1/0,I=1/0,W=-1/0;for(const M of m){if(!Number.isFinite(M))continue;MH&&(H=M);const G=M<0?M+360:M;GW&&(W=G)}if(!Number.isFinite(U))return null;const ue=H-U,C=W-I;if(C180?I-360:I;return{minLng:M,maxLng:M+C}}return{minLng:U,maxLng:H}}function A(m,U){if(!Array.isArray(m))return m;switch(m[0]){case"get":return U==null?void 0:U[m[1]];case"literal":return m[1];case"has":return U!=null&&m[1]in U;case"!has":return U==null||!(m[1]in U);case"!":return!A(m[1],U);case"coalesce":{for(let I=1;I2){const ue=Number(A(m[2],U));return Number.isFinite(ue)?ue:0}return NaN}case"to-string":{const I=A(m[1],U);return I==null?"":String(I)}case"to-boolean":return!!A(m[1],U);case"slice":{const I=A(m[1],U),W=A(m[2],U),ue=m.length>3?A(m[3],U):void 0;return typeof I!="string"?"":ue!=null?I.slice(W,ue):I.slice(W)}default:return m}}function L(m,U){if(m===!0)return!0;if(m===!1)return!1;if(!Array.isArray(m))return!!m;const H=m[0];if(H==="all"){for(let I=1;I"||H===">="||H==="<"||H==="<="){const I=typeof m[1]=="string"?U==null?void 0:U[m[1]]:A(m[1],U),W=A(m[2],U);switch(H){case"==":return I===W||I==null&&W==null;case"!=":return!(I===W||I==null&&W==null);case">":return I>W;case">=":return I>=W;case"<":return I{const d=(N==null?void 0:N.properties)||{};return d.region===z||d.name===z||d.id===z});if(he){const N=[];let d=1/0,y=-1/0;const b=D=>{for(const B of D)Array.isArray(B[0])?b(B):Number.isFinite(B[0])&&Number.isFinite(B[1])&&(N.push(B[0]),B[1]y&&(y=B[1]))};(ge=he.geometry)!=null&&ge.coordinates&&b(he.geometry.coordinates);const P=k(N);if(P&&Number.isFinite(d)){H.fitBounds([[P.minLng,d],[P.maxLng,y]],{padding:E,maxZoom:S,duration:_,essential:!0});return}}}const I=U.sourceId??"language-families";if(!H.getSource(I))return;const W=U.matchExpr??m.filter;if(!W)return;const ue=O(H,I);if(!ue.length)return;const C=[];let M=1/0,G=-1/0,re=0,fe=0,Z=0;const ce=new Set;for(const Ae of ue){const z=Ae==null?void 0:Ae.properties;if(!L(W,z))continue;const he=z==null?void 0:z.uniqueId;if(he!=null){if(ce.has(he))continue;ce.add(he)}const N=(Te=Ae.geometry)==null?void 0:Te.coordinates;if(!Array.isArray(N)||N.length<2)continue;const d=N[0],y=N[1];!Number.isFinite(d)||!Number.isFinite(y)||(re===0&&(fe=d,Z=y),C.push(d),yG&&(G=y),re++)}if(re===0)return;const oe=k(C),ke=oe?oe.minLng:0,ie=oe?oe.maxLng:0;if(re===1){H.flyTo({center:[fe,Z],zoom:g,duration:_,essential:!0});return}const Fe=[[ke,M],[ie,G]];try{const Ae=typeof H.cameraForBounds=="function"?H.cameraForBounds(Fe,{padding:E,maxZoom:S}):null,z=typeof H.getMinZoom=="function"?H.getMinZoom():null;if((Ae==null||typeof Ae.zoom=="number"&&typeof z=="number"&&Ae.zoom(J(),ne("button",{class:Be(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[ta(t.$slots,"default")],10,I_))}},N_={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomIn()}return(a,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomIn"),onClick:n},{default:Tt(()=>[...r[0]||(r[0]=[G("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},F_={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomOut()}return(a,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomOut"),onClick:n},{default:Tt(()=>[...r[0]||(r[0]=[G("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},R_={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=gt(),o=e;function n(){var r;(r=o.map)==null||r.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function a(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:s,latitude:i}=r.coords;Number.isFinite(s)&&Number.isFinite(i)?o.map.flyTo({center:[s,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,s)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.resetView"),onClick:a},{default:Tt(()=>[...s[0]||(s[0]=[G("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[G("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},D_={key:0,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},O_={key:1,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},B_={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=gt(),n=e,a=t,r=me(!1);let s=null,i=null,l=null,c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0,g=null,k=null;function A(){if(typeof document>"u")return!1;const C=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(C)||C.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function L(){var C,M,j;return((j=(M=(C=n.mapContainer)==null?void 0:C.getRootNode)==null?void 0:M.call(C))==null?void 0:j.host)??null}function O(){var M,j;const C=(j=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:j.call(M);return document.fullscreenElement||document.webkitFullscreenElement||(C&&C instanceof ShadowRoot?C.fullscreenElement:null)||null}function $(C){const M=C.requestFullscreen||C.webkitRequestFullscreen;if(!M)return Promise.reject(new Error("Fullscreen API unavailable"));const j=M.call(C);return j&&typeof j.then=="function"?j:Promise.resolve()}function m(){const C=document.exitFullscreen||document.webkitExitFullscreen;if(!C)return Promise.reject(new Error("Fullscreen API unavailable"));const M=C.call(document);return M&&typeof M.then=="function"?M:Promise.resolve()}function U(){const C=L();if(!C)return!1;if(l=C,i=C.style.cssText,C.style.position="fixed",C.style.top="0",C.style.left="0",C.style.right="0",C.style.bottom="0",C.style.width="100vw",C.style.height="100vh",C.style.height="100dvh",C.style.zIndex="2147483647",C.style.margin="0",C.style.borderRadius="0",C.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){_=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const M=document.body,j=document.documentElement;c=M?M.style.overflow:null,u=j?j.style.overflow:null,f=M?M.style.position:null,v=M?M.style.top:null,x=M?M.style.left:null,T=M?M.style.width:null,w=M?M.style.touchAction:null,E=j?j.style.touchAction:null,j&&(j.style.overflow="hidden",j.style.touchAction="none"),M&&(M.style.overflow="hidden",M.style.position="fixed",M.style.top=`-${_}px`,M.style.left=`-${S}px`,M.style.width="100%",M.style.touchAction="none"),g=se=>{if(!l)return;const fe=se.target;fe&&(fe===l||l.contains&&l.contains(fe))||se.cancelable&&se.preventDefault()},k=se=>{if(!l)return;const fe=se.target;fe&&(fe===l||l.contains&&l.contains(fe))||se.cancelable&&se.preventDefault()},document.addEventListener("touchmove",g,{passive:!1,capture:!0}),document.addEventListener("wheel",k,{passive:!1,capture:!0})}return!0}function H(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const C=document.body,M=document.documentElement;C&&(C.style.overflow=c??"",C.style.position=f??"",C.style.top=v??"",C.style.left=x??"",C.style.width=T??"",C.style.touchAction=w??""),M&&(M.style.overflow=u??"",M.style.touchAction=E??""),g&&(document.removeEventListener("touchmove",g,{capture:!0}),g=null),k&&(document.removeEventListener("wheel",k,{capture:!0}),k=null),typeof window<"u"&&(_||S)&&window.scrollTo(S,_)}c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0}}function I(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function W(){if(!A()){r.value?(H(),r.value=!1,a("change",!1)):U()&&(r.value=!0,a("change",!0)),I();return}if(O())m().then(()=>{r.value=!1,a("change",!1)}).catch(()=>{});else{const M=L()??document.documentElement;$(M).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{$(document.documentElement).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{})})}}function ue(){r.value=!!O(),a("change",r.value)}return ao(()=>{var M,j;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const C=(j=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:j.call(M);C instanceof ShadowRoot&&(s=C,C.addEventListener("fullscreenchange",ue),C.addEventListener("webkitfullscreenchange",ue))}),Bo(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),s&&(s.removeEventListener("fullscreenchange",ue),s.removeEventListener("webkitfullscreenchange",ue),s=null),l&&H()}),(C,M)=>(J(),Je(Qo,{"is-dark":e.isDark,active:r.value,title:pe(o)("buttons.toggleFullscreen"),onClick:W},{default:Tt(()=>[r.value?(J(),ne("svg",O_,[...M[1]||(M[1]=[G("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"},null,-1)])])):(J(),ne("svg",D_,[...M[0]||(M[0]=[G("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},U_={style:{"font-size":"16px","line-height":"1"}},G_={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:e.isDark?pe(t)("buttons.switchToLightMode"):pe(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=a=>o.$emit("toggle"))},{default:Tt(()=>[G("span",U_,ye(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"]))}},j_={__name:"HelpButton",props:{isDark:{type:Boolean,default:!1}},emits:["open-help"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.aboutThisMap"),onClick:n[0]||(n[0]=a=>o.$emit("open-help"))},{default:Tt(()=>[...n[1]||(n[1]=[G("span",{style:{"font-size":"15px","font-weight":"700","font-family":"serif","line-height":"1"}},"?",-1)])]),_:1},8,["is-dark","title"]))}},K_=["dir"],H_={key:0,class:"dsm-tab-bar"},z_=["onClick"],V_={class:"dsm-map-area"},W_={key:0,class:"dsm-loading"},Y_={class:"dsm-legend-desktop-slot"},q_={class:"dsm-legend-mobile-slot"},J_={class:"dsm-help-modal"},en="language-family-pins-active",Aa="language-family-pins-pulse",Yc="language-family-pins-hitbox",X_="#b9bfc6",Z_="#4b5360",Q_=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"doxa-simple-map",setup(e){var at,Qe;const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0));mo(` +`,"map-control-button"),(t,o)=>(J(),ne("button",{class:Be(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[ta(t.$slots,"default")],10,I_))}},N_={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomIn()}return(a,s)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomIn"),onClick:n},{default:Tt(()=>[...s[0]||(s[0]=[j("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},F_={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomOut()}return(a,s)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomOut"),onClick:n},{default:Tt(()=>[...s[0]||(s[0]=[j("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},R_={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=gt(),o=e;function n(){var s;(s=o.map)==null||s.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function a(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(s=>{const{longitude:r,latitude:i}=s.coords;Number.isFinite(r)&&Number.isFinite(i)?o.map.flyTo({center:[r,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(s,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.resetView"),onClick:a},{default:Tt(()=>[...r[0]||(r[0]=[j("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[j("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},D_={key:0,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},O_={key:1,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},B_={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=gt(),n=e,a=t,s=me(!1);let r=null,i=null,l=null,c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0,g=null,k=null;function A(){if(typeof document>"u")return!1;const C=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(C)||C.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function L(){var C,M,G;return((G=(M=(C=n.mapContainer)==null?void 0:C.getRootNode)==null?void 0:M.call(C))==null?void 0:G.host)??null}function O(){var M,G;const C=(G=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:G.call(M);return document.fullscreenElement||document.webkitFullscreenElement||(C&&C instanceof ShadowRoot?C.fullscreenElement:null)||null}function $(C){const M=C.requestFullscreen||C.webkitRequestFullscreen;if(!M)return Promise.reject(new Error("Fullscreen API unavailable"));const G=M.call(C);return G&&typeof G.then=="function"?G:Promise.resolve()}function m(){const C=document.exitFullscreen||document.webkitExitFullscreen;if(!C)return Promise.reject(new Error("Fullscreen API unavailable"));const M=C.call(document);return M&&typeof M.then=="function"?M:Promise.resolve()}function U(){const C=L();if(!C)return!1;if(l=C,i=C.style.cssText,C.style.position="fixed",C.style.top="0",C.style.left="0",C.style.right="0",C.style.bottom="0",C.style.width="100vw",C.style.height="100vh",C.style.height="100dvh",C.style.zIndex="2147483647",C.style.margin="0",C.style.borderRadius="0",C.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){_=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const M=document.body,G=document.documentElement;c=M?M.style.overflow:null,u=G?G.style.overflow:null,f=M?M.style.position:null,v=M?M.style.top:null,x=M?M.style.left:null,T=M?M.style.width:null,w=M?M.style.touchAction:null,E=G?G.style.touchAction:null,G&&(G.style.overflow="hidden",G.style.touchAction="none"),M&&(M.style.overflow="hidden",M.style.position="fixed",M.style.top=`-${_}px`,M.style.left=`-${S}px`,M.style.width="100%",M.style.touchAction="none"),g=re=>{if(!l)return;const fe=re.target;fe&&(fe===l||l.contains&&l.contains(fe))||re.cancelable&&re.preventDefault()},k=re=>{if(!l)return;const fe=re.target;fe&&(fe===l||l.contains&&l.contains(fe))||re.cancelable&&re.preventDefault()},document.addEventListener("touchmove",g,{passive:!1,capture:!0}),document.addEventListener("wheel",k,{passive:!1,capture:!0})}return!0}function H(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const C=document.body,M=document.documentElement;C&&(C.style.overflow=c??"",C.style.position=f??"",C.style.top=v??"",C.style.left=x??"",C.style.width=T??"",C.style.touchAction=w??""),M&&(M.style.overflow=u??"",M.style.touchAction=E??""),g&&(document.removeEventListener("touchmove",g,{capture:!0}),g=null),k&&(document.removeEventListener("wheel",k,{capture:!0}),k=null),typeof window<"u"&&(_||S)&&window.scrollTo(S,_)}c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0}}function I(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function W(){if(!A()){s.value?(H(),s.value=!1,a("change",!1)):U()&&(s.value=!0,a("change",!0)),I();return}if(O())m().then(()=>{s.value=!1,a("change",!1)}).catch(()=>{});else{const M=L()??document.documentElement;$(M).then(()=>{s.value=!0,a("change",!0)}).catch(()=>{$(document.documentElement).then(()=>{s.value=!0,a("change",!0)}).catch(()=>{})})}}function ue(){s.value=!!O(),a("change",s.value)}return ao(()=>{var M,G;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const C=(G=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:G.call(M);C instanceof ShadowRoot&&(r=C,C.addEventListener("fullscreenchange",ue),C.addEventListener("webkitfullscreenchange",ue))}),Bo(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),r&&(r.removeEventListener("fullscreenchange",ue),r.removeEventListener("webkitfullscreenchange",ue),r=null),l&&H()}),(C,M)=>(J(),Je(Qo,{"is-dark":e.isDark,active:s.value,title:pe(o)("buttons.toggleFullscreen"),onClick:W},{default:Tt(()=>[s.value?(J(),ne("svg",O_,[...M[1]||(M[1]=[j("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"},null,-1)])])):(J(),ne("svg",D_,[...M[0]||(M[0]=[j("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},U_={style:{"font-size":"16px","line-height":"1"}},j_={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:e.isDark?pe(t)("buttons.switchToLightMode"):pe(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=a=>o.$emit("toggle"))},{default:Tt(()=>[j("span",U_,ye(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"]))}},G_={__name:"HelpButton",props:{isDark:{type:Boolean,default:!1}},emits:["open-help"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.aboutThisMap"),onClick:n[0]||(n[0]=a=>o.$emit("open-help"))},{default:Tt(()=>[...n[1]||(n[1]=[j("span",{style:{"font-size":"15px","font-weight":"700","font-family":"serif","line-height":"1"}},"?",-1)])]),_:1},8,["is-dark","title"]))}},K_=["dir"],H_={key:0,class:"dsm-tab-bar"},z_=["onClick"],V_={class:"dsm-map-area"},W_={key:0,class:"dsm-loading"},Y_={class:"dsm-legend-desktop-slot"},q_={class:"dsm-legend-mobile-slot"},J_={class:"dsm-help-modal"},en="language-family-pins-active",Aa="language-family-pins-pulse",Yc="language-family-pins-hitbox",X_="#b9bfc6",Z_="#4b5360",Q_=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"doxa-simple-map",setup(e){var at,Qe;const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0));mo(` .dsm-root { position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden; } .dsm-tab-bar { flex:0 0 auto;display:flex;align-items:center;background:#fff;border-bottom:2px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.08);height:48px;padding:0 12px;gap:4px;z-index:10; } .dsm-tab { background:none;border:none;padding:0 20px;height:100%;font-size:14px;font-weight:500;color:#555;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap; } @@ -1019,7 +1019,7 @@ .dsm-help-modal p:last-of-type { margin-bottom:0; } .dsm-help-close { position:absolute;top:12px;right:14px;background:none;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1;padding:4px 6px;border-radius:4px; } .dsm-help-close:hover { background:rgba(255,255,255,0.12); } -`,"doxa-simple-map");const{t:o,locale:n}=gt(),a=["country-label","state-label","settlement-major-label","settlement-minor-label","place-label","continent-label","water-point-label","water-line-label"];function r(X){const te=ge==null?void 0:ge.value;if(te){for(const ae of a)if(te.getLayer(ae))try{te.setLayoutProperty(ae,"text-field",["coalesce",["get","name_"+X],["get","name_en"],["get","name"]])}catch{}}}const s=Q(()=>Em.has(n.value)),i={hamburgerMenu:!1,infoButton:!1,overlapDensity:!1,darkPinBorder:!1,geocoder:!1,activeOverlayEmphasis:!1},l=$e("profileConfig"),c=$e("mapboxToken"),u=$e("dataSource"),f=[{id:"prayer",label:"Prayer",colorStrategy:"prayer",legend:"prayer",popup:"prayer"}],v=Q(()=>{var X;return((X=l==null?void 0:l.value)==null?void 0:X.tabs)??f}),x=Q(()=>v.value.length>1),T=me(null),w=Q(()=>v.value.find(X=>X.id===T.value)??v.value[0]),E={prayer:"prayer",engagement:"engagement",adoption:"adoption"},_=Q(()=>{var X;return E[(X=w.value)==null?void 0:X.legend]??"prayer"}),S=Q(()=>{var X;return((X=w.value)==null?void 0:X.popup)==="adoption"?"adopt":"pray"}),g=$e("instanceId",null),k=(g==null?void 0:g.value)||g||"doxa-simple-map-"+Math.random().toString(36).slice(2,7);wt("mapId",k),wt("getActivePinColor",X=>{var ve,Ze,yo;const te=(ve=w.value)==null?void 0:ve.colorStrategy,ae=te==="engagement"?ze.ENGAGEMENT:te==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return((yo=(Ze=Nc(ae))==null?void 0:Ze.getColor)==null?void 0:yo.call(Ze,X))??"#1a1a1a"});const A=Wy();Yy(A),A.theme.value="light";const L=Yr(za(()=>_.value));function O(X){const te=[];for(const ae of X){te.push({id:ae.key,label:ae.label,color:ae.color,count:ae.count??0,pop:ae.population??0,filter:ae.filterKey?["==",["get","_flat_filter"],ae.filterKey]:null,children:[]});for(const ve of ae.children||[])te.push({id:ve.key,label:ve.label,color:ve.color,count:ve.count??0,pop:ve.population??0,filter:ve.filterKey?["==",["get","_flat_filter"],ve.filterKey]:null,children:[]})}return te}const $=Q(()=>O(L.items.value)),m=Q(()=>"Legend"),U=Q(()=>{const X=_.value;return X==="prayer"?"Prayer Status":X==="engagement"?"Engagement Status":X==="adoption"?"Adoption Status":"Status"}),H=Q(()=>o("legend.footer.total")),I=Q(()=>L.totalCount.value),W=Q(()=>L.totalPopulation.value),ue=Q(()=>ie.legendState!=="collapsed");function C(X){X?ie.openLegend():ie.collapseLegend()}function M(X){var ve;if(!X){const Ze=_.value;Ze==="prayer"?ie.setPrayerFilter(null):Ze==="engagement"?ie.setEngagementFilter(null):Ze==="adoption"&&ie.setAdoptionFilter(null);return}const te=_.value;te==="prayer"?ie.setPrayerFilter(X.id):te==="engagement"?ie.setEngagementFilter(X.id):te==="adoption"&&ie.setAdoptionFilter(X.id);const ae=R(te,X.id);ae&&((ve=N.zoomToLegendRow)==null||ve.call(N,X,{matchExpr:ae}))}const j=me(null),se=me(null);let fe=null;function Z(X){const te=se.value;te&&(X>=700?(te.style.setProperty("--map-btn-size","40px"),te.style.setProperty("--map-toolbar-gap","8px"),te.style.setProperty("--map-font-md","13px"),te.style.setProperty("--map-font-sm","11px"),te.style.setProperty("--map-legend-width","400px")):X>=500?(te.style.setProperty("--map-btn-size","36px"),te.style.setProperty("--map-toolbar-gap","6px"),te.style.setProperty("--map-font-md","12px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","360px")):(te.style.setProperty("--map-btn-size","32px"),te.style.setProperty("--map-toolbar-gap","5px"),te.style.setProperty("--map-font-md","11px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","280px")))}const ce=me(!1),oe=$e("mapStore"),ke=$e("dataStore"),ie=$e("uiStore"),Fe=new Rb,{map:ge,initializeMap:Te,destroy:Ae}=Fm({containerRef:j,accessToken:c.value,style:"mapbox://styles/mapbox/light-v11",center:[20,10],zoom:1.8,pitch:((at=l==null?void 0:l.value)==null?void 0:at.pitch)??bo.pitch,bearing:((Qe=l==null?void 0:l.value)==null?void 0:Qe.bearing)??bo.bearing}),z=Ab({mapId:k,dataSourceId:u.value,dataSourceManager:Fe,dataStore:ke,markRaw:X=>X}),he=Pb({getMap:()=>ge.value,mapId:k,getLanguageFamilyColor:Mt,getNormalizedPeopleGroups:()=>z.normalizedPeopleGroups.value||[]}),N=P_({getMap:()=>ge.value,mapId:k,mapStore:oe,defaultCenter:[20,10],defaultZoom:1.8}),d=Ib({getMap:()=>ge.value});let y=[];const b=Q(()=>ie.theme==="dark");Ye(b,X=>{A.theme.value=X?"dark":"light"},{immediate:!0}),Ye(b,X=>{const te=ge.value;!te||!te.getLayer("language-family-pins")||te.setPaintProperty("language-family-pins","circle-stroke-color",X?"#ffffff":"rgba(0,0,0,0.45)")},{immediate:!1});function P(){if(!ge.value)return;ie.toggleTheme();const X=ie.theme==="dark"?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11";ge.value.setStyle(X),ge.value.once("style.load",()=>{var te,ae;if(y!=null&&y.length){const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(y,Ze)}d.initialize(),r(n.value),(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()})}function D(){ie.updateBreakpoint(window.innerWidth)}ao(()=>{ie.updateBreakpoint(window.innerWidth),ie.isMobile?ie.collapseLegend():ie.openLegend(),window.addEventListener("resize",D),se.value&&(Z(se.value.offsetWidth),fe=new ResizeObserver(X=>{for(const te of X)Z(te.contentRect.width)}),fe.observe(se.value))}),Bo(()=>{window.removeEventListener("resize",D),fe==null||fe.disconnect(),fe=null});const B=me(!1);function Y(X){if(X===T.value)return;T.value=X;const te=v.value.find(Ze=>Ze.id===X);if(!te||!ge.value)return;const ae=te.colorStrategy,ve=ae==="engagement"?ze.ENGAGEMENT:ae==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;if(ge.value.getLayer("language-family-pins")){const Ze=Kr(ve);ge.value.setPaintProperty("language-family-pins","circle-color",Ze),ge.value.getLayer(en)&&ge.value.setPaintProperty(en,"circle-color",Ze),h.forEach(yo=>{ge.value.getLayer(yo)&&ge.value.setPaintProperty(yo,"circle-color",Ze)})}te.id==="prayer"||te.colorStrategy==="prayer"?he.startPrayerGlow():he.stopPrayerGlow()}function q(X,te){if(X!=null&&X.getLayer(Yc))try{X.setFilter(Yc,te)}catch{}}let p={type:null,key:null};const h=[Aa];function F(){return b.value?Z_:X_}function K(){const X=w.value,te=(X==null?void 0:X.colorStrategy)==="engagement"?ze.ENGAGEMENT:(X==null?void 0:X.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return Kr(te)}function re(X,te){return ee()}function ee(){return b.value?"#ffffff":"rgba(0,0,0,0.45)"}function R(X,te){if(X==="prayer"){const ae=["coalesce",["to-number",["get","peoplePraying"],0],0];if(te==="noPrayer")return["<=",ae,0];if(te==="hasPrayer")return["all",[">",ae,0],["<",ae,To]];if(te==="fullPrayer")return[">=",ae,To]}else if(X==="engagement"){const ae=["get","engagementStatus"];if(te==="hasEngagement")return["any",["==",ae,!0],["==",ae,1]];if(te==="notEngaged")return["all",["!=",ae,!0],["!=",ae,1]]}else if(X==="adoption"){const ae=["get","adoptionStatus"];if(te==="hasAdoption")return["any",["==",ae,!0],["==",ae,1]];if(te==="notAdopted")return["all",["!=",ae,!0],["!=",ae,1]]}return null}function V(){const X=ge.value;X!=null&&X.getLayer(Aa)&&(X.setFilter(Aa,["==","uniqueId",""]),X.setPaintProperty(Aa,"circle-opacity",0))}function de(){V();const X=ge.value;X!=null&&X.getLayer(en)&&X.setFilter(en,["==","uniqueId",""])}function xe(X,te){const ae=ge.value;if(!ae||!ae.getLayer("language-family-pins"))return;if(!te){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}const ve=R(X,te);if(!ve){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}p={type:X,key:te};{ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",["case",ve,1,.06]),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",["case",ve,1,.06]),q(ae,ve),he.syncGlowFilter(ve);return}}Ye(b,()=>{const X=ge.value;X&&(X.getLayer(en)&&X.setPaintProperty(en,"circle-stroke-color",re(p.type,p.key)),p.key&&X.getLayer("language-family-pins")&&X.setPaintProperty("language-family-pins","circle-color",F()))}),Ye(()=>ie.prayerFilter,X=>xe("prayer",X)),Ye(()=>ie.engagementFilter,X=>xe("engagement",X)),Ye(()=>ie.adoptionFilter,X=>xe("adoption",X));async function De(X){var te,ae;oe.registerMap(k,ge.value);try{ge.value.setProjection("mercator")}catch{}if(X!=null&&X.length){y=X;const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(X,Ze)}d.initialize(),r(n.value),oe.setMapReady(k),ce.value=!0,(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()}return Ye(n,X=>r(X)),ao(async()=>{var te;T.value=((te=v.value[0])==null?void 0:te.id)??"prayer",ie.updateBreakpoint(window.innerWidth);const X=z.loadData().catch(ae=>(console.error("[doxa-simple-map] Data load failed:",ae),{normalizedPeopleGroups:[]}));if(await Te(),!ge.value){console.error("[doxa-simple-map] Map failed to initialize — check token and container");return}ge.value.once("style.load",async()=>{try{const{normalizedPeopleGroups:ae}=await X;await De(ae)}catch(ae){console.error("[doxa-simple-map] onMapReady failed:",ae)}})}),Bo(()=>{he.stopPrayerGlow(),de(),oe.unregisterMap(k),d.cleanup(),Ae()}),(X,te)=>(J(),ne("div",{ref_key:"dsmRoot",ref:se,class:Be(["dsm-root",{"dsm-dark":b.value,"dsm-rtl":s.value,"dsm-no-geocoder":!0}]),dir:s.value?"rtl":"ltr"},[x.value?(J(),ne("div",H_,[(J(!0),ne(Ie,null,Bt(v.value,ae=>(J(),ne("button",{key:ae.id,class:Be(["dsm-tab",{active:T.value===ae.id}]),onClick:ve=>Y(ae.id)},ye(ae.label),11,z_))),128))])):we("",!0),G("div",V_,[ce.value?we("",!0):(J(),ne("div",W_,"Loading map…")),G("div",{ref_key:"mapContainer",ref:j,class:"dsm-map-canvas"},null,512),we("",!0),we("",!0),we("",!0),G("div",Y_,[ce.value&&pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup?(J(),Je(Vy,{key:0,"legend-type":_.value,"popup-action":S.value,"initially-collapsed":!1,"is-dark":b.value},null,8,["legend-type","popup-action","is-dark"])):we("",!0),ce.value?Hu((J(),Je(Wc,{key:1,nodes:$.value,tabs:null,title:m.value,hideTabs:!0,columnLabel:U.value,"total-label":H.value,"total-count":I.value,"total-pop":W.value,open:ue.value,onSelect:M,"onUpdate:open":C},null,8,["nodes","title","columnLabel","total-label","total-count","total-pop","open"])),[[op,!(pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup)]]):we("",!0)]),G("div",q_,[ce.value?(J(),Je(pe(t),{key:0,"legend-type":_.value,"popup-action":S.value,"is-dark":b.value,"show-total":!0},null,8,["legend-type","popup-action","is-dark"])):we("",!0)]),te[9]||(te[9]=G("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),te[10]||(te[10]=G("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),ce.value?(J(),Je(M_,{key:4,"has-geocoder":i.geocoder},{default:Tt(()=>[Ve(N_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(F_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(R_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(B_,{"map-container":j.value,"is-dark":b.value},null,8,["map-container","is-dark"]),Ve(G_,{"is-dark":b.value,onToggle:P},null,8,["is-dark"]),i.infoButton?(J(),Je(j_,{key:0,"is-dark":b.value,onOpenHelp:te[2]||(te[2]=ae=>B.value=!0)},null,8,["is-dark"])):we("",!0)]),_:1},8,["has-geocoder"])):we("",!0),B.value?(J(),ne("div",{key:5,class:"dsm-help-overlay",onClick:te[4]||(te[4]=Et(ae=>B.value=!1,["self"]))},[G("div",J_,[G("button",{class:"dsm-help-close",onClick:te[3]||(te[3]=ae=>B.value=!1)},"×"),te[5]||(te[5]=G("h2",null,"About This Map",-1)),te[6]||(te[6]=G("p",null,"This map displays Unreached People Groups (UPGs) around the world — communities without meaningful access to the Gospel.",-1)),te[7]||(te[7]=G("p",null,"Use the tabs (if shown) to switch between Prayer and Engagement views. Click any dot to learn more about a people group.",-1)),te[8]||(te[8]=G("p",null,[ht("Data sourced from "),G("strong",null,"pray.doxa.life"),ht(".")],-1))])])):we("",!0)])],10,K_))}},[["__scopeId","data-v-bf7056c2"]])},Symbol.toStringTag,{value:"Module"})),e0="#6b7280";function t0(e,t){return e&&Pn[e]?Pn[e]:e0}function o0(e){return(e==null?void 0:e.properties)||e||{}}function qr(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function n0(e){var t;return String(e.affinityBlock||qr((t=e._raw)==null?void 0:t.rop1)||"").trim()}function a0(e){var t;return String(e.affinityBlockLabel||(typeof((t=e._raw)==null?void 0:t.rop1)=="object"?e._raw.rop1.label:"")||"").trim()}function r0(e){var t;return String(e.cluster||qr((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function s0(e){var t;return String(e.clusterLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_2)=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function i0(e){var t;return String(e.peopleGroup||qr((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function l0(e){var t;return String(e.peopleGroupLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_25)=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function c0(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function u0(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function d0(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function p0(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function g0(e){const t=Q(()=>{const a=e&&e.value||[],r=new Map;for(const s of a){const i=o0(s),l=n0(i),c=a0(i)||l||"— Unknown —",u=r0(i),f=s0(i)||u||"— Unknown —",v=i0(i),x=l0(i)||v||"— Unknown —",T=c0(i),w=u0(i)||T,E=d0(i),_=p0(i);if(!T)continue;let S=r.get(l||"__unknown__");S||(S={code:l,label:c,count:0,pop:0,clusters:new Map},r.set(l||"__unknown__",S)),S.count+=1,S.pop+=E;let g=S.clusters.get(u||"__unknown__");g||(g={code:u,label:f,count:0,pop:0,peopleGroups:new Map},S.clusters.set(u||"__unknown__",g)),g.count+=1,g.pop+=E;let k=g.peopleGroups.get(v||"__unknown__");k||(k={code:v,label:x,count:0,pop:0,instances:[]},g.peopleGroups.set(v||"__unknown__",k)),k.count+=1,k.pop+=E,k.instances.push({id:T,name:w,country:_,pop:E})}return r}),o=Q(()=>{const a=t.value,r=[];for(const s of a.values()){const i=t0(s.code,s.label),l={id:`bloc:${s.code||s.label}`,label:s.label,color:i,count:s.count,pop:s.pop,filter:s.code?["==",["get","affinityBlock"],s.code]:["!",["has","affinityBlock"]],children:[]};for(const c of s.clusters.values()){const u={id:`cluster:${s.code}__${c.code||c.label}`,label:`${c.label} (Cluster)`,color:i,count:c.count,pop:c.pop,filter:c.code?["==",["get","cluster"],c.code]:["==",["get","affinityBlock"],s.code],children:[]};for(const f of c.peopleGroups.values()){const v={id:`pg:${s.code}__${c.code}__${f.code||f.label}`,label:`${f.label} (PG)`,color:i,count:f.count,pop:f.pop,filter:f.code?["==",["get","peopleGroup"],f.code]:["all",["==",["get","affinityBlock"],s.code],["==",["get","cluster"],c.code]],children:[]};f.instances.sort((x,T)=>T.pop-x.pop||x.country.localeCompare(T.country));for(const x of f.instances)v.children.push({id:`pgic:${x.id}`,label:`${x.country?`${x.name}, ${x.country}`:x.name} (PGIC)`,color:i,count:1,pop:x.pop,filter:["==",["get","uniqueId"],x.id],children:[]});u.children.push(v)}u.children.sort((f,v)=>v.count-f.count||v.pop-f.pop),l.children.push(u)}l.children.sort((c,u)=>u.count-c.count||u.pop-c.pop),r.push(l)}return r.sort((s,i)=>i.count-s.count||i.pop-s.pop),r});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const r=String(a.id||""),s={kind:null,label:a.label,filterExpr:a.filter};r.startsWith("bloc:")?s.kind="bloc":r.startsWith("cluster:")?s.kind="cluster":r.startsWith("pg:")?s.kind="people-group":r.startsWith("pgic:")&&(s.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,affinityTree:o,highlight:n}}const f0={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},h0="#95a5a6";function m0(e){return f0[e]||h0}function b0(e){return(e==null?void 0:e.properties)||e||{}}function y0(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function _0(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function v0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function w0(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function k0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function S0(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function A0(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function x0(e){const t=Q(()=>{const a=e&&e.value||[],r=new Map;for(const s of a){const i=b0(s),l=_0(i),c=v0(i)||l||"— Unknown —",u=w0(i),f=k0(i)||u||"— Unknown —",v=S0(i),x=A0(i)||v||"— Unknown —",T=y0(i);if(!l||l==="na"||l==="none")continue;let w=r.get(l);if(w||(w={slug:l,label:c,count:0,pop:0,blocks:new Map},r.set(l,w)),w.count+=1,w.pop+=T,!u||u==="na")continue;let E=w.blocks.get(u);if(E||(E={slug:u,label:f,count:0,pop:0,countries:new Map},w.blocks.set(u,E)),E.count+=1,E.pop+=T,!v)continue;let _=E.countries.get(v);_||(_={iso:v,name:x,count:0,pop:0},E.countries.set(v,_)),_.count+=1,_.pop+=T}return r}),o=Q(()=>{const a=t.value,r=[];for(const s of a.values()){const i=m0(s.label),l=[],c=[],u=[...s.blocks.values()].sort((f,v)=>v.pop-f.pop||f.label.localeCompare(v.label));for(const f of u){const v=[],x=[],T=[...f.countries.values()].sort((w,E)=>E.pop-w.pop||w.name.localeCompare(E.name));for(const w of T)v.push(w.iso),l.push(w.iso),x.push({id:`country:${s.slug}__${f.slug}__${w.iso}`,label:w.name,color:i,count:w.count,pop:w.pop,filter:["==",["get","countryIso"],w.iso],isoCodes:[w.iso],children:[]});c.push({id:`block:${s.slug}__${f.slug}`,label:`${f.label} (Block)`,color:i,count:f.count,pop:f.pop,filter:["==",["get","wagfBlock"],f.slug],isoCodes:v,children:x})}r.push({id:`region:${s.slug}`,label:`${s.label} (Region)`,color:i,count:s.count,pop:s.pop,filter:["==",["get","doxaRegion"],s.slug],isoCodes:[...new Set(l)],children:c})}return r.sort((s,i)=>i.pop-s.pop||s.label.localeCompare(i.label)),r});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const r=String(a.id||""),s={kind:null,label:a.label,filterExpr:a.filter};r.startsWith("region:")?s.kind="region":r.startsWith("block:")?s.kind="block":r.startsWith("country:")&&(s.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,regionsTree:o,highlight:n}}const L0={class:"legend-sheet-root"},T0=["src","alt"],E0={key:0,class:"pull-tab-handle"},C0=["aria-label"],$0=["aria-label"],P0=["aria-label"],M0={class:"collapsed-detail-title"},I0={class:"legend-content"},N0=["aria-label"],F0=["aria-label"],qc=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"LegendMobile",props:{legendType:{type:String,required:!0},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1},showTotal:{type:Boolean,default:!1}},setup(e){const{t}=gt();mo(` +`,"doxa-simple-map");const{t:o,locale:n}=gt(),a=["country-label","state-label","settlement-major-label","settlement-minor-label","place-label","continent-label","water-point-label","water-line-label"];function s(X){const te=ge==null?void 0:ge.value;if(te){for(const ae of a)if(te.getLayer(ae))try{te.setLayoutProperty(ae,"text-field",["coalesce",["get","name_"+X],["get","name_en"],["get","name"]])}catch{}}}const r=Q(()=>Em.has(n.value)),i={hamburgerMenu:!1,infoButton:!1,overlapDensity:!1,darkPinBorder:!1,geocoder:!1,activeOverlayEmphasis:!1},l=$e("profileConfig"),c=$e("mapboxToken"),u=$e("dataSource"),f=[{id:"prayer",label:"Prayer",colorStrategy:"prayer",legend:"prayer",popup:"prayer"}],v=Q(()=>{var X;return((X=l==null?void 0:l.value)==null?void 0:X.tabs)??f}),x=Q(()=>v.value.length>1),T=me(null),w=Q(()=>v.value.find(X=>X.id===T.value)??v.value[0]),E={prayer:"prayer",engagement:"engagement",adoption:"adoption"},_=Q(()=>{var X;return E[(X=w.value)==null?void 0:X.legend]??"prayer"}),S=Q(()=>{var X;return((X=w.value)==null?void 0:X.popup)==="adoption"?"adopt":"pray"}),g=$e("instanceId",null),k=(g==null?void 0:g.value)||g||"doxa-simple-map-"+Math.random().toString(36).slice(2,7);wt("mapId",k),wt("getActivePinColor",X=>{var ve,Ze,yo;const te=(ve=w.value)==null?void 0:ve.colorStrategy,ae=te==="engagement"?ze.ENGAGEMENT:te==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return((yo=(Ze=Nc(ae))==null?void 0:Ze.getColor)==null?void 0:yo.call(Ze,X))??"#1a1a1a"});const A=Wy();Yy(A),A.theme.value="light";const L=Ys(za(()=>_.value));function O(X){const te=[];for(const ae of X){te.push({id:ae.key,label:ae.label,color:ae.color,count:ae.count??0,pop:ae.population??0,filter:ae.filterKey?["==",["get","_flat_filter"],ae.filterKey]:null,children:[]});for(const ve of ae.children||[])te.push({id:ve.key,label:ve.label,color:ve.color,count:ve.count??0,pop:ve.population??0,filter:ve.filterKey?["==",["get","_flat_filter"],ve.filterKey]:null,children:[]})}return te}const $=Q(()=>O(L.items.value)),m=Q(()=>"Legend"),U=Q(()=>{const X=_.value;return X==="prayer"?"Prayer Status":X==="engagement"?"Engagement Status":X==="adoption"?"Adoption Status":"Status"}),H=Q(()=>o("legend.footer.total")),I=Q(()=>L.totalCount.value),W=Q(()=>L.totalPopulation.value),ue=Q(()=>ie.legendState!=="collapsed");function C(X){X?ie.openLegend():ie.collapseLegend()}function M(X){var ve;if(!X){const Ze=_.value;Ze==="prayer"?ie.setPrayerFilter(null):Ze==="engagement"?ie.setEngagementFilter(null):Ze==="adoption"&&ie.setAdoptionFilter(null);return}const te=_.value;te==="prayer"?ie.setPrayerFilter(X.id):te==="engagement"?ie.setEngagementFilter(X.id):te==="adoption"&&ie.setAdoptionFilter(X.id);const ae=R(te,X.id);ae&&((ve=N.zoomToLegendRow)==null||ve.call(N,X,{matchExpr:ae}))}const G=me(null),re=me(null);let fe=null;function Z(X){const te=re.value;te&&(X>=700?(te.style.setProperty("--map-btn-size","40px"),te.style.setProperty("--map-toolbar-gap","8px"),te.style.setProperty("--map-font-md","13px"),te.style.setProperty("--map-font-sm","11px"),te.style.setProperty("--map-legend-width","400px")):X>=500?(te.style.setProperty("--map-btn-size","36px"),te.style.setProperty("--map-toolbar-gap","6px"),te.style.setProperty("--map-font-md","12px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","360px")):(te.style.setProperty("--map-btn-size","32px"),te.style.setProperty("--map-toolbar-gap","5px"),te.style.setProperty("--map-font-md","11px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","280px")))}const ce=me(!1),oe=$e("mapStore"),ke=$e("dataStore"),ie=$e("uiStore"),Fe=new Rb,{map:ge,initializeMap:Te,destroy:Ae}=Fm({containerRef:G,accessToken:c.value,style:"mapbox://styles/mapbox/light-v11",center:[20,10],zoom:1.8,pitch:((at=l==null?void 0:l.value)==null?void 0:at.pitch)??bo.pitch,bearing:((Qe=l==null?void 0:l.value)==null?void 0:Qe.bearing)??bo.bearing}),z=Ab({mapId:k,dataSourceId:u.value,dataSourceManager:Fe,dataStore:ke,markRaw:X=>X}),he=Pb({getMap:()=>ge.value,mapId:k,getLanguageFamilyColor:Mt,getNormalizedPeopleGroups:()=>z.normalizedPeopleGroups.value||[]}),N=P_({getMap:()=>ge.value,mapId:k,mapStore:oe,defaultCenter:[20,10],defaultZoom:1.8}),d=Ib({getMap:()=>ge.value});let y=[];const b=Q(()=>ie.theme==="dark");Ye(b,X=>{A.theme.value=X?"dark":"light"},{immediate:!0}),Ye(b,X=>{const te=ge.value;!te||!te.getLayer("language-family-pins")||te.setPaintProperty("language-family-pins","circle-stroke-color",X?"#ffffff":"rgba(0,0,0,0.45)")},{immediate:!1});function P(){if(!ge.value)return;ie.toggleTheme();const X=ie.theme==="dark"?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11";ge.value.setStyle(X),ge.value.once("style.load",()=>{var te,ae;if(y!=null&&y.length){const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(y,Ze)}d.initialize(),s(n.value),(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()})}function D(){ie.updateBreakpoint(window.innerWidth)}ao(()=>{ie.updateBreakpoint(window.innerWidth),ie.isMobile?ie.collapseLegend():ie.openLegend(),window.addEventListener("resize",D),re.value&&(Z(re.value.offsetWidth),fe=new ResizeObserver(X=>{for(const te of X)Z(te.contentRect.width)}),fe.observe(re.value))}),Bo(()=>{window.removeEventListener("resize",D),fe==null||fe.disconnect(),fe=null});const B=me(!1);function Y(X){if(X===T.value)return;T.value=X;const te=v.value.find(Ze=>Ze.id===X);if(!te||!ge.value)return;const ae=te.colorStrategy,ve=ae==="engagement"?ze.ENGAGEMENT:ae==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;if(ge.value.getLayer("language-family-pins")){const Ze=Ks(ve);ge.value.setPaintProperty("language-family-pins","circle-color",Ze),ge.value.getLayer(en)&&ge.value.setPaintProperty(en,"circle-color",Ze),h.forEach(yo=>{ge.value.getLayer(yo)&&ge.value.setPaintProperty(yo,"circle-color",Ze)})}te.id==="prayer"||te.colorStrategy==="prayer"?he.startPrayerGlow():he.stopPrayerGlow()}function q(X,te){if(X!=null&&X.getLayer(Yc))try{X.setFilter(Yc,te)}catch{}}let p={type:null,key:null};const h=[Aa];function F(){return b.value?Z_:X_}function K(){const X=w.value,te=(X==null?void 0:X.colorStrategy)==="engagement"?ze.ENGAGEMENT:(X==null?void 0:X.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return Ks(te)}function se(X,te){return ee()}function ee(){return b.value?"#ffffff":"rgba(0,0,0,0.45)"}function R(X,te){if(X==="prayer"){const ae=["coalesce",["to-number",["get","peoplePraying"],0],0];if(te==="noPrayer")return["<=",ae,0];if(te==="hasPrayer")return["all",[">",ae,0],["<",ae,To]];if(te==="fullPrayer")return[">=",ae,To]}else if(X==="engagement"){const ae=["get","engagementStatus"];if(te==="hasEngagement")return["any",["==",ae,!0],["==",ae,1]];if(te==="notEngaged")return["all",["!=",ae,!0],["!=",ae,1]]}else if(X==="adoption"){const ae=["get","adoptionStatus"];if(te==="hasAdoption")return["any",["==",ae,!0],["==",ae,1]];if(te==="notAdopted")return["all",["!=",ae,!0],["!=",ae,1]]}return null}function V(){const X=ge.value;X!=null&&X.getLayer(Aa)&&(X.setFilter(Aa,["==","uniqueId",""]),X.setPaintProperty(Aa,"circle-opacity",0))}function de(){V();const X=ge.value;X!=null&&X.getLayer(en)&&X.setFilter(en,["==","uniqueId",""])}function xe(X,te){const ae=ge.value;if(!ae||!ae.getLayer("language-family-pins"))return;if(!te){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}const ve=R(X,te);if(!ve){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}p={type:X,key:te};{ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",["case",ve,1,.06]),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",["case",ve,1,.06]),q(ae,ve),he.syncGlowFilter(ve);return}}Ye(b,()=>{const X=ge.value;X&&(X.getLayer(en)&&X.setPaintProperty(en,"circle-stroke-color",se(p.type,p.key)),p.key&&X.getLayer("language-family-pins")&&X.setPaintProperty("language-family-pins","circle-color",F()))}),Ye(()=>ie.prayerFilter,X=>xe("prayer",X)),Ye(()=>ie.engagementFilter,X=>xe("engagement",X)),Ye(()=>ie.adoptionFilter,X=>xe("adoption",X));async function De(X){var te,ae;oe.registerMap(k,ge.value);try{ge.value.setProjection("mercator")}catch{}if(X!=null&&X.length){y=X;const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(X,Ze)}d.initialize(),s(n.value),oe.setMapReady(k),ce.value=!0,(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()}return Ye(n,X=>s(X)),ao(async()=>{var te;T.value=((te=v.value[0])==null?void 0:te.id)??"prayer",ie.updateBreakpoint(window.innerWidth);const X=z.loadData().catch(ae=>(console.error("[doxa-simple-map] Data load failed:",ae),{normalizedPeopleGroups:[]}));if(await Te(),!ge.value){console.error("[doxa-simple-map] Map failed to initialize — check token and container");return}ge.value.once("style.load",async()=>{try{const{normalizedPeopleGroups:ae}=await X;await De(ae)}catch(ae){console.error("[doxa-simple-map] onMapReady failed:",ae)}})}),Bo(()=>{he.stopPrayerGlow(),de(),oe.unregisterMap(k),d.cleanup(),Ae()}),(X,te)=>(J(),ne("div",{ref_key:"dsmRoot",ref:re,class:Be(["dsm-root",{"dsm-dark":b.value,"dsm-rtl":r.value,"dsm-no-geocoder":!0}]),dir:r.value?"rtl":"ltr"},[x.value?(J(),ne("div",H_,[(J(!0),ne(Ie,null,Bt(v.value,ae=>(J(),ne("button",{key:ae.id,class:Be(["dsm-tab",{active:T.value===ae.id}]),onClick:ve=>Y(ae.id)},ye(ae.label),11,z_))),128))])):we("",!0),j("div",V_,[ce.value?we("",!0):(J(),ne("div",W_,"Loading map…")),j("div",{ref_key:"mapContainer",ref:G,class:"dsm-map-canvas"},null,512),we("",!0),we("",!0),we("",!0),j("div",Y_,[ce.value&&pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup?(J(),Je(Vy,{key:0,"legend-type":_.value,"popup-action":S.value,"initially-collapsed":!1,"is-dark":b.value},null,8,["legend-type","popup-action","is-dark"])):we("",!0),ce.value?Hu((J(),Je(Wc,{key:1,nodes:$.value,tabs:null,title:m.value,hideTabs:!0,columnLabel:U.value,"total-label":H.value,"total-count":I.value,"total-pop":W.value,open:ue.value,onSelect:M,"onUpdate:open":C},null,8,["nodes","title","columnLabel","total-label","total-count","total-pop","open"])),[[op,!(pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup)]]):we("",!0)]),j("div",q_,[ce.value?(J(),Je(pe(t),{key:0,"legend-type":_.value,"popup-action":S.value,"is-dark":b.value,"show-total":!0},null,8,["legend-type","popup-action","is-dark"])):we("",!0)]),te[9]||(te[9]=j("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),te[10]||(te[10]=j("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),ce.value?(J(),Je(M_,{key:4,"has-geocoder":i.geocoder},{default:Tt(()=>[Ve(N_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(F_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(R_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(B_,{"map-container":G.value,"is-dark":b.value},null,8,["map-container","is-dark"]),Ve(j_,{"is-dark":b.value,onToggle:P},null,8,["is-dark"]),i.infoButton?(J(),Je(G_,{key:0,"is-dark":b.value,onOpenHelp:te[2]||(te[2]=ae=>B.value=!0)},null,8,["is-dark"])):we("",!0)]),_:1},8,["has-geocoder"])):we("",!0),B.value?(J(),ne("div",{key:5,class:"dsm-help-overlay",onClick:te[4]||(te[4]=Et(ae=>B.value=!1,["self"]))},[j("div",J_,[j("button",{class:"dsm-help-close",onClick:te[3]||(te[3]=ae=>B.value=!1)},"×"),te[5]||(te[5]=j("h2",null,"About This Map",-1)),te[6]||(te[6]=j("p",null,"This map displays Unreached People Groups (UPGs) around the world — communities without meaningful access to the Gospel.",-1)),te[7]||(te[7]=j("p",null,"Use the tabs (if shown) to switch between Prayer and Engagement views. Click any dot to learn more about a people group.",-1)),te[8]||(te[8]=j("p",null,[ht("Data sourced from "),j("strong",null,"pray.doxa.life"),ht(".")],-1))])])):we("",!0)])],10,K_))}},[["__scopeId","data-v-bf7056c2"]])},Symbol.toStringTag,{value:"Module"})),e0="#6b7280";function t0(e,t){return e&&Pn[e]?Pn[e]:e0}function o0(e){return(e==null?void 0:e.properties)||e||{}}function qs(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function n0(e){var t;return String(e.affinityBlock||qs((t=e._raw)==null?void 0:t.rop1)||"").trim()}function a0(e){var t;return String(e.affinityBlockLabel||(typeof((t=e._raw)==null?void 0:t.rop1)=="object"?e._raw.rop1.label:"")||"").trim()}function s0(e){var t;return String(e.cluster||qs((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function r0(e){var t;return String(e.clusterLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_2)=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function i0(e){var t;return String(e.peopleGroup||qs((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function l0(e){var t;return String(e.peopleGroupLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_25)=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function c0(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function u0(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function d0(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function p0(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function g0(e){const t=Q(()=>{const a=e&&e.value||[],s=new Map;for(const r of a){const i=o0(r),l=n0(i),c=a0(i)||l||"— Unknown —",u=s0(i),f=r0(i)||u||"— Unknown —",v=i0(i),x=l0(i)||v||"— Unknown —",T=c0(i),w=u0(i)||T,E=d0(i),_=p0(i);if(!T)continue;let S=s.get(l||"__unknown__");S||(S={code:l,label:c,count:0,pop:0,clusters:new Map},s.set(l||"__unknown__",S)),S.count+=1,S.pop+=E;let g=S.clusters.get(u||"__unknown__");g||(g={code:u,label:f,count:0,pop:0,peopleGroups:new Map},S.clusters.set(u||"__unknown__",g)),g.count+=1,g.pop+=E;let k=g.peopleGroups.get(v||"__unknown__");k||(k={code:v,label:x,count:0,pop:0,instances:[]},g.peopleGroups.set(v||"__unknown__",k)),k.count+=1,k.pop+=E,k.instances.push({id:T,name:w,country:_,pop:E})}return s}),o=Q(()=>{const a=t.value,s=[];for(const r of a.values()){const i=t0(r.code,r.label),l={id:`bloc:${r.code||r.label}`,label:r.label,color:i,count:r.count,pop:r.pop,filter:r.code?["==",["get","affinityBlock"],r.code]:["!",["has","affinityBlock"]],children:[]};for(const c of r.clusters.values()){const u={id:`cluster:${r.code}__${c.code||c.label}`,label:`${c.label} (Cluster)`,color:i,count:c.count,pop:c.pop,filter:c.code?["==",["get","cluster"],c.code]:["==",["get","affinityBlock"],r.code],children:[]};for(const f of c.peopleGroups.values()){const v={id:`pg:${r.code}__${c.code}__${f.code||f.label}`,label:`${f.label} (PG)`,color:i,count:f.count,pop:f.pop,filter:f.code?["==",["get","peopleGroup"],f.code]:["all",["==",["get","affinityBlock"],r.code],["==",["get","cluster"],c.code]],children:[]};f.instances.sort((x,T)=>T.pop-x.pop||x.country.localeCompare(T.country));for(const x of f.instances)v.children.push({id:`pgic:${x.id}`,label:`${x.country?`${x.name}, ${x.country}`:x.name} (PGIC)`,color:i,count:1,pop:x.pop,filter:["==",["get","uniqueId"],x.id],children:[]});u.children.push(v)}u.children.sort((f,v)=>v.count-f.count||v.pop-f.pop),l.children.push(u)}l.children.sort((c,u)=>u.count-c.count||u.pop-c.pop),s.push(l)}return s.sort((r,i)=>i.count-r.count||i.pop-r.pop),s});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),r={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("bloc:")?r.kind="bloc":s.startsWith("cluster:")?r.kind="cluster":s.startsWith("pg:")?r.kind="people-group":s.startsWith("pgic:")&&(r.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:r}))}return{aggregated:t,affinityTree:o,highlight:n}}const f0={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},h0="#95a5a6";function m0(e){return f0[e]||h0}function b0(e){return(e==null?void 0:e.properties)||e||{}}function y0(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function _0(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function v0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function w0(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function k0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function S0(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function A0(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function x0(e){const t=Q(()=>{const a=e&&e.value||[],s=new Map;for(const r of a){const i=b0(r),l=_0(i),c=v0(i)||l||"— Unknown —",u=w0(i),f=k0(i)||u||"— Unknown —",v=S0(i),x=A0(i)||v||"— Unknown —",T=y0(i);if(!l||l==="na"||l==="none")continue;let w=s.get(l);if(w||(w={slug:l,label:c,count:0,pop:0,blocks:new Map},s.set(l,w)),w.count+=1,w.pop+=T,!u||u==="na")continue;let E=w.blocks.get(u);if(E||(E={slug:u,label:f,count:0,pop:0,countries:new Map},w.blocks.set(u,E)),E.count+=1,E.pop+=T,!v)continue;let _=E.countries.get(v);_||(_={iso:v,name:x,count:0,pop:0},E.countries.set(v,_)),_.count+=1,_.pop+=T}return s}),o=Q(()=>{const a=t.value,s=[];for(const r of a.values()){const i=m0(r.label),l=[],c=[],u=[...r.blocks.values()].sort((f,v)=>v.pop-f.pop||f.label.localeCompare(v.label));for(const f of u){const v=[],x=[],T=[...f.countries.values()].sort((w,E)=>E.pop-w.pop||w.name.localeCompare(E.name));for(const w of T)v.push(w.iso),l.push(w.iso),x.push({id:`country:${r.slug}__${f.slug}__${w.iso}`,label:w.name,color:i,count:w.count,pop:w.pop,filter:["==",["get","countryIso"],w.iso],isoCodes:[w.iso],children:[]});c.push({id:`block:${r.slug}__${f.slug}`,label:`${f.label} (Block)`,color:i,count:f.count,pop:f.pop,filter:["==",["get","wagfBlock"],f.slug],isoCodes:v,children:x})}s.push({id:`region:${r.slug}`,label:`${r.label} (Region)`,color:i,count:r.count,pop:r.pop,filter:["==",["get","doxaRegion"],r.slug],isoCodes:[...new Set(l)],children:c})}return s.sort((r,i)=>i.pop-r.pop||r.label.localeCompare(i.label)),s});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),r={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("region:")?r.kind="region":s.startsWith("block:")?r.kind="block":s.startsWith("country:")&&(r.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:r}))}return{aggregated:t,regionsTree:o,highlight:n}}const L0={class:"legend-sheet-root"},T0=["src","alt"],E0={key:0,class:"pull-tab-handle"},C0=["aria-label"],$0=["aria-label"],P0=["aria-label"],M0={class:"collapsed-detail-title"},I0={class:"legend-content"},N0=["aria-label"],F0=["aria-label"],qc=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"LegendMobile",props:{legendType:{type:String,required:!0},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1},showTotal:{type:Boolean,default:!1}},setup(e){const{t}=gt();mo(` /* ── Mobile bottom sheet — chrome only. The TABLE (title + column labels + data rows) is rendered by LegendRows, the SAME component desktop uses, with all the same default CSS. Mobile @@ -1221,4 +1221,4 @@ .sheet-dark .pull-tab-handle{background:rgba(243,243,241,0.3)!important;} .sheet-dark .legend-content{background:#3b463d!important;} .sheet-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);} -`,"legend-mobile-sheet");const o=e,n=$e("uiStore");$e("mapStore");const a=$e("dataStore"),r=$e("onSemanticTreeSelect",()=>{}),s=za(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:f,totalCount:v,totalPopulation:x,fmtPop:T,fmtCount:w}=Yr(s,zc),E=$e("normalizedPeopleGroups",null),_=Q(()=>{var b,P;if((b=E==null?void 0:E.value)!=null&&b.length)return E.value;const y=[];for(const D in(a==null?void 0:a.sources)||{}){const B=a.sources[D];(P=B==null?void 0:B.features)!=null&&P.length&&y.push(...B.features)}return y}),S={get value(){return _.value}},{langTree:g}=Rc(S),{affinityTree:k}=g0(S),{regionsTree:A}=x0(S),L=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],O=[{id:"bloc",label:"Bloc",info:"Affinity Bloc (rop1) — broadest grouping. 16 blocs total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a bloc. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],$=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Block",info:'WAGF block — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their block."}],m=Q(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function U(y){const b=[];for(const P of y){b.push({id:P.key,label:P.label,color:P.color,count:P.count??0,pop:P.population??0,filter:P.filterKey?["==",["get","_flat_filter"],P.filterKey]:null,children:[]});for(const D of P.children||[])b.push({id:D.key,label:D.label,color:D.color,count:D.count??0,pop:D.population??0,filter:D.filterKey?["==",["get","_flat_filter"],D.filterKey]:null,children:[]})}return b}const H=Q(()=>m.value?U(i.value):o.legendType==="affinity-block"?k.value:o.legendType==="doxa-regions"?A.value:g.value),I=Q(()=>m.value?null:o.legendType==="affinity-block"?O:o.legendType==="doxa-regions"?$:L),W=Q(()=>m.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),ue=Q(()=>o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":m.value?"Status":""),C=me(0),M=me(0),j=me(0),se=me(!1),fe=Q(()=>n.legendState),Z=Q(()=>n.legendHeight),ce=Q(()=>n.caretRotation),oe=Q(()=>n.showPullTab),ke=Q(()=>n.legendMode),ie=Q(()=>n.selectedPeopleGroup),Fe=Q(()=>{var y;return ke.value==="detail"&&ie.value?((y=ie.value.properties)==null?void 0:y.name)||t("legend.header.peopleGroupFallback"):fe.value==="collapsed"?t("legend.header.collapsed"):c.value});function ge(y){n.handleLegendItemClick(),f(y)}function Te(){n.toggleLegend()}function Ae(){n.selectPeopleGroup(null),n.openLegend()}const z=Q(()=>{var b;if(!ie.value)return null;const y=ie.value.properties||{};return y.imageUrl||((b=y._raw)==null?void 0:b.ImageURL)||null});function he(y){var b;if(fe.value!=="collapsed"){C.value=y.touches[0].clientY;const P=y.currentTarget.parentElement;M.value=P.offsetHeight,j.value=((b=P.parentElement)==null?void 0:b.offsetHeight)||window.innerHeight,se.value=!0}}function N(y){if(!se.value)return;y.preventDefault();const b=y.touches[0].clientY,P=C.value-b,D=M.value+P,B=j.value||window.innerHeight,Y=B*.3,q=B-56,p=Math.max(Y,Math.min(q,D));n.setLegendHeight(`${p}px`)}function d(y){var K;se.value=!1;const b=(K=y==null?void 0:y.currentTarget)==null?void 0:K.parentElement,P=b?b.offsetHeight:M.value,D=M.value,B=j.value||window.innerHeight,Y=8,q=P>D+Y,p=P=B*.55,F=D>=B*.2&&!h;p&&h?n.openLegend():p&&F?n.collapseLegend():q?n.fullyOpenLegend():n.openLegend()}return ao(()=>{}),Bo(()=>{}),(y,b)=>{var P;return J(),ne("div",L0,[ke.value==="detail"&&ie.value&&fe.value==="open"&&z.value?(J(),ne("div",{key:0,class:"floating-mini-image",onClick:b[0]||(b[0]=D=>pe(n).fullyOpenLegend())},[G("img",{src:z.value,alt:(P=ie.value.properties)==null?void 0:P.name,class:"mini-image"},null,8,T0)])):we("",!0),G("div",{class:Be(["legend-mobile-sheet",[fe.value,{"sheet-dark":e.isDark}]]),style:ct({height:Z.value})},[G("div",{class:"sheet-drag-strip",onClick:Te,onTouchstart:b[1]||(b[1]=D=>oe.value?he(D):null),onTouchmove:b[2]||(b[2]=D=>oe.value?N(D):null),onTouchend:b[3]||(b[3]=D=>oe.value?d(D):null)},[oe.value?(J(),ne("div",E0)):we("",!0)],32),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:0,class:"detail-collapse-btn-mobile",onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},null,8,C0)):we("",!0),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:Et(Ae,["stop"]),"aria-label":pe(t)("aria.backToLegend")},[...b[4]||(b[4]=[G("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[G("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,$0)):we("",!0),fe.value==="collapsed"&&ke.value==="detail"&&ie.value?(J(),ne("div",{key:2,class:"collapsed-detail-footer",onClick:Te},[G("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),"aria-label":pe(t)("aria.toggleLegend"),tabindex:"-1"},[...b[5]||(b[5]=[G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,P0),G("span",M0,ye(Fe.value),1)])):we("",!0),G("div",I0,[ke.value==="detail"&&ie.value?(J(),ne(Ie,{key:0},[fe.value!=="collapsed"?(J(),Je(Hc,{key:0,peopleGroup:ie.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):we("",!0)],64)):e.legendType!=="default"?(J(),Je(Wc,{key:1,nodes:H.value,tabs:I.value,title:Fe.value||W.value,hideTabs:m.value,columnLabel:ue.value,columns:["count","pop"],"total-label":e.showTotal&&m.value?pe(t)("legend.footer.total"):"","total-count":pe(v),"total-pop":pe(x),onSelect:pe(r)},{"title-caret":Tt(()=>[G("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[6]||(b[6]=[G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,N0)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","total-label","total-count","total-pop","onSelect"])):(J(),Je(Uc,{key:2,title:Fe.value,items:pe(i),columns:pe(l),activeFilter:pe(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(v),totalPopulation:pe(x),fmtPop:pe(T),fmtCount:pe(w),onFilterClick:ge},{"title-caret":Tt(()=>[G("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[7]||(b[7]=[G("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[G("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,F0)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],6)])}}},[["__scopeId","data-v-ea4ebd2e"]])},Symbol.toStringTag,{value:"Module"}))})(); +`,"legend-mobile-sheet");const o=e,n=$e("uiStore");$e("mapStore");const a=$e("dataStore"),s=$e("onSemanticTreeSelect",()=>{}),r=za(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:f,totalCount:v,totalPopulation:x,fmtPop:T,fmtCount:w}=Ys(r,zc),E=$e("normalizedPeopleGroups",null),_=Q(()=>{var b,P;if((b=E==null?void 0:E.value)!=null&&b.length)return E.value;const y=[];for(const D in(a==null?void 0:a.sources)||{}){const B=a.sources[D];(P=B==null?void 0:B.features)!=null&&P.length&&y.push(...B.features)}return y}),S={get value(){return _.value}},{langTree:g}=Rc(S),{affinityTree:k}=g0(S),{regionsTree:A}=x0(S),L=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],O=[{id:"bloc",label:"Bloc",info:"Affinity Bloc (rop1) — broadest grouping. 16 blocs total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a bloc. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],$=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Block",info:'WAGF block — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their block."}],m=Q(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function U(y){const b=[];for(const P of y){b.push({id:P.key,label:P.label,color:P.color,count:P.count??0,pop:P.population??0,filter:P.filterKey?["==",["get","_flat_filter"],P.filterKey]:null,children:[]});for(const D of P.children||[])b.push({id:D.key,label:D.label,color:D.color,count:D.count??0,pop:D.population??0,filter:D.filterKey?["==",["get","_flat_filter"],D.filterKey]:null,children:[]})}return b}const H=Q(()=>m.value?U(i.value):o.legendType==="affinity-block"?k.value:o.legendType==="doxa-regions"?A.value:g.value),I=Q(()=>m.value?null:o.legendType==="affinity-block"?O:o.legendType==="doxa-regions"?$:L),W=Q(()=>m.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),ue=Q(()=>o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":m.value?"Status":""),C=me(0),M=me(0),G=me(0),re=me(!1),fe=Q(()=>n.legendState),Z=Q(()=>n.legendHeight),ce=Q(()=>n.caretRotation),oe=Q(()=>n.showPullTab),ke=Q(()=>n.legendMode),ie=Q(()=>n.selectedPeopleGroup),Fe=Q(()=>{var y;return ke.value==="detail"&&ie.value?((y=ie.value.properties)==null?void 0:y.name)||t("legend.header.peopleGroupFallback"):fe.value==="collapsed"?t("legend.header.collapsed"):c.value});function ge(y){n.handleLegendItemClick(),f(y)}function Te(){n.toggleLegend()}function Ae(){n.selectPeopleGroup(null),n.openLegend()}const z=Q(()=>{var b;if(!ie.value)return null;const y=ie.value.properties||{};return y.imageUrl||((b=y._raw)==null?void 0:b.ImageURL)||null});function he(y){var b;if(fe.value!=="collapsed"){C.value=y.touches[0].clientY;const P=y.currentTarget.parentElement;M.value=P.offsetHeight,G.value=((b=P.parentElement)==null?void 0:b.offsetHeight)||window.innerHeight,re.value=!0}}function N(y){if(!re.value)return;y.preventDefault();const b=y.touches[0].clientY,P=C.value-b,D=M.value+P,B=G.value||window.innerHeight,Y=B*.3,q=B-56,p=Math.max(Y,Math.min(q,D));n.setLegendHeight(`${p}px`)}function d(y){var K;re.value=!1;const b=(K=y==null?void 0:y.currentTarget)==null?void 0:K.parentElement,P=b?b.offsetHeight:M.value,D=M.value,B=G.value||window.innerHeight,Y=8,q=P>D+Y,p=P=B*.55,F=D>=B*.2&&!h;p&&h?n.openLegend():p&&F?n.collapseLegend():q?n.fullyOpenLegend():n.openLegend()}return ao(()=>{}),Bo(()=>{}),(y,b)=>{var P;return J(),ne("div",L0,[ke.value==="detail"&&ie.value&&fe.value==="open"&&z.value?(J(),ne("div",{key:0,class:"floating-mini-image",onClick:b[0]||(b[0]=D=>pe(n).fullyOpenLegend())},[j("img",{src:z.value,alt:(P=ie.value.properties)==null?void 0:P.name,class:"mini-image"},null,8,T0)])):we("",!0),j("div",{class:Be(["legend-mobile-sheet",[fe.value,{"sheet-dark":e.isDark}]]),style:ct({height:Z.value})},[j("div",{class:"sheet-drag-strip",onClick:Te,onTouchstart:b[1]||(b[1]=D=>oe.value?he(D):null),onTouchmove:b[2]||(b[2]=D=>oe.value?N(D):null),onTouchend:b[3]||(b[3]=D=>oe.value?d(D):null)},[oe.value?(J(),ne("div",E0)):we("",!0)],32),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:0,class:"detail-collapse-btn-mobile",onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},null,8,C0)):we("",!0),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:Et(Ae,["stop"]),"aria-label":pe(t)("aria.backToLegend")},[...b[4]||(b[4]=[j("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,$0)):we("",!0),fe.value==="collapsed"&&ke.value==="detail"&&ie.value?(J(),ne("div",{key:2,class:"collapsed-detail-footer",onClick:Te},[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),"aria-label":pe(t)("aria.toggleLegend"),tabindex:"-1"},[...b[5]||(b[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,P0),j("span",M0,ye(Fe.value),1)])):we("",!0),j("div",I0,[ke.value==="detail"&&ie.value?(J(),ne(Ie,{key:0},[fe.value!=="collapsed"?(J(),Je(Hc,{key:0,peopleGroup:ie.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):we("",!0)],64)):e.legendType!=="default"?(J(),Je(Wc,{key:1,nodes:H.value,tabs:I.value,title:Fe.value||W.value,hideTabs:m.value,columnLabel:ue.value,columns:["count","pop"],"total-label":e.showTotal&&m.value?pe(t)("legend.footer.total"):"","total-count":pe(v),"total-pop":pe(x),onSelect:pe(s)},{"title-caret":Tt(()=>[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[6]||(b[6]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,N0)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","total-label","total-count","total-pop","onSelect"])):(J(),Je(Uc,{key:2,title:Fe.value,items:pe(i),columns:pe(l),activeFilter:pe(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(v),totalPopulation:pe(x),fmtPop:pe(T),fmtCount:pe(w),onFilterClick:ge},{"title-caret":Tt(()=>[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[7]||(b[7]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,F0)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],6)])}}},[["__scopeId","data-v-ea4ebd2e"]])},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/server/api/people-groups/statistics.get.ts b/server/api/people-groups/statistics.get.ts index 13271c9f..d29956f5 100644 --- a/server/api/people-groups/statistics.get.ts +++ b/server/api/people-groups/statistics.get.ts @@ -19,21 +19,40 @@ export interface PrayerStatisticsResponse { committed_duration: string } +interface PeopleGroupListResponse { + posts?: Array<{ people_committed?: number | string | null }> +} + +const FULL_PRAYER_COVERAGE_COUNT = 100 + export default defineCachedEventHandler( async (): Promise => { const config = useRuntimeConfig() const prayBaseUrl = String(config.public.prayBaseUrl || '').replace(/\/$/, '') - const data = await $fetch>( - `${prayBaseUrl}/api/people-groups/statistics`, - { timeout: 10_000 } - ) + const data = await $fetch>(`${prayBaseUrl}/api/people-groups/statistics`, { timeout: 10_000 }) + + let totalWithPrayer = Number(data.total_with_prayer || 0) + let totalWithFullPrayer = Number(data.total_with_full_prayer || 0) + + try { + const list = await $fetch( + `${prayBaseUrl}/api/people-groups/list?fields=people_committed`, + { timeout: 10_000 } + ) + const committedCounts = (list.posts || []).map(post => Number(post.people_committed || 0)) + totalWithPrayer = committedCounts.filter(count => count > 0).length + totalWithFullPrayer = committedCounts.filter(count => count >= FULL_PRAYER_COVERAGE_COUNT).length + } catch (error) { + console.warn('Unable to derive prayer coverage statistics from people-group list:', error) + } + return { total: Number(data.total || 0), total_unengaged: Number(data.total_unengaged || 0), total_population: Number(data.total_population || 0), unengaged_population: Number(data.unengaged_population || 0), - total_with_prayer: Number(data.total_with_prayer || 0), - total_with_full_prayer: Number(data.total_with_full_prayer || 0), + total_with_prayer: totalWithPrayer, + total_with_full_prayer: totalWithFullPrayer, total_adopted: Number(data.total_adopted || 0), people_committed: String(data.people_committed || '0'), committed_duration: String(data.committed_duration || '0')