diff --git a/public/dx-maps/all-people-groups/all-people-groups.js b/public/dx-maps/all-people-groups/all-people-groups.js
index 453eda27b..3f3e06ba1 100644
--- a/public/dx-maps/all-people-groups/all-people-groups.js
+++ b/public/dx-maps/all-people-groups/all-people-groups.js
@@ -2,26 +2,26 @@
* @vue/shared v3.5.42
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
-**/function Fa(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Te={},To=[],$t=()=>{},Ni=()=>!1,Cn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Pn=e=>e.startsWith("onUpdate:"),Fe=Object.assign,Ra=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},id=Object.prototype.hasOwnProperty,Se=(e,t)=>id.call(e,t),ne=Array.isArray,Vt=e=>qo(e)==="[object Map]",En=e=>qo(e)==="[object Set]",Ii=e=>qo(e)==="[object Date]",le=e=>typeof e=="function",Le=e=>typeof e=="string",at=e=>typeof e=="symbol",Ae=e=>e!==null&&typeof e=="object",Mi=e=>(Ae(e)||le(e))&&le(e.then)&&le(e.catch),xi=Object.prototype.toString,qo=e=>xi.call(e),rd=e=>qo(e).slice(8,-1),Nn=e=>qo(e)==="[object Object]",In=e=>Le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Wo=Fa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mn=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ld=/-\w/g,Ge=Mn(e=>e.replace(ld,t=>t.slice(1).toUpperCase())),cd=/\B([A-Z])/g,ct=Mn(e=>e.replace(cd,"-$1").toLowerCase()),xn=Mn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Da=Mn(e=>e?`on${xn(e)}`:""),yt=(e,t)=>!Object.is(e,t),za=(e,...t)=>{for(let o=0;o ${yt(h.country||"Unknown")} • ${yt(h.status||"Unknown Status")}K?ke(R,ue,B,!0,!1,q):E(I,D,te,ue,B,V,X,$,q)},W=(R,I,D,te,ue,B,V,X,$)=>{let k=0;const K=I.length;let q=R.length-1,ae=K-1;for(;k<=q&&k<=ae;){const re=R[k],z=I[k]=$?Zo(I[k]):Mo(I[k]);if(Ya(re,z))y(re,z,D,null,ue,B,V,X,$);else break;k++}for(;k<=q&&k<=ae;){const re=R[q],z=I[ae]=$?Zo(I[ae]):Mo(I[ae]);if(Ya(re,z))y(re,z,D,null,ue,B,V,X,$);else break;q--,ae--}if(k>q){if(k<=ae){const re=ae+1,z=re
- Language: ${yt(h.language||"Unknown")} + Language: ${wt(m.language||"Unknown")}
Family: - - ${yt(h.languageFamily||"Unknown")} + + ${wt(m.languageFamily||"Unknown")}
- ${h.population?`Population: ${yt(h.population)}
`:""} - ${h.description?`${yt(h.description)}
`:""} + ${m.population?`Population: ${wt(m.population)}
`:""} + ${m.description?`${wt(m.description)}
`:""}- ${yt(i("popup.country.wagfRegion"))}: ${yt(Q)} + ${wt(i("popup.country.wagfRegion"))}: ${wt(J)}
- ${yt(i("popup.country.wagfBlock"))}: ${yt(C)} + ${wt(i("popup.country.wagfBlock"))}: ${wt(w)}
- ${yt(i("popup.country.country"))}: ${yt(w)} (${yt(y)}) + ${wt(i("popup.country.country"))}: ${wt(S)} (${wt(v)})
- ${yt(i("popup.country.uupgCount"))}: ${yt(B)} + ${wt(i("popup.country.uupgCount"))}: ${wt(H)}
te&&(te=Z),D++)}if(D===0)return;if(D===1){l(T).flyTo({center:[be,ye],zoom:p,duration:h,essential:!0});return}const pe=R(j)||{center:0,minLng:0,maxLng:0,span:0},re=[[pe.minLng,q],[pe.maxLng,te]];if(X(T,re,pe.span)){B(T,pe.center,q,te);return}try{l(T).fitBounds(re,{padding:d,maxZoom:y,duration:h,essential:!0})}catch{}}return{getOffsetCenter:u,slowFlyToFamily:b,slowFlyToRegion:m,flyTo:x,flyToCoords:_,fitBounds:g,resetView:$,zoomToLegendRow:Q,calculateRegionCenterFromPolygon:L}}const Ri="#1a1a1a",an="selected-pin-highlight";function gv(e=Ri){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + `}function b(m){const v=t();if(!v)return;const g=m||"language-family-pins";if(!v.getLayer(g))return;const S=f=>{try{const E=f.features[0],C=E.properties,H=E.geometry.coordinates.slice();for(;Math.abs(f.lngLat.lng-H[0])>180;)H[0]+=f.lngLat.lng>H[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(E),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new(Ai(v)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(H).setHTML(c(C)).addTo(v)}catch(E){console.error(` [${o}] Pin click handler error:`,E)}};v.on("click",g,S),l.value.push({event:"click",layer:g,handler:S})}function h(){const m=t();if(!m)return;const v="regions-fill";if(!m.getLayer(v))return;const g=S=>{const f=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const E of f)if(m.getLayer(E)){const C=m.queryRenderedFeatures(S.point,{layers:[E]});if(C&&C.length>0)return}if(S.features&&S.features.length>0){const E=S.features[0].properties;new(Ai(m)).Popup().setLngLat(S.lngLat).setHTML(u(E)).addTo(m)}};m.on("click",v,g),l.value.push({event:"click",layer:v,handler:g})}function L(){const m=t();if(!m)return;const v="clusters";if(!m.getLayer(v))return;const g=S=>{const f=m.queryRenderedFeatures(S.point,{layers:[v]});if(!f.length)return;const E=f[0].properties.cluster_id,C=f[0].source;m.getSource(C).getClusterExpansionZoom(E,(H,Q)=>{H||m.easeTo({center:f[0].geometry.coordinates,zoom:Q})})};m.on("click",v,g),l.value.push({event:"click",layer:v,handler:g})}function x(m){const v=t();if(!v||!v.getLayer(m))return;const g=()=>{v.getCanvas().style.cursor="pointer"},S=()=>{v.getCanvas().style.cursor=""};v.on("mouseenter",m,g),v.on("mouseleave",m,S),l.value.push({event:"mouseenter",layer:m,handler:g}),l.value.push({event:"mouseleave",layer:m,handler:S})}function y(){b(),x("language-family-pins"),b("language-family-pins-hitbox"),x("language-family-pins-hitbox"),L(),x("clusters")}function p(){h(),x("regions-fill")}function _(){const m=t();m&&(m.getLayer("language-family-pins")&&y(),m.getLayer("regions-fill")&&p(),m.getLayer("people-groups-pins")&&(b(),x("people-groups-pins")))}function d(){const m=t();if(m){for(const{event:v,layer:g,handler:S}of l.value)try{m.off(v,g,S)}catch{}l.value=[]}}return{attachAllEventHandlers:_,attachLanguageFamilyEvents:y,attachRegionEvents:p,attachPinClickHandler:b,attachRegionClickHandler:h,attachClusterClickHandler:L,attachCursorHandlers:x,detachAllEventHandlers:d,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const ot={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"},Vl=[">",["to-number",["get","peoplePraying"],0],0],Wl={0:.25,8:.4,14:.5},_a={0:.1,8:.18,14:.22},$a={0:1.2,8:1.6,14:2},Jg=["interpolate",["linear"],["zoom"],0,["case",Vl,Wl[0],_a[0]],8,["case",Vl,Wl[8],_a[8]],14,["case",Vl,Wl[14],_a[14]]],hv=["interpolate",["linear"],["zoom"],0,$a[0],8,$a[8],14,$a[14]],Zg=["==",["to-number",["get","peoplePraying"],0],0],fv={prayer:[Zg],prayerProgress:[Zg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function mv(e){const t=fv[e]||[];if(!t.length)return hv;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,_a[0],$a[0]],8,["case",o,_a[8],$a[8]],14,["case",o,_a[14],$a[14]]]}const bv=[[/ sign language$/i,"Sign Language"]];function _v(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(ot[a])return ot[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(ot[s])return ot[s]}}if(ot[t])return ot[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&ot[n])return ot[n];for(const[a,s]of bv)if(a.test(t))return s;return null}function $v(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=()=>{const oe=t();return oe?Xe(oe):null},i=Yg({getMap:s,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),r=ye({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=ye({});function c(oe,ne="languageFamily"){const pe=s();if(!pe||!(oe!=null&&oe.length))return;const ve=cv(ne),R=oe.map(B=>{var V,X,$,k,K,q,ae,re,z,se,xe,Ce,Ge,at,Qe,bt,It,ct,ut;return{type:"Feature",properties:{uniqueId:B.id||B.uniqueId,slug:B.slug||((V=B._normalized)==null?void 0:V.slug)||"",rop3:B.rop3||B.peopleGroupId,peopleId3:B.peopleId3||"",name:B.name,language:B.language,languageFamily:B.languageFamily||((X=B._normalized)==null?void 0:X.languageFamily)||_v(B.language)||"Unknown",affinityBlock:B.affinityBlock||B.affbloc||B.Affbloc||(($=B._normalized)==null?void 0:$.affinityBlock)||"Unknown",affinityBlockLabel:B.affinityBlockLabel||((k=B._normalized)==null?void 0:k.affinityBlockLabel)||"",cluster:B.cluster||((K=B._normalized)==null?void 0:K.cluster)||"",clusterLabel:B.clusterLabel||((q=B._normalized)==null?void 0:q.clusterLabel)||"",peopleGroup:B.peopleGroup||((ae=B._normalized)==null?void 0:ae.peopleGroup)||"",peopleGroupLabel:B.peopleGroupLabel||((re=B._normalized)==null?void 0:re.peopleGroupLabel)||"",doxaRegion:B.doxaRegion||((z=B._normalized)==null?void 0:z.doxaRegion)||"Unknown",wagfBlock:B.wagfBlock||((se=B._normalized)==null?void 0:se.wagfBlock)||"",wagfBlockLabel:B.wagfBlockLabel||((xe=B._normalized)==null?void 0:xe.wagfBlockLabel)||"",wagfRegionLabel:B.wagfRegionLabel||((Ce=B._normalized)==null?void 0:Ce.wagfRegionLabel)||"",country:B.country,countryIso:B.countryIso,countryIsoLabel:B.countryIsoLabel,countryName:B.countryName,religion:B.religion,religionCode:B.religionCode,religionLabel:B.religionLabel,religionName:B.religionName,population:B.population,status:B.status,description:B.description||"",imageUrl:B.imageUrl||"",peoplePraying:Number(B.peoplePraying??((Ge=B._normalized)==null?void 0:Ge.peoplePraying)??0),engagementStatus:B.engagementStatus===!0||B.engagementStatus===1||!1,adoptionStatus:B.adoptionStatus===!0||B.adoptionStatus===1||!1,bible:B.bible||((at=B._normalized)==null?void 0:at.bible)||"Not Available",jesusFilm:B.jesusFilm||((Qe=B._normalized)==null?void 0:Qe.jesusFilm)||"Not Available",radio:B.radio||((bt=B._normalized)==null?void 0:bt.radio)||"Not Available",gospel:B.gospel||((It=B._normalized)==null?void 0:It.gospel)||"Not Available",audio:B.audio||((ct=B._normalized)==null?void 0:ct.audio)||"Not Available",stories:B.stories||((ut=B._normalized)==null?void 0:ut.stories)||"Not Available",lng:parseFloat(B.longitude||B.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(B.longitude||B.lng),parseFloat(B.latitude||B.lat)]}}}).filter(B=>!isNaN(B.geometry.coordinates[0])&&!isNaN(B.geometry.coordinates[1])),I=.04,D=B=>`${B.geometry.coordinates[0]},${B.geometry.coordinates[1]}`,te=new Map;for(const B of R){const V=D(B);te.has(V)||te.set(V,[]),te.get(V).push(B)}for(const B of te.values()){if(B.length<2)continue;const[V,X]=B[0].geometry.coordinates,$=B.length;for(let k=0;k<$;k++){const K=2*Math.PI*k/$;B[k].geometry.coordinates=[V+I*Math.cos(K),X+I*Math.sin(K)]}}const ue={type:"FeatureCollection",features:R};pe.addSource("language-families",{type:"geojson",data:ue,promoteId:"uniqueId"}),pe.addLayer({id:"language-family-pins-shadow",type:"circle",source:"language-families",paint:{"circle-radius":ql("standard"),"circle-color":"rgba(0,0,0,0.12)","circle-blur":.8,"circle-translate":[0,1],"circle-stroke-width":0,"circle-opacity":1}}),pe.addLayer({id:"language-family-pins",type:"circle",source:"language-families",paint:{"circle-radius":ql("standard"),"circle-color":ve,...Do(pe),"circle-stroke-width":Jg,"circle-stroke-color":["case",[">",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),pe.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":ql("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),r.value.languageFamilyPins=!0,i.attachLanguageFamilyEvents()}function u(oe,ne="doxa-regions"){const pe=s();if(!pe)return;pe.getLayer("regions-fill")&&pe.removeLayer("regions-fill"),pe.getLayer("regions-border")&&pe.removeLayer("regions-border"),pe.getSource("regions")&&pe.removeSource("regions");const ve={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},R="#cccccc",I=oe&&oe.isoToRegion?oe.isoToRegion:{},D=[],te={};for(const[X,$]of Object.entries(I)){const k=ve[String($).toLowerCase()];k&&D.push(X,k),te[$]||(te[$]=[]),te[$].push(X)}l.value=te;const ue=D.length?["match",["get","iso_3166_1_alpha_3"],...D,R]:R,B=pe.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":pe.getLayer("language-family-pins")?"language-family-pins":void 0,V=(()=>{var X,$,k;try{return!!((k=($=(X=pe.getContainer)==null?void 0:X.call(pe))==null?void 0:$.classList)!=null&&k.contains("maplibregl-map"))}catch{return!1}})();V?(pe.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${hl(null)}/boundaries/world-adm0-web.geojson`).then(X=>X.json()).then(X=>{for(const k of X.features||[])k.properties&&k.properties.iso3&&(k.properties.iso_3166_1_alpha_3=k.properties.iso3);const $=pe.getSource("regions");$&&$.setData(X)}).catch(X=>console.warn("[map-layers] region boundaries failed to load",X))):pe.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),pe.addLayer({id:"regions-fill",type:"fill",source:"regions",...V?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":ue,"fill-opacity":ne==="none"?.1:.7,"fill-antialias":!0,...Do(pe,"fill"),"fill-opacity-transition":{duration:300}}},B),pe.addLayer({id:"regions-border",type:"line",source:"regions",...V?{}:{"source-layer":"country_boundaries"},paint:{"line-color":ue,"line-width":1,"line-opacity":.9,...Do(pe,"line")}},B),r.value.regions=!0,i.attachRegionEvents()}function b(oe,ne){const pe=s();if(!pe||!oe||!(ne!=null&&ne.length))return;h();const ve=ne.filter(ue=>{var V;return(ue.languageFamily||((V=ue._normalized)==null?void 0:V.languageFamily)||"Unknown")===oe});if(ve.length<2)return;const R=n(oe),I=[],D=15,te=[...ve].sort((ue,B)=>(ue.longitude||ue.lng)-(B.longitude||B.lng));for(let ue=0;ue=",["get","peoplePraying"],Go],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const M=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function j(oe,ne){const pe=["interpolate",["linear"],["zoom"]];for(let ve=0;ve ",["get","peoplePraying"],0],pe=G();if(!E.every(R=>oe.getLayer(R))){for(const R of E)if(oe.getLayer(R))try{oe.removeLayer(R)}catch{}oe.addLayer({id:g,type:"circle",source:"language-families",filter:ne,paint:{"circle-radius":j(M,1),"circle-color":pe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...Do(oe)}},"language-family-pins");for(const R of f)oe.addLayer({id:R,type:"circle",source:"language-families",filter:ne,paint:{"circle-radius":j(M,1),"circle-radius-transition":U,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":pe,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":U,...Do(oe)}},"language-family-pins")}}function ee(){const oe=s();if(oe)for(const ne of E)oe.getLayer(ne)&&oe.removeLayer(ne)}function O(oe){const ne=s();if(!ne)return;const pe=[">",["get","peoplePraying"],0],ve=oe?["all",pe,oe]:pe;for(const R of E)if(ne.getLayer(R))try{ne.setFilter(R,ve)}catch{}}function fe(){const oe=s();if(oe){if(W(),d&&(cancelAnimationFrame(d),d=null),m=!0,oe.getLayer("language-family-pins"))try{oe.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Go],1,[">",["get","peoplePraying"],0],1,3])}catch{}Ae(oe),be()}}function be(){d&&(cancelAnimationFrame(d),d=null);const oe=++v;let ne=performance.now(),pe=-1/0;function ve(R){if(!m||oe!==v)return;const I=s();if(!I||!E.some(te=>I.getLayer(te))){d=null;return}if(R-pe "u")return;const ne=typeof oe.getContainer=="function"?oe.getContainer():null;if(ne)try{P=new IntersectionObserver(pe=>{for(const ve of pe)T=ve.isIntersecting},{threshold:0}),P.observe(ne)}catch{P=null,T=!0}}function ke(){if(P){try{P.disconnect()}catch{}P=null}T=!0}function _e(){m=!1,d&&(cancelAnimationFrame(d),d=null),ke();try{ee();const oe=s();oe&&oe.getLayer("language-family-pins")&&oe.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:r,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:b,removeFamilyConnectionLines:h,updateLayerSource:L,removeLayer:x,hasLayer:y,setPaintProperty:p,mapEvents:i,startPrayerGlow:fe,stopPrayerGlow:_e,syncGlowFilter:O,cleanup:_}}function Ht(e,t,o){if(!Array.isArray(e))return e;switch(e[0]){case"get":return t==null?void 0:t[e[1]];case"literal":return e[1];case"feature-state":return o==null?void 0:o[e[1]];case"has":return t!=null&&e[1]in t;case"!has":return t==null||!(e[1]in t);case"!":return!Ht(e[1],t,o);case"coalesce":{for(let a=1;a 2){const i=Number(Ht(e[2],t,o));return Number.isFinite(i)?i:0}return NaN}case"to-string":{const a=Ht(e[1],t,o);return a==null?"":String(a)}case"to-boolean":return!!Ht(e[1],t,o);case"slice":{const a=Ht(e[1],t,o),s=Ht(e[2],t,o),i=e.length>3?Ht(e[3],t,o):void 0;return typeof a!="string"?"":i!=null?a.slice(s,i):a.slice(s)}default:return e}}function ya(e,t,o){if(e===!0)return!0;if(e===!1)return!1;if(!Array.isArray(e))return!!e;const n=e[0];if(n==="all"){for(let a=1;a "||n===">="||n==="<"||n==="<="){const a=typeof e[1]=="string"?t==null?void 0:t[e[1]]:Ht(e[1],t,o),s=Ht(e[2],t,o);switch(n){case"==":return a===s||a==null&&s==null;case"!=":return!(a===s||a==null&&s==null);case">":return a>s;case">=":return a>=s;case"<":return a l!=null&&l!==!0),i=typeof(e==null?void 0:e.getFeatureState)=="function",r=l=>{if(!(!i||l==null))try{return e.getFeatureState({source:t,id:l})}catch{return}};for(const l of Ni(e,t)){const c=l&&l.properties;if(!c)continue;const u=c[n],b=r(u);s.length&&!s.every(h=>ya(h,c,b))||u!=null&&a.add(String(u))}return a}const vv=Object.freeze(Object.defineProperty({__proto__:null,matchesExpression:ya,readSourceFeatures:Ni,resolveExpr:Ht,selectedPinIds:yv},Symbol.toStringTag,{value:"Module"})),xo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function wv(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(xo==null?void 0:xo.center)||[20,10],defaultZoom:i=xo==null?void 0:xo.zoom}=e,r=()=>{try{return typeof window<"u"&&!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}};function l(w){const U=r(),T=(P={})=>{const G={};for(const M of["center","zoom","bearing","pitch","padding"])P[M]!==void 0&&(G[M]=P[M]);return w.jumpTo(G)};return{flyTo:P=>U?T(P):w.flyTo(P),easeTo:P=>U?T(P):w.easeTo(P),fitBounds:(P,G={})=>w.fitBounds(P,U?{...G,animate:!1,duration:0}:G)}}const c={speed:.5,essential:!0,curve:1.2};function u(w,U,T={x:150,y:0}){const P=t();if(!P)return w;try{const G=P.getCanvas(),M=G.width,j=G.height,W=P.project(w),ee=window.devicePixelRatio||1,O=(T.x||0)*ee,fe=(T.y||0)*ee,be={x:W.x-O,y:W.y-fe},Ae=P.unproject(be);return[Ae.lng,Ae.lat]}catch{return w}}function b(w,U=[]){const T=t();if(!T)return;let P=null,G=5;const M=U.filter(W=>W.languageFamily===w);if(M.length>0){let W=1/0,ee=-1/0,O=1/0,fe=-1/0;if(M.forEach(be=>{be.longitude&&be.latitude&&(W=Math.min(W,be.longitude),ee=Math.max(ee,be.longitude),O=Math.min(O,be.latitude),fe=Math.max(fe,be.latitude))}),W!==1/0){P=[(W+ee)/2,(O+fe)/2];const be=ee-W,Ae=fe-O,ke=Math.max(be,Ae);ke>50?G=2:ke>20?G=3:ke>10?G=4:ke>5?G=5:G=6}}if(!P)return;const j=u(P);l(T).flyTo({center:j,zoom:G,...c})}function h(w){const U=t();if(!U)return;let T=null,P=4;const G=dv(w);if(G)T=G.center,P=G.zoom||4;else if(a!=null&&a.features){const j=a.features.find(W=>{var ee,O;return((ee=W.properties)==null?void 0:ee.region)===w||((O=W.properties)==null?void 0:O.name)===w});j&&(T=L(j))}if(!T)return;const M=u(T);l(U).flyTo({center:M,zoom:P,...c})}function L(w){if(!w||!w.geometry)return null;const{type:U,coordinates:T}=w.geometry;let P=[];if(U==="Polygon"?P=T[0]||[]:U==="MultiPolygon"&&T.forEach(j=>{P=P.concat(j[0]||[])}),P.length===0)return null;let G=0,M=0;return P.forEach(j=>{G+=j[0],M+=j[1]}),[G/P.length,M/P.length]}function x(w,U={}){const T=t();if(!T)return;const P={center:w,...c,...U};l(T).flyTo(P)}function y(w,U,T={}){const P=t();if(!P||(w==null?void 0:w.longitude)==null||(w==null?void 0:w.latitude)==null)return;const G=U??Math.min(P.getZoom()+2,8);x([w.longitude,w.latitude],{...T,zoom:G})}function p(w,U={top:40,right:40,bottom:40,left:40},T={}){const P=t();if(!P||!w)return;const G=T.maxZoom??4,M=T.duration??900;l(P).fitBounds(w,{padding:U,maxZoom:G,duration:M,...c,...T})}function _(){const w=t();w&&l(w).flyTo({center:s,zoom:i,...c})}const d=80,m=800,v=5,g=5,S=110,f=1.2;function E(w){const U=w.filter(Number.isFinite).slice().sort((ve,R)=>ve-R),T=U.length;if(!T)return null;let P=-1,G=0;for(let ve=0;veP&&(P=I,G=ve)}const M=(G+1)%T,j=new Array(T);for(let ve=0;ve 0&&R ((ve+180)%360+360)%360-180,Ae=be(O),ke=24,_e=360/ke,oe=new Array(ke).fill(0);for(const ve of U){let R=Math.floor(((ve+180)%360+360)%360/_e);R>=ke&&(R=ke-1),oe[R]++}let ne=0;for(let ve=1;ve oe[ne]&&(ne=ve);return{center:be(-180+(ne+.5)*_e),minLng:Ae,maxLng:Ae+(fe-O),span:fe-O}}function C(w){try{const U=w.getContainer&&w.getContainer().clientWidth||0,T=U>0?Math.log2(U/512):f,P=typeof w.getMinZoom=="function"?w.getMinZoom():T;return Math.max(P,T)}catch{return f}}function H(w,U,T,P){l(w).easeTo({center:[U,(T+P)/2],zoom:C(w),duration:m,essential:!0})}function Q(w,U,T){if(T>S)return!0;try{const P=typeof w.cameraForBounds=="function"?w.cameraForBounds(U,{padding:d,maxZoom:v}):null;return P==null?!0:typeof P.zoom=="number"&&P.zoom<=C(w)+.05}catch{return!1}}function J(w,U={}){var oe,ne;const T=t();if(!T||!w)return;if(U.regionPolygonSource&&T.getSource(U.regionPolygonSource)){const pe=Ni(T,U.regionPolygonSource),ve=w.id??w.label,R=pe.find(I=>{const D=(I==null?void 0:I.properties)||{};return D.region===ve||D.name===ve||D.id===ve});if(R){const I=[];let D=1/0,te=-1/0;const ue=V=>{for(const X of V)Array.isArray(X[0])?ue(X):Number.isFinite(X[0])&&Number.isFinite(X[1])&&(I.push(X[0]),X[1] te&&(te=X[1]))};(oe=R.geometry)!=null&&oe.coordinates&&ue(R.geometry.coordinates);const B=E(I);if(B&&Number.isFinite(D)){const V=[[B.minLng,D],[B.maxLng,te]];Q(T,V,B.span)?H(T,B.center,D,te):l(T).fitBounds(V,{padding:d,maxZoom:v,duration:m,essential:!0});return}}}const P=U.sourceId??"language-families";if(!T.getSource(P))return;const G=U.matchExpr??w.filter;if(!G)return;const M=Ni(T,P);if(!M.length)return;const j=[];let W=1/0,ee=-1/0,O=0,fe=0,be=0;const Ae=new Set;for(const pe of M){const ve=pe==null?void 0:pe.properties;if(!ya(G,ve))continue;const R=ve==null?void 0:ve.uniqueId;if(R!=null){if(Ae.has(R))continue;Ae.add(R)}const I=(ne=pe.geometry)==null?void 0:ne.coordinates;if(!Array.isArray(I)||I.length<2)continue;const D=I[0],te=I[1];!Number.isFinite(D)||!Number.isFinite(te)||(O===0&&(fe=D,be=te),j.push(D),te ee&&(ee=te),O++)}if(O===0)return;if(O===1){l(T).flyTo({center:[fe,be],zoom:g,duration:m,essential:!0});return}const ke=E(j)||{center:0,minLng:0,maxLng:0,span:0},_e=[[ke.minLng,W],[ke.maxLng,ee]];if(Q(T,_e,ke.span)){H(T,ke.center,W,ee);return}try{l(T).fitBounds(_e,{padding:d,maxZoom:v,duration:m,essential:!0})}catch{}}return{getOffsetCenter:u,slowFlyToFamily:b,slowFlyToRegion:h,flyTo:x,flyToCoords:y,fitBounds:p,resetView:_,zoomToLegendRow:J,calculateRegionCenterFromPolygon:L}}const Mi="#1a1a1a",rn="selected-pin-highlight";function kv(e=Mi){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=`