diff --git a/app/utils/terms/es.ts b/app/utils/terms/es.ts new file mode 100644 index 00000000..4e57366f --- /dev/null +++ b/app/utils/terms/es.ts @@ -0,0 +1,180 @@ +import type { TermsContent } from './index' + +export const es: TermsContent = { + title: 'Terminología', + intro: [ + 'Esta página documenta las decisiones terminológicas en español de la asociación DOXA. Para cada término: la definición, las alternativas consideradas, lo que usan Joshua Project y PeopleGroups.org (IMB) y la razón de nuestra elección.', + 'Nuestras fuentes: el glosario de DOXA revisado por un traductor hispanohablante, sus comentarios sobre el sitio web y, para toda expresión de origen bíblico, la Nueva Versión Internacional (NVI) y la Reina-Valera 1960 (RVR1960).' + ], + seeDefinitionsBefore: 'Las definiciones completas están en la página', + definitionsLinkLabel: 'Definiciones', + seeDefinitionsAfter: '.', + labels: { + english: 'Inglés:', + definition: 'Definición:', + alternatives: 'Alternativas consideradas:', + jp: 'Joshua Project:', + pg: 'PeopleGroups.org:', + rationale: 'Por qué esta elección:' + }, + entries: [ + { + term: 'Grupo étnico', + english: 'people group', + definition: + 'un grupo etnolingüístico cuyos miembros perciben entre sí una afinidad común basada en el idioma, la cultura, la religión y la cosmovisión: el grupo más amplio dentro del cual el evangelio puede extenderse sin barreras de comprensión o aceptación. La unidad fundamental de todo lo que DOXA cuenta.', + alternatives: 'grupo de personas · pueblo étnico · pueblo · tribu · grupo etnolingüístico', + rationale: + 'preguntado si «grupo de personas» debía mantenerse, nuestro revisor respondió «grupo étnico»: recoge con más precisión el concepto etnolingüístico, mientras que «grupo de personas» suena a estadística y «pueblo» a nación. Es también la base de las siglas en español (GENANC). «Tribu» se evita por sus connotaciones primitivas.' + }, + { + term: 'Grupo étnico no alcanzado', + english: 'unreached people group (UPG)', + definition: + 'aproximadamente 2 discípulos o menos de cada 100 personas (≤ 2 %), sin la capacidad de establecer iglesias autóctonas sin obreros transculturales. Joshua Project añade un criterio de ≤ 5 % de cristianos; DOXA sigue la definición de la IMB.', + alternatives: 'pueblo étnico no alcanzado (PNA) · UPG (sigla inglesa)', + rationale: + 'el glosario revisado no fija una sigla en español para este término, así que se escribe completo. «PNA» se construyó sobre «pueblo» y se abandonó con él. Para la movilización general basta el término «grupos étnicos no alcanzados»; las categorías más finas de abajo se dirigen a los responsables estratégicos.' + }, + { + term: 'Grupo étnico no comprometido', + english: 'unengaged people group', + definition: + 'sin creyentes conocidos o con muy pocos, y sin los cuatro niveles primarios de compromiso efectivo (esfuerzo apostólico residente; compromiso con la cultura local y la lengua del corazón; compromiso ministerial a largo plazo; siembra del evangelio orientada a un movimiento de plantación de iglesias). Un término técnico del entorno de la IMB: dice que nadie trabaja entre ellos, no que el pueblo sea indiferente.', + alternatives: 'sin compromiso · grupo desvinculado · no involucrado · sin participación misionera activa', + rationale: + 'se le pidió al revisor que reconsiderara «no comprometido» porque podía sonar a que el grupo mismo carece de compromiso. Lo mantuvo: «comprometido es la palabra correcta para implicar a alguien con responsabilidad y compromiso; involucramiento significa implicar a alguien en un proyecto o una acción». «Sin compromiso» y «desvinculado», usados en borradores anteriores, quedan sustituidos. En texto corrido va en minúscula.' + }, + { + term: 'Grupo étnico no alcanzado no comprometido (GENANC)', + english: 'unengaged unreached people group (UUPG)', + definition: + 'la categoría combinada: no alcanzado y no comprometido. Los 2.085 grupos étnicos por los que DOXA moviliza oración.', + alternatives: 'PNANC (pueblo no alcanzado no comprometido) · GNANC · UUPG (sigla inglesa)', + pg: 'UUPG es la sigla internacional establecida.', + rationale: + 'nuestro revisor usa siglas en español en lugar de las inglesas: «he usado una abreviatura en español en vez de la inglesa; por favor, añádanla donde aparece UUPG en la versión inglesa». Trabajó primero con PNANC y, al adoptarse «grupo étnico», propuso «GENANC o GNANC»; el glosario revisado usa GENANC en todo el texto. Como término técnico o al desplegar la sigla va sin «y»; en prosa descriptiva «grupo étnico no alcanzado y no comprometido» se lee con más naturalidad.' + }, + { + term: 'Grupo étnico poco comprometido', + english: 'under-engaged people group', + definition: + 'aproximadamente 1 discípulo o menos de cada 100 (≤ 1 %): el trabajo ha comenzado, pero se necesitan más equipos de plantación de iglesias para un compromiso fructífero.', + alternatives: 'subcomprometido · menos alcanzado · pocos alcanzados', + rationale: + 'transmite que el trabajo es insuficiente en escala, no que el pueblo sea indiferente, y mantiene la familia «comprometido». «Menos alcanzados» confunde esta categoría con el grado de alcance; «subcomprometido» es un calco poco natural.' + }, + { + term: 'Grupo fronterizo', + english: 'frontier people group', + definition: + 'aproximadamente 1 discípulo o menos de cada 1.000 (≤ 0,1 %) sin ningún movimiento confirmado y sostenido hacia Jesús: los más no alcanzados entre los no alcanzados. El término procede de Joshua Project.', + alternatives: 'gente fronteriza · pueblo fronterizo · grupo étnico frontera · gente de la frontera', + rationale: + '«fronterizo» señala el extremo misionológico, el primer contacto con el evangelio, sin la connotación militar de «frontera». Para la cifra de la página de inicio el revisor corrigió «gente de la frontera» por «gente fronteriza», que se conserva en esa etiqueta.' + }, + { + term: 'Compromiso · comprometido', + english: 'engagement · engaged', + definition: + 'actividad sostenida, residente y transcultural para compartir a Cristo y hacer discípulos, orientada a iglesias autosustentables y realizada de maneras culturalmente apropiadas y localmente relevantes (véase «¿Qué es el compromiso?» en la página de Visión).', + alternatives: 'involucramiento · participación · implicación · contacto', + rationale: + 'se le pidió al revisor que considerara «compromiso» con cuidado, porque puede confundir el ministerio residente con una actitud. Lo confirmó por la misma razón que «comprometido»: implica responsabilidad y compromiso, mientras que «involucramiento» solo significa tomar parte en un proyecto. El verbo es «comprometer» («Comprometer a todos los grupos étnicos no comprometidos para 2033»); «involucrar» y «participación», de borradores anteriores, quedan sustituidos. En las etiquetas de interfaz: «Estado de compromiso», «Criterios de compromiso».' + }, + { + term: 'Movimiento de plantación de iglesias (MPI)', + english: 'church-planting movement (CPM)', + definition: + 'una multiplicación de iglesias autóctonas que plantan iglesias, con al menos cuatro corrientes de cuatro generaciones espirituales que juntas suman más de 1.000 personas.', + alternatives: 'CPM (sigla inglesa) · movimiento de multiplicación de iglesias', + rationale: + 'la expresión es la habitual en el ámbito misionológico hispano. La sigla se traduce, como GENANC, siguiendo la regla de nuestro revisor de sustituir las siglas inglesas; el glosario revisado usa MPI.' + }, + { + term: 'Iglesia autóctona', + english: 'indigenous church', + definition: + 'una iglesia que surge desde dentro del grupo étnico y madura en los cinco «auto»: autogobierno, autosustento, autopropagación, autoteologización y automisionología.', + alternatives: 'iglesia indígena · iglesia nativa · iglesia local', + rationale: + '«autóctona» significa con raíces locales y autogobernada. «Indígena» evoca en español a los pueblos indígenas y sus religiones, lo que invita a asociaciones con el sincretismo; «local» no dice que la iglesia sea propia del grupo étnico.' + }, + { + term: 'Obreros transculturales', + english: 'cross-cultural workers', + alternatives: 'trabajadores interculturales · trabajadores transculturales · misioneros extranjeros', + rationale: + '«obrero» es la palabra del uso evangélico hispano para quien sirve en la mies (Mateo 9:38); «transcultural» nombra el paso a otra cultura, el sentido misionero, mientras que «intercultural» sugiere el intercambio entre culturas que conviven. «Extranjero» solo dice de dónde viene el obrero, no que cruza una cultura.' + }, + { + term: 'Señor de la cosecha', + english: 'Lord of the harvest', + rationale: + 'Mateo 9:38 (NVI): «Pídanle, por tanto, al Señor de la cosecha que envíe obreros a su campo». La RVR1960 dice «Señor de la mies»; el glosario revisado eligió «cosecha» y conserva «mies» como glosa (mies = personas listas para responder). Nuestras expresiones bíblicas siguen estas dos traducciones.' + }, + { + term: 'La oración prepara el camino', + english: 'prayer prepares the way', + alternatives: 'la oración abre el camino · la oración prepara el terreno', + rationale: + 'eco de Isaías 40:3 («Preparen el camino del Señor», NVI; «Preparad camino a Jehová», RVR1960). Dice que la intercesión crea las condiciones para el evangelio mucho antes de que lleguen los obreros. «Prepara el terreno» sigue siendo correcto donde el texto inglés dice «prepares the soil».' + }, + { + term: 'Lengua del corazón', + english: 'heart language', + alternatives: 'idioma del corazón · lengua materna', + rationale: + 'la expresión establecida en la obra misionera y de traducción bíblica para la lengua en la que una persona piensa y siente, a diferencia de la lengua oficial o franca, matiz que «lengua materna» no expresa. La cita de la página de Definiciones conserva «idioma del corazón».' + }, + { + term: 'Motivos de oración', + english: 'prayer points', + alternatives: 'puntos de oración · pedidos de oración · peticiones de oración · indicaciones de oración', + rationale: + '«motivos de oración» es la expresión natural de las iglesias hispanas; «puntos de oración» es un calco. El glosario revisado fija «motivos diarios de oración»; el conjunto diario se llama «guía diaria de oración». En el sitio web, el revisor escribió «pedidos de oración» en dos frases, que se conservan.' + }, + { + term: 'Adoptar (un grupo étnico)', + english: 'adopt a people group', + alternatives: 'apadrinar · acoger · elegir · comprometerse con', + rationale: + 'el concepto es un patrocinio misional: una iglesia asume la responsabilidad estratégica de orar, dar y enviar por un grupo étnico. «Apadrinar» y «acoger» desplazan el sentido hacia el padrinazgo o la acogida familiar; «elegir» queda para el paso de selección («Elige un grupo étnico»). Se evita el lenguaje legal de la adopción de menores.' + }, + { + term: 'Nuestro regalo para Jesús', + english: 'our gift to Jesus', + alternatives: 'nuestra ofrenda a Jesús · nuestro don a Jesús', + rationale: '«regalo» conserva la calidez de una entrega de adoración; «ofrenda» suena a colecta y «don» a lenguaje litúrgico.' + }, + { + term: 'Fraternidad Mundial de las Asambleas de Dios (FMAD)', + english: 'World Assemblies of God Fellowship (WAGF)', + alternatives: 'World Assemblies of God Fellowship (sin traducir) · Asambleas de Dios Mundial · Comunidad Mundial de las Asambleas de Dios', + rationale: + 'a diferencia de otros idiomas, el español tiene un nombre establecido para la fraternidad, y nuestro revisor lo fijó: «WAGF, la traducción al español es FMAD». La sigla FMAD se mantiene igual en todo el sitio.' + }, + { + term: 'Agencias enviadoras', + english: 'sending agencies', + alternatives: 'agencias de envío · agencias misioneras · agencias misioneras de envío', + rationale: + 'término del glosario revisado. «Agencia misionera» es la palabra corriente, pero más amplia; «enviadora» mantiene visible la función de enviar, que forma parte del tríptico orar, dar y enviar.' + }, + { + term: 'Oración diaria (por un grupo étnico)', + english: 'daily prayer (for a people group)', + definition: + 'el compromiso de orar todos los días por un grupo étnico no comprometido específico, con la guía diaria de oración. La meta: más de 100 intercesores diarios por cada grupo étnico.', + alternatives: 'oración regular · cobertura de oración las 24 horas (meta anterior: 144 intercesores × 10 minutos)', + rationale: + '«diaria» es intencional: un compromiso para cada día, no una oración ocasional. La imagen anterior de 144 intercesores que juntos cubren 24 horas fue sustituida por la meta de más de 100 intercesores diarios; la métrica del sitio se llama «cobertura diaria de oración».' + }, + { + term: 'Cada tribu, lengua, pueblo y nación', + english: 'every tribe, tongue, people, and nation', + rationale: + 'Apocalipsis 5:9 y 7:9, el cuadro que motiva toda la obra. La NVI traduce 7:9 «de toda nación, tribu, pueblo y lengua» y la RVR1960 «de todas naciones y tribus y pueblos y lenguas»; la forma del glosario conserva el orden inglés de los cuatro sustantivos. Cada uno nombra una dimensión distinta de la diversidad humana: tribu (clan), lengua (idioma), pueblo (grupo étnico), nación (unidad política).' + } + ] +} diff --git a/app/utils/terms/index.ts b/app/utils/terms/index.ts index 2fdf5c30..fb6318c7 100644 --- a/app/utils/terms/index.ts +++ b/app/utils/terms/index.ts @@ -8,6 +8,7 @@ import { en } from './en' import { fr } from './fr' import { de } from './de' +import { es } from './es' export interface TermEntry { /** Canonical term in this edition's language. */ @@ -42,7 +43,7 @@ export interface TermsContent { entries: TermEntry[] } -const editions: Record = { en, fr, de } +const editions: Record = { en, fr, de, es } export function getTermsContent(locale: string): TermsContent { return editions[locale] ?? en diff --git a/config/glossaries.ts b/config/glossaries.ts index 0af50fb5..c3809d51 100644 --- a/config/glossaries.ts +++ b/config/glossaries.ts @@ -185,67 +185,67 @@ export const GLOSSARIES: Record ["unreached people groups", "grupos étnicos no alcanzados"], ["unengaged people group", "grupo étnico no comprometido"], ["unengaged people groups", "grupos étnicos no comprometidos"], - ["unengaged unreached people group", "grupo étnico no alcanzado y no comprometido"], - ["under-engaged", "subcomprometido"], - ["frontier people group", "grupo étnico frontera"], - ["frontier people groups", "grupos étnicos frontera"], + ["unengaged unreached people group", "grupo étnico no alcanzado no comprometido (GENANC)"], + ["under-engaged", "poco comprometido"], + ["frontier people group", "grupo fronterizo"], + ["frontier people groups", "grupos fronterizos"], ["ethnolinguistic group", "grupo etnolingüístico"], ["unreached", "no alcanzado"], ["unengaged", "no comprometido"], ["engaged", "comprometido"], ["engagement", "compromiso"], ["fruitful engagement", "compromiso fructífero"], - ["gospel access", "acceso al Evangelio"], - ["gospel engagement", "compromiso con el Evangelio"], - ["the gospel", "el Evangelio"], - ["church-planting movement", "movimiento de plantación de iglesias"], + ["gospel access", "acceso al evangelio"], + ["gospel engagement", "compromiso con el evangelio"], + ["the gospel", "el evangelio"], + ["church-planting movement", "movimiento de plantación de iglesias (MPI)"], ["church planting", "plantación de iglesias"], ["indigenous church", "iglesia autóctona"], ["indigenous churches", "iglesias autóctonas"], ["self-propagating", "autopropagador"], ["self-governing", "autogobernado"], - ["self-supporting", "autofinanciado"], + ["self-supporting", "autosustentado"], ["self-theologizing", "autoteologizante"], ["self-missionizing", "automisionero"], ["residential engagement", "compromiso residencial"], - ["workers in residence", "obreros residentes"], + ["workers in residence", "trabajadores residentes"], ["cross-cultural workers", "obreros transculturales"], ["apostolic effort", "esfuerzo apostólico"], ["pioneer work", "trabajo pionero"], - ["heart language", "lengua materna"], + ["heart language", "lengua del corazón"], ["movement to Jesus", "movimiento hacia Jesús"], - ["nonresident partners", "socios no residentes"], - ["broader engagement", "compromiso ampliado"], + ["nonresident partners", "asociados no residentes"], + ["broader engagement", "compromiso más amplio"], ["diaspora", "diáspora"], ["daily prayer", "oración diaria"], ["24-hour prayer coverage", "cobertura de oración de 24 horas"], ["intercessor", "intercesor"], ["intercessors", "intercesores"], - ["intercessory prayer", "oración de intercesión"], + ["intercessory prayer", "oración intercesora"], ["prayer points", "motivos de oración"], - ["daily prayer guide", "guía de oración diaria"], + ["daily prayer guide", "guía diaria de oración"], ["prayer prepares the way", "la oración prepara el camino"], ["Lord of the harvest", "Señor de la cosecha"], ["adopt", "adoptar"], ["pray, give, and send", "orar, dar y enviar"], ["mobilize", "movilizar"], ["mobilization", "movilización"], - ["sending agency", "agencia de envío"], - ["sending agencies", "agencias de envío"], - ["our gift to Jesus", "nuestra ofrenda a Jesús"], - ["DOXA partnership missionaries", "misioneros asociados de DOXA"], - ["every tribe, tongue, people, and nation", "toda tribu, lengua, pueblo y nación"], - ["make disciples of all the nations", "hagan discípulos de todas las naciones"], + ["sending agency", "agencia enviadora"], + ["sending agencies", "agencias enviadoras"], + ["our gift to Jesus", "nuestro regalo para Jesús"], + ["DOXA partnership missionaries", "misioneros asociados a DOXA"], + ["every tribe, tongue, people, and nation", "cada tribu, lengua, pueblo y nación"], + ["make disciples of all the nations", "hacer discípulos a todas las naciones"], ["disciple", "discípulo"], ["disciples", "discípulos"], ["baptized disciples", "discípulos bautizados"], ["culturally appropriate", "culturalmente apropiado"], - ["self-sustaining churches", "iglesias autosostenibles"], + ["self-sustaining churches", "iglesias autosustentables"], ["spiritual generations", "generaciones espirituales"], - ["abide in Jesus", "permanezcan en Jesús"], - ["pray without ceasing", "oren sin cesar"], - ["deny yourself", "niéguense a sí mismos"], - ["engage the regions beyond", "alcanzar las regiones de más allá"], + ["abide in Jesus", "permanecer en Jesús"], + ["pray without ceasing", "orar sin cesar"], + ["deny yourself", "niégate a ti mismo"], + ["engage the regions beyond", "involucrarse en las regiones más allá"], ["Pentecostal", "pentecostal"], ["Statement of Faith", "Declaración de fe"], ["new birth", "nuevo nacimiento"], @@ -254,7 +254,7 @@ export const GLOSSARIES: Record ["atonement", "expiación"], ["sanctification", "santificación"], ["baptism in water", "bautismo en agua"], - ["Lord's Supper", "Santa Cena"], + ["Lord's Supper", "Cena del Señor"], ["baptism in the Holy Spirit", "bautismo en el Espíritu Santo"], ["speaking in tongues", "hablar en lenguas"], ["gifts of the Holy Spirit", "dones del Espíritu Santo"], @@ -262,8 +262,10 @@ export const GLOSSARIES: Record ["bodily resurrection", "resurrección corporal"], ["pray", "orar"], ["engage", "comprometer"], - ["UUPG", "PNANC"], + ["UUPG", "GENANC"], ["World Assemblies of God Fellowship", "Fraternidad Mundial de las Asambleas de Dios"], + ["champion", "defensor"], + ["champions", "defensores"], ["choose a people group", "elegir un grupo étnico"], ["sign up", "registrarse"] ], 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 c6dde825..10c92ca0 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 @@ -1,7 +1,7 @@ { "title": { "prayer": "Progreso de oración", - "engagement": "Progreso de implicación", + "engagement": "Progreso del compromiso", "adoption": "Progreso de adopción", "languageFamilies": "Familias lingüísticas", "doxaRegions": "Regiones Doxa", @@ -10,7 +10,7 @@ }, "header": { "collapsed": "Leyenda", - "peopleGroupFallback": "Grupo de personas" + "peopleGroupFallback": "Grupo étnico" }, "prayer": { "needsPrayer": "Nadie orando", @@ -18,15 +18,15 @@ "fullPrayerCoverage": "100+ personas orando" }, "engagement": { - "needsEngagement": "Necesita implicación", - "hasEngagement": "Tiene implicación" + "needsEngagement": "No comprometido", + "hasEngagement": "Comprometido" }, "adoption": { - "needsAdoption": "Necesita adopción", - "hasAdoption": "Tiene adopción" + "needsAdoption": "No adoptado", + "hasAdoption": "Adoptado" }, "columns": { - "upgs": "UUPGs", + "upgs": "GENANC", "population": "Población" }, "footer": { diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/prayerLaps.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/prayerLaps.json index 3ef0d4cb..ff4ca447 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/prayerLaps.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/prayerLaps.json @@ -1,6 +1,6 @@ { "header": "VUELTA DE ORACIÓN ACTUAL", "lap": "Vuelta", - "upgs": "UUPGs", + "upgs": "GENANC", "separator": " de " } diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/search.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/search.json index 65829819..fecbe4fa 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/search.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/es/search.json @@ -1,7 +1,7 @@ { - "placeholder": "Pueblo, lugar, idioma, religión", + "placeholder": "Grupo étnico, lugar, idioma, religión", "labels": { - "people": "Pueblo:", + "people": "Grupo étnico:", "place": "Lugar:", "language": "Idioma:", "religion": "Religión:" diff --git a/i18n/locales/es/common.json b/i18n/locales/es/common.json index 397f8807..30d2d45c 100644 --- a/i18n/locales/es/common.json +++ b/i18n/locales/es/common.json @@ -16,16 +16,16 @@ "Regions": "Regiones", "See %region% dashboard": "Ver el panel de %region%", "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.", - "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 church-led commitment to pray, give, and send so that gospel access begins": "Un compromiso liderado por la iglesia de orar, dar y enviar para que comience el acceso al evangelio", + "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Un tema limpio y elegante para DOXA Life: comprometer a todos los grupos étnicos para 2033", "A simple path to faithful obedience": "Un camino sencillo hacia la obediencia fiel", "About": "Acerca de", "Actively help surface and support potential goers, encouraging those God may be calling to cross cultures and serve this people group directly.": "Ayudar activamente a descubrir y apoyar a los posibles participantes, animando a aquellos a quienes Dios pueda estar llamando a cruzar culturas y servir directamente a este grupo étnico.", "Additional tools to help your church stay engaged in prayer for this people group": "Herramientas adicionales para ayudar a tu iglesia a seguir orando por este grupo étnico", "Adopt": "Adoptar", - "Adopt an unengaged people group": "Adopta un grupo étnico no alcanzado", - "Adopt people group": "Adoptar un grupo de personas", - "Adopted": "Aprobado", + "Adopt an unengaged people group": "Adopta un grupo étnico no comprometido", + "Adopt people group": "Adoptar un grupo étnico", + "Adopted": "Adoptado", "Adoption Certificate": "Certificado de adopción", "Adoption Form": "Formulario de adopción", "Adoption Goal": "Objetivo de adopción", @@ -42,12 +42,12 @@ "Back": "Volver", "Bible Stories": "Historias bíblicas", "Bible Translation": "Traducción de la Biblia", - "Champion Details": "Detalles del campeón", - "Champion Tips": "Consejos de los campeones", + "Champion Details": "Detalles del defensor", + "Champion Tips": "Consejos de los defensores", "Choose": "Elige", "Choose a people group": "Elige un grupo étnico", - "Choose an unengaged people group you will commit to pray for daily.": "Elige un grupo étnico no alcanzado por el evangelio por el que te comprometerás a orar diariamente.", - "Church planting movements among every unreached people on earth": "Movimientos de plantación de iglesias entre todos los pueblos no comprometidos de la tierra", + "Choose an unengaged people group you will commit to pray for daily.": "Elige un grupo étnico no comprometido por el que te comprometerás a orar diariamente.", + "Church planting movements among every unreached people on earth": "Movimientos de plantación de iglesias entre cada grupo étnico no alcanzado en la tierra", "Church/Group Name": "Nombre de la iglesia/grupo", "Churches and networks take ownership – praying, giving, and preparing the way for gospel workers.": "Las iglesias y las redes asumen la responsabilidad: oran, dan y preparan el camino para los obreros del evangelio.", "Churches become active partners in God's mission": "Las iglesias se convierten en socios activos en la misión de Dios", @@ -63,17 +63,17 @@ "Contact Page": "Página de contacto", "Contact Us": "Contáctanos", "Country": "País", - "Cross-cultural workers present": "Trabajadores interculturales presentes", + "Cross-cultural workers present": "Obreros transculturales presentes", "Current Status": "Estado actual", "DOXA Campaign Talking Points": "Puntos clave de la campaña DOXA", - "DOXA Life": "DOXA Vida", + "DOXA Life": "DOXA Life", "DOXA Playbook": "Manual de DOXA", "DOXA Playbook Slides": "Diapositivas del manual de DOXA", "DOXA Promo Video": "Vídeo promocional de DOXA", "DOXA is the Greek word for \"GLORY\".": "DOXA es la palabra griega para «GLORIA».", - "Daily prayer coverage for all {0} DOXA people groups": "Cobertura diaria de oración por todos los {0} grupos de personas DOXA", + "Daily prayer coverage for all {0} DOXA people groups": "Cobertura diaria de oración por todos los {0} grupos étnicos DOXA", "Definitions": "Definiciones", - "Disciple & church multiplication": "Discípulo y multiplicación de iglesias", + "Disciple & church multiplication": "Multiplicación de discípulos e iglesias", "Discussion Guide": "Guía para el debate", "Don't see the email? Check your spam folder.": "¿No ves el correo electrónico? Revisa tu carpeta de correo no deseado.", "Done": "Hecho", @@ -82,31 +82,31 @@ "Doxa Page": "Página de Doxa", "Email": "Correo Electrónico", "Email Templates": "Plantillas de correo electrónico", - "Engage": "Participar", - "Engage every people by 2033": "Involucrar a todos los pueblos para el 2033", + "Engage": "Involúcrate", + "Engage every people by 2033": "Comprometer a todos los grupos étnicos para 2033", "Engaged": "Comprometido", - "Engaged!": "Comprometido!", + "Engaged!": "¡Comprometido!", "Engagement Status": "Estado del compromiso", "Engagement starts with prayer": "El compromiso comienza con la oración", "Enter Church/Group Name": "Introduzca el nombre de la iglesia/grupo", "Enter your email": "Introduce tu correo electrónico", "Enter your message": "Introduzca su mensaje", "Enter your name": "Introduzca su nombre", - "Every movement of the gospel begins with intercession. Cover an unengaged people group in daily prayer and help prepare the way.": "Todo movimiento del evangelio comienza con la intercesión. Cubre a un grupo étnico no alcanzado con oración diaria y ayude a preparar el camino.", - "Every unengaged people group adopted by a church committed to prayer, giving, and sending": "Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.", - "Every unengaged people on earth engaged by 2033": "Todas las personas solteras del mundo estarán comprometidas para 2033", + "Every movement of the gospel begins with intercession. Cover an unengaged people group in daily prayer and help prepare the way.": "Todo movimiento del evangelio comienza con la intercesión. Cubre a un grupo étnico no comprometido con oración diaria y ayuda a preparar el camino.", + "Every unengaged people group adopted by a church committed to prayer, giving, and sending": "Cada grupo étnico no comprometido adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.", + "Every unengaged people on earth engaged by 2033": "Cada grupo étnico no comprometido de la tierra estará comprometido para 2033", "Exact Search": "Búsqueda exacta", "Example: Pastor, Missions Pastor, Elder, Volunteer Leader etc.": "Ejemplo: Pastor, Pastor de Misiones, Anciano, Líder Voluntario, etc.", - "Find a UUPG": "Encuentre un PNANC", + "Find a UUPG": "Encuentre un GENANC", "First Name": "Nombre", "Frontier People": "Gente fronteriza", - "Fruitful engagement among frontier peoples and the under-engaged": "Compromiso fructífero entre los pueblos fronterizos y los menos alcanzados", + "Fruitful engagement among frontier peoples and the under-engaged": "Compromiso fructífero entre los grupos fronterizos y los grupos étnicos poco comprometidos", "Full Profile": "Perfil completo", "General Resources": "Recursos generales", "Get Started": "Empezar", "Give": "Dar", "Give to support gospel work among unreached peoples": "Dona para apoyar la labor evangelizadora entre los pueblos no alcanzados", - "Global Partnership for the Unreached": "Alianza Global para los No Comprometidos", + "Global Partnership for the Unreached": "Asociación Global para los No Alcanzados", "God raises up men and women to go, serve, and proclaim Christ among the nations.": "Dios levanta a hombres y mujeres para ir, servir y proclamar a Cristo entre las naciones.", "Gospel Ambition Team": "Equipo Gospel Ambition", "Gospel Recordings": "Grabaciones del Evangelio", @@ -140,7 +140,7 @@ "Load More": "Cargar más", "Loading results...": "Cargando resultados...", "Location of Church/Group": "Ubicación de la iglesia/grupo", - "Many unengaged people groups have no churches, no missionaries, and often no believers, meaning little to no consistent prayer is being offered on their behalf.": "Muchos grupos étnicos no evangelizados no tienen iglesias, ni misioneros y, a menudo, tampoco creyentes, lo que significa que se ora muy poco o nada por ellos.", + "Many unengaged people groups have no churches, no missionaries, and often no believers, meaning little to no consistent prayer is being offered on their behalf.": "Muchos grupos étnicos no comprometidos no tienen iglesias, ni misioneros y, a menudo, tampoco creyentes, lo que significa que se ora muy poco o nada por ellos.", "Message": "Mensaje", "Mobilization of 20,000+ DOXA partnership missionaries": "Movilización de más de 20.000 misioneros asociados a DOXA", "Mobilize": "Movilizar", @@ -152,7 +152,7 @@ "No": "No", "No options found": "No se han encontrado opciones", "No prayer coverage": "Sin cobertura de oración", - "No unengaged people groups by 2033": "No habrá grupos étnicos sin evangelizar para 2033", + "No unengaged people groups by 2033": "No habrá grupos étnicos no comprometidos para 2033", "Not Adopted": "No adoptado", "Not Done": "No hecho", "Not Engaged": "No comprometido", @@ -163,10 +163,10 @@ "Page Not Found": "Página no encontrada", "Partner": "Asociarse", "Partner financially on a monthly basis with the Doxa Foundation to help sustain prayer mobilization, campaign operations, and the sending of gospel workers.": "Colabora económicamente cada mes con la Fundación Doxa para ayudar a mantener la movilización de oración, las operaciones de campaña y el envío de trabajadores del evangelio.", - "Partner through prayer, giving, and sending so that gospel access begins.": "Colabora mediante la oración, las donaciones y el envío de misioneros para que el evangelio llegue a todos.", + "Partner through prayer, giving, and sending so that gospel access begins.": "Colabora mediante la oración, las donaciones y el envío de misioneros para que comience el acceso al evangelio.", "Partnering Church": "Iglesia asociada", "People Group": "Grupo Étnico", - "People Group Not Found": "Grupo de personas no encontrado", + "People Group Not Found": "Grupo étnico no encontrado", "People committed to praying": "Personas comprometidas con la oración", "People groups with complete daily prayer coverage": "Grupos étnicos con cobertura diaria completa de oración", "Per Page": "Por página", @@ -179,24 +179,24 @@ "Popular Pages:": "Páginas populares:", "Population": "Población", "Pray": "Oración", - "Pray earnestly to the Lord of the harvest ...that He would send laborers to the [Unengaged].": "Oren fervientemente al Señor de la cosecha... para que envíe obreros a las [zonas sin evangelizar].", + "Pray earnestly to the Lord of the harvest ...that He would send laborers to the [Unengaged].": "Oren fervientemente al Señor de la cosecha... para que envíe obreros a los [grupos étnicos no comprometidos].", "Pray daily and help provide complete prayer coverage for a people group.": "Ora a diario y ayuda a proporcionar una cobertura de oración completa para un grupo étnico.", - "Pray for them": "Reza por ellos.", - "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", + "Pray for them": "Ora por ellos", + "Pray regularly for this people group and for gospel breakthrough": "Ora 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", - "Prayer for an unengaged people group": "Oración por un grupo étnico no alcanzado", + "Prayer for an unengaged people group": "Oración por un grupo étnico no comprometido", "Prayer opens the door for engagement": "La oración abre la puerta al compromiso", "Prayer prepares the way for the gospel": "La oración prepara el camino para el evangelio", "Prayer softens hearts, opens doors, and invites the work of the Holy Spirit long before workers arrive or the gospel is proclaimed.": "La oración ablanda los corazones, abre puertas e invita a la obra del Espíritu Santo mucho antes de que lleguen los obreros o se proclame el evangelio.", "Prayer unites the global church": "La oración une a la iglesia mundial", - "Prayerfully select an unengaged people group to adopt.": "Selecciona en oración un grupo étnico no alcanzado para adoptar.", - "Primary Language": "Lenguaje principal", - "Primary Religion": "Religión primaria", + "Prayerfully select an unengaged people group to adopt.": "Selecciona en oración un grupo étnico no comprometido para adoptar.", + "Primary Language": "Idioma principal", + "Primary Religion": "Religión principal", "Privacy Policy": "Política de privacidad", "Printable Prayer Cards": "Tarjetas de oración para imprimir", "Printable and digital resources to promote awareness and engagement": "Recursos impresos y digitales para promover la concientización y la participación", @@ -206,7 +206,7 @@ "Radio Broadcasts": "Emisiones de radio", "Raise up 100+ daily intercessors to pray for this people group.": "Reúne a más de 100 intercesores diarios para que oren por este grupo étnico.", "Real prayer needs from the field": "Necesidades reales de oración desde el campo", - "Receive daily prayer points and join believers worldwide in prayer for the unengaged peoples.": "Reciba diariamente pedidos de oración y únase a creyentes de todo el mundo en favor de los pueblos no alcanzados.", + "Receive daily prayer points and join believers worldwide in prayer for the unengaged peoples.": "Reciba diariamente pedidos de oración y únase a creyentes de todo el mundo en favor de los grupos étnicos no comprometidos.", "Religion": "Religión", "Religious Practices": "Prácticas religiosas", "Research": "Investigación", @@ -216,7 +216,7 @@ "Scripture-centered prayer themes": "Temas de oración centrados en las Escrituras", "Search": "Buscar", "Search names, country/continent, religions...": "Buscar nombres, país/continente, religiones...", - "Search people groups or locations": "Buscar grupos de personas o ubicaciones", + "Search people groups or locations": "Buscar grupos étnicos o ubicaciones", "See All": "Ver todo", "Select": "Seleccionar", "Select Country": "Seleccionar país", @@ -238,13 +238,13 @@ "Submit Updates": "Enviar actualizaciones", "Submitting...": "Enviando...", "Success! Form submitted.": "¡Éxito! El formulario se ha enviado.", - "Thank you for adopting this Unengaged, Unreached People Group. Your church is joining a global movement asking God to open the way for the gospel among people who currently have little or no access to it. This page provides resources to help your church stay informed, mobilize prayer, and explore how God may use your community to help bring the good news of Jesus to this people group.": "Gracias por adoptar a este grupo étnico sin contacto y sin evangelizar. Tu iglesia se une a un movimiento mundial que pide a Dios que abra el camino para el Evangelio entre personas que actualmente tienen poco o ningún acceso a él. Esta página ofrece recursos para ayudar a tu iglesia a mantenerse informada, movilizar la oración y explorar cómo Dios puede utilizar a tu comunidad para ayudar a llevar la buena nueva de Jesús a este grupo étnico.", - "Thank you for taking a step toward adopting an unengaged people group. Please complete the form below so we can confirm your church's adoption, connect with your Champion, and begin sending prayer updates and resources.": "Gracias por dar un paso hacia la adopción de un grupo étnico no alcanzado. Complete el siguiente formulario para que podamos confirmar la adopción de su iglesia, ponernos en contacto con su Campeón y comenzar a enviarle actualizaciones de oración y recursos.", + "Thank you for adopting this Unengaged, Unreached People Group. Your church is joining a global movement asking God to open the way for the gospel among people who currently have little or no access to it. This page provides resources to help your church stay informed, mobilize prayer, and explore how God may use your community to help bring the good news of Jesus to this people group.": "Gracias por adoptar a este grupo étnico no alcanzado y no comprometido. Tu iglesia se une a un movimiento mundial que pide a Dios que abra el camino para el Evangelio entre personas que actualmente tienen poco o ningún acceso a él. Esta página ofrece recursos para ayudar a tu iglesia a mantenerse informada, movilizar la oración y explorar cómo Dios puede utilizar a tu comunidad para ayudar a llevar la buena nueva de Jesús a este grupo étnico.", + "Thank you for taking a step toward adopting an unengaged people group. Please complete the form below so we can confirm your church's adoption, connect with your Champion, and begin sending prayer updates and resources.": "Gracias por dar un paso hacia la adopción de un grupo étnico no comprometido. Complete el siguiente formulario para que podamos confirmar la adopción de su iglesia, ponernos en contacto con su defensor y comenzar a enviarle actualizaciones de oración y recursos.", "Thank you for your adoption commitment! We will be in touch soon.": "¡Gracias por tu compromiso de adopción! Nos pondremos en contacto contigo pronto.", "Thank you for your message. We will get back to you soon!": "Gracias por tu mensaje. ¡Te responderemos pronto!", - "The Champion is the person who will organize the 100 intercessors and receive updates.": "El Campeón es la persona que organizará a los 100 intercesores y recibirá las actualizaciones.", + "The Champion is the person who will organize the 100 intercessors and receive updates.": "El defensor es la persona que organizará a los 100 intercesores y recibirá las actualizaciones.", "The DOXA Vision: Click image to watch the video": "La visión de DOXA: Haga clic en la imagen para ver el vídeo", - "The people group you are looking for could not be found. Please try again.": "No se ha encontrado el grupo de personas que busca. Inténtelo de nuevo.", + "The people group you are looking for could not be found. Please try again.": "No se ha encontrado el grupo étnico que busca. Inténtelo de nuevo.", "There was an error sending your message. Please try again.": "Se ha producido un error al enviar tu mensaje. Inténtalo de nuevo.", "There was an error submitting your adoption. Please try again.": "Se ha producido un error al enviar tu solicitud de adopción. Inténtalo de nuevo.", "They have no gospel access": "No tienen acceso al evangelio", @@ -254,15 +254,15 @@ "Total": "Total", "Type to search...": "Escribe para buscar...", "Unengaged people groups": "Grupos étnicos no comprometidos", - "UUPG Detail": "Detalle PNANC", - "UUPG Photo": "Foto de la UUPG", - "UUPGS": "UUPGS", + "UUPG Detail": "Detalle GENANC", + "UUPG Photo": "Foto del GENANC", + "UUPGS": "GENANC", "Under-Engaged": "Poco comprometido", - "Unengaged": "Sin compromiso", - "Unengaged people groups have no missionaries, no churches, and often no known believers. Adoption helps ensure they are finally seen, prayed for, and intentionally pursued with the gospel.": "Los grupos étnicos no evangelizados no tienen misioneros, ni iglesias y, a menudo, tampoco creyentes conocidos. La adopción ayuda a garantizar que finalmente sean vistos, que se ore por ellos y que se los alcance intencionalmente con el evangelio.", - "DOXA people groups around the world": "Grupos de personas DOXA en todo el mundo", + "Unengaged": "No comprometido", + "Unengaged people groups have no missionaries, no churches, and often no known believers. Adoption helps ensure they are finally seen, prayed for, and intentionally pursued with the gospel.": "Los grupos étnicos no comprometidos no tienen misioneros, ni iglesias y, a menudo, tampoco creyentes conocidos. La adopción ayuda a garantizar que finalmente sean vistos, que se ore por ellos y que se los alcance intencionalmente con el evangelio.", + "DOXA people groups around the world": "Grupos étnicos DOXA en todo el mundo", "Unknown": "Desconocido", - "Unreached": "Sin alcanzar", + "Unreached": "No alcanzado", "View": "Ver", "View Adoption Resources": "Ver recursos sobre la adopción", "View Resources": "Ver recursos", @@ -276,7 +276,7 @@ "We recommend that churches give a monthly pledge based on their congregational size. i.e. $100 a month for a congregation around 100. $500 a month for a congregation around 500. $1000 a month for a congregation around 1000, etc.": "Recomendamos que las iglesias hagan una promesa de donación mensual basada en el tamaño de su congregación. Por ejemplo, 100 dólares al mes para una congregación de alrededor de 100 personas. 500 dólares al mes para una congregación de alrededor de 500 personas. 1000 dólares al mes para una congregación de alrededor de 1000 personas, etc.", "Welcome to the adoption Journey": "Bienvenidos al proceso de adopción", "What does \"DOXA\" mean?": "¿Qué significa «DOXA»?", - "What is your commitment? Pray. Give. Send.": "¿Cuál es tu compromiso? Oración. Da. Envía.", + "What is your commitment? Pray. Give. Send.": "¿Cuál es tu compromiso? Ora. Da. Envía.", "When we pray, we join believers around the world in God's mission, standing together for peoples still waiting to hear the name of Jesus.": "Cuando oramos, nos unimos a los creyentes de todo el mundo en la misión de Dios, permaneciendo juntos por los pueblos que aún esperan escuchar el nombre de Jesús.", "When you adopt a people group, you step into a leadership role on their behalf—standing in the gap until the gospel takes root. This involves a commitment to:": "Cuando adoptas a un grupo étnico, asumes un papel de liderazgo en su nombre, permaneciendo en la brecha hasta que el evangelio eche raíces. Esto implica un compromiso para:", "Where are they?": "¿Dónde están?", @@ -286,17 +286,17 @@ "Why prayer matters": "Por qué es importante la oración", "Work in local language & culture": "Trabajar en el idioma y la cultura locales", "World Assemblies of God Fellowship": "Fraternidad Mundial de las Asambleas de Dios", - "Yes": "Si", + "Yes": "Sí", "Your Adoption Resources": "Recursos para la adopción", "Your Resources": "Tus recursos", "Your Country (optional)": "Tu país (opcional)", - "Your UUPG": "Tu UUPG", + "Your UUPG": "Tu GENANC", "Your daily prayer guide": "Tu guía de oración diaria", - "Your role as an adopting church": "Tu papel como iglesia de acogida", + "Your role as an adopting church": "Tu papel como iglesia adoptante", "churches / individuals have adopted this people group": "iglesias / personas han adoptado a este grupo étnico", - "people groups adopted": "grupos de personas adoptados", + "people groups adopted": "grupos étnicos adoptados", "{0} Billion": "{0} Mil millones", "{0} Million": "{0} Millones", - "{0} People Groups": "{0} Grupos de personas", + "{0} People Groups": "{0} grupos étnicos", "{0} unengaged people groups": "{0} grupos étnicos no comprometidos" } diff --git a/public/js/doxa-research-map.js b/public/js/doxa-research-map.js index 6648adfe..aeb3557c 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:"أكثر من 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:"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:"Fortschritt der Arbeit vor Ort",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:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",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:"VUVGs",separator:" von "},KN={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",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:"宗教:"}};/*! + */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:"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:"Fortschritt der Arbeit vor Ort",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:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",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:"VUVGs",separator:" von "},KN={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",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 del compromiso",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 étnico"},prayer:{needsPrayer:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"No comprometido",hasEngagement:"Comprometido"},adoption:{needsAdoption:"No adoptado",hasAdoption:"Adoptado"},columns:{upgs:"GENANC",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:"GENANC",separator:" de "},iQ={placeholder:"Grupo étnico, lugar, idioma, religión",labels:{people:"Grupo étnico:",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. diff --git a/public/js/doxa-simple-map.js b/public/js/doxa-simple-map.js index 9b0cb282..d2c26992 100644 --- a/public/js/doxa-simple-map.js +++ b/public/js/doxa-simple-map.js @@ -3,44 +3,44 @@ * @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",Ge=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=>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},os=e=>{const t=Ge(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(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===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=()=>{},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};/** * @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 jn=new WeakMap,_o=Symbol(""),Ua=Symbol(""),sn=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,r){const s=jn.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=jn.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 Gn(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 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 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 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 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=Gn(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=Gn(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 Ga(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 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}/** * @vue/runtime-core v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/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(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(` +**/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 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=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(Gu(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(jo){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 jo&&(c?c.push(v):l&&v()),v}function Yu(e,t,o){const n=this.proxy,a=Ge(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(js(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,[s,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,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 js(e),_()}}}function js(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const Gs=e=>e.nodeType===8;Un().requestIdleCallback,Un().cancelIdleCallback;function Xu(e,t){if(Gs(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Gs(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||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),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)=>{(!jo||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 Ge(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||Ge(e)){const i=s&&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,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 G in s){const se=s[G];Se(se)&&(n[G]=se.bind(o))}if(a){const G=a.call(o,o);Ne(G)&&(e.data=Io(G))}if(nr=!0,r)for(const G in r){const se=r[G],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,G,{enumerable:!0,configurable:!0,get:()=>ce.value,set:oe=>ce.value=oe})}if(i)for(const G in i)Js(i[G],n,o,G);if(l){const G=Se(l)?l.call(o):l;Reflect.ownKeys(G).forEach(se=>{wt(se,G[se])})}u&&qs(u,e,"c");function M(G,se){be(se)?se.forEach(fe=>G(fe.bind(o))):se&&G(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 G=e.exposed||(e.exposed={});U.forEach(se=>{Object.defineProperty(G,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(Ge(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=>Ge(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 G0(){}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)&&jt(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&&jt(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)&&jt(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&&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)&&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=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:re,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,re&&$a(re),(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: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)&&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 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()},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(),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)&&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===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(j(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?Ge(e)||Ke(e)||Se(e)?{i:rt,r:e,k:t,f:!!o}:e:null);function j(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|=Ge(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&&!Ge(i)&&(t.class=Be(i)),Ne(l)&&(Wn(l)&&!be(l)&&(l=qe({},l)),t.style=ct(l))}const s=Ge(e)?1:yi(e)?128:Ju(e)?64:Ne(e)?4:Se(e)?2:0;return j(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=>jo=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 jo=!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,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";/** +`],...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";/** * @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=Ge(o);let r=!1;if(o&&!a){if(t)if(Ge(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,!Ge(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)||!Ge(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)&&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 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{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 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 Ge(e)?document.querySelector(e):e}/*! +**/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}/*! * 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 Go(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,Go(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(G){I.push(G)}function C(G){W.push(G)}Go(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(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[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,[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:"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:"Fortschritt der Arbeit vor Ort",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:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",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:"VUVGs",separator:" von "},tg={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",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:"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"}},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:"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:"Закрыть подробный вид"},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:"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:"宗教:"}};/*! + */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:"أكثر من 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:"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:"Fortschritt der Arbeit vor Ort",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:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",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:"VUVGs",separator:" von "},tg={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",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:"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"}},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 del compromiso",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 étnico"},prayer:{needsPrayer:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"No comprometido",hasEngagement:"Comprometido"},adoption:{needsAdoption:"No adoptado",hasAdoption:"Adoptado"},columns:{upgs:"GENANC",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:"GENANC",separator:" de "},bg={placeholder:"Grupo étnico, lugar, idioma, religión",labels:{people:"Grupo étnico:",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 "},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:"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:"Закрыть подробный вид"},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:"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,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(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,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]}))})}}/*! * 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 jf(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,Gf=".",rl="'",Kf="tokenizer";function Hf(e,t={}){const o=t.location!==!1,n=jf(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 G(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=G(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"?";":` +`,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))}/*! * 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 Gt(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)&&je(e.pluralRules[t])?e.pluralRules[t]:yl,a=Pe(e.pluralRules)&&le(t)&&je(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=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: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(je(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 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,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=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: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=>je(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)||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,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)&&!Gt(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)||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: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{jl.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 Gl(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 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();/*! * 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)||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,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=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 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:Gt(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:G,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=je(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=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: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,jl,(...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=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:()=>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 G(...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:G,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),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":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":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":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=100,Eo={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Br=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 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",jr="#94a3b8",Gr={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 Gr[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)]||jr}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,jr]}const wb={propertyKey:_b,palette:St,families:Gr,getColor:vb,applyColor:Mc,buildColorExpression:Mc,fallback:jr},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 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 G=Hr(M.language||M.primary_language);G&&(M.language=G);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 G=M.reduce((se,fe)=>{const Z=parseInt(fe.population)||0;return se+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((se,fe)=>{const Z=parseInt(fe.population)||0;return se+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{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 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=100,Eo={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Br=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 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`
{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 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{}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(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 /* Angled, brush-style pin (qa: 2026-05-06 user feedback — wanted a more hand-drawn / painterly feel like the reference image they shared). @@ -190,7 +190,7 @@ `,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)}`);const i=`${o}${n}?${r.join("&")}`;try{const u=await fetch(i);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 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 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=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=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:Gr[$]||"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(` +`&&l++,a||s.length>0){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)}`);const i=`${o}${n}?${r.join("&")}`;try{const u=await fetch(i);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(` /* ── 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"])},[j("div",{class:"lrg-items",style:ct({"--lrg-grid-cols":r.value})},[!e.hideColumnHeader&&(e.title||e.columns.length)?(J(),ne("div",ey,[j("span",ty,[ta(s.$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",ry)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===l.filterKey}]),onClick:c=>s.$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,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]=j("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===c.filterKey}]),onClick:u=>s.$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(` +`,"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(` .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(()=>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(` +`,"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(` /* ── 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]=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(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(()=>[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"},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 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: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"),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(` .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,[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",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}])},[j("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)])),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":se.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: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),G=window.devicePixelRatio||1,se=(H.x||0)*G,fe=(H.y||0)*G,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,G=-1/0,se=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),se=Math.min(se,Z.latitude),fe=Math.max(fe,Z.latitude))}),M!==1/0){I=[(M+G)/2,(se+fe)/2];const Z=G-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 G,se;return((G=M.properties)==null?void 0:G.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 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,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),yG&&(G=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,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{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(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]=[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,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomOut"),onClick:n},{default:Tt(()=>[...r[0]||(r[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 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]=[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,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,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=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,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&&(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]=[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(` +`,"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,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(` .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 G=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: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(),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),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 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 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(` /* ── 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),G=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,G.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=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;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=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(r)},{"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"}))})(); +`,"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"}))})(); diff --git a/public/js/pplr-data-maps.iife.js b/public/js/pplr-data-maps.iife.js index 285c7e4c..1f5cfeb9 100644 --- a/public/js/pplr-data-maps.iife.js +++ b/public/js/pplr-data-maps.iife.js @@ -25,7 +25,7 @@ let X,Q;class ee{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,th * (c) 2025 Eduardo San Martin Morote * @license MIT */(e);if(!a)return;const n=t._component;g(n)||n.render||n.template||(n.template=a.innerHTML),1===a.nodeType&&(a.textContent="");const l=o(a,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),l},t};let Sl;const Ml=e=>Sl=e,Tl=Symbol();function Al(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var Rl,Ol;(Ol=Rl||(Rl={})).direct="direct",Ol.patchObject="patch object",Ol.patchFunction="patch function";const Fl=()=>{};function El(e,t,o,a=Fl){e.push(t);const n=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),a())};var l;return!o&&oe()&&(l=n,X&&X.cleanups.push(l)),n}function Il(e,...t){e.slice().forEach(e=>{e(...t)})}const jl=e=>e(),Nl=Symbol(),Dl=Symbol();function $l(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,o)=>e.set(o,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o],n=e[o];Al(n)&&Al(a)&&e.hasOwnProperty(o)&&!_t(a)&&!ht(a)?e[o]=$l(n,a):e[o]=a}return e}const zl=Symbol();function Gl(e){return!Al(e)||!e.hasOwnProperty(zl)}const{assign:Bl}=Object;function Wl(e){return!(!_t(e)||!e.effect)}function Ul(e,t,o={},a,n,l){let r;const s=Bl({actions:{}},o),i={deep:!0};let c,d,u,p=[],f=[];const h=a.state.value[e];let g;function b(t){let o;c=d=!1,"function"==typeof t?(t(a.state.value[e]),o={type:Rl.patchFunction,storeId:e,events:u}):($l(a.state.value[e],t),o={type:Rl.patchObject,payload:t,storeId:e,events:u});const n=g=Symbol();Kt().then(()=>{g===n&&(c=!0)}),d=!0,Il(p,o,a.state.value[e])}l||h||(a.state.value[e]={});const m=l?function(){const{state:e}=o,t=e?e():{};this.$patch(e=>{Bl(e,t)})}:Fl;const v=(t,o="")=>{if(Nl in t)return t[Dl]=o,t;const n=function(){Ml(a);const o=Array.from(arguments),l=[],r=[];let s;Il(f,{args:o,name:n[Dl],store:y,after:function(e){l.push(e)},onError:function(e){r.push(e)}});try{s=t.apply(this&&this.$id===e?this:y,o)}catch(i){throw Il(r,i),i}return s instanceof Promise?s.then(e=>(Il(l,e),e)).catch(e=>(Il(r,e),Promise.reject(e))):(Il(l,s),s)};return n[Nl]=!0,n[Dl]=o,n},y=dt({_p:a,$id:e,$onAction:El.bind(null,f),$patch:b,$reset:m,$subscribe(t,o={}){const n=El(p,t,o.detached,()=>l()),l=r.run(()=>fo(()=>a.state.value[e],a=>{("sync"===o.flush?d:c)&&t({storeId:e,type:Rl.direct,events:u},a)},Bl({},i,o)));return n},$dispose:function(){r.stop(),p=[],f=[],a._s.delete(e)}});a._s.set(e,y);const x=(a._a&&a._a.runWithContext||jl)(()=>a._e.run(()=>(r=te()).run(()=>t({action:v}))));for(const k in x){const t=x[k];if(_t(t)&&!Wl(t)||ht(t))l||(h&&Gl(t)&&(_t(t)?t.value=h[k]:$l(t,h[k])),a.state.value[e][k]=t);else if("function"==typeof t){const e=v(t,k);x[k]=e,s.actions[k]=t}}return Bl(y,x),Bl(vt(y),x),Object.defineProperty(y,"$state",{get:()=>a.state.value[e],set:e=>{b(t=>{Bl(t,e)})}}),a._p.forEach(e=>{Bl(y,r.run(()=>e({store:y,app:a._a,pinia:a,options:s})))}),h&&l&&o.hydrate&&o.hydrate(y.$state,h),c=!0,d=!0,y} -/*! #__NO_SIDE_EFFECTS__ */function Vl(e,t,o){let a,n;const l="function"==typeof t;function r(e,o){const r=!(!Cn()&&!ma);(e=e||(r?uo(Tl,null):null))&&Ml(e),(e=Sl)._s.has(a)||(l?Ul(a,t,n,e):function(e,t,o){const{state:a,actions:n,getters:l}=t,r=o.state.value[e];let s;s=Ul(e,function(){r||(o.state.value[e]=a?a():{});const t=At(o.state.value[e]);return Bl(t,n,Object.keys(l||{}).reduce((t,a)=>(t[a]=yt(Dn(()=>{Ml(o);const t=o._s.get(e);return l[a].call(t,t)})),t),{}))},t,o,0,!0)}(a,n,e));return e._s.get(a)}return"string"==typeof e?(a=e,n=l?o:t):(n=e,a=e.id),r.$id=a,r}let Hl=0;const Yl=Vl("ui",{state:()=>({_storeInstanceId:++Hl,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,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=>"auto"===e.theme?window.matchMedia("(prefers-color-scheme: dark)").matches:"dark"===e.theme,isMobile:e=>"mobile"===e.breakpoint,isTablet:e=>"tablet"===e.breakpoint,isDesktop:e=>"desktop"===e.breakpoint||"wide"===e.breakpoint,legendHeight:e=>e._customLegendHeight?e._customLegendHeight:"collapsed"===e.legendState?"48px":"open"===e.legendState?"30%":"fullyOpen"===e.legendState?"calc(100% - 80px)":"48px",caretRotation:e=>"collapsed"===e.legendState?0:90,showPullTab:e=>"open"===e.legendState||"fullyOpen"===e.legendState,getToastsByType:e=>t=>e.toasts.filter(e=>e.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>0===e.openModals.length?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 t=this.isDarkTheme;document.documentElement.setAttribute("data-theme",t?"dark":"light"),localStorage.setItem("theme",e)},toggleTheme(){const e="light"===this.theme?"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)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?this.setLegendMode("detail"):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;t=e<768?"mobile":e<1024?"tablet":e<1920?"desktop":"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:a=this.toastDuration,action:n=null,persistent:l=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:a,action:n,persistent:l,createdAt:Date.now()};return this.toasts.push(r),!l&&a>0&&setTimeout(()=>{this.removeToast(r.id)},a),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(t=>t.id===e);-1!==t&&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);-1!==t&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}0===this.openModals.length&&(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(){"fullyOpen"===this.legendState?this.legendState="open":"open"===this.legendState?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(){"fullyOpen"===this.legendState&&(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(e=>{for(const t of e)this.updateWindowSize(t.contentRect.width,t.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{"auto"===this.theme&&document.documentElement.setAttribute("data-theme",e.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",e=>{this.reducedMotion=e.matches,document.documentElement.setAttribute("data-reduced-motion",e.matches)}))}}}),Jl=Vl("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,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 a=1.5;void 0!==o.zoom?a=o.zoom:t&&"function"==typeof t.getZoom&&(a=t.getZoom());let n=[0,0];if(o.center)n=o.center;else if(t&&"function"==typeof t.getCenter){const e=t.getCenter();e&&(n=[e.lng,e.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:a,center:n,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 e=this.allMapIds;this.activeMapId=e.length>0?e[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.selectedFamily=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.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||0===this.autoFly.items.length)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];"region"===e.type?this.selectRegion(e):"family"===e.type&&this.selectFamily(e)},toggleClusters(e){this.showClusters="boolean"==typeof e?e:!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)},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()}}}),ql=Vl("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]=yt({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]=yt({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(null==(o=e.sources[t])?void 0:o.features)??null},isLoading:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.error)??null}}}),Kl=(e,t)=>{const o=e.__vccOpts||e;for(const[a,n]of t)o[a]=n;return o},Zl={class:"profile-loader"},Xl={key:0,class:"profile-error"},Ql={key:1,class:"profile-error"},er={__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Dn(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch(ng){return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),a=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.profile)||null}),n=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.tk)||""}),l=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.dataSource)||"doxa-csv"}),r=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.colorSet)||"default"}),s=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),i=Object.assign({"./app-profiles/pplr-coverage.vue":()=>Promise.resolve().then(()=>Zu),"./app-profiles/pplr-d3-tree.vue":()=>Promise.resolve().then(()=>dp),"./app-profiles/pplr-index.vue":()=>Promise.resolve().then(()=>gp),"./app-profiles/pplr-language-families.vue":()=>Promise.resolve().then(()=>Lf),"./app-profiles/pplr-pins.vue":()=>Promise.resolve().then(()=>If),"./app-profiles/pplr-religion.vue":()=>Promise.resolve().then(()=>dh),"./app-profiles/pplr-rop-tree.vue":()=>Promise.resolve().then(()=>Ah),"./app-profiles/pplr-rosetta-cards.vue":()=>Promise.resolve().then(()=>jh),"./app-profiles/pplr-semantic-trees.vue":()=>Promise.resolve().then(()=>Hh),"./app-profiles/pplr-translations.vue":()=>Promise.resolve().then(()=>ag)}),c=Dn(()=>{if(!a.value)return null;const e=`./app-profiles/${a.value}.vue`;return i[e]?Mo(i[e]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(i)),null)});co("mapboxToken",n),co("dataSource",l),co("colorSet",r),co("profileConfig",o),co("instanceId",s);const d=Yl(),u=Jl(),p=ql();return co("uiStore",d),co("mapStore",u),co("dataStore",p),(e,t)=>(on(),rn("div",Zl,[o.value?c.value?(on(),sn(Jo(c.value),{key:2})):(on(),rn("div",Ql,[fn("p",null,[t[1]||(t[1]=bn("⚠️ Profile ",-1)),fn("strong",null,'"'+q(a.value)+'"',1),t[2]||(t[2]=bn(" not found.",-1))])])):(on(),rn("div",Xl,[...t[0]||(t[0]=[fn("p",null,[bn("⚠️ "),fn("strong",null,"doxa-map"),bn(": missing or invalid "),fn("code",null,"profile-config"),bn(" prop.")],-1),fn("p",null,[bn("Example: "),fn("code",null,'profile-config=\'{"profile":"example-map","tk":"pk.eyJ..."}\'')],-1)])]))]))}},tr=Kl(er,[["styles",[".profile-loader[data-v-99360e71]{width:100%;height:100%;position:relative}.profile-error[data-v-99360e71]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}"]],["__scopeId","data-v-99360e71"]]),or={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},ar={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"}},nr={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},lr={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UPGs",population:"السكان"},footer:{total:"الإجمالي"}},rr={menuComingSoon:"القائمة قادمة قريباً"},sr={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},ir={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UPGs",separator:" من "},cr={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},dr={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ur={prayForThem:"Für sie beten",adoptThem:"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"}},pr={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fr={title:{prayer:"Gebetsfortschritt",engagement:"Fortschritt der Arbeit vor Ort",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:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},hr={menuComingSoon:"Menü folgt in Kürze"},gr={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},br={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"VUVGs",separator:" von "},mr={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},vr={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},yr={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"}},xr={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},kr={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:"UPGs",population:"Population"},footer:{total:"Total"}},_r={menuComingSoon:"Menu coming soon"},wr={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Pr={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UPGs",separator:" of "},Lr={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},Cr={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Sr={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"}},Mr={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},Tr={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:"UPGs",population:"Población"},footer:{total:"Total"}},Ar={menuComingSoon:"Menú próximamente"},Rr={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Or={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UPGs",separator:" de "},Fr={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},Er={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Ir={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"}},jr={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},Nr={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:"UPGs",population:"Population"},footer:{total:"Total"}},Dr={menuComingSoon:"Menu bientôt disponible"},$r={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zr={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UPGs",separator:" sur "},Gr={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Br={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Wr={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"}},Ur={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Vr={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Hr={menuComingSoon:"मेनू शीघ्र आ रहा है"},Yr={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Jr={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UPGs",separator:" में से "},qr={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Kr={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Zr={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"}},Xr={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Qr={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:"UPGs",population:"Popolazione"},footer:{total:"Totale"}},es={menuComingSoon:"Menu in arrivo"},ts={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},os={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UPGs",separator:" di "},as={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},ns={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},ls={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"}},rs={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."}},ss={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:"UPGs",population:"População"},footer:{total:"Total"}},is={menuComingSoon:"Menu em breve"},cs={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ds={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UPGs",separator:" de "},us={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},ps={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},fs={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"}},hs={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},gs={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:"UPGs",population:"Populație"},footer:{total:"Total"}},bs={menuComingSoon:"Meniu în curând"},ms={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},vs={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UPGs",separator:" din "},ys={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},xs={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},ks={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"}},_s={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},ws={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UPGs",population:"Население"},footer:{total:"Всего"}},Ps={menuComingSoon:"Меню скоро появится"},Ls={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Cs={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UPGs",separator:" из "},Ss={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},Ms={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ts={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"}},As={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},Rs={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UPGs",population:"人口"},footer:{total:"总计"}},Os={menuComingSoon:"菜单即将推出"},Fs={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Es={header:"当前祷告轮次",lap:"第",upgs:"UPGs",separator:" / "},Is={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}}; +/*! #__NO_SIDE_EFFECTS__ */function Vl(e,t,o){let a,n;const l="function"==typeof t;function r(e,o){const r=!(!Cn()&&!ma);(e=e||(r?uo(Tl,null):null))&&Ml(e),(e=Sl)._s.has(a)||(l?Ul(a,t,n,e):function(e,t,o){const{state:a,actions:n,getters:l}=t,r=o.state.value[e];let s;s=Ul(e,function(){r||(o.state.value[e]=a?a():{});const t=At(o.state.value[e]);return Bl(t,n,Object.keys(l||{}).reduce((t,a)=>(t[a]=yt(Dn(()=>{Ml(o);const t=o._s.get(e);return l[a].call(t,t)})),t),{}))},t,o,0,!0)}(a,n,e));return e._s.get(a)}return"string"==typeof e?(a=e,n=l?o:t):(n=e,a=e.id),r.$id=a,r}let Hl=0;const Yl=Vl("ui",{state:()=>({_storeInstanceId:++Hl,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,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=>"auto"===e.theme?window.matchMedia("(prefers-color-scheme: dark)").matches:"dark"===e.theme,isMobile:e=>"mobile"===e.breakpoint,isTablet:e=>"tablet"===e.breakpoint,isDesktop:e=>"desktop"===e.breakpoint||"wide"===e.breakpoint,legendHeight:e=>e._customLegendHeight?e._customLegendHeight:"collapsed"===e.legendState?"48px":"open"===e.legendState?"30%":"fullyOpen"===e.legendState?"calc(100% - 80px)":"48px",caretRotation:e=>"collapsed"===e.legendState?0:90,showPullTab:e=>"open"===e.legendState||"fullyOpen"===e.legendState,getToastsByType:e=>t=>e.toasts.filter(e=>e.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>0===e.openModals.length?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 t=this.isDarkTheme;document.documentElement.setAttribute("data-theme",t?"dark":"light"),localStorage.setItem("theme",e)},toggleTheme(){const e="light"===this.theme?"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)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?this.setLegendMode("detail"):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;t=e<768?"mobile":e<1024?"tablet":e<1920?"desktop":"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:a=this.toastDuration,action:n=null,persistent:l=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:a,action:n,persistent:l,createdAt:Date.now()};return this.toasts.push(r),!l&&a>0&&setTimeout(()=>{this.removeToast(r.id)},a),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(t=>t.id===e);-1!==t&&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);-1!==t&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}0===this.openModals.length&&(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(){"fullyOpen"===this.legendState?this.legendState="open":"open"===this.legendState?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(){"fullyOpen"===this.legendState&&(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(e=>{for(const t of e)this.updateWindowSize(t.contentRect.width,t.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{"auto"===this.theme&&document.documentElement.setAttribute("data-theme",e.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",e=>{this.reducedMotion=e.matches,document.documentElement.setAttribute("data-reduced-motion",e.matches)}))}}}),Jl=Vl("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,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 a=1.5;void 0!==o.zoom?a=o.zoom:t&&"function"==typeof t.getZoom&&(a=t.getZoom());let n=[0,0];if(o.center)n=o.center;else if(t&&"function"==typeof t.getCenter){const e=t.getCenter();e&&(n=[e.lng,e.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:a,center:n,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 e=this.allMapIds;this.activeMapId=e.length>0?e[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.selectedFamily=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.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||0===this.autoFly.items.length)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];"region"===e.type?this.selectRegion(e):"family"===e.type&&this.selectFamily(e)},toggleClusters(e){this.showClusters="boolean"==typeof e?e:!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)},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()}}}),ql=Vl("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]=yt({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]=yt({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(null==(o=e.sources[t])?void 0:o.features)??null},isLoading:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.error)??null}}}),Kl=(e,t)=>{const o=e.__vccOpts||e;for(const[a,n]of t)o[a]=n;return o},Zl={class:"profile-loader"},Xl={key:0,class:"profile-error"},Ql={key:1,class:"profile-error"},er={__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Dn(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch(ng){return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),a=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.profile)||null}),n=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.tk)||""}),l=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.dataSource)||"doxa-csv"}),r=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.colorSet)||"default"}),s=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),i=Object.assign({"./app-profiles/pplr-coverage.vue":()=>Promise.resolve().then(()=>Zu),"./app-profiles/pplr-d3-tree.vue":()=>Promise.resolve().then(()=>dp),"./app-profiles/pplr-index.vue":()=>Promise.resolve().then(()=>gp),"./app-profiles/pplr-language-families.vue":()=>Promise.resolve().then(()=>Lf),"./app-profiles/pplr-pins.vue":()=>Promise.resolve().then(()=>If),"./app-profiles/pplr-religion.vue":()=>Promise.resolve().then(()=>dh),"./app-profiles/pplr-rop-tree.vue":()=>Promise.resolve().then(()=>Ah),"./app-profiles/pplr-rosetta-cards.vue":()=>Promise.resolve().then(()=>jh),"./app-profiles/pplr-semantic-trees.vue":()=>Promise.resolve().then(()=>Hh),"./app-profiles/pplr-translations.vue":()=>Promise.resolve().then(()=>ag)}),c=Dn(()=>{if(!a.value)return null;const e=`./app-profiles/${a.value}.vue`;return i[e]?Mo(i[e]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(i)),null)});co("mapboxToken",n),co("dataSource",l),co("colorSet",r),co("profileConfig",o),co("instanceId",s);const d=Yl(),u=Jl(),p=ql();return co("uiStore",d),co("mapStore",u),co("dataStore",p),(e,t)=>(on(),rn("div",Zl,[o.value?c.value?(on(),sn(Jo(c.value),{key:2})):(on(),rn("div",Ql,[fn("p",null,[t[1]||(t[1]=bn("⚠️ Profile ",-1)),fn("strong",null,'"'+q(a.value)+'"',1),t[2]||(t[2]=bn(" not found.",-1))])])):(on(),rn("div",Xl,[...t[0]||(t[0]=[fn("p",null,[bn("⚠️ "),fn("strong",null,"doxa-map"),bn(": missing or invalid "),fn("code",null,"profile-config"),bn(" prop.")],-1),fn("p",null,[bn("Example: "),fn("code",null,'profile-config=\'{"profile":"example-map","tk":"pk.eyJ..."}\'')],-1)])]))]))}},tr=Kl(er,[["styles",[".profile-loader[data-v-99360e71]{width:100%;height:100%;position:relative}.profile-error[data-v-99360e71]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}"]],["__scopeId","data-v-99360e71"]]),or={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},ar={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"}},nr={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},lr={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UPGs",population:"السكان"},footer:{total:"الإجمالي"}},rr={menuComingSoon:"القائمة قادمة قريباً"},sr={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},ir={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UPGs",separator:" من "},cr={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},dr={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ur={prayForThem:"Für sie beten",adoptThem:"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"}},pr={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fr={title:{prayer:"Gebetsfortschritt",engagement:"Fortschritt der Arbeit vor Ort",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:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},hr={menuComingSoon:"Menü folgt in Kürze"},gr={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},br={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"VUVGs",separator:" von "},mr={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},vr={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},yr={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"}},xr={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},kr={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:"UPGs",population:"Population"},footer:{total:"Total"}},_r={menuComingSoon:"Menu coming soon"},wr={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Pr={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UPGs",separator:" of "},Lr={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},Cr={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Sr={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"}},Mr={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},Tr={title:{prayer:"Progreso de oración",engagement:"Progreso del compromiso",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 étnico"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},engagement:{needsEngagement:"No comprometido",hasEngagement:"Comprometido"},adoption:{needsAdoption:"No adoptado",hasAdoption:"Adoptado"},columns:{upgs:"GENANC",population:"Población"},footer:{total:"Total"}},Ar={menuComingSoon:"Menú próximamente"},Rr={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Or={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"GENANC",separator:" de "},Fr={placeholder:"Grupo étnico, lugar, idioma, religión",labels:{people:"Grupo étnico:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},Er={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Ir={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"}},jr={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},Nr={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:"UPGs",population:"Population"},footer:{total:"Total"}},Dr={menuComingSoon:"Menu bientôt disponible"},$r={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zr={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UPGs",separator:" sur "},Gr={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Br={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Wr={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"}},Ur={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Vr={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Hr={menuComingSoon:"मेनू शीघ्र आ रहा है"},Yr={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Jr={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UPGs",separator:" में से "},qr={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Kr={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Zr={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"}},Xr={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Qr={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:"UPGs",population:"Popolazione"},footer:{total:"Totale"}},es={menuComingSoon:"Menu in arrivo"},ts={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},os={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UPGs",separator:" di "},as={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},ns={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},ls={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"}},rs={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."}},ss={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:"UPGs",population:"População"},footer:{total:"Total"}},is={menuComingSoon:"Menu em breve"},cs={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ds={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UPGs",separator:" de "},us={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},ps={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},fs={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"}},hs={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},gs={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:"UPGs",population:"Populație"},footer:{total:"Total"}},bs={menuComingSoon:"Meniu în curând"},ms={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},vs={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UPGs",separator:" din "},ys={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},xs={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},ks={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"}},_s={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},ws={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UPGs",population:"Население"},footer:{total:"Всего"}},Ps={menuComingSoon:"Меню скоро появится"},Ls={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Cs={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UPGs",separator:" из "},Ss={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},Ms={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ts={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"}},As={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},Rs={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UPGs",population:"人口"},footer:{total:"总计"}},Os={menuComingSoon:"菜单即将推出"},Fs={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Es={header:"当前祷告轮次",lap:"第",upgs:"UPGs",separator:" / "},Is={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}}; /*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi