From dcbd6fe1cdbbdc00b3b0d4e213db4f7807c47859 Mon Sep 17 00:00:00 2001 From: doxa-maps Date: Tue, 15 Sep 2026 23:14:06 +0000 Subject: [PATCH] One output folder under the js path: public/js/doxa-maps-build/ Consolidate to a single map output location (per Driver): remove the stale flat public/js/*.js bundles and move the drop-in to public/js/doxa-maps-build/. Rewired useDoxaMap to /js/doxa-maps-build/doxa-maps//.js and fixed page comments. --- app/composables/useDoxaMap.ts | 8 +- app/pages/research/index.vue | 4 +- public/{ => js}/doxa-maps-build/README.md | 0 .../assets/boundaries/gb-CHN-ADM1.geojson | 0 .../assets/boundaries/gb-IND-ADM1.geojson | 0 .../assets/boundaries/world-adm0.geojson | 0 .../brand/doxa-maps-logo-dark-with-text.png | Bin .../people-groups/people-groups-slim.json | 0 .../assets/people-groups/people_groups.csv | 0 .../assets/posters/andean-caribbean.webp | Bin .../asia-china-tibet-autonomous-region.webp | Bin .../posters/asia-china-yunnan-province.webp | Bin .../posters/asia-india-andhra-pradesh.webp | Bin .../assets/posters/asia-india-gujarat.webp | Bin .../assets/posters/asia-india-karnataka.webp | Bin .../assets/posters/asia-india-kerala.webp | Bin .../posters/asia-india-madhya-pradesh.webp | Bin .../assets/posters/asia-india-odisha.webp | Bin .../assets/posters/asia-india-rajasthan.webp | Bin .../assets/posters/asia-india-tamil-nadu.webp | Bin .../posters/asia-india-uttarakhand.webp | Bin .../posters/asia-india-west-bengal.webp | Bin .../assets/posters/brazil.webp | Bin .../assets/posters/central-africa.webp | Bin .../posters/city-ago--8.8484-13.2535.webp | Bin .../posters/city-bfa-9.7792--4.2879.webp | Bin .../posters/city-brn-4.9234-114.9209.webp | Bin .../posters/city-btn-27.75-91.2637.webp | Bin .../posters/city-cod-3.5049-24.4533.webp | Bin .../posters/city-idn--3.7191-127.9542.webp | Bin .../posters/city-ind-10.1396-77.7883.webp | Bin .../posters/city-ind-10.3796-78.8202.webp | Bin .../posters/city-ind-10.5285-76.2146.webp | Bin .../posters/city-ind-10.7853-78.7051.webp | Bin .../posters/city-ind-10.7855-76.6516.webp | Bin .../posters/city-ind-10.787-79.1378.webp | Bin .../posters/city-ind-10.8469-76.2633.webp | Bin .../posters/city-ind-11.0049-76.9626.webp | Bin .../posters/city-ind-11.0546-78.6369.webp | Bin .../posters/city-ind-11.06-76.0816.webp | Bin .../posters/city-ind-11.0991-77.2807.webp | Bin .../posters/city-ind-11.1271-78.6565.webp | Bin .../posters/city-ind-11.253-76.2299.webp | Bin .../posters/city-ind-11.3548-77.711.webp | Bin .../posters/city-ind-11.4517-76.7145.webp | Bin .../posters/city-ind-11.6234-92.7265.webp | Bin .../posters/city-ind-11.6765-76.1741.webp | Bin .../posters/city-ind-11.8745-75.3695.webp | Bin .../posters/city-ind-11.9182-79.8085.webp | Bin .../posters/city-ind-11.967-75.3663.webp | Bin .../posters/city-ind-12.2973-75.7684.webp | Bin .../posters/city-ind-12.3022-76.6423.webp | Bin .../posters/city-ind-12.427-75.742.webp | Bin .../posters/city-ind-12.4538-75.1701.webp | Bin .../posters/city-ind-12.5102-74.9852.webp | Bin .../posters/city-ind-12.5446-80.0193.webp | Bin .../posters/city-ind-12.6867-79.9614.webp | Bin .../posters/city-ind-12.8403-75.2483.webp | Bin .../posters/city-ind-12.9125-79.3429.webp | Bin .../posters/city-ind-12.964-74.837.webp | Bin .../posters/city-ind-12.9789-77.5857.webp | Bin .../posters/city-ind-13.0505-75.1773.webp | Bin .../posters/city-ind-13.2174-79.101.webp | Bin .../posters/city-ind-13.2466-80.2533.webp | Bin .../posters/city-ind-13.3138-75.7731.webp | Bin .../posters/city-ind-13.3389-74.7451.webp | Bin .../posters/city-ind-13.4672-79.0137.webp | Bin .../posters/city-ind-13.6192-79.4197.webp | Bin .../posters/city-ind-14.4428-79.9882.webp | Bin .../posters/city-ind-14.494-78.7992.webp | Bin .../posters/city-ind-14.7445-74.7282.webp | Bin .../posters/city-ind-14.7811-74.6161.webp | Bin .../posters/city-ind-14.8066-74.1305.webp | Bin .../posters/city-ind-15.1518-75.4446.webp | Bin .../posters/city-ind-15.2213-74.0714.webp | Bin .../posters/city-ind-15.4573-75.0086.webp | Bin .../posters/city-ind-15.4895-79.6006.webp | Bin .../posters/city-ind-15.5127-77.9554.webp | Bin .../posters/city-ind-15.8971-79.7392.webp | Bin .../posters/city-ind-16.1786-81.1347.webp | Bin .../posters/city-ind-16.3172-80.0518.webp | Bin .../posters/city-ind-16.4355-80.0228.webp | Bin .../posters/city-ind-16.5066-80.6501.webp | Bin .../posters/city-ind-16.6981-74.2441.webp | Bin .../posters/city-ind-16.7107-81.0956.webp | Bin .../posters/city-ind-16.8296-75.7135.webp | Bin .../posters/city-ind-17.0598-74.68.webp | Bin .../posters/city-ind-17.2551-78.4478.webp | Bin .../posters/city-ind-17.3189-82.4772.webp | Bin .../posters/city-ind-17.4284-78.4492.webp | Bin .../posters/city-ind-17.6602-75.908.webp | Bin .../posters/city-ind-17.6921-83.2225.webp | Bin .../posters/city-ind-17.9875-82.6791.webp | Bin .../posters/city-ind-18.1063-83.3951.webp | Bin .../posters/city-ind-18.1085-78.9859.webp | Bin .../posters/city-ind-18.2978-83.9127.webp | Bin .../posters/city-ind-18.4856-79.1748.webp | Bin .../posters/city-ind-18.488-83.8616.webp | Bin .../posters/city-ind-18.5347-84.0184.webp | Bin .../posters/city-ind-18.5355-83.5092.webp | Bin .../posters/city-ind-18.8207-82.6805.webp | Bin .../posters/city-ind-19.1051-81.9755.webp | Bin .../posters/city-ind-19.1089-74.7462.webp | Bin .../posters/city-ind-19.1142-77.6242.webp | Bin .../posters/city-ind-19.2034-72.9736.webp | Bin .../posters/city-ind-19.2672-76.7106.webp | Bin .../posters/city-ind-19.4263-74.4219.webp | Bin .../posters/city-ind-19.5796-84.6883.webp | Bin .../posters/city-ind-19.8119-85.829.webp | Bin .../posters/city-ind-19.9602-79.3007.webp | Bin .../posters/city-ind-20.2483-85.7829.webp | Bin .../posters/city-ind-20.4856-85.9122.webp | Bin .../posters/city-ind-20.5024-85.7438.webp | Bin .../posters/city-ind-20.6503-85.5972.webp | Bin .../posters/city-ind-20.7069-83.4843.webp | Bin .../posters/city-ind-20.7134-77.01.webp | Bin .../posters/city-ind-20.9479-85.1027.webp | Bin .../posters/city-ind-21.1417-79.0853.webp | Bin .../posters/city-ind-21.1785-72.8289.webp | Bin .../posters/city-ind-21.2304-70.5013.webp | Bin .../posters/city-ind-21.2848-81.7613.webp | Bin .../posters/city-ind-21.4688-83.9798.webp | Bin .../posters/city-ind-21.4924-86.9374.webp | Bin .../posters/city-ind-21.523-70.4574.webp | Bin .../posters/city-ind-21.764-72.1523.webp | Bin .../posters/city-ind-22.0114-86.4225.webp | Bin .../posters/city-ind-22.0796-82.1391.webp | Bin .../posters/city-ind-22.257-86.1812.webp | Bin .../posters/city-ind-22.2915-70.7754.webp | Bin .../posters/city-ind-22.3072-73.1812.webp | Bin .../posters/city-ind-22.4094-83.5605.webp | Bin .../posters/city-ind-22.429-87.3385.webp | Bin .../posters/city-ind-22.4604-70.0644.webp | Bin .../posters/city-ind-22.725-71.6435.webp | Bin .../posters/city-ind-22.7365-75.8485.webp | Bin .../posters/city-ind-22.8022-88.8331.webp | Bin .../posters/city-ind-22.8305-69.3558.webp | Bin .../posters/city-ind-22.9349-88.0215.webp | Bin .../posters/city-ind-23.0312-72.5437.webp | Bin .../posters/city-ind-23.1005-72.0671.webp | Bin .../posters/city-ind-23.1793-75.7849.webp | Bin .../assets/posters/city-ind-23.2-77.0816.webp | Bin .../posters/city-ind-23.2461-69.6708.webp | Bin .../posters/city-ind-23.3321-86.3652.webp | Bin .../posters/city-ind-23.5878-72.3697.webp | Bin .../posters/city-ind-23.6759-69.5401.webp | Bin .../posters/city-ind-23.6808-69.7584.webp | Bin .../posters/city-ind-23.7864-79.4834.webp | Bin .../posters/city-ind-23.8255-72.9775.webp | Bin .../posters/city-ind-23.8315-91.2868.webp | Bin .../posters/city-ind-23.8978-91.4453.webp | Bin .../posters/city-ind-24.5562-81.227.webp | Bin .../posters/city-ind-24.5742-73.6877.webp | Bin .../posters/city-ind-24.6898-92.679.webp | Bin .../posters/city-ind-24.7229-93.9431.webp | Bin .../posters/city-ind-25.1681-75.8523.webp | Bin .../posters/city-ind-25.2405-86.985.webp | Bin .../posters/city-ind-26.233-73.0218.webp | Bin .../posters/city-ind-26.3013-91.5498.webp | Bin .../posters/city-ind-26.4354-86.1991.webp | Bin .../posters/city-ind-26.4497-74.6414.webp | Bin .../posters/city-ind-26.8465-80.9467.webp | Bin .../posters/city-ind-26.9351-75.7674.webp | Bin .../posters/city-ind-27.0126-74.2222.webp | Bin .../posters/city-ind-27.0561-88.4651.webp | Bin .../posters/city-ind-27.2173-77.4887.webp | Bin .../posters/city-ind-27.4436-94.9873.webp | Bin .../posters/city-ind-27.5342-77.6823.webp | Bin .../posters/city-ind-27.6099-75.1386.webp | Bin .../posters/city-ind-28.0249-73.3088.webp | Bin .../posters/city-ind-28.1879-73.1818.webp | Bin .../posters/city-ind-29.4602-77.7328.webp | Bin .../posters/city-ind-29.7457-80.5232.webp | Bin .../posters/city-ind-29.9603-77.5455.webp | Bin .../posters/city-ind-31.6058-76.5744.webp | Bin .../posters/city-ind-32.0885-76.2843.webp | Bin .../posters/city-ind-32.5087-76.224.webp | Bin .../posters/city-ind-32.7387-74.9127.webp | Bin .../posters/city-ind-33.2376-74.3118.webp | Bin .../posters/city-ind-33.702-74.1081.webp | Bin .../posters/city-ind-33.7142-75.2096.webp | Bin .../posters/city-ind-34.0494-74.7834.webp | Bin .../posters/city-ind-34.1442-74.8863.webp | Bin .../posters/city-ind-34.5502-76.1323.webp | Bin .../posters/city-ind-8.0883-77.5386.webp | Bin .../posters/city-ind-8.2659-77.3252.webp | Bin .../posters/city-ind-8.4993-76.9453.webp | Bin .../posters/city-ind-8.7139-77.7557.webp | Bin .../posters/city-ind-8.9113-76.5901.webp | Bin .../posters/city-ind-9.5008-76.3403.webp | Bin .../posters/city-ind-9.5413-76.5366.webp | Bin .../posters/city-ind-9.9721-76.2969.webp | Bin .../posters/city-mys-4.0421-113.9325.webp | Bin .../posters/city-nga-10.5617-8.9977.webp | Bin .../posters/city-nga-10.9183-9.7943.webp | Bin .../posters/city-nga-7.5102-6.0404.webp | Bin .../posters/city-sdn-11.7906-29.3451.webp | Bin .../posters/city-sdn-12.0557-29.5026.webp | Bin .../posters/city-tcd-11.1518-15.0588.webp | Bin .../posters/city-tgo-8.9949-1.4662.webp | Bin .../assets/posters/country-abw.webp | Bin .../assets/posters/country-afg.webp | Bin .../assets/posters/country-ago.webp | Bin .../assets/posters/country-alb.webp | Bin .../assets/posters/country-and.webp | Bin .../assets/posters/country-are.webp | Bin .../assets/posters/country-arm.webp | Bin .../assets/posters/country-asm.webp | Bin .../assets/posters/country-atg.webp | Bin .../assets/posters/country-aze.webp | Bin .../assets/posters/country-ben.webp | Bin .../assets/posters/country-bfa.webp | Bin .../assets/posters/country-bgd.webp | Bin .../assets/posters/country-bgr.webp | Bin .../assets/posters/country-bhr.webp | Bin .../assets/posters/country-bhs.webp | Bin .../assets/posters/country-bih.webp | Bin .../assets/posters/country-blm.webp | Bin .../assets/posters/country-blr.webp | Bin .../assets/posters/country-bmu.webp | Bin .../assets/posters/country-bol.webp | Bin .../assets/posters/country-bra.webp | Bin .../assets/posters/country-brb.webp | Bin .../assets/posters/country-brn.webp | Bin .../assets/posters/country-btn.webp | Bin .../assets/posters/country-caf.webp | Bin .../assets/posters/country-cck.webp | Bin .../assets/posters/country-chn.webp | Bin .../assets/posters/country-civ.webp | Bin .../assets/posters/country-cmr.webp | Bin .../assets/posters/country-cod.webp | Bin .../assets/posters/country-cog.webp | Bin .../assets/posters/country-cok.webp | Bin .../assets/posters/country-col.webp | Bin .../assets/posters/country-com.webp | Bin .../assets/posters/country-cub.webp | Bin .../assets/posters/country-cuw.webp | Bin .../assets/posters/country-cxr.webp | Bin .../assets/posters/country-cym.webp | Bin .../assets/posters/country-cyp.webp | Bin .../assets/posters/country-cze.webp | Bin .../assets/posters/country-dji.webp | Bin .../assets/posters/country-dma.webp | Bin .../assets/posters/country-dza.webp | Bin .../assets/posters/country-ecu.webp | Bin .../assets/posters/country-egy.webp | Bin .../assets/posters/country-eri.webp | Bin .../assets/posters/country-esh.webp | Bin .../assets/posters/country-esp.webp | Bin .../assets/posters/country-eth.webp | Bin .../assets/posters/country-fin.webp | Bin .../assets/posters/country-fji.webp | Bin .../assets/posters/country-fro.webp | Bin .../assets/posters/country-fsm.webp | Bin .../assets/posters/country-gab.webp | Bin .../assets/posters/country-geo.webp | Bin .../assets/posters/country-ggy.webp | Bin .../assets/posters/country-gha.webp | Bin .../assets/posters/country-gib.webp | Bin .../assets/posters/country-gin.webp | Bin .../assets/posters/country-glp.webp | Bin .../assets/posters/country-gmb.webp | Bin .../assets/posters/country-gnb.webp | Bin .../assets/posters/country-gnq.webp | Bin .../assets/posters/country-grc.webp | Bin .../assets/posters/country-grd.webp | Bin .../assets/posters/country-guf.webp | Bin .../assets/posters/country-gum.webp | Bin .../assets/posters/country-guy.webp | Bin .../assets/posters/country-hkg.webp | Bin .../assets/posters/country-idn.webp | Bin .../assets/posters/country-irn.webp | Bin .../assets/posters/country-irq.webp | Bin .../assets/posters/country-isl.webp | Bin .../assets/posters/country-isr.webp | Bin .../assets/posters/country-jam.webp | Bin .../assets/posters/country-jey.webp | Bin .../assets/posters/country-jor.webp | Bin .../assets/posters/country-jpn.webp | Bin .../assets/posters/country-kaz.webp | Bin .../assets/posters/country-ken.webp | Bin .../assets/posters/country-kgz.webp | Bin .../assets/posters/country-khm.webp | Bin .../assets/posters/country-kir.webp | Bin .../assets/posters/country-kos.webp | Bin .../assets/posters/country-kwt.webp | Bin .../assets/posters/country-lao.webp | Bin .../assets/posters/country-lbn.webp | Bin .../assets/posters/country-lbr.webp | Bin .../assets/posters/country-lby.webp | Bin .../assets/posters/country-lca.webp | Bin .../assets/posters/country-lie.webp | Bin .../assets/posters/country-lka.webp | Bin .../assets/posters/country-lux.webp | Bin .../assets/posters/country-mac.webp | Bin .../assets/posters/country-mar.webp | Bin .../assets/posters/country-mco.webp | Bin .../assets/posters/country-mdv.webp | Bin .../assets/posters/country-mhl.webp | Bin .../assets/posters/country-mli.webp | Bin .../assets/posters/country-mlt.webp | Bin .../assets/posters/country-mmr.webp | Bin .../assets/posters/country-mne.webp | Bin .../assets/posters/country-mng.webp | Bin .../assets/posters/country-mnp.webp | Bin .../assets/posters/country-moz.webp | Bin .../assets/posters/country-mrt.webp | Bin .../assets/posters/country-msr.webp | Bin .../assets/posters/country-mus.webp | Bin .../assets/posters/country-mwi.webp | Bin .../assets/posters/country-mys.webp | Bin .../assets/posters/country-myt.webp | Bin .../assets/posters/country-nam.webp | Bin .../assets/posters/country-ncl.webp | Bin .../assets/posters/country-ner.webp | Bin .../assets/posters/country-nfk.webp | Bin .../assets/posters/country-nga.webp | Bin .../assets/posters/country-niu.webp | Bin .../assets/posters/country-npl.webp | Bin .../assets/posters/country-nzl.webp | Bin .../assets/posters/country-omn.webp | Bin .../assets/posters/country-pak.webp | Bin .../assets/posters/country-pan.webp | Bin .../assets/posters/country-per.webp | Bin .../assets/posters/country-phl.webp | Bin .../assets/posters/country-plw.webp | Bin .../assets/posters/country-png.webp | Bin .../assets/posters/country-prk.webp | Bin .../assets/posters/country-pry.webp | Bin .../assets/posters/country-pse.webp | Bin .../assets/posters/country-pyf.webp | Bin .../assets/posters/country-qat.webp | Bin .../assets/posters/country-rus.webp | Bin .../assets/posters/country-sau.webp | Bin .../assets/posters/country-sdn.webp | Bin .../assets/posters/country-sen.webp | Bin .../assets/posters/country-shn.webp | Bin .../assets/posters/country-sjm.webp | Bin .../assets/posters/country-slb.webp | Bin .../assets/posters/country-sle.webp | Bin .../assets/posters/country-smr.webp | Bin .../assets/posters/country-som.webp | Bin .../assets/posters/country-ssd.webp | Bin .../assets/posters/country-stp.webp | Bin .../assets/posters/country-sur.webp | Bin .../assets/posters/country-swe.webp | Bin .../assets/posters/country-swz.webp | Bin .../assets/posters/country-sxm.webp | Bin .../assets/posters/country-syr.webp | Bin .../assets/posters/country-tca.webp | Bin .../assets/posters/country-tcd.webp | Bin .../assets/posters/country-tgo.webp | Bin .../assets/posters/country-tha.webp | Bin .../assets/posters/country-tjk.webp | Bin .../assets/posters/country-tkl.webp | Bin .../assets/posters/country-ton.webp | Bin .../assets/posters/country-tun.webp | Bin .../assets/posters/country-tur.webp | Bin .../assets/posters/country-tza.webp | Bin .../assets/posters/country-uga.webp | Bin .../assets/posters/country-usa.webp | Bin .../assets/posters/country-uzb.webp | Bin .../assets/posters/country-vct.webp | Bin .../assets/posters/country-ven.webp | Bin .../assets/posters/country-vgb.webp | Bin .../assets/posters/country-vir.webp | Bin .../assets/posters/country-vnm.webp | Bin .../assets/posters/country-vut.webp | Bin .../assets/posters/country-wlf.webp | Bin .../assets/posters/country-wsm.webp | Bin .../assets/posters/country-yem.webp | Bin .../assets/posters/country-zaf.webp | Bin .../assets/posters/country-zmb.webp | Bin .../assets/posters/country-zwe.webp | Bin .../doxa-maps-build/assets/posters/deaf.webp | Bin .../assets/posters/east-africa.webp | Bin .../assets/posters/europe.webp | Bin .../doxa-maps-build/assets/posters/laos.webp | Bin .../assets/posters/maghreb-egypt.webp | Bin .../posters/mainland-se-asia-philippines.webp | Bin .../assets/posters/middle-east-core.webp | Bin .../assets/posters/oceania-indonesia.webp | Bin .../posters/southern-africa-islands.webp | Bin .../doxa-maps-build/assets/posters/sudan.webp | Bin .../assets/posters/uncovered-nas-a.webp | Bin .../assets/posters/uncovered-scatter.webp | Bin .../assets/posters/west-africa.webp | Bin .../assets/previews/andean-caribbean.webp | Bin .../asia-china-tibet-autonomous-region.webp | Bin .../previews/asia-china-yunnan-province.webp | Bin .../previews/asia-india-andhra-pradesh.webp | Bin .../assets/previews/asia-india-gujarat.webp | Bin .../assets/previews/asia-india-karnataka.webp | Bin .../assets/previews/asia-india-kerala.webp | Bin .../previews/asia-india-madhya-pradesh.webp | Bin .../assets/previews/asia-india-odisha.webp | Bin .../assets/previews/asia-india-rajasthan.webp | Bin .../previews/asia-india-tamil-nadu.webp | Bin .../previews/asia-india-uttarakhand.webp | Bin .../previews/asia-india-west-bengal.webp | Bin .../assets/previews/brazil.webp | Bin .../assets/previews/central-africa.webp | Bin .../previews/city-ago--8.8484-13.2535.webp | Bin .../previews/city-bfa-9.7792--4.2879.webp | Bin .../previews/city-brn-4.9234-114.9209.webp | Bin .../previews/city-btn-27.75-91.2637.webp | Bin .../previews/city-cod-3.5049-24.4533.webp | Bin .../previews/city-idn--3.7191-127.9542.webp | Bin .../previews/city-ind-10.1396-77.7883.webp | Bin .../previews/city-ind-10.3796-78.8202.webp | Bin .../previews/city-ind-10.5285-76.2146.webp | Bin .../previews/city-ind-10.7853-78.7051.webp | Bin .../previews/city-ind-10.7855-76.6516.webp | Bin .../previews/city-ind-10.787-79.1378.webp | Bin .../previews/city-ind-10.8469-76.2633.webp | Bin .../previews/city-ind-11.0049-76.9626.webp | Bin .../previews/city-ind-11.0546-78.6369.webp | Bin .../previews/city-ind-11.06-76.0816.webp | Bin .../previews/city-ind-11.0991-77.2807.webp | Bin .../previews/city-ind-11.1271-78.6565.webp | Bin .../previews/city-ind-11.253-76.2299.webp | Bin .../previews/city-ind-11.3548-77.711.webp | Bin .../previews/city-ind-11.4517-76.7145.webp | Bin .../previews/city-ind-11.6234-92.7265.webp | Bin .../previews/city-ind-11.6765-76.1741.webp | Bin .../previews/city-ind-11.8745-75.3695.webp | Bin .../previews/city-ind-11.9182-79.8085.webp | Bin .../previews/city-ind-11.967-75.3663.webp | Bin .../previews/city-ind-12.2973-75.7684.webp | Bin .../previews/city-ind-12.3022-76.6423.webp | Bin .../previews/city-ind-12.427-75.742.webp | Bin .../previews/city-ind-12.4538-75.1701.webp | Bin .../previews/city-ind-12.5102-74.9852.webp | Bin .../previews/city-ind-12.5446-80.0193.webp | Bin .../previews/city-ind-12.6867-79.9614.webp | Bin .../previews/city-ind-12.8403-75.2483.webp | Bin .../previews/city-ind-12.9125-79.3429.webp | Bin .../previews/city-ind-12.964-74.837.webp | Bin .../previews/city-ind-12.9789-77.5857.webp | Bin .../previews/city-ind-13.0505-75.1773.webp | Bin .../previews/city-ind-13.2174-79.101.webp | Bin .../previews/city-ind-13.2466-80.2533.webp | Bin .../previews/city-ind-13.3138-75.7731.webp | Bin .../previews/city-ind-13.3389-74.7451.webp | Bin .../previews/city-ind-13.4672-79.0137.webp | Bin .../previews/city-ind-13.6192-79.4197.webp | Bin .../previews/city-ind-14.4428-79.9882.webp | Bin .../previews/city-ind-14.494-78.7992.webp | Bin .../previews/city-ind-14.7445-74.7282.webp | Bin .../previews/city-ind-14.7811-74.6161.webp | Bin .../previews/city-ind-14.8066-74.1305.webp | Bin .../previews/city-ind-15.1518-75.4446.webp | Bin .../previews/city-ind-15.2213-74.0714.webp | Bin .../previews/city-ind-15.4573-75.0086.webp | Bin .../previews/city-ind-15.4895-79.6006.webp | Bin .../previews/city-ind-15.5127-77.9554.webp | Bin .../previews/city-ind-15.8971-79.7392.webp | Bin .../previews/city-ind-16.1786-81.1347.webp | Bin .../previews/city-ind-16.3172-80.0518.webp | Bin .../previews/city-ind-16.4355-80.0228.webp | Bin .../previews/city-ind-16.5066-80.6501.webp | Bin .../previews/city-ind-16.6981-74.2441.webp | Bin .../previews/city-ind-16.7107-81.0956.webp | Bin .../previews/city-ind-16.8296-75.7135.webp | Bin .../previews/city-ind-17.0598-74.68.webp | Bin .../previews/city-ind-17.2551-78.4478.webp | Bin .../previews/city-ind-17.3189-82.4772.webp | Bin .../previews/city-ind-17.4284-78.4492.webp | Bin .../previews/city-ind-17.6602-75.908.webp | Bin .../previews/city-ind-17.6921-83.2225.webp | Bin .../previews/city-ind-17.9875-82.6791.webp | Bin .../previews/city-ind-18.1063-83.3951.webp | Bin .../previews/city-ind-18.1085-78.9859.webp | Bin .../previews/city-ind-18.2978-83.9127.webp | Bin .../previews/city-ind-18.4856-79.1748.webp | Bin .../previews/city-ind-18.488-83.8616.webp | Bin .../previews/city-ind-18.5347-84.0184.webp | Bin .../previews/city-ind-18.5355-83.5092.webp | Bin .../previews/city-ind-18.8207-82.6805.webp | Bin .../previews/city-ind-19.1051-81.9755.webp | Bin .../previews/city-ind-19.1089-74.7462.webp | Bin .../previews/city-ind-19.1142-77.6242.webp | Bin .../previews/city-ind-19.2034-72.9736.webp | Bin .../previews/city-ind-19.2672-76.7106.webp | Bin .../previews/city-ind-19.4263-74.4219.webp | Bin .../previews/city-ind-19.5796-84.6883.webp | Bin .../previews/city-ind-19.8119-85.829.webp | Bin .../previews/city-ind-19.9602-79.3007.webp | Bin .../previews/city-ind-20.2483-85.7829.webp | Bin .../previews/city-ind-20.4856-85.9122.webp | Bin .../previews/city-ind-20.5024-85.7438.webp | Bin .../previews/city-ind-20.6503-85.5972.webp | Bin .../previews/city-ind-20.7069-83.4843.webp | Bin .../previews/city-ind-20.7134-77.01.webp | Bin .../previews/city-ind-20.9479-85.1027.webp | Bin .../previews/city-ind-21.1417-79.0853.webp | Bin .../previews/city-ind-21.1785-72.8289.webp | Bin .../previews/city-ind-21.2304-70.5013.webp | Bin .../previews/city-ind-21.2848-81.7613.webp | Bin .../previews/city-ind-21.4688-83.9798.webp | Bin .../previews/city-ind-21.4924-86.9374.webp | Bin .../previews/city-ind-21.523-70.4574.webp | Bin .../previews/city-ind-21.764-72.1523.webp | Bin .../previews/city-ind-22.0114-86.4225.webp | Bin .../previews/city-ind-22.0796-82.1391.webp | Bin .../previews/city-ind-22.257-86.1812.webp | Bin .../previews/city-ind-22.2915-70.7754.webp | Bin .../previews/city-ind-22.3072-73.1812.webp | Bin .../previews/city-ind-22.4094-83.5605.webp | Bin .../previews/city-ind-22.429-87.3385.webp | Bin .../previews/city-ind-22.4604-70.0644.webp | Bin .../previews/city-ind-22.725-71.6435.webp | Bin .../previews/city-ind-22.7365-75.8485.webp | Bin .../previews/city-ind-22.8022-88.8331.webp | Bin .../previews/city-ind-22.8305-69.3558.webp | Bin .../previews/city-ind-22.9349-88.0215.webp | Bin .../previews/city-ind-23.0312-72.5437.webp | Bin .../previews/city-ind-23.1005-72.0671.webp | Bin .../previews/city-ind-23.1793-75.7849.webp | Bin .../previews/city-ind-23.2-77.0816.webp | Bin .../previews/city-ind-23.2461-69.6708.webp | Bin .../previews/city-ind-23.3321-86.3652.webp | Bin .../previews/city-ind-23.5878-72.3697.webp | Bin .../previews/city-ind-23.6759-69.5401.webp | Bin .../previews/city-ind-23.6808-69.7584.webp | Bin .../previews/city-ind-23.7864-79.4834.webp | Bin .../previews/city-ind-23.8255-72.9775.webp | Bin .../previews/city-ind-23.8315-91.2868.webp | Bin .../previews/city-ind-23.8978-91.4453.webp | Bin .../previews/city-ind-24.5562-81.227.webp | Bin .../previews/city-ind-24.5742-73.6877.webp | Bin .../previews/city-ind-24.6898-92.679.webp | Bin .../previews/city-ind-24.7229-93.9431.webp | Bin .../previews/city-ind-25.1681-75.8523.webp | Bin .../previews/city-ind-25.2405-86.985.webp | Bin .../previews/city-ind-26.233-73.0218.webp | Bin .../previews/city-ind-26.3013-91.5498.webp | Bin .../previews/city-ind-26.4354-86.1991.webp | Bin .../previews/city-ind-26.4497-74.6414.webp | Bin .../previews/city-ind-26.8465-80.9467.webp | Bin .../previews/city-ind-26.9351-75.7674.webp | Bin .../previews/city-ind-27.0126-74.2222.webp | Bin .../previews/city-ind-27.0561-88.4651.webp | Bin .../previews/city-ind-27.2173-77.4887.webp | Bin .../previews/city-ind-27.4436-94.9873.webp | Bin .../previews/city-ind-27.5342-77.6823.webp | Bin .../previews/city-ind-27.6099-75.1386.webp | Bin .../previews/city-ind-28.0249-73.3088.webp | Bin .../previews/city-ind-28.1879-73.1818.webp | Bin .../previews/city-ind-29.4602-77.7328.webp | Bin .../previews/city-ind-29.7457-80.5232.webp | Bin .../previews/city-ind-29.9603-77.5455.webp | Bin .../previews/city-ind-31.6058-76.5744.webp | Bin .../previews/city-ind-32.0885-76.2843.webp | Bin .../previews/city-ind-32.5087-76.224.webp | Bin .../previews/city-ind-32.7387-74.9127.webp | Bin .../previews/city-ind-33.2376-74.3118.webp | Bin .../previews/city-ind-33.702-74.1081.webp | Bin .../previews/city-ind-33.7142-75.2096.webp | Bin .../previews/city-ind-34.0494-74.7834.webp | Bin .../previews/city-ind-34.1442-74.8863.webp | Bin .../previews/city-ind-34.5502-76.1323.webp | Bin .../previews/city-ind-8.0883-77.5386.webp | Bin .../previews/city-ind-8.2659-77.3252.webp | Bin .../previews/city-ind-8.4993-76.9453.webp | Bin .../previews/city-ind-8.7139-77.7557.webp | Bin .../previews/city-ind-8.9113-76.5901.webp | Bin .../previews/city-ind-9.5008-76.3403.webp | Bin .../previews/city-ind-9.5413-76.5366.webp | Bin .../previews/city-ind-9.9721-76.2969.webp | Bin .../previews/city-mys-4.0421-113.9325.webp | Bin .../previews/city-nga-10.5617-8.9977.webp | Bin .../previews/city-nga-10.9183-9.7943.webp | Bin .../previews/city-nga-7.5102-6.0404.webp | Bin .../previews/city-sdn-11.7906-29.3451.webp | Bin .../previews/city-sdn-12.0557-29.5026.webp | Bin .../previews/city-tcd-11.1518-15.0588.webp | Bin .../previews/city-tgo-8.9949-1.4662.webp | Bin .../assets/previews/country-abw.webp | Bin .../assets/previews/country-afg.webp | Bin .../assets/previews/country-ago.webp | Bin .../assets/previews/country-alb.webp | Bin .../assets/previews/country-and.webp | Bin .../assets/previews/country-are.webp | Bin .../assets/previews/country-arm.webp | Bin .../assets/previews/country-asm.webp | Bin .../assets/previews/country-atg.webp | Bin .../assets/previews/country-aze.webp | Bin .../assets/previews/country-ben.webp | Bin .../assets/previews/country-bfa.webp | Bin .../assets/previews/country-bgd.webp | Bin .../assets/previews/country-bgr.webp | Bin .../assets/previews/country-bhr.webp | Bin .../assets/previews/country-bhs.webp | Bin .../assets/previews/country-bih.webp | Bin .../assets/previews/country-blm.webp | Bin .../assets/previews/country-blr.webp | Bin .../assets/previews/country-bmu.webp | Bin .../assets/previews/country-bol.webp | Bin .../assets/previews/country-bra.webp | Bin .../assets/previews/country-brb.webp | Bin .../assets/previews/country-brn.webp | Bin .../assets/previews/country-btn.webp | Bin .../assets/previews/country-caf.webp | Bin .../assets/previews/country-cck.webp | Bin .../assets/previews/country-chn.webp | Bin .../assets/previews/country-civ.webp | Bin .../assets/previews/country-cmr.webp | Bin .../assets/previews/country-cod.webp | Bin .../assets/previews/country-cog.webp | Bin .../assets/previews/country-cok.webp | Bin .../assets/previews/country-col.webp | Bin .../assets/previews/country-com.webp | Bin .../assets/previews/country-cub.webp | Bin .../assets/previews/country-cuw.webp | Bin .../assets/previews/country-cxr.webp | Bin .../assets/previews/country-cym.webp | Bin .../assets/previews/country-cyp.webp | Bin .../assets/previews/country-cze.webp | Bin .../assets/previews/country-dji.webp | Bin .../assets/previews/country-dma.webp | Bin .../assets/previews/country-dza.webp | Bin .../assets/previews/country-ecu.webp | Bin .../assets/previews/country-egy.webp | Bin .../assets/previews/country-eri.webp | Bin .../assets/previews/country-esh.webp | Bin .../assets/previews/country-esp.webp | Bin .../assets/previews/country-eth.webp | Bin .../assets/previews/country-fin.webp | Bin .../assets/previews/country-fji.webp | Bin .../assets/previews/country-fro.webp | Bin .../assets/previews/country-fsm.webp | Bin .../assets/previews/country-gab.webp | Bin .../assets/previews/country-geo.webp | Bin .../assets/previews/country-ggy.webp | Bin .../assets/previews/country-gha.webp | Bin .../assets/previews/country-gib.webp | Bin .../assets/previews/country-gin.webp | Bin .../assets/previews/country-glp.webp | Bin .../assets/previews/country-gmb.webp | Bin .../assets/previews/country-gnb.webp | Bin .../assets/previews/country-gnq.webp | Bin .../assets/previews/country-grc.webp | Bin .../assets/previews/country-grd.webp | Bin .../assets/previews/country-guf.webp | Bin .../assets/previews/country-gum.webp | Bin .../assets/previews/country-guy.webp | Bin .../assets/previews/country-hkg.webp | Bin .../assets/previews/country-idn.webp | Bin .../assets/previews/country-irn.webp | Bin .../assets/previews/country-irq.webp | Bin .../assets/previews/country-isl.webp | Bin .../assets/previews/country-isr.webp | Bin .../assets/previews/country-jam.webp | Bin .../assets/previews/country-jey.webp | Bin .../assets/previews/country-jor.webp | Bin .../assets/previews/country-jpn.webp | Bin .../assets/previews/country-kaz.webp | Bin .../assets/previews/country-ken.webp | Bin .../assets/previews/country-kgz.webp | Bin .../assets/previews/country-khm.webp | Bin .../assets/previews/country-kir.webp | Bin .../assets/previews/country-kos.webp | Bin .../assets/previews/country-kwt.webp | Bin .../assets/previews/country-lao.webp | Bin .../assets/previews/country-lbn.webp | Bin .../assets/previews/country-lbr.webp | Bin .../assets/previews/country-lby.webp | Bin .../assets/previews/country-lca.webp | Bin .../assets/previews/country-lie.webp | Bin .../assets/previews/country-lka.webp | Bin .../assets/previews/country-lux.webp | Bin .../assets/previews/country-mac.webp | Bin .../assets/previews/country-mar.webp | Bin .../assets/previews/country-mco.webp | Bin .../assets/previews/country-mdv.webp | Bin .../assets/previews/country-mhl.webp | Bin .../assets/previews/country-mli.webp | Bin .../assets/previews/country-mlt.webp | Bin .../assets/previews/country-mmr.webp | Bin .../assets/previews/country-mne.webp | Bin .../assets/previews/country-mng.webp | Bin .../assets/previews/country-mnp.webp | Bin .../assets/previews/country-moz.webp | Bin .../assets/previews/country-mrt.webp | Bin .../assets/previews/country-msr.webp | Bin .../assets/previews/country-mus.webp | Bin .../assets/previews/country-mwi.webp | Bin .../assets/previews/country-mys.webp | Bin .../assets/previews/country-myt.webp | Bin .../assets/previews/country-nam.webp | Bin .../assets/previews/country-ncl.webp | Bin .../assets/previews/country-ner.webp | Bin .../assets/previews/country-nfk.webp | Bin .../assets/previews/country-nga.webp | Bin .../assets/previews/country-niu.webp | Bin .../assets/previews/country-npl.webp | Bin .../assets/previews/country-nzl.webp | Bin .../assets/previews/country-omn.webp | Bin .../assets/previews/country-pak.webp | Bin .../assets/previews/country-pan.webp | Bin .../assets/previews/country-per.webp | Bin .../assets/previews/country-phl.webp | Bin .../assets/previews/country-plw.webp | Bin .../assets/previews/country-png.webp | Bin .../assets/previews/country-prk.webp | Bin .../assets/previews/country-pry.webp | Bin .../assets/previews/country-pse.webp | Bin .../assets/previews/country-pyf.webp | Bin .../assets/previews/country-qat.webp | Bin .../assets/previews/country-rus.webp | Bin .../assets/previews/country-sau.webp | Bin .../assets/previews/country-sdn.webp | Bin .../assets/previews/country-sen.webp | Bin .../assets/previews/country-shn.webp | Bin .../assets/previews/country-sjm.webp | Bin .../assets/previews/country-slb.webp | Bin .../assets/previews/country-sle.webp | Bin .../assets/previews/country-smr.webp | Bin .../assets/previews/country-som.webp | Bin .../assets/previews/country-ssd.webp | Bin .../assets/previews/country-stp.webp | Bin .../assets/previews/country-sur.webp | Bin .../assets/previews/country-swe.webp | Bin .../assets/previews/country-swz.webp | Bin .../assets/previews/country-sxm.webp | Bin .../assets/previews/country-syr.webp | Bin .../assets/previews/country-tca.webp | Bin .../assets/previews/country-tcd.webp | Bin .../assets/previews/country-tgo.webp | Bin .../assets/previews/country-tha.webp | Bin .../assets/previews/country-tjk.webp | Bin .../assets/previews/country-tkl.webp | Bin .../assets/previews/country-ton.webp | Bin .../assets/previews/country-tun.webp | Bin .../assets/previews/country-tur.webp | Bin .../assets/previews/country-tza.webp | Bin .../assets/previews/country-uga.webp | Bin .../assets/previews/country-usa.webp | Bin .../assets/previews/country-uzb.webp | Bin .../assets/previews/country-vct.webp | Bin .../assets/previews/country-ven.webp | Bin .../assets/previews/country-vgb.webp | Bin .../assets/previews/country-vir.webp | Bin .../assets/previews/country-vnm.webp | Bin .../assets/previews/country-vut.webp | Bin .../assets/previews/country-wlf.webp | Bin .../assets/previews/country-wsm.webp | Bin .../assets/previews/country-yem.webp | Bin .../assets/previews/country-zaf.webp | Bin .../assets/previews/country-zmb.webp | Bin .../assets/previews/country-zwe.webp | Bin .../doxa-maps-build/assets/previews/deaf.webp | Bin .../assets/previews/east-africa.webp | Bin .../assets/previews/europe.webp | Bin .../doxa-maps-build/assets/previews/laos.webp | Bin .../assets/previews/maghreb-egypt.webp | Bin .../mainland-se-asia-philippines.webp | Bin .../assets/previews/middle-east-core.webp | Bin .../assets/previews/oceania-indonesia.webp | Bin .../previews/southern-africa-islands.webp | Bin .../assets/previews/sudan.webp | Bin .../assets/previews/uncovered-nas-a.webp | Bin .../assets/previews/uncovered-scatter.webp | Bin .../assets/previews/west-africa.webp | Bin .../tables/city-bridge-opportunities.json | 0 .../assets/tables/country-connectivity.json | 0 .../assets/tables/deaf-gap.json | 0 .../assets/tables/field-access-visas.json | 0 .../assets/tables/gaps-and-opportunities.json | 0 .../tables/gospel-access-vs-growth.json | 0 .../assets/tables/gospel-by-country.json | 0 .../tables/gospel-link-verification.json | 0 .../doxa-maps-build/assets/tables/index.json | 0 .../assets/tables/internet-by-country.json | 0 .../assets/tables/key-cities-admin-n.json | 0 .../assets/tables/key-cities.json | 0 .../assets/tables/languages-by-country.json | 0 .../assets/tables/languages-per-city.json | 0 .../assets/tables/messaging-channels.json | 0 .../assets/tables/network-operators.json | 0 .../assets/tables/open-doors.json | 0 .../assets/tables/people-group-resources.json | 0 .../assets/tables/platform-reachability.json | 0 .../assets/tables/social-platforms.json | 0 .../assets/vendor/tabulator/tabulator.min.css | 0 .../assets/vendor/tabulator/tabulator.min.js | 0 .../cities-internet/cities-internet.js | 0 .../connectivity-list/index.html | 0 .../connectivity-map/index.html | 0 .../cities-internet/data-tables/index.html | 0 .../doxa-maps/cities-internet/index.html | 0 .../country-posters/countries-map/index.html | 0 .../country-poster-wall/index.html | 0 .../country-posters/country-posters.js | 0 .../doxa-maps/country-posters/index.html | 0 .../doxa-maps/demo-map/demo-map.js | 0 .../doxa-maps/demo-map/demo-map/index.html | 0 .../doxa-maps/demo-map/index.html | 0 .../doxa-research-map/doxa-research-map.js | 0 .../doxa-maps/doxa-research-map/index.html | 0 .../doxa-research-map/research-map/index.html | 0 .../doxa-simple-map/doxa-simple-map.js | 0 .../doxa-simple-map/adoption/index.html | 0 .../doxa-simple-map/engagement/index.html | 0 .../doxa-simple-map/index.html | 0 .../doxa-simple-map/prayer/index.html | 0 .../doxa-maps/doxa-simple-map/index.html | 0 .../gospel-resources/charts/index.html | 0 .../gospel-resources/data-tables/index.html | 0 .../gospel-resources/gospel-resources.js | 0 .../doxa-maps/gospel-resources/index.html | 0 .../resources-list/index.html | 0 .../gospel-resources/resources-map/index.html | 0 .../doxa-maps-build/doxa-maps/index.html | 0 .../doxa-maps-build/doxa-maps/manifest.json | 0 .../doxa-maps/my-upg-100-list/index.html | 0 .../my-upg-100-list/my-upg-100-list.js | 0 .../my-upg-100-list/poster-wall/index.html | 0 .../my-upg-100-list/upg-100-list/index.html | 0 .../doxa-maps/research-dashboard/index.html | 0 .../research-dashboard/research-dashboard.js | 0 .../research-dashboard/index.html | 0 .../doxa-maps/template-bundle/index.html | 0 .../template-bundle/template-bundle.js | 0 .../template-bundle/template-map-a/index.html | 0 .../template-bundle/template-map-b/index.html | 0 public/js/doxa-research-map.js | 1912 ----------------- public/js/doxa-simple-map.js | 1224 ----------- public/js/pplr-data-maps.iife.js | 44 - 830 files changed, 6 insertions(+), 3186 deletions(-) rename public/{ => js}/doxa-maps-build/README.md (100%) rename public/{ => js}/doxa-maps-build/assets/boundaries/gb-CHN-ADM1.geojson (100%) rename public/{ => js}/doxa-maps-build/assets/boundaries/gb-IND-ADM1.geojson (100%) rename public/{ => js}/doxa-maps-build/assets/boundaries/world-adm0.geojson (100%) rename public/{ => js}/doxa-maps-build/assets/brand/doxa-maps-logo-dark-with-text.png (100%) rename public/{ => js}/doxa-maps-build/assets/people-groups/people-groups-slim.json (100%) rename public/{ => js}/doxa-maps-build/assets/people-groups/people_groups.csv (100%) rename public/{ => js}/doxa-maps-build/assets/posters/andean-caribbean.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-china-tibet-autonomous-region.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-china-yunnan-province.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-andhra-pradesh.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-gujarat.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-karnataka.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-kerala.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-madhya-pradesh.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-odisha.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-rajasthan.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-tamil-nadu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-uttarakhand.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/asia-india-west-bengal.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/brazil.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/central-africa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ago--8.8484-13.2535.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-bfa-9.7792--4.2879.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-brn-4.9234-114.9209.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-btn-27.75-91.2637.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-cod-3.5049-24.4533.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-idn--3.7191-127.9542.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.1396-77.7883.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.3796-78.8202.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.5285-76.2146.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.7853-78.7051.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.7855-76.6516.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.787-79.1378.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-10.8469-76.2633.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.0049-76.9626.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.0546-78.6369.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.06-76.0816.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.0991-77.2807.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.1271-78.6565.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.253-76.2299.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.3548-77.711.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.4517-76.7145.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.6234-92.7265.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.6765-76.1741.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.8745-75.3695.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.9182-79.8085.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-11.967-75.3663.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.2973-75.7684.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.3022-76.6423.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.427-75.742.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.4538-75.1701.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.5102-74.9852.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.5446-80.0193.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.6867-79.9614.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.8403-75.2483.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.9125-79.3429.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.964-74.837.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-12.9789-77.5857.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.0505-75.1773.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.2174-79.101.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.2466-80.2533.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.3138-75.7731.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.3389-74.7451.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.4672-79.0137.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-13.6192-79.4197.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-14.4428-79.9882.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-14.494-78.7992.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-14.7445-74.7282.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-14.7811-74.6161.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-14.8066-74.1305.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-15.1518-75.4446.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-15.2213-74.0714.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-15.4573-75.0086.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-15.4895-79.6006.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-15.5127-77.9554.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-15.8971-79.7392.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.1786-81.1347.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.3172-80.0518.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.4355-80.0228.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.5066-80.6501.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.6981-74.2441.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.7107-81.0956.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-16.8296-75.7135.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.0598-74.68.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.2551-78.4478.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.3189-82.4772.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.4284-78.4492.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.6602-75.908.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.6921-83.2225.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-17.9875-82.6791.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.1063-83.3951.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.1085-78.9859.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.2978-83.9127.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.4856-79.1748.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.488-83.8616.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.5347-84.0184.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.5355-83.5092.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-18.8207-82.6805.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.1051-81.9755.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.1089-74.7462.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.1142-77.6242.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.2034-72.9736.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.2672-76.7106.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.4263-74.4219.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.5796-84.6883.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.8119-85.829.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-19.9602-79.3007.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.2483-85.7829.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.4856-85.9122.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.5024-85.7438.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.6503-85.5972.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.7069-83.4843.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.7134-77.01.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-20.9479-85.1027.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.1417-79.0853.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.1785-72.8289.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.2304-70.5013.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.2848-81.7613.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.4688-83.9798.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.4924-86.9374.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.523-70.4574.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-21.764-72.1523.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.0114-86.4225.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.0796-82.1391.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.257-86.1812.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.2915-70.7754.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.3072-73.1812.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.4094-83.5605.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.429-87.3385.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.4604-70.0644.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.725-71.6435.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.7365-75.8485.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.8022-88.8331.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.8305-69.3558.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-22.9349-88.0215.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.0312-72.5437.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.1005-72.0671.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.1793-75.7849.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.2-77.0816.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.2461-69.6708.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.3321-86.3652.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.5878-72.3697.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.6759-69.5401.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.6808-69.7584.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.7864-79.4834.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.8255-72.9775.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.8315-91.2868.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-23.8978-91.4453.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-24.5562-81.227.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-24.5742-73.6877.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-24.6898-92.679.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-24.7229-93.9431.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-25.1681-75.8523.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-25.2405-86.985.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-26.233-73.0218.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-26.3013-91.5498.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-26.4354-86.1991.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-26.4497-74.6414.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-26.8465-80.9467.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-26.9351-75.7674.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-27.0126-74.2222.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-27.0561-88.4651.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-27.2173-77.4887.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-27.4436-94.9873.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-27.5342-77.6823.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-27.6099-75.1386.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-28.0249-73.3088.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-28.1879-73.1818.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-29.4602-77.7328.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-29.7457-80.5232.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-29.9603-77.5455.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-31.6058-76.5744.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-32.0885-76.2843.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-32.5087-76.224.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-32.7387-74.9127.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-33.2376-74.3118.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-33.702-74.1081.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-33.7142-75.2096.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-34.0494-74.7834.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-34.1442-74.8863.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-34.5502-76.1323.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-8.0883-77.5386.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-8.2659-77.3252.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-8.4993-76.9453.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-8.7139-77.7557.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-8.9113-76.5901.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-9.5008-76.3403.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-9.5413-76.5366.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-ind-9.9721-76.2969.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-mys-4.0421-113.9325.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-nga-10.5617-8.9977.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-nga-10.9183-9.7943.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-nga-7.5102-6.0404.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-sdn-11.7906-29.3451.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-sdn-12.0557-29.5026.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-tcd-11.1518-15.0588.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/city-tgo-8.9949-1.4662.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-abw.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-afg.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ago.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-alb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-and.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-are.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-arm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-asm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-atg.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-aze.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ben.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bfa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bgd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bgr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bhr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bhs.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bih.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-blm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-blr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bmu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bol.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-bra.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-brb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-brn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-btn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-caf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cck.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-chn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-civ.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cmr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cod.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cog.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cok.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-col.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-com.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cub.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cuw.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cxr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cym.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cyp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-cze.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-dji.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-dma.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-dza.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ecu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-egy.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-eri.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-esh.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-esp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-eth.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-fin.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-fji.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-fro.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-fsm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gab.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-geo.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ggy.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gha.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gib.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gin.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-glp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gmb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gnb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gnq.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-grc.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-grd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-guf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-gum.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-guy.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-hkg.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-idn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-irn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-irq.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-isl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-isr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-jam.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-jey.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-jor.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-jpn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-kaz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ken.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-kgz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-khm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-kir.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-kos.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-kwt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lao.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lbn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lbr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lby.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lca.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lie.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lka.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-lux.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mac.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mar.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mco.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mdv.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mhl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mli.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mlt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mmr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mne.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mng.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mnp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-moz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mrt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-msr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mus.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mwi.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-mys.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-myt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-nam.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ncl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ner.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-nfk.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-nga.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-niu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-npl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-nzl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-omn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-pak.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-pan.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-per.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-phl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-plw.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-png.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-prk.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-pry.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-pse.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-pyf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-qat.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-rus.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sau.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sdn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sen.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-shn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sjm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-slb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sle.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-smr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-som.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ssd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-stp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sur.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-swe.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-swz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-sxm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-syr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tca.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tcd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tgo.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tha.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tjk.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tkl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ton.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tun.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tur.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-tza.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-uga.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-usa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-uzb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-vct.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-ven.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-vgb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-vir.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-vnm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-vut.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-wlf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-wsm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-yem.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-zaf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-zmb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/country-zwe.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/deaf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/east-africa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/europe.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/laos.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/maghreb-egypt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/mainland-se-asia-philippines.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/middle-east-core.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/oceania-indonesia.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/southern-africa-islands.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/sudan.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/uncovered-nas-a.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/uncovered-scatter.webp (100%) rename public/{ => js}/doxa-maps-build/assets/posters/west-africa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/andean-caribbean.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-china-tibet-autonomous-region.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-china-yunnan-province.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-andhra-pradesh.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-gujarat.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-karnataka.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-kerala.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-madhya-pradesh.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-odisha.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-rajasthan.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-tamil-nadu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-uttarakhand.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/asia-india-west-bengal.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/brazil.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/central-africa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ago--8.8484-13.2535.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-bfa-9.7792--4.2879.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-brn-4.9234-114.9209.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-btn-27.75-91.2637.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-cod-3.5049-24.4533.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-idn--3.7191-127.9542.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.1396-77.7883.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.3796-78.8202.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.5285-76.2146.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.7853-78.7051.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.7855-76.6516.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.787-79.1378.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-10.8469-76.2633.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.0049-76.9626.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.0546-78.6369.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.06-76.0816.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.0991-77.2807.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.1271-78.6565.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.253-76.2299.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.3548-77.711.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.4517-76.7145.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.6234-92.7265.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.6765-76.1741.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.8745-75.3695.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.9182-79.8085.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-11.967-75.3663.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.2973-75.7684.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.3022-76.6423.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.427-75.742.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.4538-75.1701.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.5102-74.9852.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.5446-80.0193.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.6867-79.9614.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.8403-75.2483.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.9125-79.3429.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.964-74.837.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-12.9789-77.5857.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.0505-75.1773.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.2174-79.101.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.2466-80.2533.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.3138-75.7731.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.3389-74.7451.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.4672-79.0137.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-13.6192-79.4197.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-14.4428-79.9882.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-14.494-78.7992.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-14.7445-74.7282.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-14.7811-74.6161.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-14.8066-74.1305.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-15.1518-75.4446.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-15.2213-74.0714.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-15.4573-75.0086.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-15.4895-79.6006.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-15.5127-77.9554.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-15.8971-79.7392.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.1786-81.1347.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.3172-80.0518.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.4355-80.0228.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.5066-80.6501.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.6981-74.2441.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.7107-81.0956.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-16.8296-75.7135.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.0598-74.68.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.2551-78.4478.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.3189-82.4772.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.4284-78.4492.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.6602-75.908.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.6921-83.2225.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-17.9875-82.6791.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.1063-83.3951.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.1085-78.9859.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.2978-83.9127.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.4856-79.1748.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.488-83.8616.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.5347-84.0184.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.5355-83.5092.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-18.8207-82.6805.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.1051-81.9755.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.1089-74.7462.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.1142-77.6242.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.2034-72.9736.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.2672-76.7106.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.4263-74.4219.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.5796-84.6883.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.8119-85.829.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-19.9602-79.3007.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.2483-85.7829.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.4856-85.9122.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.5024-85.7438.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.6503-85.5972.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.7069-83.4843.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.7134-77.01.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-20.9479-85.1027.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.1417-79.0853.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.1785-72.8289.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.2304-70.5013.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.2848-81.7613.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.4688-83.9798.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.4924-86.9374.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.523-70.4574.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-21.764-72.1523.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.0114-86.4225.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.0796-82.1391.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.257-86.1812.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.2915-70.7754.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.3072-73.1812.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.4094-83.5605.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.429-87.3385.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.4604-70.0644.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.725-71.6435.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.7365-75.8485.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.8022-88.8331.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.8305-69.3558.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-22.9349-88.0215.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.0312-72.5437.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.1005-72.0671.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.1793-75.7849.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.2-77.0816.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.2461-69.6708.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.3321-86.3652.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.5878-72.3697.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.6759-69.5401.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.6808-69.7584.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.7864-79.4834.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.8255-72.9775.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.8315-91.2868.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-23.8978-91.4453.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-24.5562-81.227.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-24.5742-73.6877.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-24.6898-92.679.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-24.7229-93.9431.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-25.1681-75.8523.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-25.2405-86.985.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-26.233-73.0218.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-26.3013-91.5498.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-26.4354-86.1991.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-26.4497-74.6414.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-26.8465-80.9467.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-26.9351-75.7674.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-27.0126-74.2222.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-27.0561-88.4651.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-27.2173-77.4887.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-27.4436-94.9873.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-27.5342-77.6823.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-27.6099-75.1386.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-28.0249-73.3088.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-28.1879-73.1818.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-29.4602-77.7328.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-29.7457-80.5232.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-29.9603-77.5455.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-31.6058-76.5744.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-32.0885-76.2843.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-32.5087-76.224.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-32.7387-74.9127.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-33.2376-74.3118.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-33.702-74.1081.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-33.7142-75.2096.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-34.0494-74.7834.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-34.1442-74.8863.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-34.5502-76.1323.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-8.0883-77.5386.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-8.2659-77.3252.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-8.4993-76.9453.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-8.7139-77.7557.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-8.9113-76.5901.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-9.5008-76.3403.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-9.5413-76.5366.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-ind-9.9721-76.2969.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-mys-4.0421-113.9325.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-nga-10.5617-8.9977.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-nga-10.9183-9.7943.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-nga-7.5102-6.0404.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-sdn-11.7906-29.3451.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-sdn-12.0557-29.5026.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-tcd-11.1518-15.0588.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/city-tgo-8.9949-1.4662.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-abw.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-afg.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ago.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-alb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-and.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-are.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-arm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-asm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-atg.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-aze.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ben.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bfa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bgd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bgr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bhr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bhs.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bih.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-blm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-blr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bmu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bol.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-bra.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-brb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-brn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-btn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-caf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cck.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-chn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-civ.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cmr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cod.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cog.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cok.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-col.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-com.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cub.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cuw.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cxr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cym.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cyp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-cze.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-dji.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-dma.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-dza.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ecu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-egy.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-eri.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-esh.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-esp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-eth.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-fin.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-fji.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-fro.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-fsm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gab.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-geo.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ggy.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gha.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gib.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gin.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-glp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gmb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gnb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gnq.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-grc.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-grd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-guf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-gum.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-guy.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-hkg.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-idn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-irn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-irq.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-isl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-isr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-jam.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-jey.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-jor.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-jpn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-kaz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ken.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-kgz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-khm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-kir.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-kos.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-kwt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lao.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lbn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lbr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lby.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lca.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lie.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lka.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-lux.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mac.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mar.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mco.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mdv.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mhl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mli.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mlt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mmr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mne.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mng.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mnp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-moz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mrt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-msr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mus.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mwi.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-mys.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-myt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-nam.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ncl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ner.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-nfk.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-nga.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-niu.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-npl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-nzl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-omn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-pak.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-pan.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-per.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-phl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-plw.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-png.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-prk.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-pry.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-pse.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-pyf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-qat.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-rus.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sau.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sdn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sen.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-shn.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sjm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-slb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sle.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-smr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-som.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ssd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-stp.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sur.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-swe.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-swz.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-sxm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-syr.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tca.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tcd.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tgo.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tha.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tjk.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tkl.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ton.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tun.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tur.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-tza.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-uga.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-usa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-uzb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-vct.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-ven.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-vgb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-vir.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-vnm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-vut.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-wlf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-wsm.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-yem.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-zaf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-zmb.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/country-zwe.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/deaf.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/east-africa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/europe.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/laos.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/maghreb-egypt.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/mainland-se-asia-philippines.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/middle-east-core.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/oceania-indonesia.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/southern-africa-islands.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/sudan.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/uncovered-nas-a.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/uncovered-scatter.webp (100%) rename public/{ => js}/doxa-maps-build/assets/previews/west-africa.webp (100%) rename public/{ => js}/doxa-maps-build/assets/tables/city-bridge-opportunities.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/country-connectivity.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/deaf-gap.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/field-access-visas.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/gaps-and-opportunities.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/gospel-access-vs-growth.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/gospel-by-country.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/gospel-link-verification.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/index.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/internet-by-country.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/key-cities-admin-n.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/key-cities.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/languages-by-country.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/languages-per-city.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/messaging-channels.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/network-operators.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/open-doors.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/people-group-resources.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/platform-reachability.json (100%) rename public/{ => js}/doxa-maps-build/assets/tables/social-platforms.json (100%) rename public/{ => js}/doxa-maps-build/assets/vendor/tabulator/tabulator.min.css (100%) rename public/{ => js}/doxa-maps-build/assets/vendor/tabulator/tabulator.min.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/cities-internet/connectivity-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/cities-internet/data-tables/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/cities-internet/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/country-posters/countries-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/country-posters/country-poster-wall/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/country-posters/country-posters.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/country-posters/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/demo-map/demo-map.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/demo-map/demo-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/demo-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-research-map/doxa-research-map.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-research-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-research-map/research-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map/adoption/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map/engagement/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map/prayer/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/doxa-simple-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/gospel-resources/charts/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/gospel-resources/data-tables/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/gospel-resources/gospel-resources.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/gospel-resources/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/gospel-resources/resources-list/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/gospel-resources/resources-map/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/manifest.json (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/my-upg-100-list/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/my-upg-100-list/my-upg-100-list.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/my-upg-100-list/poster-wall/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/my-upg-100-list/upg-100-list/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/research-dashboard/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/research-dashboard/research-dashboard.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/research-dashboard/research-dashboard/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/template-bundle/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/template-bundle/template-bundle.js (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/template-bundle/template-map-a/index.html (100%) rename public/{ => js}/doxa-maps-build/doxa-maps/template-bundle/template-map-b/index.html (100%) delete mode 100644 public/js/doxa-research-map.js delete mode 100644 public/js/doxa-simple-map.js delete mode 100644 public/js/pplr-data-maps.iife.js diff --git a/app/composables/useDoxaMap.ts b/app/composables/useDoxaMap.ts index 64182edb..76bc7f62 100644 --- a/app/composables/useDoxaMap.ts +++ b/app/composables/useDoxaMap.ts @@ -10,13 +10,13 @@ const MAPBOX_JS = 'https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.js' const MAPBOX_GEOCODER_JS = 'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js' // Map of bundle keys → CDN drop-in URLs. The built maps live under -// public/doxa-maps-build/ (the doxa-maps bundler's output folder, dropped in here), -// served at /doxa-maps-build/doxa-maps//.js. Each IIFE bundle +// public/js/doxa-maps-build/ (the doxa-maps bundler's output folder, dropped in here), +// served at /js/doxa-maps-build/doxa-maps//.js. Each IIFE bundle // registers its own custom element (doxa-map / doxa-research-map), so only one // bundle should load per page. const BUNDLES = { - 'simple-map': '/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map.js', - 'research-map': '/doxa-maps-build/doxa-maps/doxa-research-map/doxa-research-map.js' + 'simple-map': '/js/doxa-maps-build/doxa-maps/doxa-simple-map/doxa-simple-map.js', + 'research-map': '/js/doxa-maps-build/doxa-maps/doxa-research-map/doxa-research-map.js' } as const type BundleKey = keyof typeof BUNDLES diff --git a/app/pages/research/index.vue b/app/pages/research/index.vue index 8cc5a095..c23428ce 100644 --- a/app/pages/research/index.vue +++ b/app/pages/research/index.vue @@ -8,7 +8,7 @@ // Below the UupgsList we embed the 5-tab `research-map` IIFE built from // the upstream DOXA-MAPS module — exposes Engagement / Prayer // / Adoption (clones of doxa-simple-map) plus Language Families. The -// the doxa-maps build now publishes /js/doxa-research-map.js (canonical name). +// the doxa-maps build now publishes /js/doxa-maps-build/doxa-maps/doxa-research-map/doxa-research-map.js (canonical name). // via the publishToDoxaLife() plugin. import { buildUupgListTranslations } from '~/utils/uupgListTranslations' @@ -42,7 +42,7 @@ useTextHighlight() SA in Oo?use(Oo,SA,{enumerable:!0,configurable:!0,writable:!0,value:Au}):Oo[SA]=Au;var Cr=(Oo,SA,Au)=>fse(Oo,typeof SA!="symbol"?SA+"":SA,Au);(function(){"use strict";var JI;var Oo=typeof document<"u"?document.currentScript:null;const SA="modulepreload",Au=function(t){return"/"+t},dse={},Pi=function(e,r,n){let a=Promise.resolve();function i(o){const A=new Event("vite:preloadError",{cancelable:!0});if(A.payload=o,window.dispatchEvent(A),!A.defaultPrevented)throw o}return a.then(o=>{for(const A of o||[])A.status==="rejected"&&i(A.reason);return e().catch(i)})};/** -* @vue/shared v3.5.35 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function i0(t){const e=Object.create(null);for(const r of t.split(","))e[r]=1;return r=>r in e}const Er={},Sl=[],oo=()=>{},pw=()=>!1,xd=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Fd=t=>t.startsWith("onUpdate:"),Zr=Object.assign,o0=(t,e)=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)},NU=Object.prototype.hasOwnProperty,gr=(t,e)=>NU.call(t,e),Ft=Array.isArray,Ll=t=>su(t)==="[object Map]",Il=t=>su(t)==="[object Set]",mw=t=>su(t)==="[object Date]",Qt=t=>typeof t=="function",Hr=t=>typeof t=="string",ti=t=>typeof t=="symbol",pr=t=>t!==null&&typeof t=="object",vw=t=>(pr(t)||Qt(t))&&Qt(t.then)&&Qt(t.catch),bw=Object.prototype.toString,su=t=>bw.call(t),QU=t=>su(t).slice(8,-1),Ed=t=>su(t)==="[object Object]",Sd=t=>Hr(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,lu=i0(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ld=t=>{const e=Object.create(null);return r=>e[r]||(e[r]=t(r))},PU=/-\w/g,Gn=Ld(t=>t.replace(PU,e=>e.slice(1).toUpperCase())),OU=/\B([A-Z])/g,vi=Ld(t=>t.replace(OU,"-$1").toLowerCase()),Id=Ld(t=>t.charAt(0).toUpperCase()+t.slice(1)),A0=Ld(t=>t?`on${Id(t)}`:""),Ao=(t,e)=>!Object.is(t,e),Ud=(t,...e)=>{for(let r=0;r{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:r})},Td=t=>{const e=parseFloat(t);return isNaN(e)?t:e},s0=t=>{const e=Hr(t)?Number(t):NaN;return isNaN(e)?t:e};let ww;const kd=()=>ww||(ww=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qr(t){if(Ft(t)){const e={};for(let r=0;r{if(r){const n=r.split(RU);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function Dt(t){let e="";if(Hr(t))e=t;else if(Ft(t))for(let r=0;rUl(r,e))}const Cw=t=>!!(t&&t.__v_isRef===!0),ct=t=>Hr(t)?t:t==null?"":Ft(t)||pr(t)&&(t.toString===bw||!Qt(t.toString))?Cw(t)?ct(t.value):JSON.stringify(t,_w,2):String(t),_w=(t,e)=>Cw(e)?_w(t,e.value):Ll(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[n,a],i)=>(r[c0(n,i)+" =>"]=a,r),{})}:Il(e)?{[`Set(${e.size})`]:[...e.values()].map(r=>c0(r))}:ti(e)?c0(e):pr(e)&&!Ft(e)&&!Ed(e)?String(e):e,c0=(t,e="")=>{var r;return ti(t)?`Symbol(${(r=t.description)!=null?r:e})`:t};/** -* @vue/reactivity v3.5.35 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let kn;class xw{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&kn&&(kn.active?(this.parent=kn,this.index=(kn.scopes||(kn.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,r;if(this.scopes)for(e=0,r=this.scopes.length;e0&&--this._on===0){if(kn===this)kn=this.prevScope;else{let e=kn;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let r,n;for(r=0,n=this.effects.length;r0)return;if(uu){let e=uu;for(uu=void 0;e;){const r=e.next;e.next=void 0,e.flags&=-9,e=r}}let t;for(;cu;){let e=cu;for(cu=void 0;e;){const r=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(n){t||(t=n)}e=r}}if(t)throw t}function Iw(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Uw(t){let e,r=t.depsTail,n=r;for(;n;){const a=n.prevDep;n.version===-1?(n===r&&(r=a),p0(n),GU(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}t.deps=e,t.depsTail=r}function g0(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Tw(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Tw(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===fu)||(t.globalVersion=fu,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!g0(t))))return;t.flags|=2;const e=t.dep,r=Tr,n=Oi;Tr=t,Oi=!0;try{Iw(t);const a=t.fn(t._value);(e.version===0||Ao(a,t._value))&&(t.flags|=128,t._value=a,e.version++)}catch(a){throw e.version++,a}finally{Tr=r,Oi=n,Uw(t),t.flags&=-3}}function p0(t,e=!1){const{dep:r,prevSub:n,nextSub:a}=t;if(n&&(n.nextSub=a,t.prevSub=void 0),a&&(a.prevSub=n,t.nextSub=void 0),r.subs===t&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let i=r.computed.deps;i;i=i.nextDep)p0(i,!0)}!e&&!--r.sc&&r.map&&r.map.delete(r.key)}function GU(t){const{prevDep:e,nextDep:r}=t;e&&(e.nextDep=r,t.prevDep=void 0),r&&(r.prevDep=e,t.nextDep=void 0)}let Oi=!0;const kw=[];function so(){kw.push(Oi),Oi=!1}function lo(){const t=kw.pop();Oi=t===void 0?!0:t}function Nw(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const r=Tr;Tr=void 0;try{e()}finally{Tr=r}}}let fu=0;class VU{constructor(e,r){this.sub=e,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class m0{constructor(e){this.computed=e,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(e){if(!Tr||!Oi||Tr===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Tr)r=this.activeLink=new VU(Tr,this),Tr.deps?(r.prevDep=Tr.depsTail,Tr.depsTail.nextDep=r,Tr.depsTail=r):Tr.deps=Tr.depsTail=r,Qw(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Tr.depsTail,r.nextDep=void 0,Tr.depsTail.nextDep=r,Tr.depsTail=r,Tr.deps===r&&(Tr.deps=n)}return r}trigger(e){this.version++,fu++,this.notify(e)}notify(e){d0();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{h0()}}}function Qw(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)Qw(n)}const r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),t.dep.subs=t}}const Nd=new WeakMap,_s=Symbol(""),v0=Symbol(""),du=Symbol("");function ca(t,e,r){if(Oi&&Tr){let n=Nd.get(t);n||Nd.set(t,n=new Map);let a=n.get(r);a||(n.set(r,a=new m0),a.map=n,a.key=r),a.track()}}function Mo(t,e,r,n,a,i){const o=Nd.get(t);if(!o){fu++;return}const A=s=>{s&&s.trigger()};if(d0(),e==="clear")o.forEach(A);else{const s=Ft(t),l=s&&Sd(r);if(s&&r==="length"){const c=Number(n);o.forEach((u,h)=>{(h==="length"||h===du||!ti(h)&&h>=c)&&A(u)})}else switch((r!==void 0||o.has(void 0))&&A(o.get(r)),l&&A(o.get(du)),e){case"add":s?l&&A(o.get("length")):(A(o.get(_s)),Ll(t)&&A(o.get(v0)));break;case"delete":s||(A(o.get(_s)),Ll(t)&&A(o.get(v0)));break;case"set":Ll(t)&&A(o.get(_s));break}}h0()}function zU(t,e){const r=Nd.get(t);return r&&r.get(e)}function Tl(t){const e=ir(t);return e===t?e:(ca(e,"iterate",du),ri(t)?e:e.map(Mi))}function Qd(t){return ca(t=ir(t),"iterate",du),t}function co(t,e){return Ho(t)?Nl(Do(t)?Mi(e):e):Mi(e)}const WU={__proto__:null,[Symbol.iterator](){return b0(this,Symbol.iterator,t=>co(this,t))},concat(...t){return Tl(this).concat(...t.map(e=>Ft(e)?Tl(e):e))},entries(){return b0(this,"entries",t=>(t[1]=co(this,t[1]),t))},every(t,e){return Ro(this,"every",t,e,void 0,arguments)},filter(t,e){return Ro(this,"filter",t,e,r=>r.map(n=>co(this,n)),arguments)},find(t,e){return Ro(this,"find",t,e,r=>co(this,r),arguments)},findIndex(t,e){return Ro(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Ro(this,"findLast",t,e,r=>co(this,r),arguments)},findLastIndex(t,e){return Ro(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Ro(this,"forEach",t,e,void 0,arguments)},includes(...t){return y0(this,"includes",t)},indexOf(...t){return y0(this,"indexOf",t)},join(t){return Tl(this).join(t)},lastIndexOf(...t){return y0(this,"lastIndexOf",t)},map(t,e){return Ro(this,"map",t,e,void 0,arguments)},pop(){return hu(this,"pop")},push(...t){return hu(this,"push",t)},reduce(t,...e){return Pw(this,"reduce",t,e)},reduceRight(t,...e){return Pw(this,"reduceRight",t,e)},shift(){return hu(this,"shift")},some(t,e){return Ro(this,"some",t,e,void 0,arguments)},splice(...t){return hu(this,"splice",t)},toReversed(){return Tl(this).toReversed()},toSorted(t){return Tl(this).toSorted(t)},toSpliced(...t){return Tl(this).toSpliced(...t)},unshift(...t){return hu(this,"unshift",t)},values(){return b0(this,"values",t=>co(this,t))}};function b0(t,e,r){const n=Qd(t),a=n[e]();return n!==t&&!ri(t)&&(a._next=a.next,a.next=()=>{const i=a._next();return i.done||(i.value=r(i.value)),i}),a}const qU=Array.prototype;function Ro(t,e,r,n,a,i){const o=Qd(t),A=o!==t&&!ri(t),s=o[e];if(s!==qU[e]){const u=s.apply(t,i);return A?Mi(u):u}let l=r;o!==t&&(A?l=function(u,h){return r.call(this,co(t,u),h,t)}:r.length>2&&(l=function(u,h){return r.call(this,u,h,t)}));const c=s.call(o,l,n);return A&&a?a(c):c}function Pw(t,e,r,n){const a=Qd(t),i=a!==t&&!ri(t);let o=r,A=!1;a!==t&&(i?(A=n.length===0,o=function(l,c,u){return A&&(A=!1,l=co(t,l)),r.call(this,l,co(t,c),u,t)}):r.length>3&&(o=function(l,c,u){return r.call(this,l,c,u,t)}));const s=a[e](o,...n);return A?co(t,s):s}function y0(t,e,r){const n=ir(t);ca(n,"iterate",du);const a=n[e](...r);return(a===-1||a===!1)&&Dd(r[0])?(r[0]=ir(r[0]),n[e](...r)):a}function hu(t,e,r=[]){so(),d0();const n=ir(t)[e].apply(t,r);return h0(),lo(),n}const YU=i0("__proto__,__v_isRef,__isVue"),Ow=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(ti));function XU(t){ti(t)||(t=String(t));const e=ir(this);return ca(e,"has",t),e.hasOwnProperty(t)}class Mw{constructor(e=!1,r=!1){this._isReadonly=e,this._isShallow=r}get(e,r,n){if(r==="__v_skip")return e.__v_skip;const a=this._isReadonly,i=this._isShallow;if(r==="__v_isReactive")return!a;if(r==="__v_isReadonly")return a;if(r==="__v_isShallow")return i;if(r==="__v_raw")return n===(a?i?jw:Kw:i?$w:Hw).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const o=Ft(e);if(!a){let s;if(o&&(s=WU[r]))return s;if(r==="hasOwnProperty")return XU}const A=Reflect.get(e,r,$r(e)?e:n);if((ti(r)?Ow.has(r):YU(r))||(a||ca(e,"get",r),i))return A;if($r(A)){const s=o&&Sd(r)?A:A.value;return a&&pr(s)?gu(s):s}return pr(A)?a?gu(A):kl(A):A}}class Rw extends Mw{constructor(e=!1){super(!1,e)}set(e,r,n,a){let i=e[r];const o=Ft(e)&&Sd(r);if(!this._isShallow){const l=Ho(i);if(!ri(n)&&!Ho(n)&&(i=ir(i),n=ir(n)),!o&&$r(i)&&!$r(n))return l||(i.value=n),!0}const A=o?Number(r)t,Pd=t=>Reflect.getPrototypeOf(t);function rT(t,e,r){return function(...n){const a=this.__v_raw,i=ir(a),o=Ll(i),A=t==="entries"||t===Symbol.iterator&&o,s=t==="keys"&&o,l=a[t](...n),c=r?w0:e?Nl:Mi;return!e&&ca(i,"iterate",s?v0:_s),Zr(Object.create(l),{next(){const{value:u,done:h}=l.next();return h?{value:u,done:h}:{value:A?[c(u[0]),c(u[1])]:c(u),done:h}}})}}function Od(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function nT(t,e){const r={get(a){const i=this.__v_raw,o=ir(i),A=ir(a);t||(Ao(a,A)&&ca(o,"get",a),ca(o,"get",A));const{has:s}=Pd(o),l=e?w0:t?Nl:Mi;if(s.call(o,a))return l(i.get(a));if(s.call(o,A))return l(i.get(A));i!==o&&i.get(a)},get size(){const a=this.__v_raw;return!t&&ca(ir(a),"iterate",_s),a.size},has(a){const i=this.__v_raw,o=ir(i),A=ir(a);return t||(Ao(a,A)&&ca(o,"has",a),ca(o,"has",A)),a===A?i.has(a):i.has(a)||i.has(A)},forEach(a,i){const o=this,A=o.__v_raw,s=ir(A),l=e?w0:t?Nl:Mi;return!t&&ca(s,"iterate",_s),A.forEach((c,u)=>a.call(i,l(c),l(u),o))}};return Zr(r,t?{add:Od("add"),set:Od("set"),delete:Od("delete"),clear:Od("clear")}:{add(a){const i=ir(this),o=Pd(i),A=ir(a),s=!e&&!ri(a)&&!Ho(a)?A:a;return o.has.call(i,s)||Ao(a,s)&&o.has.call(i,a)||Ao(A,s)&&o.has.call(i,A)||(i.add(s),Mo(i,"add",s,s)),this},set(a,i){!e&&!ri(i)&&!Ho(i)&&(i=ir(i));const o=ir(this),{has:A,get:s}=Pd(o);let l=A.call(o,a);l||(a=ir(a),l=A.call(o,a));const c=s.call(o,a);return o.set(a,i),l?Ao(i,c)&&Mo(o,"set",a,i):Mo(o,"add",a,i),this},delete(a){const i=ir(this),{has:o,get:A}=Pd(i);let s=o.call(i,a);s||(a=ir(a),s=o.call(i,a)),A&&A.call(i,a);const l=i.delete(a);return s&&Mo(i,"delete",a,void 0),l},clear(){const a=ir(this),i=a.size!==0,o=a.clear();return i&&Mo(a,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(a=>{r[a]=rT(a,t,e)}),r}function Md(t,e){const r=nT(t,e);return(n,a,i)=>a==="__v_isReactive"?!t:a==="__v_isReadonly"?t:a==="__v_raw"?n:Reflect.get(gr(r,a)&&a in n?r:n,a,i)}const aT={get:Md(!1,!1)},iT={get:Md(!1,!0)},oT={get:Md(!0,!1)},AT={get:Md(!0,!0)},Hw=new WeakMap,$w=new WeakMap,Kw=new WeakMap,jw=new WeakMap;function sT(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function kl(t){return Ho(t)?t:Rd(t,!1,JU,aT,Hw)}function lT(t){return Rd(t,!1,eT,iT,$w)}function gu(t){return Rd(t,!0,ZU,oT,Kw)}function gse(t){return Rd(t,!0,tT,AT,jw)}function Rd(t,e,r,n,a){if(!pr(t)||t.__v_raw&&!(e&&t.__v_isReactive)||t.__v_skip||!Object.isExtensible(t))return t;const i=a.get(t);if(i)return i;const o=sT(QU(t));if(o===0)return t;const A=new Proxy(t,o===2?n:r);return a.set(t,A),A}function Do(t){return Ho(t)?Do(t.__v_raw):!!(t&&t.__v_isReactive)}function Ho(t){return!!(t&&t.__v_isReadonly)}function ri(t){return!!(t&&t.__v_isShallow)}function Dd(t){return t?!!t.__v_raw:!1}function ir(t){const e=t&&t.__v_raw;return e?ir(e):t}function pu(t){return!gr(t,"__v_skip")&&Object.isExtensible(t)&&yw(t,"__v_skip",!0),t}const Mi=t=>pr(t)?kl(t):t,Nl=t=>pr(t)?gu(t):t;function $r(t){return t?t.__v_isRef===!0:!1}function Je(t){return Vw(t,!1)}function Gw(t){return Vw(t,!0)}function Vw(t,e){return $r(t)?t:new cT(t,e)}class cT{constructor(e,r){this.dep=new m0,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?e:ir(e),this._value=r?e:Mi(e),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(e){const r=this._rawValue,n=this.__v_isShallow||ri(e)||Ho(e);e=n?e:ir(e),Ao(e,r)&&(this._rawValue=e,this._value=n?e:Mi(e),this.dep.trigger())}}function et(t){return $r(t)?t.value:t}const uT={get:(t,e,r)=>e==="__v_raw"?t:et(Reflect.get(t,e,r)),set:(t,e,r,n)=>{const a=t[e];return $r(a)&&!$r(r)?(a.value=r,!0):Reflect.set(t,e,r,n)}};function zw(t){return Do(t)?t:new Proxy(t,uT)}function fT(t){const e=Ft(t)?new Array(t.length):{};for(const r in t)e[r]=Ww(t,r);return e}class dT{constructor(e,r,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=ti(r)?r:String(r),this._raw=ir(e);let a=!0,i=e;if(!Ft(e)||ti(this._key)||!Sd(this._key))do a=!Dd(i)||ri(i);while(a&&(i=i.__v_raw));this._shallow=a}get value(){let e=this._object[this._key];return this._shallow&&(e=et(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&$r(this._raw[this._key])){const r=this._object[this._key];if($r(r)){r.value=e;return}}this._object[this._key]=e}get dep(){return zU(this._raw,this._key)}}class hT{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Hd(t,e,r){return $r(t)?t:Qt(t)?new hT(t):pr(t)&&arguments.length>1?Ww(t,e,r):Je(t)}function Ww(t,e,r){return new dT(t,e,r)}class gT{constructor(e,r,n){this.fn=e,this.setter=r,this._value=void 0,this.dep=new m0(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=fu-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Tr!==this)return Lw(this,!0),!0}get value(){const e=this.dep.track();return Tw(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function pT(t,e,r=!1){let n,a;return Qt(t)?n=t:(n=t.get,a=t.set),new gT(n,a,r)}const $d={},Kd=new WeakMap;let xs;function mT(t,e=!1,r=xs){if(r){let n=Kd.get(r);n||Kd.set(r,n=[]),n.push(t)}}function vT(t,e,r=Er){const{immediate:n,deep:a,once:i,scheduler:o,augmentJob:A,call:s}=r,l=B=>a?B:ri(B)||a===!1||a===0?$o(B,1):$o(B);let c,u,h,f,p=!1,v=!1;if($r(t)?(u=()=>t.value,p=ri(t)):Do(t)?(u=()=>l(t),p=!0):Ft(t)?(v=!0,p=t.some(B=>Do(B)||ri(B)),u=()=>t.map(B=>{if($r(B))return B.value;if(Do(B))return l(B);if(Qt(B))return s?s(B,2):B()})):Qt(t)?e?u=s?()=>s(t,2):t:u=()=>{if(h){so();try{h()}finally{lo()}}const B=xs;xs=c;try{return s?s(t,3,[f]):t(f)}finally{xs=B}}:u=oo,e&&a){const B=u,F=a===!0?1/0:a;u=()=>$o(B(),F)}const b=Fw(),m=()=>{c.stop(),b&&b.active&&o0(b.effects,c)};if(i&&e){const B=e;e=(...F)=>{B(...F),m()}}let _=v?new Array(t.length).fill($d):$d;const y=B=>{if(!(!(c.flags&1)||!c.dirty&&!B))if(e){const F=c.run();if(a||p||(v?F.some((S,k)=>Ao(S,_[k])):Ao(F,_))){h&&h();const S=xs;xs=c;try{const k=[F,_===$d?void 0:v&&_[0]===$d?[]:_,f];_=F,s?s(e,3,k):e(...k)}finally{xs=S}}}else c.run()};return A&&A(y),c=new Ew(u),c.scheduler=o?()=>o(y,!1):y,f=B=>mT(B,!1,c),h=c.onStop=()=>{const B=Kd.get(c);if(B){if(s)s(B,4);else for(const F of B)F();Kd.delete(c)}},e?n?y(!0):_=c.run():o?o(y.bind(null,!0),!0):c.run(),m.pause=c.pause.bind(c),m.resume=c.resume.bind(c),m.stop=m,m}function $o(t,e=1/0,r){if(e<=0||!pr(t)||t.__v_skip||(r=r||new Map,(r.get(t)||0)>=e))return t;if(r.set(t,e),e--,$r(t))$o(t.value,e,r);else if(Ft(t))for(let n=0;n{$o(n,e,r)});else if(Ed(t)){for(const n in t)$o(t[n],e,r);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&$o(t[n],e,r)}return t}/** -* @vue/runtime-core v3.5.35 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const mu=[];let B0=!1;function pse(t,...e){if(B0)return;B0=!0,so();const r=mu.length?mu[mu.length-1].component:null,n=r&&r.appContext.config.warnHandler,a=bT();if(n)Ql(n,r,11,[t+e.map(i=>{var o,A;return(A=(o=i.toString)==null?void 0:o.call(i))!=null?A:JSON.stringify(i)}).join(""),r&&r.proxy,a.map(({vnode:i})=>`at <${X2(r,i.type)}>`).join(` -`),a]);else{const i=[`[Vue warn]: ${t}`,...e];a.length&&i.push(` -`,...yT(a)),console.warn(...i)}lo(),B0=!1}function bT(){let t=mu[mu.length-1];if(!t)return[];const e=[];for(;t;){const r=e[0];r&&r.vnode===t?r.recurseCount++:e.push({vnode:t,recurseCount:0});const n=t.component&&t.component.parent;t=n&&n.vnode}return e}function yT(t){const e=[];return t.forEach((r,n)=>{e.push(...n===0?[]:[` -`],...wT(r))}),e}function wT({vnode:t,recurseCount:e}){const r=e>0?`... (${e} recursive calls)`:"",n=t.component?t.component.parent==null:!1,a=` at <${X2(t.component,t.type,n)}`,i=">"+r;return t.props?[a,...BT(t.props),i]:[a+i]}function BT(t){const e=[],r=Object.keys(t);return r.slice(0,3).forEach(n=>{e.push(...qw(n,t[n]))}),r.length>3&&e.push(" ..."),e}function qw(t,e,r){return Hr(e)?(e=JSON.stringify(e),r?e:[`${t}=${e}`]):typeof e=="number"||typeof e=="boolean"||e==null?r?e:[`${t}=${e}`]:$r(e)?(e=qw(t,ir(e.value),!0),r?e:[`${t}=Ref<`,e,">"]):Qt(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=ir(e),r?e:[`${t}=`,e])}function Ql(t,e,r,n){try{return n?t(...n):t()}catch(a){vu(a,e,r)}}function bi(t,e,r,n){if(Qt(t)){const a=Ql(t,e,r,n);return a&&vw(a)&&a.catch(i=>{vu(i,e,r)}),a}if(Ft(t)){const a=[];for(let i=0;i>>1,a=Sa[n],i=yu(a);i=yu(r)?Sa.push(t):Sa.splice(_T(e),0,t),t.flags|=1,Xw()}}function Xw(){jd||(jd=Yw.then(e2))}function xT(t){Ft(t)?Pl.push(...t):LA&&t.id===-1?LA.splice(Ol+1,0,t):t.flags&1||(Pl.push(t),t.flags|=1),Xw()}function Jw(t,e,r=uo+1){for(;ryu(r)-yu(n));if(Pl.length=0,LA){LA.push(...e);return}for(LA=e,Ol=0;Olt.id==null?t.flags&2?-1:1/0:t.id;function e2(t){try{for(uo=0;uo{n._d&&Jd(-1);const i=Gd(e);let o;try{o=t(...a)}finally{Gd(i),n._d&&Jd(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function yi(t,e){if(Xn===null)return t;const r=th(Xn),n=t.dirs||(t.dirs=[]);for(let a=0;a1)return r&&Qt(e)?e.call(n&&n.proxy):e}}function FT(){return!!(Vo()||Es)}const ET=Symbol.for("v-scx"),ST=()=>Wt(ET);function nr(t,e,r){return r2(t,e,r)}function r2(t,e,r=Er){const{immediate:n,deep:a,flush:i,once:o}=r,A=Zr({},r),s=e&&n||!e&&i!=="post";let l;if(Rl){if(i==="sync"){const f=ST();l=f.__watcherHandles||(f.__watcherHandles=[])}else if(!s){const f=()=>{};return f.stop=oo,f.resume=oo,f.pause=oo,f}}const c=Jn;A.call=(f,p,v)=>bi(f,c,p,v);let u=!1;i==="post"?A.scheduler=f=>{ja(f,c&&c.suspense)}:i!=="sync"&&(u=!0,A.scheduler=(f,p)=>{p?f():C0(f)}),A.augmentJob=f=>{e&&(f.flags|=4),u&&(f.flags|=2,c&&(f.id=c.uid,f.i=c))};const h=vT(t,e,A);return Rl&&(l?l.push(h):s&&h()),h}function LT(t,e,r){const n=this.proxy,a=Hr(t)?t.includes(".")?n2(n,t):()=>n[t]:t.bind(n,n);let i;Qt(e)?i=e:(i=e.handler,r=e);const o=ku(this),A=r2(a,i.bind(n),r);return o(),A}function n2(t,e){const r=e.split(".");return()=>{let n=t;for(let a=0;at.__isTeleport,wi=Symbol("_leaveCb"),wu=Symbol("_enterCb");function UT(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ri(()=>{t.isMounted=!0}),jo(()=>{t.isUnmounting=!0}),t}const Bi=[Function,Array],i2={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Bi,onEnter:Bi,onAfterEnter:Bi,onEnterCancelled:Bi,onBeforeLeave:Bi,onLeave:Bi,onAfterLeave:Bi,onLeaveCancelled:Bi,onBeforeAppear:Bi,onAppear:Bi,onAfterAppear:Bi,onAppearCancelled:Bi},o2=t=>{const e=t.subTree;return e.component?o2(e.component):e},TT={name:"BaseTransition",props:i2,setup(t,{slots:e}){const r=Vo(),n=UT();return()=>{const a=e.default&&c2(e.default(),!0),i=a&&a.length?A2(a):r.subTree?ht():void 0;if(!i)return;const o=ir(t),{mode:A}=o;if(n.isLeaving)return x0(i);const s=l2(i);if(!s)return x0(i);let l=_0(s,o,n,r,u=>l=u);s.type!==ua&&Bu(s,l);let c=r.subTree&&l2(r.subTree);if(c&&c.type!==ua&&!Ls(c,s)&&o2(r).type!==ua){let u=_0(c,o,n,r);if(Bu(c,u),A==="out-in"&&s.type!==ua)return n.isLeaving=!0,u.afterLeave=()=>{n.isLeaving=!1,r.job.flags&8||r.update(),delete u.afterLeave,c=void 0},x0(i);A==="in-out"&&s.type!==ua?u.delayLeave=(h,f,p)=>{const v=s2(n,c);v[String(c.key)]=c,h[wi]=()=>{f(),h[wi]=void 0,delete l.delayedLeave,c=void 0},l.delayedLeave=()=>{p(),delete l.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return i}}};function A2(t){let e=t[0];if(t.length>1){for(const r of t)if(r.type!==ua){e=r;break}}return e}const kT=TT;function s2(t,e){const{leavingVNodes:r}=t;let n=r.get(e.type);return n||(n=Object.create(null),r.set(e.type,n)),n}function _0(t,e,r,n,a){const{appear:i,mode:o,persisted:A=!1,onBeforeEnter:s,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:h,onLeave:f,onAfterLeave:p,onLeaveCancelled:v,onBeforeAppear:b,onAppear:m,onAfterAppear:_,onAppearCancelled:y}=e,B=String(t.key),F=s2(r,t),S=(C,D)=>{C&&bi(C,n,9,D)},k=(C,D)=>{const I=D[1];S(C,D),Ft(C)?C.every(E=>E.length<=1)&&I():C.length<=1&&I()},T={mode:o,persisted:A,beforeEnter(C){let D=s;if(!r.isMounted)if(i)D=b||s;else return;C[wi]&&C[wi](!0);const I=F[B];I&&Ls(t,I)&&I.el[wi]&&I.el[wi](),S(D,[C])},enter(C){if(F[B]===t)return;let D=l,I=c,E=u;if(!r.isMounted)if(i)D=m||l,I=_||c,E=y||u;else return;let P=!1;C[wu]=O=>{P||(P=!0,O?S(E,[C]):S(I,[C]),T.delayedLeave&&T.delayedLeave(),C[wu]=void 0)};const H=C[wu].bind(null,!1);D?k(D,[C,H]):H()},leave(C,D){const I=String(t.key);if(C[wu]&&C[wu](!0),r.isUnmounting)return D();S(h,[C]);let E=!1;C[wi]=H=>{E||(E=!0,D(),H?S(v,[C]):S(p,[C]),C[wi]=void 0,F[I]===t&&delete F[I])};const P=C[wi].bind(null,!1);F[I]=t,f?k(f,[C,P]):P()},clone(C){const D=_0(C,e,r,n,a);return a&&a(D),D}};return T}function x0(t){if(Fu(t))return t=UA(t),t.children=null,t}function l2(t){if(!Fu(t))return a2(t.type)&&t.children?A2(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:r}=t;if(r){if(e&16)return r[0];if(e&32&&Qt(r.default))return r.default()}}function Bu(t,e){t.shapeFlag&6&&t.component?(t.transition=e,Bu(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function c2(t,e=!1,r){let n=[],a=0;for(let i=0;i1)for(let i=0;i_u(v,e&&(Ft(e)?e[b]:e),r,n,a));return}if(Ml(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&_u(t,e,r,n.component.subTree);return}const i=n.shapeFlag&4?th(n.component):n.el,o=a?null:i,{i:A,r:s}=t,l=e&&e.r,c=A.refs===Er?A.refs={}:A.refs,u=A.setupState,h=ir(u),f=u===Er?pw:v=>u2(c,v)?!1:gr(h,v),p=(v,b)=>!(b&&u2(c,b));if(l!=null&&l!==s){if(f2(e),Hr(l))c[l]=null,f(l)&&(u[l]=null);else if($r(l)){const v=e;p(l,v.k)&&(l.value=null),v.k&&(c[v.k]=null)}}if(Qt(s))Ql(s,A,12,[o,c]);else{const v=Hr(s),b=$r(s);if(v||b){const m=()=>{if(t.f){const _=v?f(s)?u[s]:c[s]:p()||!t.k?s.value:c[t.k];if(a)Ft(_)&&o0(_,i);else if(Ft(_))_.includes(i)||_.push(i);else if(v)c[s]=[i],f(s)&&(u[s]=c[s]);else{const y=[i];p(s,t.k)&&(s.value=y),t.k&&(c[t.k]=y)}}else v?(c[s]=o,f(s)&&(u[s]=o)):b&&(p(s,t.k)&&(s.value=o),t.k&&(c[t.k]=o))};if(o){const _=()=>{m(),Vd.delete(t)};_.id=-1,Vd.set(t,_),ja(_,r)}else f2(t),m()}}}function f2(t){const e=Vd.get(t);e&&(e.flags|=8,Vd.delete(t))}const d2=t=>t.nodeType===8;kd().requestIdleCallback,kd().cancelIdleCallback;function NT(t,e){if(d2(t)&&t.data==="["){let r=1,n=t.nextSibling;for(;n;){if(n.nodeType===1){if(e(n)===!1)break}else if(d2(n))if(n.data==="]"){if(--r===0)break}else n.data==="["&&r++;n=n.nextSibling}}else e(t)}const Ml=t=>!!t.type.__asyncLoader;function xu(t){Qt(t)&&(t={loader:t});const{loader:e,loadingComponent:r,errorComponent:n,delay:a=200,hydrate:i,timeout:o,suspensible:A=!0,onError:s}=t;let l=null,c,u=0;const h=()=>(u++,l=null,f()),f=()=>{let p;return l||(p=l=e().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),s)return new Promise((b,m)=>{s(v,()=>b(h()),()=>m(v),u+1)});throw v}).then(v=>p!==l&&l?l:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),c=v,v)))};return Cu({name:"AsyncComponentWrapper",__asyncLoader:f,__asyncHydrate(p,v,b){let m=!1;(v.bu||(v.bu=[])).push(()=>m=!0);const _=()=>{m||b()},y=i?()=>{const B=i(_,F=>NT(p,F));B&&(v.bum||(v.bum=[])).push(B)}:_;c?y():f().then(()=>!v.isUnmounted&&y())},get __asyncResolved(){return c},setup(){const p=Jn;if(F0(p),c)return()=>zd(c,p);const v=y=>{l=null,vu(y,p,13,!n)};if(A&&p.suspense||Rl)return f().then(y=>()=>zd(y,p)).catch(y=>(v(y),()=>n?yr(n,{error:y}):null));const b=Je(!1),m=Je(),_=Je(!!a);return a&&setTimeout(()=>{_.value=!1},a),o!=null&&setTimeout(()=>{if(!b.value&&!m.value){const y=new Error(`Async component timed out after ${o}ms.`);v(y),m.value=y}},o),f().then(()=>{b.value=!0,p.parent&&Fu(p.parent.vnode)&&p.parent.update()}).catch(y=>{v(y),m.value=y}),()=>{if(b.value&&c)return zd(c,p);if(m.value&&n)return yr(n,{error:m.value});if(r&&!_.value)return zd(r,p)}}})}function zd(t,e){const{ref:r,props:n,children:a,ce:i}=e.vnode,o=yr(t,n,a);return o.ref=r,o.ce=i,delete e.vnode.ce,o}const Fu=t=>t.type.__isKeepAlive;function QT(t,e){h2(t,"a",e)}function PT(t,e){h2(t,"da",e)}function h2(t,e,r=Jn){const n=t.__wdc||(t.__wdc=()=>{let a=r;for(;a;){if(a.isDeactivated)return;a=a.parent}return t()});if(Wd(e,n,r),r){let a=r.parent;for(;a&&a.parent;)Fu(a.parent.vnode)&&OT(n,e,r,a),a=a.parent}}function OT(t,e,r,n){const a=Wd(e,t,n,!0);qd(()=>{o0(n[e],a)},r)}function Wd(t,e,r=Jn,n=!1){if(r){const a=r[t]||(r[t]=[]),i=e.__weh||(e.__weh=(...o)=>{so();const A=ku(r),s=bi(e,r,t,o);return A(),lo(),s});return n?a.unshift(i):a.push(i),i}}const Ko=t=>(e,r=Jn)=>{(!Rl||t==="sp")&&Wd(t,(...n)=>e(...n),r)},g2=Ko("bm"),Ri=Ko("m"),MT=Ko("bu"),RT=Ko("u"),jo=Ko("bum"),qd=Ko("um"),DT=Ko("sp"),HT=Ko("rtg"),$T=Ko("rtc");function KT(t,e=Jn){Wd("ec",t,e)}const jT="components",p2=Symbol.for("v-ndc");function GT(t){return Hr(t)?VT(jT,t,!1)||t:t||p2}function VT(t,e,r=!0,n=!1){const a=Xn||Jn;if(a){const i=a.type;{const A=Y2(i,!1);if(A&&(A===e||A===Gn(e)||A===Id(Gn(e))))return i}const o=m2(a[t]||i[t],e)||m2(a.appContext[t],e);return!o&&n?i:o}}function m2(t,e){return t&&(t[e]||t[Gn(e)]||t[Id(Gn(e))])}function Ia(t,e,r,n){let a;const i=r,o=Ft(t);if(o||Hr(t)){const A=o&&Do(t);let s=!1,l=!1;A&&(s=!ri(t),l=Ho(t),t=Qd(t)),a=new Array(t.length);for(let c=0,u=t.length;ce(A,s,void 0,i));else{const A=Object.keys(t);a=new Array(A.length);for(let s=0,l=A.length;s0;return e!=="default"&&(r.name=e),Qe(),br(Jt,null,[yr("slot",r,n&&n())],l?-2:64)}let i=t[e];i&&i._c&&(i._d=!1),Qe();const o=i&&v2(i(r)),A=r.key||o&&o.key,s=br(Jt,{key:(A&&!ti(A)?A:`_${e}`)+(!o&&n?"_fb":"")},o||(n?n():[]),o&&t._===1?64:-2);return!a&&s.scopeId&&(s.slotScopeIds=[s.scopeId+"-s"]),i&&i._c&&(i._d=!0),s}function v2(t){return t.some(e=>Tu(e)?!(e.type===ua||e.type===Jt&&!v2(e.children)):!0)?t:null}const E0=t=>t?z2(t)?th(t):E0(t.parent):null,Eu=Zr(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>E0(t.parent),$root:t=>E0(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>B2(t),$forceUpdate:t=>t.f||(t.f=()=>{C0(t.update)}),$nextTick:t=>t.n||(t.n=bu.bind(t.proxy)),$watch:t=>LT.bind(t)}),S0=(t,e)=>t!==Er&&!t.__isScriptSetup&&gr(t,e),zT={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:r,setupState:n,data:a,props:i,accessCache:o,type:A,appContext:s}=t;if(e[0]!=="$"){const h=o[e];if(h!==void 0)switch(h){case 1:return n[e];case 2:return a[e];case 4:return r[e];case 3:return i[e]}else{if(S0(n,e))return o[e]=1,n[e];if(a!==Er&&gr(a,e))return o[e]=2,a[e];if(gr(i,e))return o[e]=3,i[e];if(r!==Er&&gr(r,e))return o[e]=4,r[e];L0&&(o[e]=0)}}const l=Eu[e];let c,u;if(l)return e==="$attrs"&&ca(t.attrs,"get",""),l(t);if((c=A.__cssModules)&&(c=c[e]))return c;if(r!==Er&&gr(r,e))return o[e]=4,r[e];if(u=s.config.globalProperties,gr(u,e))return u[e]},set({_:t},e,r){const{data:n,setupState:a,ctx:i}=t;return S0(a,e)?(a[e]=r,!0):n!==Er&&gr(n,e)?(n[e]=r,!0):gr(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(i[e]=r,!0)},has({_:{data:t,setupState:e,accessCache:r,ctx:n,appContext:a,props:i,type:o}},A){let s;return!!(r[A]||t!==Er&&A[0]!=="$"&&gr(t,A)||S0(e,A)||gr(i,A)||gr(n,A)||gr(Eu,A)||gr(a.config.globalProperties,A)||(s=o.__cssModules)&&s[A])},defineProperty(t,e,r){return r.get!=null?t._.accessCache[e]=0:gr(r,"value")&&this.set(t,e,r.value,null),Reflect.defineProperty(t,e,r)}};function b2(t){return Ft(t)?t.reduce((e,r)=>(e[r]=null,e),{}):t}let L0=!0;function WT(t){const e=B2(t),r=t.proxy,n=t.ctx;L0=!1,e.beforeCreate&&y2(e.beforeCreate,t,"bc");const{data:a,computed:i,methods:o,watch:A,provide:s,inject:l,created:c,beforeMount:u,mounted:h,beforeUpdate:f,updated:p,activated:v,deactivated:b,beforeDestroy:m,beforeUnmount:_,destroyed:y,unmounted:B,render:F,renderTracked:S,renderTriggered:k,errorCaptured:T,serverPrefetch:C,expose:D,inheritAttrs:I,components:E,directives:P,filters:H}=e;if(l&&qT(l,n,null),o)for(const J in o){const ee=o[J];Qt(ee)&&(n[J]=ee.bind(r))}if(a){const J=a.call(r,r);pr(J)&&(t.data=kl(J))}if(L0=!0,i)for(const J in i){const ee=i[J],pe=Qt(ee)?ee.bind(r,r):Qt(ee.get)?ee.get.bind(r,r):oo,ge=!Qt(ee)&&Qt(ee.set)?ee.set.bind(r):oo,we=Oe({get:pe,set:ge});Object.defineProperty(n,J,{enumerable:!0,configurable:!0,get:()=>we.value,set:L=>we.value=L})}if(A)for(const J in A)w2(A[J],n,r,J);if(s){const J=Qt(s)?s.call(r):s;Reflect.ownKeys(J).forEach(ee=>{La(ee,J[ee])})}c&&y2(c,t,"c");function z(J,ee){Ft(ee)?ee.forEach(pe=>J(pe.bind(r))):ee&&J(ee.bind(r))}if(z(g2,u),z(Ri,h),z(MT,f),z(RT,p),z(QT,v),z(PT,b),z(KT,T),z($T,S),z(HT,k),z(jo,_),z(qd,B),z(DT,C),Ft(D))if(D.length){const J=t.exposed||(t.exposed={});D.forEach(ee=>{Object.defineProperty(J,ee,{get:()=>r[ee],set:pe=>r[ee]=pe,enumerable:!0})})}else t.exposed||(t.exposed={});F&&t.render===oo&&(t.render=F),I!=null&&(t.inheritAttrs=I),E&&(t.components=E),P&&(t.directives=P),C&&F0(t)}function qT(t,e,r=oo){Ft(t)&&(t=I0(t));for(const n in t){const a=t[n];let i;pr(a)?"default"in a?i=Wt(a.from||n,a.default,!0):i=Wt(a.from||n):i=Wt(a),$r(i)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):e[n]=i}}function y2(t,e,r){bi(Ft(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,r)}function w2(t,e,r,n){let a=n.includes(".")?n2(r,n):()=>r[n];if(Hr(t)){const i=e[t];Qt(i)&&nr(a,i)}else if(Qt(t))nr(a,t.bind(r));else if(pr(t))if(Ft(t))t.forEach(i=>w2(i,e,r,n));else{const i=Qt(t.handler)?t.handler.bind(r):e[t.handler];Qt(i)&&nr(a,i,t)}}function B2(t){const e=t.type,{mixins:r,extends:n}=e,{mixins:a,optionsCache:i,config:{optionMergeStrategies:o}}=t.appContext,A=i.get(e);let s;return A?s=A:!a.length&&!r&&!n?s=e:(s={},a.length&&a.forEach(l=>Yd(s,l,o,!0)),Yd(s,e,o)),pr(e)&&i.set(e,s),s}function Yd(t,e,r,n=!1){const{mixins:a,extends:i}=e;i&&Yd(t,i,r,!0),a&&a.forEach(o=>Yd(t,o,r,!0));for(const o in e)if(!(n&&o==="expose")){const A=YT[o]||r&&r[o];t[o]=A?A(t[o],e[o]):e[o]}return t}const YT={data:C2,props:_2,emits:_2,methods:Su,computed:Su,beforeCreate:Ua,created:Ua,beforeMount:Ua,mounted:Ua,beforeUpdate:Ua,updated:Ua,beforeDestroy:Ua,beforeUnmount:Ua,destroyed:Ua,unmounted:Ua,activated:Ua,deactivated:Ua,errorCaptured:Ua,serverPrefetch:Ua,components:Su,directives:Su,watch:JT,provide:C2,inject:XT};function C2(t,e){return e?t?function(){return Zr(Qt(t)?t.call(this,this):t,Qt(e)?e.call(this,this):e)}:e:t}function XT(t,e){return Su(I0(t),I0(e))}function I0(t){if(Ft(t)){const e={};for(let r=0;re==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Gn(e)}Modifiers`]||t[`${vi(e)}Modifiers`];function rk(t,e,...r){if(t.isUnmounted)return;const n=t.vnode.props||Er;let a=r;const i=e.startsWith("update:"),o=i&&tk(n,e.slice(7));o&&(o.trim&&(a=r.map(c=>Hr(c)?c.trim():c)),o.number&&(a=r.map(Td)));let A,s=n[A=A0(e)]||n[A=A0(Gn(e))];!s&&i&&(s=n[A=A0(vi(e))]),s&&bi(s,t,6,a);const l=n[A+"Once"];if(l){if(!t.emitted)t.emitted={};else if(t.emitted[A])return;t.emitted[A]=!0,bi(l,t,6,a)}}const nk=new WeakMap;function F2(t,e,r=!1){const n=r?nk:e.emitsCache,a=n.get(t);if(a!==void 0)return a;const i=t.emits;let o={},A=!1;if(!Qt(t)){const s=l=>{const c=F2(l,e,!0);c&&(A=!0,Zr(o,c))};!r&&e.mixins.length&&e.mixins.forEach(s),t.extends&&s(t.extends),t.mixins&&t.mixins.forEach(s)}return!i&&!A?(pr(t)&&n.set(t,null),null):(Ft(i)?i.forEach(s=>o[s]=null):Zr(o,i),pr(t)&&n.set(t,o),o)}function Xd(t,e){return!t||!xd(e)?!1:(e=e.slice(2).replace(/Once$/,""),gr(t,e[0].toLowerCase()+e.slice(1))||gr(t,vi(e))||gr(t,e))}function mse(){}function E2(t){const{type:e,vnode:r,proxy:n,withProxy:a,propsOptions:[i],slots:o,attrs:A,emit:s,render:l,renderCache:c,props:u,data:h,setupState:f,ctx:p,inheritAttrs:v}=t,b=Gd(t);let m,_;try{if(r.shapeFlag&4){const B=a||n,F=B;m=fo(l.call(F,B,c,u,f,h,p)),_=A}else{const B=e;m=fo(B.length>1?B(u,{attrs:A,slots:o,emit:s}):B(u,null)),_=e.props?A:ak(A)}}catch(B){Iu.length=0,vu(B,t,1),m=yr(ua)}let y=m;if(_&&v!==!1){const B=Object.keys(_),{shapeFlag:F}=y;B.length&&F&7&&(i&&B.some(Fd)&&(_=ik(_,i)),y=UA(y,_,!1,!0))}return r.dirs&&(y=UA(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(r.dirs):r.dirs),r.transition&&Bu(y,r.transition),m=y,Gd(b),m}const ak=t=>{let e;for(const r in t)(r==="class"||r==="style"||xd(r))&&((e||(e={}))[r]=t[r]);return e},ik=(t,e)=>{const r={};for(const n in t)(!Fd(n)||!(n.slice(9)in e))&&(r[n]=t[n]);return r};function ok(t,e,r){const{props:n,children:a,component:i}=t,{props:o,children:A,patchFlag:s}=e,l=i.emitsOptions;if(e.dirs||e.transition)return!0;if(r&&s>=0){if(s&1024)return!0;if(s&16)return n?S2(n,o,l):!!o;if(s&8){const c=e.dynamicProps;for(let u=0;uObject.create(I2),T2=t=>Object.getPrototypeOf(t)===I2;function sk(t,e,r,n=!1){const a={},i=U2();t.propsDefaults=Object.create(null),k2(t,e,a,i);for(const o in t.propsOptions[0])o in a||(a[o]=void 0);r?t.props=n?a:lT(a):t.type.props?t.props=a:t.props=i,t.attrs=i}function lk(t,e,r,n){const{props:a,attrs:i,vnode:{patchFlag:o}}=t,A=ir(a),[s]=t.propsOptions;let l=!1;if((n||o>0)&&!(o&16)){if(o&8){const c=t.vnode.dynamicProps;for(let u=0;u{s=!0;const[h,f]=N2(u,e,!0);Zr(o,h),f&&A.push(...f)};!r&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!i&&!s)return pr(t)&&n.set(t,Sl),Sl;if(Ft(i))for(let c=0;ct==="_"||t==="_ctx"||t==="$stable",k0=t=>Ft(t)?t.map(fo):[fo(t)],uk=(t,e,r)=>{if(e._n)return e;const n=ni((...a)=>k0(e(...a)),r);return n._c=!1,n},P2=(t,e,r)=>{const n=t._ctx;for(const a in t){if(T0(a))continue;const i=t[a];if(Qt(i))e[a]=uk(a,i,n);else if(i!=null){const o=k0(i);e[a]=()=>o}}},O2=(t,e)=>{const r=k0(e);t.slots.default=()=>r},M2=(t,e,r)=>{for(const n in e)(r||!T0(n))&&(t[n]=e[n])},fk=(t,e,r)=>{const n=t.slots=U2();if(t.vnode.shapeFlag&32){const a=e._;a?(M2(n,e,r),r&&yw(n,"_",a,!0)):P2(e,n)}else e&&O2(t,e)},dk=(t,e,r)=>{const{vnode:n,slots:a}=t;let i=!0,o=Er;if(n.shapeFlag&32){const A=e._;A?r&&A===1?i=!1:M2(a,e,r):(i=!e.$stable,P2(e,a)),o=e}else e&&(O2(t,e),o={default:1});if(i)for(const A in a)!T0(A)&&o[A]==null&&delete a[A]},ja=vk;function hk(t){return gk(t)}function gk(t,e){const r=kd();r.__VUE__=!0;const{insert:n,remove:a,patchProp:i,createElement:o,createText:A,createComment:s,setText:l,setElementText:c,parentNode:u,nextSibling:h,setScopeId:f=oo,insertStaticContent:p}=t,v=(Q,G,q,N=null,fe=null,_e=null,Ee=void 0,be=null,j=!!G.dynamicChildren)=>{if(Q===G)return;Q&&!Ls(Q,G)&&(N=ue(Q),L(Q,fe,_e,!0),Q=null),G.patchFlag===-2&&(j=!1,G.dynamicChildren=null);const{type:$,ref:de,shapeFlag:Be}=G;switch($){case Lu:b(Q,G,q,N);break;case ua:m(Q,G,q,N);break;case Q0:Q==null&&_(G,q,N,Ee);break;case Jt:E(Q,G,q,N,fe,_e,Ee,be,j);break;default:Be&1?F(Q,G,q,N,fe,_e,Ee,be,j):Be&6?P(Q,G,q,N,fe,_e,Ee,be,j):(Be&64||Be&128)&&$.process(Q,G,q,N,fe,_e,Ee,be,j,xe)}de!=null&&fe?_u(de,Q&&Q.ref,_e,G||Q,!G):de==null&&Q&&Q.ref!=null&&_u(Q.ref,null,_e,Q,!0)},b=(Q,G,q,N)=>{if(Q==null)n(G.el=A(G.children),q,N);else{const fe=G.el=Q.el;G.children!==Q.children&&l(fe,G.children)}},m=(Q,G,q,N)=>{Q==null?n(G.el=s(G.children||""),q,N):G.el=Q.el},_=(Q,G,q,N)=>{[Q.el,Q.anchor]=p(Q.children,G,q,N,Q.el,Q.anchor)},y=({el:Q,anchor:G},q,N)=>{let fe;for(;Q&&Q!==G;)fe=h(Q),n(Q,q,N),Q=fe;n(G,q,N)},B=({el:Q,anchor:G})=>{let q;for(;Q&&Q!==G;)q=h(Q),a(Q),Q=q;a(G)},F=(Q,G,q,N,fe,_e,Ee,be,j)=>{if(G.type==="svg"?Ee="svg":G.type==="math"&&(Ee="mathml"),Q==null)S(G,q,N,fe,_e,Ee,be,j);else{const $=Q.el&&Q.el._isVueCE?Q.el:null;try{$&&$._beginPatch(),C(Q,G,fe,_e,Ee,be,j)}finally{$&&$._endPatch()}}},S=(Q,G,q,N,fe,_e,Ee,be)=>{let j,$;const{props:de,shapeFlag:Be,transition:Me,dirs:Pe}=Q;if(j=Q.el=o(Q.type,_e,de&&de.is,de),Be&8?c(j,Q.children):Be&16&&T(Q.children,j,null,N,fe,N0(Q,_e),Ee,be),Pe&&Fs(Q,null,N,"created"),k(j,Q,Q.scopeId,Ee,N),de){for(const Le in de)Le!=="value"&&!lu(Le)&&i(j,Le,null,de[Le],_e,N);"value"in de&&i(j,"value",null,de.value,_e),($=de.onVnodeBeforeMount)&&ho($,N,Q)}Pe&&Fs(Q,null,N,"beforeMount");const ye=pk(fe,Me);ye&&Me.beforeEnter(j),n(j,G,q),(($=de&&de.onVnodeMounted)||ye||Pe)&&ja(()=>{try{$&&ho($,N,Q),ye&&Me.enter(j),Pe&&Fs(Q,null,N,"mounted")}finally{}},fe)},k=(Q,G,q,N,fe)=>{if(q&&f(Q,q),N)for(let _e=0;_e{for(let $=j;${const be=G.el=Q.el;let{patchFlag:j,dynamicChildren:$,dirs:de}=G;j|=Q.patchFlag&16;const Be=Q.props||Er,Me=G.props||Er;let Pe;if(q&&Ss(q,!1),(Pe=Me.onVnodeBeforeUpdate)&&ho(Pe,q,G,Q),de&&Fs(G,Q,q,"beforeUpdate"),q&&Ss(q,!0),(Be.innerHTML&&Me.innerHTML==null||Be.textContent&&Me.textContent==null)&&c(be,""),$?D(Q.dynamicChildren,$,be,q,N,N0(G,fe),_e):Ee||ee(Q,G,be,null,q,N,N0(G,fe),_e,!1),j>0){if(j&16)I(be,Be,Me,q,fe);else if(j&2&&Be.class!==Me.class&&i(be,"class",null,Me.class,fe),j&4&&i(be,"style",Be.style,Me.style,fe),j&8){const ye=G.dynamicProps;for(let Le=0;Le{Pe&&ho(Pe,q,G,Q),de&&Fs(G,Q,q,"updated")},N)},D=(Q,G,q,N,fe,_e,Ee)=>{for(let be=0;be{if(G!==q){if(G!==Er)for(const _e in G)!lu(_e)&&!(_e in q)&&i(Q,_e,G[_e],null,fe,N);for(const _e in q){if(lu(_e))continue;const Ee=q[_e],be=G[_e];Ee!==be&&_e!=="value"&&i(Q,_e,be,Ee,fe,N)}"value"in q&&i(Q,"value",G.value,q.value,fe)}},E=(Q,G,q,N,fe,_e,Ee,be,j)=>{const $=G.el=Q?Q.el:A(""),de=G.anchor=Q?Q.anchor:A("");let{patchFlag:Be,dynamicChildren:Me,slotScopeIds:Pe}=G;Pe&&(be=be?be.concat(Pe):Pe),Q==null?(n($,q,N),n(de,q,N),T(G.children||[],q,de,fe,_e,Ee,be,j)):Be>0&&Be&64&&Me&&Q.dynamicChildren&&Q.dynamicChildren.length===Me.length?(D(Q.dynamicChildren,Me,q,fe,_e,Ee,be),(G.key!=null||fe&&G===fe.subTree)&&R2(Q,G,!0)):ee(Q,G,q,de,fe,_e,Ee,be,j)},P=(Q,G,q,N,fe,_e,Ee,be,j)=>{G.slotScopeIds=be,Q==null?G.shapeFlag&512?fe.ctx.activate(G,q,N,Ee,j):H(G,q,N,fe,_e,Ee,j):O(Q,G,j)},H=(Q,G,q,N,fe,_e,Ee)=>{const be=Q.component=xk(Q,N,fe);if(Fu(Q)&&(be.ctx.renderer=xe),Fk(be,!1,Ee),be.asyncDep){if(fe&&fe.registerDep(be,z,Ee),!Q.el){const j=be.subTree=yr(ua);m(null,j,G,q),Q.placeholder=j.el}}else z(be,Q,G,q,fe,_e,Ee)},O=(Q,G,q)=>{const N=G.component=Q.component;if(ok(Q,G,q))if(N.asyncDep&&!N.asyncResolved){J(N,G,q);return}else N.next=G,N.update();else G.el=Q.el,N.vnode=G},z=(Q,G,q,N,fe,_e,Ee)=>{const be=()=>{if(Q.isMounted){let{next:Be,bu:Me,u:Pe,parent:ye,vnode:Le}=Q;{const Ut=D2(Q);if(Ut){Be&&(Be.el=Le.el,J(Q,Be,Ee)),Ut.asyncDep.then(()=>{ja(()=>{Q.isUnmounted||$()},fe)});return}}let Ve=Be,Ge;Ss(Q,!1),Be?(Be.el=Le.el,J(Q,Be,Ee)):Be=Le,Me&&Ud(Me),(Ge=Be.props&&Be.props.onVnodeBeforeUpdate)&&ho(Ge,ye,Be,Le),Ss(Q,!0);const Ze=E2(Q),rt=Q.subTree;Q.subTree=Ze,v(rt,Ze,u(rt.el),ue(rt),Q,fe,_e),Be.el=Ze.el,Ve===null&&Ak(Q,Ze.el),Pe&&ja(Pe,fe),(Ge=Be.props&&Be.props.onVnodeUpdated)&&ja(()=>ho(Ge,ye,Be,Le),fe)}else{let Be;const{el:Me,props:Pe}=G,{bm:ye,m:Le,parent:Ve,root:Ge,type:Ze}=Q,rt=Ml(G);Ss(Q,!1),ye&&Ud(ye),!rt&&(Be=Pe&&Pe.onVnodeBeforeMount)&&ho(Be,Ve,G),Ss(Q,!0);{Ge.ce&&Ge.ce._hasShadowRoot()&&Ge.ce._injectChildStyle(Ze,Q.parent?Q.parent.type:void 0);const Ut=Q.subTree=E2(Q);v(null,Ut,q,N,Q,fe,_e),G.el=Ut.el}if(Le&&ja(Le,fe),!rt&&(Be=Pe&&Pe.onVnodeMounted)){const Ut=G;ja(()=>ho(Be,Ve,Ut),fe)}(G.shapeFlag&256||Ve&&Ml(Ve.vnode)&&Ve.vnode.shapeFlag&256)&&Q.a&&ja(Q.a,fe),Q.isMounted=!0,G=q=N=null}};Q.scope.on();const j=Q.effect=new Ew(be);Q.scope.off();const $=Q.update=j.run.bind(j),de=Q.job=j.runIfDirty.bind(j);de.i=Q,de.id=Q.uid,j.scheduler=()=>C0(de),Ss(Q,!0),$()},J=(Q,G,q)=>{G.component=Q;const N=Q.vnode.props;Q.vnode=G,Q.next=null,lk(Q,G.props,N,q),dk(Q,G.children,q),so(),Jw(Q),lo()},ee=(Q,G,q,N,fe,_e,Ee,be,j=!1)=>{const $=Q&&Q.children,de=Q?Q.shapeFlag:0,Be=G.children,{patchFlag:Me,shapeFlag:Pe}=G;if(Me>0){if(Me&128){ge($,Be,q,N,fe,_e,Ee,be,j);return}else if(Me&256){pe($,Be,q,N,fe,_e,Ee,be,j);return}}Pe&8?(de&16&&re($,fe,_e),Be!==$&&c(q,Be)):de&16?Pe&16?ge($,Be,q,N,fe,_e,Ee,be,j):re($,fe,_e,!0):(de&8&&c(q,""),Pe&16&&T(Be,q,N,fe,_e,Ee,be,j))},pe=(Q,G,q,N,fe,_e,Ee,be,j)=>{Q=Q||Sl,G=G||Sl;const $=Q.length,de=G.length,Be=Math.min($,de);let Me;for(Me=0;Mede?re(Q,fe,_e,!0,!1,Be):T(G,q,N,fe,_e,Ee,be,j,Be)},ge=(Q,G,q,N,fe,_e,Ee,be,j)=>{let $=0;const de=G.length;let Be=Q.length-1,Me=de-1;for(;$<=Be&&$<=Me;){const Pe=Q[$],ye=G[$]=j?Go(G[$]):fo(G[$]);if(Ls(Pe,ye))v(Pe,ye,q,null,fe,_e,Ee,be,j);else break;$++}for(;$<=Be&&$<=Me;){const Pe=Q[Be],ye=G[Me]=j?Go(G[Me]):fo(G[Me]);if(Ls(Pe,ye))v(Pe,ye,q,null,fe,_e,Ee,be,j);else break;Be--,Me--}if($>Be){if($<=Me){const Pe=Me+1,ye=PeMe)for(;$<=Be;)L(Q[$],fe,_e,!0),$++;else{const Pe=$,ye=$,Le=new Map;for($=ye;$<=Me;$++){const vt=G[$]=j?Go(G[$]):fo(G[$]);vt.key!=null&&Le.set(vt.key,$)}let Ve,Ge=0;const Ze=Me-ye+1;let rt=!1,Ut=0;const St=new Array(Ze);for($=0;$=Ze){L(vt,fe,_e,!0);continue}let Ot;if(vt.key!=null)Ot=Le.get(vt.key);else for(Ve=ye;Ve<=Me;Ve++)if(St[Ve-ye]===0&&Ls(vt,G[Ve])){Ot=Ve;break}Ot===void 0?L(vt,fe,_e,!0):(St[Ot-ye]=$+1,Ot>=Ut?Ut=Ot:rt=!0,v(vt,G[Ot],q,null,fe,_e,Ee,be,j),Ge++)}const Lt=rt?mk(St):Sl;for(Ve=Lt.length-1,$=Ze-1;$>=0;$--){const vt=ye+$,Ot=G[vt],dt=G[vt+1],Mt=vt+1{const{el:_e,type:Ee,transition:be,children:j,shapeFlag:$}=Q;if($&6){we(Q.component.subTree,G,q,N);return}if($&128){Q.suspense.move(G,q,N);return}if($&64){Ee.move(Q,G,q,xe);return}if(Ee===Jt){n(_e,G,q);for(let Be=0;Bebe.enter(_e),fe));else{const{leave:Be,delayLeave:Me,afterLeave:Pe}=be,ye=()=>{Q.ctx.isUnmounted?a(_e):n(_e,G,q)},Le=()=>{const Ve=_e._isLeaving||!!_e[wi];_e._isLeaving&&_e[wi](!0),be.persisted&&!Ve?ye():Be(_e,()=>{ye(),Pe&&Pe()})};Me?Me(_e,ye,Le):Le()}else n(_e,G,q)},L=(Q,G,q,N=!1,fe=!1)=>{const{type:_e,props:Ee,ref:be,children:j,dynamicChildren:$,shapeFlag:de,patchFlag:Be,dirs:Me,cacheIndex:Pe,memo:ye}=Q;if(Be===-2&&(fe=!1),be!=null&&(so(),_u(be,null,q,Q,!0),lo()),Pe!=null&&(G.renderCache[Pe]=void 0),de&256){G.ctx.deactivate(Q);return}const Le=de&1&&Me,Ve=!Ml(Q);let Ge;if(Ve&&(Ge=Ee&&Ee.onVnodeBeforeUnmount)&&ho(Ge,G,Q),de&6)se(Q.component,q,N);else{if(de&128){Q.suspense.unmount(q,N);return}Le&&Fs(Q,null,G,"beforeUnmount"),de&64?Q.type.remove(Q,G,q,xe,N):$&&!$.hasOnce&&(_e!==Jt||Be>0&&Be&64)?re($,G,q,!1,!0):(_e===Jt&&Be&384||!fe&&de&16)&&re(j,G,q),N&&K(Q)}const Ze=ye!=null&&Pe==null;(Ve&&(Ge=Ee&&Ee.onVnodeUnmounted)||Le||Ze)&&ja(()=>{Ge&&ho(Ge,G,Q),Le&&Fs(Q,null,G,"unmounted"),Ze&&(Q.el=null)},q)},K=Q=>{const{type:G,el:q,anchor:N,transition:fe}=Q;if(G===Jt){W(q,N);return}if(G===Q0){B(Q);return}const _e=()=>{a(q),fe&&!fe.persisted&&fe.afterLeave&&fe.afterLeave()};if(Q.shapeFlag&1&&fe&&!fe.persisted){const{leave:Ee,delayLeave:be}=fe,j=()=>Ee(q,_e);be?be(Q.el,_e,j):j()}else _e()},W=(Q,G)=>{let q;for(;Q!==G;)q=h(Q),a(Q),Q=q;a(G)},se=(Q,G,q)=>{const{bum:N,scope:fe,job:_e,subTree:Ee,um:be,m:j,a:$}=Q;H2(j),H2($),N&&Ud(N),fe.stop(),_e&&(_e.flags|=8,L(Ee,Q,G,q)),be&&ja(be,G),ja(()=>{Q.isUnmounted=!0},G)},re=(Q,G,q,N=!1,fe=!1,_e=0)=>{for(let Ee=_e;Ee{if(Q.shapeFlag&6)return ue(Q.component.subTree);if(Q.shapeFlag&128)return Q.suspense.next();const G=h(Q.anchor||Q.el),q=G&&G[IT];return q?h(q):G};let me=!1;const Z=(Q,G,q)=>{let N;Q==null?G._vnode&&(L(G._vnode,null,null,!0),N=G._vnode.component):v(G._vnode||null,Q,G,null,null,null,q),G._vnode=Q,me||(me=!0,Jw(N),Zw(),me=!1)},xe={p:v,um:L,m:we,r:K,mt:H,mc:T,pc:ee,pbc:D,n:ue,o:t};return{render:Z,hydrate:void 0,createApp:ek(Z)}}function N0({type:t,props:e},r){return r==="svg"&&t==="foreignObject"||r==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:r}function Ss({effect:t,job:e},r){r?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function pk(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function R2(t,e,r=!1){const n=t.children,a=e.children;if(Ft(n)&&Ft(a))for(let i=0;i>1,t[r[A]]0&&(e[n]=r[i-1]),r[i]=n)}}for(i=r.length,o=r[i-1];i-- >0;)r[i]=o,o=e[o];return r}function D2(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:D2(e)}function H2(t){if(t)for(let e=0;et.__isSuspense;function vk(t,e){e&&e.pendingBranch?Ft(t)?e.effects.push(...t):e.effects.push(t):xT(t)}const Jt=Symbol.for("v-fgt"),Lu=Symbol.for("v-txt"),ua=Symbol.for("v-cmt"),Q0=Symbol.for("v-stc"),Iu=[];let ai=null;function Qe(t=!1){Iu.push(ai=t?null:[])}function bk(){Iu.pop(),ai=Iu[Iu.length-1]||null}let Uu=1;function Jd(t,e=!1){Uu+=t,t<0&&ai&&e&&(ai.hasOnce=!0)}function j2(t){return t.dynamicChildren=Uu>0?ai||Sl:null,bk(),Uu>0&&ai&&ai.push(t),t}function $e(t,e,r,n,a,i){return j2(oe(t,e,r,n,a,i,!0))}function br(t,e,r,n,a){return j2(yr(t,e,r,n,a,!0))}function Tu(t){return t?t.__v_isVNode===!0:!1}function Ls(t,e){return t.type===e.type&&t.key===e.key}const G2=({key:t})=>t??null,Zd=({ref:t,ref_key:e,ref_for:r})=>(typeof t=="number"&&(t=""+t),t!=null?Hr(t)||$r(t)||Qt(t)?{i:Xn,r:t,k:e,f:!!r}:t:null);function oe(t,e=null,r=null,n=0,a=null,i=t===Jt?0:1,o=!1,A=!1){const s={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&G2(e),ref:e&&Zd(e),scopeId:t2,slotScopeIds:null,children:r,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:i,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Xn};return A?(P0(s,r),i&128&&t.normalize(s)):r&&(s.shapeFlag|=Hr(r)?8:16),Uu>0&&!o&&ai&&(s.patchFlag>0||i&6)&&s.patchFlag!==32&&ai.push(s),s}const yr=yk;function yk(t,e=null,r=null,n=0,a=null,i=!1){if((!t||t===p2)&&(t=ua),Tu(t)){const A=UA(t,e,!0);return r&&P0(A,r),Uu>0&&!i&&ai&&(A.shapeFlag&6?ai[ai.indexOf(t)]=A:ai.push(A)),A.patchFlag=-2,A}if(Tk(t)&&(t=t.__vccOpts),e){e=wk(e);let{class:A,style:s}=e;A&&!Hr(A)&&(e.class=Dt(A)),pr(s)&&(Dd(s)&&!Ft(s)&&(s=Zr({},s)),e.style=qr(s))}const o=Hr(t)?1:K2(t)?128:a2(t)?64:pr(t)?4:Qt(t)?2:0;return oe(t,e,r,n,a,o,i,!0)}function wk(t){return t?Dd(t)||T2(t)?Zr({},t):t:null}function UA(t,e,r=!1,n=!1){const{props:a,ref:i,patchFlag:o,children:A,transition:s}=t,l=e?Bk(a||{},e):a,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&G2(l),ref:e&&e.ref?r&&i?Ft(i)?i.concat(Zd(e)):[i,Zd(e)]:Zd(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:A,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Jt?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:s,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&UA(t.ssContent),ssFallback:t.ssFallback&&UA(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return s&&n&&Bu(c,s.clone(c)),c}function Nn(t=" ",e=0){return yr(Lu,null,t,e)}function ht(t="",e=!1){return e?(Qe(),br(ua,null,t)):yr(ua,null,t)}function fo(t){return t==null||typeof t=="boolean"?yr(ua):Ft(t)?yr(Jt,null,t.slice()):Tu(t)?Go(t):yr(Lu,null,String(t))}function Go(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:UA(t)}function P0(t,e){let r=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(Ft(e))r=16;else if(typeof e=="object")if(n&65){const a=e.default;a&&(a._c&&(a._d=!1),P0(t,a()),a._c&&(a._d=!0));return}else{r=32;const a=e._;!a&&!T2(e)?e._ctx=Xn:a===3&&Xn&&(Xn.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else Qt(e)?(e={default:e,_ctx:Xn},r=32):(e=String(e),n&64?(r=16,e=[Nn(e)]):r=8);t.children=e,t.shapeFlag|=r}function Bk(...t){const e={};for(let r=0;rJn||Xn;let eh,O0;{const t=kd(),e=(r,n)=>{let a;return(a=t[r])||(a=t[r]=[]),a.push(n),i=>{a.length>1?a.forEach(o=>o(i)):a[0](i)}};eh=e("__VUE_INSTANCE_SETTERS__",r=>Jn=r),O0=e("__VUE_SSR_SETTERS__",r=>Rl=r)}const ku=t=>{const e=Jn;return eh(t),t.scope.on(),()=>{t.scope.off(),eh(e)}},V2=()=>{Jn&&Jn.scope.off(),eh(null)};function z2(t){return t.vnode.shapeFlag&4}let Rl=!1;function Fk(t,e=!1,r=!1){e&&O0(e);const{props:n,children:a}=t.vnode,i=z2(t);sk(t,n,i,e),fk(t,a,r||e);const o=i?Ek(t,e):void 0;return e&&O0(!1),o}function Ek(t,e){const r=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,zT);const{setup:n}=r;if(n){so();const a=t.setupContext=n.length>1?Lk(t):null,i=ku(t),o=Ql(n,t,0,[t.props,a]),A=vw(o);if(lo(),i(),(A||t.sp)&&!Ml(t)&&F0(t),A){if(o.then(V2,V2),e)return o.then(s=>{W2(t,s)}).catch(s=>{vu(s,t,0)});t.asyncDep=o}else W2(t,o)}else q2(t)}function W2(t,e,r){Qt(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:pr(e)&&(t.setupState=zw(e)),q2(t)}function q2(t,e,r){const n=t.type;t.render||(t.render=n.render||oo);{const a=ku(t);so();try{WT(t)}finally{lo(),a()}}}const Sk={get(t,e){return ca(t,"get",""),t[e]}};function Lk(t){const e=r=>{t.exposed=r||{}};return{attrs:new Proxy(t.attrs,Sk),slots:t.slots,emit:t.emit,expose:e}}function th(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(zw(pu(t.exposed)),{get(e,r){if(r in e)return e[r];if(r in Eu)return Eu[r](t)},has(e,r){return r in e||r in Eu}})):t.proxy}const Ik=/(?:^|[-_])\w/g,Uk=t=>t.replace(Ik,e=>e.toUpperCase()).replace(/[-_]/g,"");function Y2(t,e=!0){return Qt(t)?t.displayName||t.name:t.name||e&&t.__name}function X2(t,e,r=!1){let n=Y2(e);if(!n&&e.__file){const a=e.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&t){const a=i=>{for(const o in i)if(i[o]===e)return o};n=a(t.components)||t.parent&&a(t.parent.type.components)||a(t.appContext.components)}return n?Uk(n):r?"App":"Anonymous"}function Tk(t){return Qt(t)&&"__vccOpts"in t}const Oe=(t,e)=>pT(t,e,Rl);function M0(t,e,r){try{Jd(-1);const n=arguments.length;return n===2?pr(e)&&!Ft(e)?Tu(e)?yr(t,null,[e]):yr(t,e):yr(t,null,e):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&Tu(r)&&(r=[r]),yr(t,e,r))}finally{Jd(1)}}const kk="3.5.35";/** -* @vue/runtime-dom v3.5.35 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let R0;const J2=typeof window<"u"&&window.trustedTypes;if(J2)try{R0=J2.createPolicy("vue",{createHTML:t=>t})}catch{}const Z2=R0?t=>R0.createHTML(t):t=>t,Nk="http://www.w3.org/2000/svg",Qk="http://www.w3.org/1998/Math/MathML",zo=typeof document<"u"?document:null,eB=zo&&zo.createElement("template"),Pk={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,n)=>{const a=e==="svg"?zo.createElementNS(Nk,t):e==="mathml"?zo.createElementNS(Qk,t):r?zo.createElement(t,{is:r}):zo.createElement(t);return t==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:t=>zo.createTextNode(t),createComment:t=>zo.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>zo.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,n,a,i){const o=r?r.previousSibling:e.lastChild;if(a&&(a===i||a.nextSibling))for(;e.insertBefore(a.cloneNode(!0),r),!(a===i||!(a=a.nextSibling)););else{eB.innerHTML=Z2(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const A=eB.content;if(n==="svg"||n==="mathml"){const s=A.firstChild;for(;s.firstChild;)A.appendChild(s.firstChild);A.removeChild(s)}e.insertBefore(A,r)}return[o?o.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},TA="transition",Nu="animation",Qu=Symbol("_vtc"),tB={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ok=Zr({},i2,tB),Mk=(t=>(t.displayName="Transition",t.props=Ok,t))((t,{slots:e})=>M0(kT,Rk(t),e)),Is=(t,e=[])=>{Ft(t)?t.forEach(r=>r(...e)):t&&t(...e)},rB=t=>t?Ft(t)?t.some(e=>e.length>1):t.length>1:!1;function Rk(t){const e={};for(const E in t)E in tB||(e[E]=t[E]);if(t.css===!1)return e;const{name:r="v",type:n,duration:a,enterFromClass:i=`${r}-enter-from`,enterActiveClass:o=`${r}-enter-active`,enterToClass:A=`${r}-enter-to`,appearFromClass:s=i,appearActiveClass:l=o,appearToClass:c=A,leaveFromClass:u=`${r}-leave-from`,leaveActiveClass:h=`${r}-leave-active`,leaveToClass:f=`${r}-leave-to`}=t,p=Dk(a),v=p&&p[0],b=p&&p[1],{onBeforeEnter:m,onEnter:_,onEnterCancelled:y,onLeave:B,onLeaveCancelled:F,onBeforeAppear:S=m,onAppear:k=_,onAppearCancelled:T=y}=e,C=(E,P,H,O)=>{E._enterCancelled=O,Us(E,P?c:A),Us(E,P?l:o),H&&H()},D=(E,P)=>{E._isLeaving=!1,Us(E,u),Us(E,f),Us(E,h),P&&P()},I=E=>(P,H)=>{const O=E?k:_,z=()=>C(P,E,H);Is(O,[P,z]),nB(()=>{Us(P,E?s:i),Wo(P,E?c:A),rB(O)||aB(P,n,v,z)})};return Zr(e,{onBeforeEnter(E){Is(m,[E]),Wo(E,i),Wo(E,o)},onBeforeAppear(E){Is(S,[E]),Wo(E,s),Wo(E,l)},onEnter:I(!1),onAppear:I(!0),onLeave(E,P){E._isLeaving=!0;const H=()=>D(E,P);Wo(E,u),E._enterCancelled?(Wo(E,h),AB(E)):(AB(E),Wo(E,h)),nB(()=>{E._isLeaving&&(Us(E,u),Wo(E,f),rB(B)||aB(E,n,b,H))}),Is(B,[E,H])},onEnterCancelled(E){C(E,!1,void 0,!0),Is(y,[E])},onAppearCancelled(E){C(E,!0,void 0,!0),Is(T,[E])},onLeaveCancelled(E){D(E),Is(F,[E])}})}function Dk(t){if(t==null)return null;if(pr(t))return[D0(t.enter),D0(t.leave)];{const e=D0(t);return[e,e]}}function D0(t){return s0(t)}function Wo(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.add(r)),(t[Qu]||(t[Qu]=new Set)).add(e)}function Us(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const r=t[Qu];r&&(r.delete(e),r.size||(t[Qu]=void 0))}function nB(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let Hk=0;function aB(t,e,r,n){const a=t._endId=++Hk,i=()=>{a===t._endId&&n()};if(r!=null)return setTimeout(i,r);const{type:o,timeout:A,propCount:s}=$k(t,e);if(!o)return n();const l=o+"end";let c=0;const u=()=>{t.removeEventListener(l,h),i()},h=f=>{f.target===t&&++c>=s&&u()};setTimeout(()=>{c(r[p]||"").split(", "),a=n(`${TA}Delay`),i=n(`${TA}Duration`),o=iB(a,i),A=n(`${Nu}Delay`),s=n(`${Nu}Duration`),l=iB(A,s);let c=null,u=0,h=0;e===TA?o>0&&(c=TA,u=o,h=i.length):e===Nu?l>0&&(c=Nu,u=l,h=s.length):(u=Math.max(o,l),c=u>0?o>l?TA:Nu:null,h=c?c===TA?i.length:s.length:0);const f=c===TA&&/\b(?:transform|all)(?:,|$)/.test(n(`${TA}Property`).toString());return{type:c,timeout:u,propCount:h,hasTransform:f}}function iB(t,e){for(;t.lengthoB(r)+oB(t[n])))}function oB(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function AB(t){return(t?t.ownerDocument:document).body.offsetHeight}function Kk(t,e,r){const n=t[Qu];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):r?t.setAttribute("class",e):t.className=e}const rh=Symbol("_vod"),sB=Symbol("_vsh"),jk={name:"show",beforeMount(t,{value:e},{transition:r}){t[rh]=t.style.display==="none"?"":t.style.display,r&&e?r.beforeEnter(t):Pu(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:n}){!e!=!r&&(n?e?(n.beforeEnter(t),Pu(t,!0),n.enter(t)):n.leave(t,()=>{Pu(t,!1)}):Pu(t,e))},beforeUnmount(t,{value:e}){Pu(t,e)}};function Pu(t,e){t.style.display=e?t[rh]:"none",t[sB]=!e}const Gk=Symbol(""),Vk=/(?:^|;)\s*display\s*:/;function zk(t,e,r){const n=t.style,a=Hr(r);let i=!1;if(r&&!a){if(e)if(Hr(e))for(const o of e.split(";")){const A=o.slice(0,o.indexOf(":")).trim();r[A]==null&&Ou(n,A,"")}else for(const o in e)r[o]==null&&Ou(n,o,"");for(const o in r){o==="display"&&(i=!0);const A=r[o];A!=null?qk(t,o,!Hr(e)&&e?e[o]:void 0,A)||Ou(n,o,A):Ou(n,o,"")}}else if(a){if(e!==r){const o=n[Gk];o&&(r+=";"+o),n.cssText=r,i=Vk.test(r)}}else e&&t.removeAttribute("style");rh in t&&(t[rh]=i?n.display:"",t[sB]&&(n.display="none"))}const lB=/\s*!important$/;function Ou(t,e,r){if(Ft(r))r.forEach(n=>Ou(t,e,n));else if(r==null&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const n=Wk(t,e);lB.test(r)?t.setProperty(vi(n),r.replace(lB,""),"important"):t[n]=r}}const cB=["Webkit","Moz","ms"],H0={};function Wk(t,e){const r=H0[e];if(r)return r;let n=Gn(e);if(n!=="filter"&&n in t)return H0[e]=n;n=Id(n);for(let a=0;a$0||(Zk.then(()=>$0=0),$0=Date.now());function tN(t,e){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;const a=r.value;if(Ft(a)){const i=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{i.call(n),n._stopped=!0};const o=a.slice(),A=[n];for(let s=0;st.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,rN=(t,e,r,n,a,i)=>{const o=a==="svg";e==="class"?Kk(t,n,o):e==="style"?zk(t,r,n):xd(e)?Fd(e)||Xk(t,e,r,n,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):nN(t,e,n,o))?(dB(t,e,n),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&fB(t,e,n,o,i,e!=="value")):t._isVueCE&&(aN(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!Hr(n)))?dB(t,Gn(e),n,i,e):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),fB(t,e,n,o))};function nN(t,e,r,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&pB(e)&&Qt(r));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const a=t.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return pB(e)&&Hr(r)?!1:e in t}function aN(t,e){const r=t._def.props;if(!r)return!1;const n=Gn(e);return Array.isArray(r)?r.some(a=>Gn(a)===n):Object.keys(r).some(a=>Gn(a)===n)}const mB={};function iN(t,e,r){let n=Cu(t,e);Ed(n)&&(n=Zr({},n,e));class a extends K0{constructor(o){super(n,o,r)}}return a.def=n,a}const oN=typeof HTMLElement<"u"?HTMLElement:class{};class K0 extends oN{constructor(e,r={},n=xB){super(),this._def=e,this._props=r,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!==xB?this._root=this.shadowRoot:e.shadowRoot!==!1?(this.attachShadow(Zr({},e.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 e=this;for(;e=e&&(e.assignedSlot||e.parentNode||e.host);)if(e instanceof K0){this._parent=e;break}this._instance||(this._resolved?this._mount(this._def):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,bu(()=>{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(e){for(const r of e)this._setAttr(r.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:o}=n;let A;if(i&&!Ft(i))for(const s in i){const l=i[s];(l===Number||l&&l.type===Number)&&(s in this._props&&(this._props[s]=s0(this._props[s])),(A||(A=Object.create(null)))[Gn(s)]=!0)}this._numberProps=A,this._resolveProps(n),this.shadowRoot&&this._applyStyles(o),this._mount(n)},r=this._def.__asyncLoader;r?this._pendingResolve=r().then(n=>{n.configureApp=this._def.configureApp,e(this._def=n,!0)}):e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const r=this._instance&&this._instance.exposed;if(r)for(const n in r)gr(this,n)||Object.defineProperty(this,n,{get:()=>et(r[n])})}_resolveProps(e){const{props:r}=e,n=Ft(r)?r:Object.keys(r||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Gn))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(i){this._setProp(a,i,!0,!this._patching)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const r=this.hasAttribute(e);let n=r?this.getAttribute(e):mB;const a=Gn(e);r&&this._numberProps&&this._numberProps[a]&&(n=s0(n)),this._setProp(a,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,r,n=!0,a=!1){if(r!==this._props[e]&&(this._dirty=!0,r===mB?delete this._props[e]:(this._props[e]=r,e==="key"&&this._app&&(this._app._ceVNode.key=r)),a&&this._instance&&this._update(),n)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),r===!0?this.setAttribute(vi(e),""):typeof r=="string"||typeof r=="number"?this.setAttribute(vi(e),r+""):r||this.removeAttribute(vi(e)),i&&i.observe(this,{attributes:!0})}}_update(){const e=this._createVNode();this._app&&(e.appContext=this._app._context),uN(e,this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const r=yr(this._def,Zr(e,this._props));return this._instance||(r.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(i,o)=>{this.dispatchEvent(new CustomEvent(i,Ed(o[0])?Zr({detail:o},o[0]):{detail:o}))};n.emit=(i,...o)=>{a(i,o),vi(i)!==i&&a(vi(i),o)},this._setParent()}),r}_applyStyles(e,r,n){if(!e)return;if(r){if(r===this._def||this._styleChildren.has(r))return;this._styleChildren.add(r)}const a=this._nonce,i=this.shadowRoot,o=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let A=null;for(let s=e.length-1;s>=0;s--){const l=document.createElement("style");a&&l.setAttribute("nonce",a),l.textContent=e[s],i.insertBefore(l,A||o),A=l,s===0&&(n||this._styleAnchors.set(this._def,l),r&&this._styleAnchors.set(r,l))}}_getStyleAnchor(e){if(!e)return null;const r=this._styleAnchors.get(e);return r&&r.parentNode===this.shadowRoot?r:(r&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let r=0;r{const e=t.props["onUpdate:modelValue"]||!1;return Ft(e)?r=>Ud(e,r):e};function AN(t){t.target.composing=!0}function vB(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const qo=Symbol("_assign");function bB(t,e,r){return e&&(t=t.trim()),r&&(t=Td(t)),t}const nh={created(t,{modifiers:{lazy:e,trim:r,number:n}},a){t[qo]=Dl(a);const i=n||a.props&&a.props.type==="number";kA(t,e?"change":"input",o=>{o.target.composing||t[qo](bB(t.value,r,i))}),(r||i)&&kA(t,"change",()=>{t.value=bB(t.value,r,i)}),e||(kA(t,"compositionstart",AN),kA(t,"compositionend",vB),kA(t,"change",vB))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:r,modifiers:{lazy:n,trim:a,number:i}},o){if(t[qo]=Dl(o),t.composing)return;const A=(i||t.type==="number")&&!/^0\d/.test(t.value)?Td(t.value):t.value,s=e??"";if(A===s)return;const l=t.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===t&&t.type!=="range"&&(n&&e===r||a&&t.value.trim()===s)||(t.value=s)}},j0={deep:!0,created(t,e,r){t[qo]=Dl(r),kA(t,"change",()=>{const n=t._modelValue,a=Mu(t),i=t.checked,o=t[qo];if(Ft(n)){const A=l0(n,a),s=A!==-1;if(i&&!s)o(n.concat(a));else if(!i&&s){const l=[...n];l.splice(A,1),o(l)}}else if(Il(n)){const A=new Set(n);i?A.add(a):A.delete(a),o(A)}else o(BB(t,i))})},mounted:yB,beforeUpdate(t,e,r){t[qo]=Dl(r),yB(t,e,r)}};function yB(t,{value:e,oldValue:r},n){t._modelValue=e;let a;if(Ft(e))a=l0(e,n.props.value)>-1;else if(Il(e))a=e.has(n.props.value);else{if(e===r)return;a=Ul(e,BB(t,!0))}t.checked!==a&&(t.checked=a)}const ah={deep:!0,created(t,{value:e,modifiers:{number:r}},n){const a=Il(e);kA(t,"change",()=>{const i=Array.prototype.filter.call(t.options,o=>o.selected).map(o=>r?Td(Mu(o)):Mu(o));t[qo](t.multiple?a?new Set(i):i:i[0]),t._assigning=!0,bu(()=>{t._assigning=!1})}),t[qo]=Dl(n)},mounted(t,{value:e}){wB(t,e)},beforeUpdate(t,e,r){t[qo]=Dl(r)},updated(t,{value:e}){t._assigning||wB(t,e)}};function wB(t,e){const r=t.multiple,n=Ft(e);if(!(r&&!n&&!Il(e))){for(let a=0,i=t.options.length;aString(l)===String(A)):o.selected=l0(e,A)>-1}else o.selected=e.has(A);else if(Ul(Mu(o),e)){t.selectedIndex!==a&&(t.selectedIndex=a);return}}!r&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function Mu(t){return"_value"in t?t._value:t.value}function BB(t,e){const r=e?"_trueValue":"_falseValue";return r in t?t[r]:e}const sN=["ctrl","shift","alt","meta"],lN={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>sN.some(r=>t[`${r}Key`]&&!e.includes(r))},Vn=(t,e)=>{if(!t)return t;const r=t._withMods||(t._withMods={}),n=e.join(".");return r[n]||(r[n]=(a,...i)=>{for(let o=0;o{_B().render(...t)},xB=(...t)=>{const e=_B().createApp(...t),{mount:r}=e;return e.mount=n=>{const a=dN(n);if(!a)return;const i=e._component;!Qt(i)&&!i.render&&!i.template&&(i.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const o=r(a,!1,fN(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),o},e};function fN(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function dN(t){return Hr(t)?document.querySelector(t):t}/*! - * 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:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},MN={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},RN={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},DN={menuComingSoon:"Menü folgt in Kürze"},HN={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},$N={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},KN={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},jN={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},GN={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed"},VN={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},zN={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},WN={menuComingSoon:"Menu coming soon"},qN={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},YN={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},XN={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},JN={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ZN={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},eQ={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},tQ={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},rQ={menuComingSoon:"Menú próximamente"},nQ={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},aQ={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},iQ={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},oQ={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},AQ={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},sQ={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},lQ={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},cQ={menuComingSoon:"Menu bientôt disponible"},uQ={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},fQ={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},dQ={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},hQ={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},gQ={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pQ={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},mQ={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},vQ={menuComingSoon:"मेनू शीघ्र आ रहा है"},bQ={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},yQ={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},wQ={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},BQ={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},CQ={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},_Q={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},xQ={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},FQ={menuComingSoon:"Menu in arrivo"},EQ={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},SQ={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},LQ={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},IQ={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},UQ={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},TQ={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},kQ={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},NQ={menuComingSoon:"Menu em breve"},QQ={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},PQ={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},OQ={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},MQ={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},RQ={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},DQ={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},HQ={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},$Q={menuComingSoon:"Meniu în curând"},KQ={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},jQ={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},GQ={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},VQ={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},zQ={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},WQ={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},qQ={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},YQ={menuComingSoon:"Меню скоро появится"},XQ={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},JQ={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ZQ={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},eP={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tP={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},rP={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},nP={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},aP={menuComingSoon:"菜单即将推出"},iP={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},oP={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},AP={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! - * shared v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function sP(t,e){typeof console<"u"&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const oh=typeof window<"u",QA=(t,e=!1)=>e?Symbol.for(t):Symbol(t),lP=(t,e,r)=>cP({l:t,k:e,s:r}),cP=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),hn=t=>typeof t=="number"&&isFinite(t),uP=t=>PB(t)==="[object Date]",PA=t=>PB(t)==="[object RegExp]",Ah=t=>Ht(t)&&Object.keys(t).length===0,Zn=Object.assign,fP=Object.create,_r=(t=null)=>fP(t);let TB;const Yo=()=>TB||(TB=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:_r());function kB(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function NB(t){return t.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function dP(t){return t=t.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,i)=>`${a}="${NB(i)}"`),t=t.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,i)=>`${a}='${NB(i)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(t)&&(t=t.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=>{t=t.replace(n,"$1javascript:")}),t}const hP=Object.prototype.hasOwnProperty;function Di(t,e){return hP.call(t,e)}const Kr=Array.isArray,kr=t=>typeof t=="function",At=t=>typeof t=="string",tr=t=>typeof t=="boolean",fr=t=>t!==null&&typeof t=="object",gP=t=>fr(t)&&kr(t.then)&&kr(t.catch),QB=Object.prototype.toString,PB=t=>QB.call(t),Ht=t=>{if(!fr(t))return!1;const e=Object.getPrototypeOf(t);return e===null||e.constructor===Object},pP=t=>t==null?"":Kr(t)||Ht(t)&&t.toString===QB?JSON.stringify(t,null,2):String(t);function mP(t,e=""){return t.reduce((r,n,a)=>a===0?r+n:r+e+n,"")}function sh(t){let e=t;return()=>++e}const lh=t=>!fr(t)||Kr(t);function ch(t,e){if(lh(t)||lh(e))throw new Error("Invalid value");const r=[{src:t,des:e}];for(;r.length;){const{src:n,des:a}=r.pop();Object.keys(n).forEach(i=>{i!=="__proto__"&&(fr(n[i])&&!fr(a[i])&&(a[i]=Array.isArray(n[i])?[]:_r()),lh(a[i])||lh(n[i])?a[i]=n[i]:r.push({src:n[i],des:a[i]}))})}}/*! - * message-compiler v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function vP(t,e,r){return{line:t,column:e,offset:r}}function uh(t,e,r){return{start:t,end:e}}const bP=/\{([0-9a-zA-Z]+)\}/g;function OB(t,...e){return e.length===1&&yP(e[0])&&(e=e[0]),(!e||!e.hasOwnProperty)&&(e={}),t.replace(bP,(r,n)=>e.hasOwnProperty(n)?e[n]:"")}const MB=Object.assign,RB=t=>typeof t=="string",yP=t=>t!==null&&typeof t=="object";function DB(t,e=""){return t.reduce((r,n,a)=>a===0?r+n:r+e+n,"")}const q0={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},wP={[q0.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function BP(t,e,...r){const n=OB(wP[t],...r||[]),a={message:String(n),code:t};return e&&(a.location=e),a}const Tt={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},CP={[Tt.EXPECTED_TOKEN]:"Expected token: '{0}'",[Tt.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Tt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Tt.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Tt.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Tt.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Tt.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Tt.EMPTY_PLACEHOLDER]:"Empty placeholder",[Tt.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Tt.INVALID_LINKED_FORMAT]:"Invalid linked format",[Tt.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Tt.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Tt.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Tt.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Tt.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Tt.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function $l(t,e,r={}){const{domain:n,messages:a,args:i}=r,o=OB((a||CP)[t]||"",...i||[]),A=new SyntaxError(String(o));return A.code=t,e&&(A.location=e),A.domain=n,A}function _P(t){throw t}const Xo=" ",xP="\r",Ta=` -`,FP="\u2028",EP="\u2029";function SP(t){const e=t;let r=0,n=1,a=1,i=0;const o=k=>e[k]===xP&&e[k+1]===Ta,A=k=>e[k]===Ta,s=k=>e[k]===EP,l=k=>e[k]===FP,c=k=>o(k)||A(k)||s(k)||l(k),u=()=>r,h=()=>n,f=()=>a,p=()=>i,v=k=>o(k)||s(k)||l(k)?Ta:e[k],b=()=>v(r),m=()=>v(r+i);function _(){return i=0,c(r)&&(n++,a=0),o(r)&&r++,r++,a++,e[r]}function y(){return o(r+i)&&i++,i++,e[r+i]}function B(){r=0,n=1,a=1,i=0}function F(k=0){i=k}function S(){const k=r+i;for(;k!==r;)_();i=0}return{index:u,line:h,column:f,peekOffset:p,charAt:v,currentChar:b,currentPeek:m,next:_,peek:y,reset:B,resetPeek:F,skipToPeek:S}}const OA=void 0,LP=".",HB="'",IP="tokenizer";function UP(t,e={}){const r=e.location!==!1,n=SP(t),a=()=>n.index(),i=()=>vP(n.line(),n.column(),n.index()),o=i(),A=a(),s={currentType:14,offset:A,startLoc:o,endLoc:o,lastType:14,lastOffset:A,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},l=()=>s,{onError:c}=e;function u(j,$,de,...Be){const Me=l();if($.column+=de,$.offset+=de,c){const Pe=r?uh(Me.startLoc,$):null,ye=$l(j,Pe,{domain:IP,args:Be});c(ye)}}function h(j,$,de){j.endLoc=i(),j.currentType=$;const Be={type:$};return r&&(Be.loc=uh(j.startLoc,j.endLoc)),de!=null&&(Be.value=de),Be}const f=j=>h(j,14);function p(j,$){return j.currentChar()===$?(j.next(),$):(u(Tt.EXPECTED_TOKEN,i(),0,$),"")}function v(j){let $="";for(;j.currentPeek()===Xo||j.currentPeek()===Ta;)$+=j.currentPeek(),j.peek();return $}function b(j){const $=v(j);return j.skipToPeek(),$}function m(j){if(j===OA)return!1;const $=j.charCodeAt(0);return $>=97&&$<=122||$>=65&&$<=90||$===95}function _(j){if(j===OA)return!1;const $=j.charCodeAt(0);return $>=48&&$<=57}function y(j,$){const{currentType:de}=$;if(de!==2)return!1;v(j);const Be=m(j.currentPeek());return j.resetPeek(),Be}function B(j,$){const{currentType:de}=$;if(de!==2)return!1;v(j);const Be=j.currentPeek()==="-"?j.peek():j.currentPeek(),Me=_(Be);return j.resetPeek(),Me}function F(j,$){const{currentType:de}=$;if(de!==2)return!1;v(j);const Be=j.currentPeek()===HB;return j.resetPeek(),Be}function S(j,$){const{currentType:de}=$;if(de!==8)return!1;v(j);const Be=j.currentPeek()===".";return j.resetPeek(),Be}function k(j,$){const{currentType:de}=$;if(de!==9)return!1;v(j);const Be=m(j.currentPeek());return j.resetPeek(),Be}function T(j,$){const{currentType:de}=$;if(!(de===8||de===12))return!1;v(j);const Be=j.currentPeek()===":";return j.resetPeek(),Be}function C(j,$){const{currentType:de}=$;if(de!==10)return!1;const Be=()=>{const Pe=j.currentPeek();return Pe==="{"?m(j.peek()):Pe==="@"||Pe==="%"||Pe==="|"||Pe===":"||Pe==="."||Pe===Xo||!Pe?!1:Pe===Ta?(j.peek(),Be()):E(j,!1)},Me=Be();return j.resetPeek(),Me}function D(j){v(j);const $=j.currentPeek()==="|";return j.resetPeek(),$}function I(j){const $=v(j),de=j.currentPeek()==="%"&&j.peek()==="{";return j.resetPeek(),{isModulo:de,hasSpace:$.length>0}}function E(j,$=!0){const de=(Me=!1,Pe="",ye=!1)=>{const Le=j.currentPeek();return Le==="{"?Pe==="%"?!1:Me:Le==="@"||!Le?Pe==="%"?!0:Me:Le==="%"?(j.peek(),de(Me,"%",!0)):Le==="|"?Pe==="%"||ye?!0:!(Pe===Xo||Pe===Ta):Le===Xo?(j.peek(),de(!0,Xo,ye)):Le===Ta?(j.peek(),de(!0,Ta,ye)):!0},Be=de();return $&&j.resetPeek(),Be}function P(j,$){const de=j.currentChar();return de===OA?OA:$(de)?(j.next(),de):null}function H(j){const $=j.charCodeAt(0);return $>=97&&$<=122||$>=65&&$<=90||$>=48&&$<=57||$===95||$===36}function O(j){return P(j,H)}function z(j){const $=j.charCodeAt(0);return $>=97&&$<=122||$>=65&&$<=90||$>=48&&$<=57||$===95||$===36||$===45}function J(j){return P(j,z)}function ee(j){const $=j.charCodeAt(0);return $>=48&&$<=57}function pe(j){return P(j,ee)}function ge(j){const $=j.charCodeAt(0);return $>=48&&$<=57||$>=65&&$<=70||$>=97&&$<=102}function we(j){return P(j,ge)}function L(j){let $="",de="";for(;$=pe(j);)de+=$;return de}function K(j){b(j);const $=j.currentChar();return $!=="%"&&u(Tt.EXPECTED_TOKEN,i(),0,$),j.next(),"%"}function W(j){let $="";for(;;){const de=j.currentChar();if(de==="{"||de==="}"||de==="@"||de==="|"||!de)break;if(de==="%")if(E(j))$+=de,j.next();else break;else if(de===Xo||de===Ta)if(E(j))$+=de,j.next();else{if(D(j))break;$+=de,j.next()}else $+=de,j.next()}return $}function se(j){b(j);let $="",de="";for(;$=J(j);)de+=$;return j.currentChar()===OA&&u(Tt.UNTERMINATED_CLOSING_BRACE,i(),0),de}function re(j){b(j);let $="";return j.currentChar()==="-"?(j.next(),$+=`-${L(j)}`):$+=L(j),j.currentChar()===OA&&u(Tt.UNTERMINATED_CLOSING_BRACE,i(),0),$}function ue(j){return j!==HB&&j!==Ta}function me(j){b(j),p(j,"'");let $="",de="";for(;$=P(j,ue);)$==="\\"?de+=Z(j):de+=$;const Be=j.currentChar();return Be===Ta||Be===OA?(u(Tt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,i(),0),Be===Ta&&(j.next(),p(j,"'")),de):(p(j,"'"),de)}function Z(j){const $=j.currentChar();switch($){case"\\":case"'":return j.next(),`\\${$}`;case"u":return xe(j,$,4);case"U":return xe(j,$,6);default:return u(Tt.UNKNOWN_ESCAPE_SEQUENCE,i(),0,$),""}}function xe(j,$,de){p(j,$);let Be="";for(let Me=0;Me{const Be=j.currentChar();return Be==="{"||Be==="%"||Be==="@"||Be==="|"||Be==="("||Be===")"||!Be||Be===Xo?de:(de+=Be,j.next(),$(de))};return $("")}function N(j){b(j);const $=p(j,"|");return b(j),$}function fe(j,$){let de=null;switch(j.currentChar()){case"{":return $.braceNest>=1&&u(Tt.NOT_ALLOW_NEST_PLACEHOLDER,i(),0),j.next(),de=h($,2,"{"),b(j),$.braceNest++,de;case"}":return $.braceNest>0&&$.currentType===2&&u(Tt.EMPTY_PLACEHOLDER,i(),0),j.next(),de=h($,3,"}"),$.braceNest--,$.braceNest>0&&b(j),$.inLinked&&$.braceNest===0&&($.inLinked=!1),de;case"@":return $.braceNest>0&&u(Tt.UNTERMINATED_CLOSING_BRACE,i(),0),de=_e(j,$)||f($),$.braceNest=0,de;default:{let Me=!0,Pe=!0,ye=!0;if(D(j))return $.braceNest>0&&u(Tt.UNTERMINATED_CLOSING_BRACE,i(),0),de=h($,1,N(j)),$.braceNest=0,$.inLinked=!1,de;if($.braceNest>0&&($.currentType===5||$.currentType===6||$.currentType===7))return u(Tt.UNTERMINATED_CLOSING_BRACE,i(),0),$.braceNest=0,Ee(j,$);if(Me=y(j,$))return de=h($,5,se(j)),b(j),de;if(Pe=B(j,$))return de=h($,6,re(j)),b(j),de;if(ye=F(j,$))return de=h($,7,me(j)),b(j),de;if(!Me&&!Pe&&!ye)return de=h($,13,Q(j)),u(Tt.INVALID_TOKEN_IN_PLACEHOLDER,i(),0,de.value),b(j),de;break}}return de}function _e(j,$){const{currentType:de}=$;let Be=null;const Me=j.currentChar();switch((de===8||de===9||de===12||de===10)&&(Me===Ta||Me===Xo)&&u(Tt.INVALID_LINKED_FORMAT,i(),0),Me){case"@":return j.next(),Be=h($,8,"@"),$.inLinked=!0,Be;case".":return b(j),j.next(),h($,9,".");case":":return b(j),j.next(),h($,10,":");default:return D(j)?(Be=h($,1,N(j)),$.braceNest=0,$.inLinked=!1,Be):S(j,$)||T(j,$)?(b(j),_e(j,$)):k(j,$)?(b(j),h($,12,G(j))):C(j,$)?(b(j),Me==="{"?fe(j,$)||Be:h($,11,q(j))):(de===8&&u(Tt.INVALID_LINKED_FORMAT,i(),0),$.braceNest=0,$.inLinked=!1,Ee(j,$))}}function Ee(j,$){let de={type:14};if($.braceNest>0)return fe(j,$)||f($);if($.inLinked)return _e(j,$)||f($);switch(j.currentChar()){case"{":return fe(j,$)||f($);case"}":return u(Tt.UNBALANCED_CLOSING_BRACE,i(),0),j.next(),h($,3,"}");case"@":return _e(j,$)||f($);default:{if(D(j))return de=h($,1,N(j)),$.braceNest=0,$.inLinked=!1,de;const{isModulo:Me,hasSpace:Pe}=I(j);if(Me)return Pe?h($,0,W(j)):h($,4,K(j));if(E(j))return h($,0,W(j));break}}return de}function be(){const{currentType:j,offset:$,startLoc:de,endLoc:Be}=s;return s.lastType=j,s.lastOffset=$,s.lastStartLoc=de,s.lastEndLoc=Be,s.offset=a(),s.startLoc=i(),n.currentChar()===OA?h(s,14):Ee(n,s)}return{nextToken:be,currentOffset:a,currentPosition:i,context:l}}const TP="parser",kP=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function NP(t,e,r){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(e||r,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function QP(t={}){const e=t.location!==!1,{onError:r,onWarn:n}=t;function a(y,B,F,S,...k){const T=y.currentPosition();if(T.offset+=S,T.column+=S,r){const C=e?uh(F,T):null,D=$l(B,C,{domain:TP,args:k});r(D)}}function i(y,B,F,S,...k){const T=y.currentPosition();if(T.offset+=S,T.column+=S,n){const C=e?uh(F,T):null;n(BP(B,C,k))}}function o(y,B,F){const S={type:y};return e&&(S.start=B,S.end=B,S.loc={start:F,end:F}),S}function A(y,B,F,S){e&&(y.end=B,y.loc&&(y.loc.end=F))}function s(y,B){const F=y.context(),S=o(3,F.offset,F.startLoc);return S.value=B,A(S,y.currentOffset(),y.currentPosition()),S}function l(y,B){const F=y.context(),{lastOffset:S,lastStartLoc:k}=F,T=o(5,S,k);return T.index=parseInt(B,10),y.nextToken(),A(T,y.currentOffset(),y.currentPosition()),T}function c(y,B,F){const S=y.context(),{lastOffset:k,lastStartLoc:T}=S,C=o(4,k,T);return C.key=B,F===!0&&(C.modulo=!0),y.nextToken(),A(C,y.currentOffset(),y.currentPosition()),C}function u(y,B){const F=y.context(),{lastOffset:S,lastStartLoc:k}=F,T=o(9,S,k);return T.value=B.replace(kP,NP),y.nextToken(),A(T,y.currentOffset(),y.currentPosition()),T}function h(y){const B=y.nextToken(),F=y.context(),{lastOffset:S,lastStartLoc:k}=F,T=o(8,S,k);return B.type!==12?(a(y,Tt.UNEXPECTED_EMPTY_LINKED_MODIFIER,F.lastStartLoc,0),T.value="",A(T,S,k),{nextConsumeToken:B,node:T}):(B.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,F.lastStartLoc,0,Hi(B)),T.value=B.value||"",A(T,y.currentOffset(),y.currentPosition()),{node:T})}function f(y,B){const F=y.context(),S=o(7,F.offset,F.startLoc);return S.value=B,A(S,y.currentOffset(),y.currentPosition()),S}function p(y){const B=y.context(),F=o(6,B.offset,B.startLoc);let S=y.nextToken();if(S.type===9){const k=h(y);F.modifier=k.node,S=k.nextConsumeToken||y.nextToken()}switch(S.type!==10&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(S)),S=y.nextToken(),S.type===2&&(S=y.nextToken()),S.type){case 11:S.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(S)),F.key=f(y,S.value||"");break;case 5:S.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(S)),F.key=c(y,S.value||"");break;case 6:S.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(S)),F.key=l(y,S.value||"");break;case 7:S.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(S)),F.key=u(y,S.value||"");break;default:{a(y,Tt.UNEXPECTED_EMPTY_LINKED_KEY,B.lastStartLoc,0);const k=y.context(),T=o(7,k.offset,k.startLoc);return T.value="",A(T,k.offset,k.startLoc),F.key=T,A(F,k.offset,k.startLoc),{nextConsumeToken:S,node:F}}}return A(F,y.currentOffset(),y.currentPosition()),{node:F}}function v(y){const B=y.context(),F=B.currentType===1?y.currentOffset():B.offset,S=B.currentType===1?B.endLoc:B.startLoc,k=o(2,F,S);k.items=[];let T=null,C=null;do{const E=T||y.nextToken();switch(T=null,E.type){case 0:E.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(E)),k.items.push(s(y,E.value||""));break;case 6:E.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(E)),k.items.push(l(y,E.value||""));break;case 4:C=!0;break;case 5:E.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(E)),k.items.push(c(y,E.value||"",!!C)),C&&(i(y,q0.USE_MODULO_SYNTAX,B.lastStartLoc,0,Hi(E)),C=null);break;case 7:E.value==null&&a(y,Tt.UNEXPECTED_LEXICAL_ANALYSIS,B.lastStartLoc,0,Hi(E)),k.items.push(u(y,E.value||""));break;case 8:{const P=p(y);k.items.push(P.node),T=P.nextConsumeToken||null;break}}}while(B.currentType!==14&&B.currentType!==1);const D=B.currentType===1?B.lastOffset:y.currentOffset(),I=B.currentType===1?B.lastEndLoc:y.currentPosition();return A(k,D,I),k}function b(y,B,F,S){const k=y.context();let T=S.items.length===0;const C=o(1,B,F);C.cases=[],C.cases.push(S);do{const D=v(y);T||(T=D.items.length===0),C.cases.push(D)}while(k.currentType!==14);return T&&a(y,Tt.MUST_HAVE_MESSAGES_IN_PLURAL,F,0),A(C,y.currentOffset(),y.currentPosition()),C}function m(y){const B=y.context(),{offset:F,startLoc:S}=B,k=v(y);return B.currentType===14?k:b(y,F,S,k)}function _(y){const B=UP(y,MB({},t)),F=B.context(),S=o(0,F.offset,F.startLoc);return e&&S.loc&&(S.loc.source=y),S.body=m(B),t.onCacheKey&&(S.cacheKey=t.onCacheKey(y)),F.currentType!==14&&a(B,Tt.UNEXPECTED_LEXICAL_ANALYSIS,F.lastStartLoc,0,y[F.offset]||""),A(S,B.currentOffset(),B.currentPosition()),S}return{parse:_}}function Hi(t){if(t.type===14)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function PP(t,e={}){const r={ast:t,helpers:new Set};return{context:()=>r,helper:i=>(r.helpers.add(i),i)}}function $B(t,e){for(let r=0;rKB(r)),t}function KB(t){if(t.items.length===1){const e=t.items[0];(e.type===3||e.type===9)&&(t.static=e.value,delete e.value)}else{const e=[];for(let r=0;ro;function s(v,b){o.code+=v}function l(v,b=!0){const m=b?n:"";s(a?m+" ".repeat(v):m)}function c(v=!0){const b=++o.indentLevel;v&&l(b)}function u(v=!0){const b=--o.indentLevel;v&&l(b)}function h(){l(o.indentLevel)}return{context:A,push:s,indent:c,deindent:u,newline:h,helper:v=>`_${v}`,needIndent:()=>o.needIndent}}function $P(t,e){const{helper:r}=t;t.push(`${r("linked")}(`),jl(t,e.key),e.modifier?(t.push(", "),jl(t,e.modifier),t.push(", _type")):t.push(", undefined, _type"),t.push(")")}function KP(t,e){const{helper:r,needIndent:n}=t;t.push(`${r("normalize")}([`),t.indent(n());const a=e.items.length;for(let i=0;i1){t.push(`${r("plural")}([`),t.indent(n());const a=e.cases.length;for(let i=0;i{const r=RB(e.mode)?e.mode:"normal",n=RB(e.filename)?e.filename:"message.intl";e.sourceMap;const a=e.breakLineCode!=null?e.breakLineCode:r==="arrow"?";":` -`,i=e.needIndent?e.needIndent:r!=="arrow",o=t.helpers||[],A=HP(t,{filename:n,breakLineCode:a,needIndent:i});A.push(r==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),A.indent(i),o.length>0&&(A.push(`const { ${DB(o.map(c=>`${c}: _${c}`),", ")} } = ctx`),A.newline()),A.push("return "),jl(A,t),A.deindent(i),A.push("}"),delete t.helpers;const{code:s,map:l}=A.context();return{ast:t,code:s,map:l?l.toJSON():void 0}};function zP(t,e={}){const r=MB({},e),n=!!r.jit,a=!!r.minify,i=r.optimize==null?!0:r.optimize,A=QP(r).parse(t);return n?(i&&MP(A),a&&Kl(A),{ast:A,code:""}):(OP(A,r),VP(A,r))}/*! - * core-base v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function WP(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Yo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Yo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function go(t){return fr(t)&&X0(t)===0&&(Di(t,"b")||Di(t,"body"))}const jB=["b","body"];function qP(t){return MA(t,jB)}const GB=["c","cases"];function YP(t){return MA(t,GB,[])}const VB=["s","static"];function XP(t){return MA(t,VB)}const zB=["i","items"];function JP(t){return MA(t,zB,[])}const WB=["t","type"];function X0(t){return MA(t,WB)}const qB=["v","value"];function fh(t,e){const r=MA(t,qB);if(r!=null)return r;throw Du(e)}const YB=["m","modifier"];function ZP(t){return MA(t,YB)}const XB=["k","key"];function e6(t){const e=MA(t,XB);if(e)return e;throw Du(6)}function MA(t,e,r){for(let n=0;n{o===void 0?o=A:o+=A},h[1]=()=>{o!==void 0&&(e.push(o),o=void 0)},h[2]=()=>{h[0](),a++},h[3]=()=>{if(a>0)a--,n=4,h[0]();else{if(a=0,o===void 0||(o=i6(o),o===!1))return!1;h[1]()}};function f(){const p=t[r+1];if(n===5&&p==="'"||n===6&&p==='"')return r++,A="\\"+p,h[0](),!0}for(;n!==null;)if(r++,i=t[r],!(i==="\\"&&f())){if(s=a6(i),u=RA[n],l=u[s]||u.l||8,l===8||(n=l[0],l[1]!==void 0&&(c=h[l[1]],c&&(A=i,c()===!1))))return;if(n===7)return e}}const ZB=new Map;function A6(t,e){return fr(t)?t[e]:null}function s6(t,e){if(!fr(t))return null;let r=ZB.get(e);if(r||(r=o6(e),r&&ZB.set(e,r)),!r)return null;const n=r.length;let a=t,i=0;for(;it,c6=t=>"",u6="text",f6=t=>t.length===0?"":mP(t),d6=pP;function e5(t,e){return t=Math.abs(t),e===2?t?t>1?1:0:1:t?Math.min(t,2):0}function h6(t){const e=hn(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(hn(t.named.count)||hn(t.named.n))?hn(t.named.count)?t.named.count:hn(t.named.n)?t.named.n:e:e}function g6(t,e){e.count||(e.count=t),e.n||(e.n=t)}function p6(t={}){const e=t.locale,r=h6(t),n=fr(t.pluralRules)&&At(e)&&kr(t.pluralRules[e])?t.pluralRules[e]:e5,a=fr(t.pluralRules)&&At(e)&&kr(t.pluralRules[e])?e5:void 0,i=m=>m[n(r,m.length,a)],o=t.list||[],A=m=>o[m],s=t.named||_r();hn(t.pluralIndex)&&g6(r,s);const l=m=>s[m];function c(m){const _=kr(t.messages)?t.messages(m):fr(t.messages)?t.messages[m]:!1;return _||(t.parent?t.parent.message(m):c6)}const u=m=>t.modifiers?t.modifiers[m]:l6,h=Ht(t.processor)&&kr(t.processor.normalize)?t.processor.normalize:f6,f=Ht(t.processor)&&kr(t.processor.interpolate)?t.processor.interpolate:d6,p=Ht(t.processor)&&At(t.processor.type)?t.processor.type:u6,b={list:A,named:l,plural:i,linked:(m,..._)=>{const[y,B]=_;let F="text",S="";_.length===1?fr(y)?(S=y.modifier||S,F=y.type||F):At(y)&&(S=y||S):_.length===2&&(At(y)&&(S=y||S),At(B)&&(F=B||F));const k=c(m)(b),T=F==="vnode"&&Kr(k)&&S?k[0]:k;return S?u(S)(T,F):T},message:c,type:p,interpolate:f,normalize:h,values:Zn(_r(),o,s)};return b}let Hu=null;function m6(t){Hu=t}function v6(t,e,r){Hu&&Hu.emit("i18n:init",{timestamp:Date.now(),i18n:t,version:e,meta:r})}const b6=y6("function:translate");function y6(t){return e=>Hu&&Hu.emit(t,e)}const w6=q0.__EXTEND_POINT__,Ts=sh(w6),B6={FALLBACK_TO_TRANSLATE:Ts(),CANNOT_FORMAT_NUMBER:Ts(),FALLBACK_TO_NUMBER_FORMAT:Ts(),CANNOT_FORMAT_DATE:Ts(),FALLBACK_TO_DATE_FORMAT:Ts(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Ts(),__EXTEND_POINT__:Ts()},t5=Tt.__EXTEND_POINT__,ks=sh(t5),$i={INVALID_ARGUMENT:t5,INVALID_DATE_ARGUMENT:ks(),INVALID_ISO_DATE_ARGUMENT:ks(),NOT_SUPPORT_NON_STRING_MESSAGE:ks(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ks(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ks(),NOT_SUPPORT_LOCALE_TYPE:ks(),__EXTEND_POINT__:ks()};function po(t){return $l(t,null,void 0)}function J0(t,e){return e.locale!=null?r5(e.locale):r5(t.locale)}let Z0;function r5(t){if(At(t))return t;if(kr(t)){if(t.resolvedOnce&&Z0!=null)return Z0;if(t.constructor.name==="Function"){const e=t();if(gP(e))throw po($i.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Z0=e}else throw po($i.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw po($i.NOT_SUPPORT_LOCALE_TYPE)}function C6(t,e,r){return[...new Set([r,...Kr(e)?e:fr(e)?Object.keys(e):At(e)?[e]:[r]])]}function n5(t,e,r){const n=At(r)?r:Gl,a=t;a.__localeChainCache||(a.__localeChainCache=new Map);let i=a.__localeChainCache.get(n);if(!i){i=[];let o=[r];for(;Kr(o);)o=a5(i,o,e);const A=Kr(e)||!Ht(e)?e:e.default?e.default:null;o=At(A)?[A]:A,Kr(o)&&a5(i,o,!1),a.__localeChainCache.set(n,i)}return i}function a5(t,e,r){let n=!0;for(let a=0;a`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`;function E6(){return{upper:(t,e)=>e==="text"&&At(t)?t.toUpperCase():e==="vnode"&&fr(t)&&"__v_isVNode"in t?t.children.toUpperCase():t,lower:(t,e)=>e==="text"&&At(t)?t.toLowerCase():e==="vnode"&&fr(t)&&"__v_isVNode"in t?t.children.toLowerCase():t,capitalize:(t,e)=>e==="text"&&At(t)?o5(t):e==="vnode"&&fr(t)&&"__v_isVNode"in t?o5(t.children):t}}let A5;function s5(t){A5=t}let l5;function S6(t){l5=t}let c5;function L6(t){c5=t}let u5=null;const I6=t=>{u5=t},U6=()=>u5;let f5=null;const d5=t=>{f5=t},T6=()=>f5;let h5=0;function k6(t={}){const e=kr(t.onWarn)?t.onWarn:sP,r=At(t.version)?t.version:F6,n=At(t.locale)||kr(t.locale)?t.locale:Gl,a=kr(n)?Gl:n,i=Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||At(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:a,o=Ht(t.messages)?t.messages:em(a),A=Ht(t.datetimeFormats)?t.datetimeFormats:em(a),s=Ht(t.numberFormats)?t.numberFormats:em(a),l=Zn(_r(),t.modifiers,E6()),c=t.pluralRules||_r(),u=kr(t.missing)?t.missing:null,h=tr(t.missingWarn)||PA(t.missingWarn)?t.missingWarn:!0,f=tr(t.fallbackWarn)||PA(t.fallbackWarn)?t.fallbackWarn:!0,p=!!t.fallbackFormat,v=!!t.unresolving,b=kr(t.postTranslation)?t.postTranslation:null,m=Ht(t.processor)?t.processor:null,_=tr(t.warnHtmlMessage)?t.warnHtmlMessage:!0,y=!!t.escapeParameter,B=kr(t.messageCompiler)?t.messageCompiler:A5,F=kr(t.messageResolver)?t.messageResolver:l5||A6,S=kr(t.localeFallbacker)?t.localeFallbacker:c5||C6,k=fr(t.fallbackContext)?t.fallbackContext:void 0,T=t,C=fr(T.__datetimeFormatters)?T.__datetimeFormatters:new Map,D=fr(T.__numberFormatters)?T.__numberFormatters:new Map,I=fr(T.__meta)?T.__meta:{};h5++;const E={version:r,cid:h5,locale:n,fallbackLocale:i,messages:o,modifiers:l,pluralRules:c,missing:u,missingWarn:h,fallbackWarn:f,fallbackFormat:p,unresolving:v,postTranslation:b,processor:m,warnHtmlMessage:_,escapeParameter:y,messageCompiler:B,messageResolver:F,localeFallbacker:S,fallbackContext:k,onWarn:e,__meta:I};return E.datetimeFormats=A,E.numberFormats=s,E.__datetimeFormatters=C,E.__numberFormatters=D,__INTLIFY_PROD_DEVTOOLS__&&v6(E,r,I),E}const em=t=>({[t]:_r()});function tm(t,e,r,n,a){const{missing:i,onWarn:o}=t;if(i!==null){const A=i(t,r,e,a);return At(A)?A:e}else return e}function $u(t,e,r){const n=t;n.__localeChainCache=new Map,t.localeFallbacker(t,r,e)}function N6(t,e){return t===e?!1:t.split("-")[0]===e.split("-")[0]}function Q6(t,e){const r=e.indexOf(t);if(r===-1)return!1;for(let n=r+1;nP6(r,t)}function P6(t,e){const r=qP(e);if(r==null)throw Du(0);if(X0(r)===1){const i=YP(r);return t.plural(i.reduce((o,A)=>[...o,g5(t,A)],[]))}else return g5(t,r)}function g5(t,e){const r=XP(e);if(r!=null)return t.type==="text"?r:t.normalize([r]);{const n=JP(e).reduce((a,i)=>[...a,nm(t,i)],[]);return t.normalize(n)}}function nm(t,e){const r=X0(e);switch(r){case 3:return fh(e,r);case 9:return fh(e,r);case 4:{const n=e;if(Di(n,"k")&&n.k)return t.interpolate(t.named(n.k));if(Di(n,"key")&&n.key)return t.interpolate(t.named(n.key));throw Du(r)}case 5:{const n=e;if(Di(n,"i")&&hn(n.i))return t.interpolate(t.list(n.i));if(Di(n,"index")&&hn(n.index))return t.interpolate(t.list(n.index));throw Du(r)}case 6:{const n=e,a=ZP(n),i=e6(n);return t.linked(nm(t,i),a?nm(t,a):void 0,t.type)}case 7:return fh(e,r);case 8:return fh(e,r);default:throw new Error(`unhandled node on format message part: ${r}`)}}const p5=t=>t;let Vl=_r();function m5(t,e={}){let r=!1;const n=e.onError||_P;return e.onError=a=>{r=!0,n(a)},{...zP(t,e),detectError:r}}const O6=(t,e)=>{if(!At(t))throw po($i.NOT_SUPPORT_NON_STRING_MESSAGE);{tr(e.warnHtmlMessage)&&e.warnHtmlMessage;const n=(e.onCacheKey||p5)(t),a=Vl[n];if(a)return a;const{code:i,detectError:o}=m5(t,e),A=new Function(`return ${i}`)();return o?A:Vl[n]=A}};function M6(t,e){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&At(t)){tr(e.warnHtmlMessage)&&e.warnHtmlMessage;const n=(e.onCacheKey||p5)(t),a=Vl[n];if(a)return a;const{ast:i,detectError:o}=m5(t,{...e,location:!1,jit:!0}),A=rm(i);return o?A:Vl[n]=A}else{const r=t.cacheKey;if(r){const n=Vl[r];return n||(Vl[r]=rm(t))}else return rm(t)}}const v5=()=>"",Ci=t=>kr(t);function b5(t,...e){const{fallbackFormat:r,postTranslation:n,unresolving:a,messageCompiler:i,fallbackLocale:o,messages:A}=t,[s,l]=am(...e),c=tr(l.missingWarn)?l.missingWarn:t.missingWarn,u=tr(l.fallbackWarn)?l.fallbackWarn:t.fallbackWarn,h=tr(l.escapeParameter)?l.escapeParameter:t.escapeParameter,f=!!l.resolvedMessage,p=At(l.default)||tr(l.default)?tr(l.default)?i?s:()=>s:l.default:r?i?s:()=>s:"",v=r||p!=="",b=J0(t,l);h&&R6(l);let[m,_,y]=f?[s,b,A[b]||_r()]:y5(t,s,b,o,u,c),B=m,F=s;if(!f&&!(At(B)||go(B)||Ci(B))&&v&&(B=p,F=B),!f&&(!(At(B)||go(B)||Ci(B))||!At(_)))return a?dh:s;let S=!1;const k=()=>{S=!0},T=Ci(B)?B:w5(t,s,_,B,F,k);if(S)return B;const C=$6(t,_,y,l),D=p6(C),I=D6(t,T,D);let E=n?n(I,s):I;if(h&&At(E)&&(E=dP(E)),__INTLIFY_PROD_DEVTOOLS__){const P={timestamp:Date.now(),key:At(s)?s:Ci(B)?B.key:"",locale:_||(Ci(B)?B.locale:""),format:At(B)?B:Ci(B)?B.source:"",message:E};P.meta=Zn({},t.__meta,U6()||{}),b6(P)}return E}function R6(t){Kr(t.list)?t.list=t.list.map(e=>At(e)?kB(e):e):fr(t.named)&&Object.keys(t.named).forEach(e=>{At(t.named[e])&&(t.named[e]=kB(t.named[e]))})}function y5(t,e,r,n,a,i){const{messages:o,onWarn:A,messageResolver:s,localeFallbacker:l}=t,c=l(t,n,r);let u=_r(),h,f=null;const p="translate";for(let v=0;vn;return l.locale=r,l.key=e,l}const s=o(n,H6(t,r,a,n,A,i));return s.locale=r,s.key=e,s.source=n,s}function D6(t,e,r){return e(r)}function am(...t){const[e,r,n]=t,a=_r();if(!At(e)&&!hn(e)&&!Ci(e)&&!go(e))throw po($i.INVALID_ARGUMENT);const i=hn(e)?String(e):(Ci(e),e);return hn(r)?a.plural=r:At(r)?a.default=r:Ht(r)&&!Ah(r)?a.named=r:Kr(r)&&(a.list=r),hn(n)?a.plural=n:At(n)?a.default=n:Ht(n)&&Zn(a,n),[i,a]}function H6(t,e,r,n,a,i){return{locale:e,key:r,warnHtmlMessage:a,onError:o=>{throw i&&i(o),o},onCacheKey:o=>lP(e,r,o)}}function $6(t,e,r,n){const{modifiers:a,pluralRules:i,messageResolver:o,fallbackLocale:A,fallbackWarn:s,missingWarn:l,fallbackContext:c}=t,h={locale:e,modifiers:a,pluralRules:i,messages:f=>{let p=o(r,f);if(p==null&&c){const[,,v]=y5(c,f,e,A,s,l);p=o(v,f)}if(At(p)||go(p)){let v=!1;const m=w5(t,f,e,p,f,()=>{v=!0});return v?v5:m}else return Ci(p)?p:v5}};return t.processor&&(h.processor=t.processor),n.list&&(h.list=n.list),n.named&&(h.named=n.named),hn(n.plural)&&(h.pluralIndex=n.plural),h}function B5(t,...e){const{datetimeFormats:r,unresolving:n,fallbackLocale:a,onWarn:i,localeFallbacker:o}=t,{__datetimeFormatters:A}=t,[s,l,c,u]=im(...e),h=tr(c.missingWarn)?c.missingWarn:t.missingWarn;tr(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn;const f=!!c.part,p=J0(t,c),v=o(t,a,p);if(!At(s)||s==="")return new Intl.DateTimeFormat(p,u).format(l);let b={},m,_=null;const y="datetime format";for(let S=0;S{C5.includes(s)?o[s]=r[s]:i[s]=r[s]}),At(n)?i.locale=n:Ht(n)&&(o=n),Ht(a)&&(o=a),[i.key||"",A,i,o]}function _5(t,e,r){const n=t;for(const a in r){const i=`${e}__${a}`;n.__datetimeFormatters.has(i)&&n.__datetimeFormatters.delete(i)}}function x5(t,...e){const{numberFormats:r,unresolving:n,fallbackLocale:a,onWarn:i,localeFallbacker:o}=t,{__numberFormatters:A}=t,[s,l,c,u]=om(...e),h=tr(c.missingWarn)?c.missingWarn:t.missingWarn;tr(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn;const f=!!c.part,p=J0(t,c),v=o(t,a,p);if(!At(s)||s==="")return new Intl.NumberFormat(p,u).format(l);let b={},m,_=null;const y="number format";for(let S=0;S{F5.includes(s)?o[s]=r[s]:i[s]=r[s]}),At(n)?i.locale=n:Ht(n)&&(o=n),Ht(a)&&(o=a),[i.key||"",A,i,o]}function E5(t,e,r){const n=t;for(const a in r){const i=`${e}__${a}`;n.__numberFormatters.has(i)&&n.__numberFormatters.delete(i)}}WP();/*! - * vue-i18n v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */const K6="9.14.5";function j6(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Yo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Yo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Yo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Yo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}const G6=B6.__EXTEND_POINT__,Jo=sh(G6);Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo(),Jo();const S5=$i.__EXTEND_POINT__,Va=sh(S5),Qn={UNEXPECTED_RETURN_TYPE:S5,INVALID_ARGUMENT:Va(),MUST_BE_CALL_SETUP_TOP:Va(),NOT_INSTALLED:Va(),NOT_AVAILABLE_IN_LEGACY_MODE:Va(),REQUIRED_VALUE:Va(),INVALID_VALUE:Va(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Va(),NOT_INSTALLED_WITH_PROVIDE:Va(),UNEXPECTED_ERROR:Va(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Va(),BRIDGE_SUPPORT_VUE_2_ONLY:Va(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Va(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Va(),__EXTEND_POINT__:Va()};function zn(t,...e){return $l(t,null,void 0)}const Am=QA("__translateVNode"),sm=QA("__datetimeParts"),lm=QA("__numberParts"),L5=QA("__setPluralRules"),I5=QA("__injectWithOption"),cm=QA("__dispose");function Ku(t){if(!fr(t)||go(t))return t;for(const e in t)if(Di(t,e))if(!e.includes("."))fr(t[e])&&Ku(t[e]);else{const r=e.split("."),n=r.length-1;let a=t,i=!1;for(let o=0;o{if("locale"in A&&"resource"in A){const{locale:s,resource:l}=A;s?(o[s]=o[s]||_r(),ch(l,o[s])):ch(l,o)}else At(A)&&ch(JSON.parse(A),o)}),a==null&&i)for(const A in o)Di(o,A)&&Ku(o[A]);return o}function U5(t){return t.type}function T5(t,e,r){let n=fr(e.messages)?e.messages:_r();"__i18nGlobal"in r&&(n=hh(t.locale.value,{messages:n,__i18n:r.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(i=>{t.mergeLocaleMessage(i,n[i])});{if(fr(e.datetimeFormats)){const i=Object.keys(e.datetimeFormats);i.length&&i.forEach(o=>{t.mergeDateTimeFormat(o,e.datetimeFormats[o])})}if(fr(e.numberFormats)){const i=Object.keys(e.numberFormats);i.length&&i.forEach(o=>{t.mergeNumberFormat(o,e.numberFormats[o])})}}}function k5(t){return yr(Lu,null,t,0)}const N5="__INTLIFY_META__",Q5=()=>[],V6=()=>!1;let P5=0;function O5(t){return(e,r,n,a)=>t(r,n,Vo()||void 0,a)}const z6=()=>{const t=Vo();let e=null;return t&&(e=U5(t)[N5])?{[N5]:e}:null};function um(t={},e){const{__root:r,__injectWithOption:n}=t,a=r===void 0,i=t.flatJson,o=oh?Je:Gw,A=!!t.translateExistCompatible;let s=tr(t.inheritLocale)?t.inheritLocale:!0;const l=o(r&&s?r.locale.value:At(t.locale)?t.locale:Gl),c=o(r&&s?r.fallbackLocale.value:At(t.fallbackLocale)||Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:l.value),u=o(hh(l.value,t)),h=o(Ht(t.datetimeFormats)?t.datetimeFormats:{[l.value]:{}}),f=o(Ht(t.numberFormats)?t.numberFormats:{[l.value]:{}});let p=r?r.missingWarn:tr(t.missingWarn)||PA(t.missingWarn)?t.missingWarn:!0,v=r?r.fallbackWarn:tr(t.fallbackWarn)||PA(t.fallbackWarn)?t.fallbackWarn:!0,b=r?r.fallbackRoot:tr(t.fallbackRoot)?t.fallbackRoot:!0,m=!!t.fallbackFormat,_=kr(t.missing)?t.missing:null,y=kr(t.missing)?O5(t.missing):null,B=kr(t.postTranslation)?t.postTranslation:null,F=r?r.warnHtmlMessage:tr(t.warnHtmlMessage)?t.warnHtmlMessage:!0,S=!!t.escapeParameter;const k=r?r.modifiers:Ht(t.modifiers)?t.modifiers:{};let T=t.pluralRules||r&&r.pluralRules,C;C=(()=>{a&&d5(null);const ye={version:K6,locale:l.value,fallbackLocale:c.value,messages:u.value,modifiers:k,pluralRules:T,missing:y===null?void 0:y,missingWarn:p,fallbackWarn:v,fallbackFormat:m,unresolving:!0,postTranslation:B===null?void 0:B,warnHtmlMessage:F,escapeParameter:S,messageResolver:t.messageResolver,messageCompiler:t.messageCompiler,__meta:{framework:"vue"}};ye.datetimeFormats=h.value,ye.numberFormats=f.value,ye.__datetimeFormatters=Ht(C)?C.__datetimeFormatters:void 0,ye.__numberFormatters=Ht(C)?C.__numberFormatters:void 0;const Le=k6(ye);return a&&d5(Le),Le})(),$u(C,l.value,c.value);function I(){return[l.value,c.value,u.value,h.value,f.value]}const E=Oe({get:()=>l.value,set:ye=>{l.value=ye,C.locale=l.value}}),P=Oe({get:()=>c.value,set:ye=>{c.value=ye,C.fallbackLocale=c.value,$u(C,l.value,ye)}}),H=Oe(()=>u.value),O=Oe(()=>h.value),z=Oe(()=>f.value);function J(){return kr(B)?B:null}function ee(ye){B=ye,C.postTranslation=ye}function pe(){return _}function ge(ye){ye!==null&&(y=O5(ye)),_=ye,C.missing=y}const we=(ye,Le,Ve,Ge,Ze,rt)=>{I();let Ut;try{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=r?T6():void 0),Ut=ye(C)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(C.fallbackContext=void 0)}if(Ve!=="translate exists"&&hn(Ut)&&Ut===dh||Ve==="translate exists"&&!Ut){const[St,Lt]=Le();return r&&b?Ge(r):Ze(St)}else{if(rt(Ut))return Ut;throw zn(Qn.UNEXPECTED_RETURN_TYPE)}};function L(...ye){return we(Le=>Reflect.apply(b5,null,[Le,...ye]),()=>am(...ye),"translate",Le=>Reflect.apply(Le.t,Le,[...ye]),Le=>Le,Le=>At(Le))}function K(...ye){const[Le,Ve,Ge]=ye;if(Ge&&!fr(Ge))throw zn(Qn.INVALID_ARGUMENT);return L(Le,Ve,Zn({resolvedMessage:!0},Ge||{}))}function W(...ye){return we(Le=>Reflect.apply(B5,null,[Le,...ye]),()=>im(...ye),"datetime format",Le=>Reflect.apply(Le.d,Le,[...ye]),()=>i5,Le=>At(Le))}function se(...ye){return we(Le=>Reflect.apply(x5,null,[Le,...ye]),()=>om(...ye),"number format",Le=>Reflect.apply(Le.n,Le,[...ye]),()=>i5,Le=>At(Le))}function re(ye){return ye.map(Le=>At(Le)||hn(Le)||tr(Le)?k5(String(Le)):Le)}const me={normalize:re,interpolate:ye=>ye,type:"vnode"};function Z(...ye){return we(Le=>{let Ve;const Ge=Le;try{Ge.processor=me,Ve=Reflect.apply(b5,null,[Ge,...ye])}finally{Ge.processor=null}return Ve},()=>am(...ye),"translate",Le=>Le[Am](...ye),Le=>[k5(Le)],Le=>Kr(Le))}function xe(...ye){return we(Le=>Reflect.apply(x5,null,[Le,...ye]),()=>om(...ye),"number format",Le=>Le[lm](...ye),Q5,Le=>At(Le)||Kr(Le))}function ae(...ye){return we(Le=>Reflect.apply(B5,null,[Le,...ye]),()=>im(...ye),"datetime format",Le=>Le[sm](...ye),Q5,Le=>At(Le)||Kr(Le))}function Q(ye){T=ye,C.pluralRules=T}function G(ye,Le){return we(()=>{if(!ye)return!1;const Ve=At(Le)?Le:l.value,Ge=fe(Ve),Ze=C.messageResolver(Ge,ye);return A?Ze!=null:go(Ze)||Ci(Ze)||At(Ze)},()=>[ye],"translate exists",Ve=>Reflect.apply(Ve.te,Ve,[ye,Le]),V6,Ve=>tr(Ve))}function q(ye){let Le=null;const Ve=n5(C,c.value,l.value);for(let Ge=0;Ge{s&&(l.value=ye,C.locale=ye,$u(C,l.value,c.value))}),nr(r.fallbackLocale,ye=>{s&&(c.value=ye,C.fallbackLocale=ye,$u(C,l.value,c.value))}));const Pe={id:P5,locale:E,fallbackLocale:P,get inheritLocale(){return s},set inheritLocale(ye){s=ye,ye&&r&&(l.value=r.locale.value,c.value=r.fallbackLocale.value,$u(C,l.value,c.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:H,get modifiers(){return k},get pluralRules(){return T||{}},get isGlobal(){return a},get missingWarn(){return p},set missingWarn(ye){p=ye,C.missingWarn=p},get fallbackWarn(){return v},set fallbackWarn(ye){v=ye,C.fallbackWarn=v},get fallbackRoot(){return b},set fallbackRoot(ye){b=ye},get fallbackFormat(){return m},set fallbackFormat(ye){m=ye,C.fallbackFormat=m},get warnHtmlMessage(){return F},set warnHtmlMessage(ye){F=ye,C.warnHtmlMessage=ye},get escapeParameter(){return S},set escapeParameter(ye){S=ye,C.escapeParameter=ye},t:L,getLocaleMessage:fe,setLocaleMessage:_e,mergeLocaleMessage:Ee,getPostTranslationHandler:J,setPostTranslationHandler:ee,getMissingHandler:pe,setMissingHandler:ge,[L5]:Q};return Pe.datetimeFormats=O,Pe.numberFormats=z,Pe.rt=K,Pe.te=G,Pe.tm=N,Pe.d=W,Pe.n=se,Pe.getDateTimeFormat=be,Pe.setDateTimeFormat=j,Pe.mergeDateTimeFormat=$,Pe.getNumberFormat=de,Pe.setNumberFormat=Be,Pe.mergeNumberFormat=Me,Pe[I5]=n,Pe[Am]=Z,Pe[sm]=ae,Pe[lm]=xe,Pe}function W6(t){const e=At(t.locale)?t.locale:Gl,r=At(t.fallbackLocale)||Kr(t.fallbackLocale)||Ht(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:e,n=kr(t.missing)?t.missing:void 0,a=tr(t.silentTranslationWarn)||PA(t.silentTranslationWarn)?!t.silentTranslationWarn:!0,i=tr(t.silentFallbackWarn)||PA(t.silentFallbackWarn)?!t.silentFallbackWarn:!0,o=tr(t.fallbackRoot)?t.fallbackRoot:!0,A=!!t.formatFallbackMessages,s=Ht(t.modifiers)?t.modifiers:{},l=t.pluralizationRules,c=kr(t.postTranslation)?t.postTranslation:void 0,u=At(t.warnHtmlInMessage)?t.warnHtmlInMessage!=="off":!0,h=!!t.escapeParameterHtml,f=tr(t.sync)?t.sync:!0;let p=t.messages;if(Ht(t.sharedMessages)){const S=t.sharedMessages;p=Object.keys(S).reduce((T,C)=>{const D=T[C]||(T[C]={});return Zn(D,S[C]),T},p||{})}const{__i18n:v,__root:b,__injectWithOption:m}=t,_=t.datetimeFormats,y=t.numberFormats,B=t.flatJson,F=t.translateExistCompatible;return{locale:e,fallbackLocale:r,messages:p,flatJson:B,datetimeFormats:_,numberFormats:y,missing:n,missingWarn:a,fallbackWarn:i,fallbackRoot:o,fallbackFormat:A,modifiers:s,pluralRules:l,postTranslation:c,warnHtmlMessage:u,escapeParameter:h,messageResolver:t.messageResolver,inheritLocale:f,translateExistCompatible:F,__i18n:v,__root:b,__injectWithOption:m}}function fm(t={},e){{const r=um(W6(t)),{__extender:n}=t,a={id:r.id,get locale(){return r.locale.value},set locale(i){r.locale.value=i},get fallbackLocale(){return r.fallbackLocale.value},set fallbackLocale(i){r.fallbackLocale.value=i},get messages(){return r.messages.value},get datetimeFormats(){return r.datetimeFormats.value},get numberFormats(){return r.numberFormats.value},get availableLocales(){return r.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(i){},get missing(){return r.getMissingHandler()},set missing(i){r.setMissingHandler(i)},get silentTranslationWarn(){return tr(r.missingWarn)?!r.missingWarn:r.missingWarn},set silentTranslationWarn(i){r.missingWarn=tr(i)?!i:i},get silentFallbackWarn(){return tr(r.fallbackWarn)?!r.fallbackWarn:r.fallbackWarn},set silentFallbackWarn(i){r.fallbackWarn=tr(i)?!i:i},get modifiers(){return r.modifiers},get formatFallbackMessages(){return r.fallbackFormat},set formatFallbackMessages(i){r.fallbackFormat=i},get postTranslation(){return r.getPostTranslationHandler()},set postTranslation(i){r.setPostTranslationHandler(i)},get sync(){return r.inheritLocale},set sync(i){r.inheritLocale=i},get warnHtmlInMessage(){return r.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(i){r.warnHtmlMessage=i!=="off"},get escapeParameterHtml(){return r.escapeParameter},set escapeParameterHtml(i){r.escapeParameter=i},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(i){},get pluralizationRules(){return r.pluralRules||{}},__composer:r,t(...i){const[o,A,s]=i,l={};let c=null,u=null;if(!At(o))throw zn(Qn.INVALID_ARGUMENT);const h=o;return At(A)?l.locale=A:Kr(A)?c=A:Ht(A)&&(u=A),Kr(s)?c=s:Ht(s)&&(u=s),Reflect.apply(r.t,r,[h,c||u||{},l])},rt(...i){return Reflect.apply(r.rt,r,[...i])},tc(...i){const[o,A,s]=i,l={plural:1};let c=null,u=null;if(!At(o))throw zn(Qn.INVALID_ARGUMENT);const h=o;return At(A)?l.locale=A:hn(A)?l.plural=A:Kr(A)?c=A:Ht(A)&&(u=A),At(s)?l.locale=s:Kr(s)?c=s:Ht(s)&&(u=s),Reflect.apply(r.t,r,[h,c||u||{},l])},te(i,o){return r.te(i,o)},tm(i){return r.tm(i)},getLocaleMessage(i){return r.getLocaleMessage(i)},setLocaleMessage(i,o){r.setLocaleMessage(i,o)},mergeLocaleMessage(i,o){r.mergeLocaleMessage(i,o)},d(...i){return Reflect.apply(r.d,r,[...i])},getDateTimeFormat(i){return r.getDateTimeFormat(i)},setDateTimeFormat(i,o){r.setDateTimeFormat(i,o)},mergeDateTimeFormat(i,o){r.mergeDateTimeFormat(i,o)},n(...i){return Reflect.apply(r.n,r,[...i])},getNumberFormat(i){return r.getNumberFormat(i)},setNumberFormat(i,o){r.setNumberFormat(i,o)},mergeNumberFormat(i,o){r.mergeNumberFormat(i,o)},getChoiceIndex(i,o){return-1}};return a.__extender=n,a}}const dm={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>t==="parent"||t==="global",default:"parent"},i18n:{type:Object}};function q6({slots:t},e){return e.length===1&&e[0]==="default"?(t.default?t.default():[]).reduce((n,a)=>[...n,...a.type===Jt?a.children:[a]],[]):e.reduce((r,n)=>{const a=t[n];return a&&(r[n]=a()),r},_r())}function M5(t){return Jt}const R5=Cu({name:"i18n-t",props:Zn({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>hn(t)||!isNaN(t)}},dm),setup(t,e){const{slots:r,attrs:n}=e,a=t.i18n||fa({useScope:t.scope,__useComponent:!0});return()=>{const i=Object.keys(r).filter(u=>u!=="_"),o=_r();t.locale&&(o.locale=t.locale),t.plural!==void 0&&(o.plural=At(t.plural)?+t.plural:t.plural);const A=q6(e,i),s=a[Am](t.keypath,A,o),l=Zn(_r(),n),c=At(t.tag)||fr(t.tag)?t.tag:M5();return M0(c,l,s)}}});function Y6(t){return Kr(t)&&!At(t[0])}function D5(t,e,r,n){const{slots:a,attrs:i}=e;return()=>{const o={part:!0};let A=_r();t.locale&&(o.locale=t.locale),At(t.format)?o.key=t.format:fr(t.format)&&(At(t.format.key)&&(o.key=t.format.key),A=Object.keys(t.format).reduce((h,f)=>r.includes(f)?Zn(_r(),h,{[f]:t.format[f]}):h,_r()));const s=n(t.value,o,A);let l=[o.key];Kr(s)?l=s.map((h,f)=>{const p=a[h.type],v=p?p({[h.type]:h.value,index:f,parts:s}):[h.value];return Y6(v)&&(v[0].key=`${h.type}-${f}`),v}):At(s)&&(l=[s]);const c=Zn(_r(),i),u=At(t.tag)||fr(t.tag)?t.tag:M5();return M0(u,c,l)}}const H5=Cu({name:"i18n-n",props:Zn({value:{type:Number,required:!0},format:{type:[String,Object]}},dm),setup(t,e){const r=t.i18n||fa({useScope:t.scope,__useComponent:!0});return D5(t,e,F5,(...n)=>r[lm](...n))}}),$5=Cu({name:"i18n-d",props:Zn({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},dm),setup(t,e){const r=t.i18n||fa({useScope:t.scope,__useComponent:!0});return D5(t,e,C5,(...n)=>r[sm](...n))}});function X6(t,e){const r=t;if(t.mode==="composition")return r.__getInstance(e)||t.global;{const n=r.__getInstance(e);return n!=null?n.__composer:t.global.__composer}}function J6(t){const e=o=>{const{instance:A,modifiers:s,value:l}=o;if(!A||!A.$)throw zn(Qn.UNEXPECTED_ERROR);const c=X6(t,A.$),u=K5(l);return[Reflect.apply(c.t,c,[...j5(u)]),c]};return{created:(o,A)=>{const[s,l]=e(A);oh&&t.global===l&&(o.__i18nWatcher=nr(l.locale,()=>{A.instance&&A.instance.$forceUpdate()})),o.__composer=l,o.textContent=s},unmounted:o=>{oh&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:A})=>{if(o.__composer){const s=o.__composer,l=K5(A);o.textContent=Reflect.apply(s.t,s,[...j5(l)])}},getSSRProps:o=>{const[A]=e(o);return{textContent:A}}}}function K5(t){if(At(t))return{path:t};if(Ht(t)){if(!("path"in t))throw zn(Qn.REQUIRED_VALUE,"path");return t}else throw zn(Qn.INVALID_VALUE)}function j5(t){const{path:e,locale:r,args:n,choice:a,plural:i}=t,o={},A=n||{};return At(r)&&(o.locale=r),hn(a)&&(o.plural=a),hn(i)&&(o.plural=i),[e,A,o]}function Z6(t,e,...r){const n=Ht(r[0])?r[0]:{},a=!!n.useI18nComponentName;(tr(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":R5.name,"I18nT"].forEach(o=>t.component(o,R5)),[H5.name,"I18nN"].forEach(o=>t.component(o,H5)),[$5.name,"I18nD"].forEach(o=>t.component(o,$5))),t.directive("t",J6(e))}function eO(t,e,r){return{beforeCreate(){const n=Vo();if(!n)throw zn(Qn.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const i=a.i18n;if(a.__i18n&&(i.__i18n=a.__i18n),i.__root=e,this===this.$root)this.$i18n=G5(t,i);else{i.__injectWithOption=!0,i.__extender=r.__vueI18nExtend,this.$i18n=fm(i);const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=G5(t,a);else{this.$i18n=fm({__i18n:a.__i18n,__injectWithOption:!0,__extender:r.__vueI18nExtend,__root:e});const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}else this.$i18n=t;a.__i18nGlobal&&T5(e,a,a),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,o)=>this.$i18n.te(i,o),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i),r.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Vo();if(!n)throw zn(Qn.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),r.__deleteInstance(n),delete this.$i18n}}}function G5(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[L5](e.pluralizationRules||t.pluralizationRules);const r=hh(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(r).forEach(n=>t.mergeLocaleMessage(n,r[n])),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach(n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n])),e.numberFormats&&Object.keys(e.numberFormats).forEach(n=>t.mergeNumberFormat(n,e.numberFormats[n])),t}const tO=QA("global-vue-i18n");function rO(t={},e){const r=__VUE_I18N_LEGACY_API__&&tr(t.legacy)?t.legacy:__VUE_I18N_LEGACY_API__,n=tr(t.globalInjection)?t.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&r?!!t.allowComposition:!0,i=new Map,[o,A]=nO(t,r),s=QA("");function l(h){return i.get(h)||null}function c(h,f){i.set(h,f)}function u(h){i.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&r?"legacy":"composition"},get allowComposition(){return a},async install(f,...p){if(f.__VUE_I18N_SYMBOL__=s,f.provide(f.__VUE_I18N_SYMBOL__,h),Ht(p[0])){const m=p[0];h.__composerExtend=m.__composerExtend,h.__vueI18nExtend=m.__vueI18nExtend}let v=null;!r&&n&&(v=fO(f,h.global)),__VUE_I18N_FULL_INSTALL__&&Z6(f,h,...p),__VUE_I18N_LEGACY_API__&&r&&f.mixin(eO(A,A.__composer,h));const b=f.unmount;f.unmount=()=>{v&&v(),h.dispose(),b()}},get global(){return A},dispose(){o.stop()},__instances:i,__getInstance:l,__setInstance:c,__deleteInstance:u};return h}}function fa(t={}){const e=Vo();if(e==null)throw zn(Qn.MUST_BE_CALL_SETUP_TOP);if(!e.isCE&&e.appContext.app!=null&&!e.appContext.app.__VUE_I18N_SYMBOL__)throw zn(Qn.NOT_INSTALLED);const r=aO(e),n=oO(r),a=U5(e),i=iO(t,a);if(__VUE_I18N_LEGACY_API__&&r.mode==="legacy"&&!t.__useComponent){if(!r.allowComposition)throw zn(Qn.NOT_AVAILABLE_IN_LEGACY_MODE);return cO(e,i,n,t)}if(i==="global")return T5(n,t,a),n;if(i==="parent"){let s=AO(r,e,t.__useComponent);return s==null&&(s=n),s}const o=r;let A=o.__getInstance(e);if(A==null){const s=Zn({},t);"__i18n"in a&&(s.__i18n=a.__i18n),n&&(s.__root=n),A=um(s),o.__composerExtend&&(A[cm]=o.__composerExtend(A)),lO(o,e,A),o.__setInstance(e,A)}return A}function nO(t,e,r){const n=u0();{const a=__VUE_I18N_LEGACY_API__&&e?n.run(()=>fm(t)):n.run(()=>um(t));if(a==null)throw zn(Qn.UNEXPECTED_ERROR);return[n,a]}}function aO(t){{const e=Wt(t.isCE?tO:t.appContext.app.__VUE_I18N_SYMBOL__);if(!e)throw zn(t.isCE?Qn.NOT_INSTALLED_WITH_PROVIDE:Qn.UNEXPECTED_ERROR);return e}}function iO(t,e){return Ah(t)?"__i18n"in e?"local":"global":t.useScope?t.useScope:"local"}function oO(t){return t.mode==="composition"?t.global:t.global.__composer}function AO(t,e,r=!1){let n=null;const a=e.root;let i=sO(e,r);for(;i!=null;){const o=t;if(t.mode==="composition")n=o.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const A=o.__getInstance(i);A!=null&&(n=A.__composer,r&&n&&!n[I5]&&(n=null))}if(n!=null||a===i)break;i=i.parent}return n}function sO(t,e=!1){return t==null?null:e&&t.vnode.ctx||t.parent}function lO(t,e,r){Ri(()=>{},e),qd(()=>{const n=r;t.__deleteInstance(e);const a=n[cm];a&&(a(),delete n[cm])},e)}function cO(t,e,r,n={}){const a=e==="local",i=Gw(null);if(a&&t.proxy&&!(t.proxy.$options.i18n||t.proxy.$options.__i18n))throw zn(Qn.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=tr(n.inheritLocale)?n.inheritLocale:!At(n.locale),A=Je(!a||o?r.locale.value:At(n.locale)?n.locale:Gl),s=Je(!a||o?r.fallbackLocale.value:At(n.fallbackLocale)||Kr(n.fallbackLocale)||Ht(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:A.value),l=Je(hh(A.value,n)),c=Je(Ht(n.datetimeFormats)?n.datetimeFormats:{[A.value]:{}}),u=Je(Ht(n.numberFormats)?n.numberFormats:{[A.value]:{}}),h=a?r.missingWarn:tr(n.missingWarn)||PA(n.missingWarn)?n.missingWarn:!0,f=a?r.fallbackWarn:tr(n.fallbackWarn)||PA(n.fallbackWarn)?n.fallbackWarn:!0,p=a?r.fallbackRoot:tr(n.fallbackRoot)?n.fallbackRoot:!0,v=!!n.fallbackFormat,b=kr(n.missing)?n.missing:null,m=kr(n.postTranslation)?n.postTranslation:null,_=a?r.warnHtmlMessage:tr(n.warnHtmlMessage)?n.warnHtmlMessage:!0,y=!!n.escapeParameter,B=a?r.modifiers:Ht(n.modifiers)?n.modifiers:{},F=n.pluralRules||a&&r.pluralRules;function S(){return[A.value,s.value,l.value,c.value,u.value]}const k=Oe({get:()=>i.value?i.value.locale.value:A.value,set:q=>{i.value&&(i.value.locale.value=q),A.value=q}}),T=Oe({get:()=>i.value?i.value.fallbackLocale.value:s.value,set:q=>{i.value&&(i.value.fallbackLocale.value=q),s.value=q}}),C=Oe(()=>i.value?i.value.messages.value:l.value),D=Oe(()=>c.value),I=Oe(()=>u.value);function E(){return i.value?i.value.getPostTranslationHandler():m}function P(q){i.value&&i.value.setPostTranslationHandler(q)}function H(){return i.value?i.value.getMissingHandler():b}function O(q){i.value&&i.value.setMissingHandler(q)}function z(q){return S(),q()}function J(...q){return i.value?z(()=>Reflect.apply(i.value.t,null,[...q])):z(()=>"")}function ee(...q){return i.value?Reflect.apply(i.value.rt,null,[...q]):""}function pe(...q){return i.value?z(()=>Reflect.apply(i.value.d,null,[...q])):z(()=>"")}function ge(...q){return i.value?z(()=>Reflect.apply(i.value.n,null,[...q])):z(()=>"")}function we(q){return i.value?i.value.tm(q):{}}function L(q,N){return i.value?i.value.te(q,N):!1}function K(q){return i.value?i.value.getLocaleMessage(q):{}}function W(q,N){i.value&&(i.value.setLocaleMessage(q,N),l.value[q]=N)}function se(q,N){i.value&&i.value.mergeLocaleMessage(q,N)}function re(q){return i.value?i.value.getDateTimeFormat(q):{}}function ue(q,N){i.value&&(i.value.setDateTimeFormat(q,N),c.value[q]=N)}function me(q,N){i.value&&i.value.mergeDateTimeFormat(q,N)}function Z(q){return i.value?i.value.getNumberFormat(q):{}}function xe(q,N){i.value&&(i.value.setNumberFormat(q,N),u.value[q]=N)}function ae(q,N){i.value&&i.value.mergeNumberFormat(q,N)}const Q={get id(){return i.value?i.value.id:-1},locale:k,fallbackLocale:T,messages:C,datetimeFormats:D,numberFormats:I,get inheritLocale(){return i.value?i.value.inheritLocale:o},set inheritLocale(q){i.value&&(i.value.inheritLocale=q)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(l.value)},get modifiers(){return i.value?i.value.modifiers:B},get pluralRules(){return i.value?i.value.pluralRules:F},get isGlobal(){return i.value?i.value.isGlobal:!1},get missingWarn(){return i.value?i.value.missingWarn:h},set missingWarn(q){i.value&&(i.value.missingWarn=q)},get fallbackWarn(){return i.value?i.value.fallbackWarn:f},set fallbackWarn(q){i.value&&(i.value.missingWarn=q)},get fallbackRoot(){return i.value?i.value.fallbackRoot:p},set fallbackRoot(q){i.value&&(i.value.fallbackRoot=q)},get fallbackFormat(){return i.value?i.value.fallbackFormat:v},set fallbackFormat(q){i.value&&(i.value.fallbackFormat=q)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:_},set warnHtmlMessage(q){i.value&&(i.value.warnHtmlMessage=q)},get escapeParameter(){return i.value?i.value.escapeParameter:y},set escapeParameter(q){i.value&&(i.value.escapeParameter=q)},t:J,getPostTranslationHandler:E,setPostTranslationHandler:P,getMissingHandler:H,setMissingHandler:O,rt:ee,d:pe,n:ge,tm:we,te:L,getLocaleMessage:K,setLocaleMessage:W,mergeLocaleMessage:se,getDateTimeFormat:re,setDateTimeFormat:ue,mergeDateTimeFormat:me,getNumberFormat:Z,setNumberFormat:xe,mergeNumberFormat:ae};function G(q){q.locale.value=A.value,q.fallbackLocale.value=s.value,Object.keys(l.value).forEach(N=>{q.mergeLocaleMessage(N,l.value[N])}),Object.keys(c.value).forEach(N=>{q.mergeDateTimeFormat(N,c.value[N])}),Object.keys(u.value).forEach(N=>{q.mergeNumberFormat(N,u.value[N])}),q.escapeParameter=y,q.fallbackFormat=v,q.fallbackRoot=p,q.fallbackWarn=f,q.missingWarn=h,q.warnHtmlMessage=_}return g2(()=>{if(t.proxy==null||t.proxy.$i18n==null)throw zn(Qn.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const q=i.value=t.proxy.$i18n.__composer;e==="global"?(A.value=q.locale.value,s.value=q.fallbackLocale.value,l.value=q.messages.value,c.value=q.datetimeFormats.value,u.value=q.numberFormats.value):a&&G(q)}),Q}const uO=["locale","fallbackLocale","availableLocales"],V5=["t","rt","d","n","tm","te"];function fO(t,e){const r=Object.create(null);return uO.forEach(a=>{const i=Object.getOwnPropertyDescriptor(e,a);if(!i)throw zn(Qn.UNEXPECTED_ERROR);const o=$r(i.value)?{get(){return i.value.value},set(A){i.value.value=A}}:{get(){return i.get&&i.get()}};Object.defineProperty(r,a,o)}),t.config.globalProperties.$i18n=r,V5.forEach(a=>{const i=Object.getOwnPropertyDescriptor(e,a);if(!i||!i.value)throw zn(Qn.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${a}`,i)}),()=>{delete t.config.globalProperties.$i18n,V5.forEach(a=>{delete t.config.globalProperties[`$${a}`]})}}if(j6(),__INTLIFY_JIT_COMPILATION__?s5(M6):s5(O6),S6(s6),L6(n5),__INTLIFY_PROD_DEVTOOLS__){const t=Yo();t.__INTLIFY__=!0,m6(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const dO=Object.assign({"./locales/ar/aria.json":SN,"./locales/ar/buttons.json":LN,"./locales/ar/detail.json":IN,"./locales/ar/legend.json":UN,"./locales/ar/messages.json":TN,"./locales/ar/options.json":kN,"./locales/ar/prayerLaps.json":NN,"./locales/ar/search.json":QN,"./locales/de/aria.json":PN,"./locales/de/buttons.json":ON,"./locales/de/detail.json":MN,"./locales/de/legend.json":RN,"./locales/de/messages.json":DN,"./locales/de/options.json":HN,"./locales/de/prayerLaps.json":$N,"./locales/de/search.json":KN,"./locales/en/aria.json":jN,"./locales/en/buttons.json":GN,"./locales/en/detail.json":VN,"./locales/en/legend.json":zN,"./locales/en/messages.json":WN,"./locales/en/options.json":qN,"./locales/en/prayerLaps.json":YN,"./locales/en/search.json":XN,"./locales/es/aria.json":JN,"./locales/es/buttons.json":ZN,"./locales/es/detail.json":eQ,"./locales/es/legend.json":tQ,"./locales/es/messages.json":rQ,"./locales/es/options.json":nQ,"./locales/es/prayerLaps.json":aQ,"./locales/es/search.json":iQ,"./locales/fr/aria.json":oQ,"./locales/fr/buttons.json":AQ,"./locales/fr/detail.json":sQ,"./locales/fr/legend.json":lQ,"./locales/fr/messages.json":cQ,"./locales/fr/options.json":uQ,"./locales/fr/prayerLaps.json":fQ,"./locales/fr/search.json":dQ,"./locales/hi/aria.json":hQ,"./locales/hi/buttons.json":gQ,"./locales/hi/detail.json":pQ,"./locales/hi/legend.json":mQ,"./locales/hi/messages.json":vQ,"./locales/hi/options.json":bQ,"./locales/hi/prayerLaps.json":yQ,"./locales/hi/search.json":wQ,"./locales/it/aria.json":BQ,"./locales/it/buttons.json":CQ,"./locales/it/detail.json":_Q,"./locales/it/legend.json":xQ,"./locales/it/messages.json":FQ,"./locales/it/options.json":EQ,"./locales/it/prayerLaps.json":SQ,"./locales/it/search.json":LQ,"./locales/pt/aria.json":IQ,"./locales/pt/buttons.json":UQ,"./locales/pt/detail.json":TQ,"./locales/pt/legend.json":kQ,"./locales/pt/messages.json":NQ,"./locales/pt/options.json":QQ,"./locales/pt/prayerLaps.json":PQ,"./locales/pt/search.json":OQ,"./locales/ro/aria.json":MQ,"./locales/ro/buttons.json":RQ,"./locales/ro/detail.json":DQ,"./locales/ro/legend.json":HQ,"./locales/ro/messages.json":$Q,"./locales/ro/options.json":KQ,"./locales/ro/prayerLaps.json":jQ,"./locales/ro/search.json":GQ,"./locales/ru/aria.json":VQ,"./locales/ru/buttons.json":zQ,"./locales/ru/detail.json":WQ,"./locales/ru/legend.json":qQ,"./locales/ru/messages.json":YQ,"./locales/ru/options.json":XQ,"./locales/ru/prayerLaps.json":JQ,"./locales/ru/search.json":ZQ,"./locales/zh/aria.json":eP,"./locales/zh/buttons.json":tP,"./locales/zh/detail.json":rP,"./locales/zh/legend.json":nP,"./locales/zh/messages.json":aP,"./locales/zh/options.json":iP,"./locales/zh/prayerLaps.json":oP,"./locales/zh/search.json":AP}),ju={};for(const[t,e]of Object.entries(dO)){const r=t.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!r)continue;const[,n,a]=r;ju[n]??(ju[n]={}),ju[n][a]=e}const hO=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function gO(){var r;const e=(((r=document==null?void 0:document.documentElement)==null?void 0:r.lang)||"").split("-")[0].toLowerCase();return hO.includes(e)?e:"en"}function pO(){return rO({legacy:!1,globalInjection:!0,locale:gO(),fallbackLocale:"en",messages:ju,missingWarn:!1,fallbackWarn:!1})}const mO=Object.assign({"./profiles/research-map.vue":()=>Pi(()=>Promise.resolve().then(()=>SH),void 0)});if(typeof window<"u"&&((JI=window.mapboxgl)!=null&&JI.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function vO(){return iN(EN,{configureApp(t){t.use(hN()),t.use(pO()),t.provide("profileModules",mO)}})}const bO=vO();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",bO));const z5="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function yO(t){const e=t.getRootNode();if(!(e instanceof ShadowRoot))return;const r=i=>new Promise(o=>setTimeout(o,i)),n=e.querySelector(`link[href="${z5}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(i=>{n.addEventListener("load",i,{once:!0}),n.addEventListener("error",i,{once:!0})}),r(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=z5,await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0}),e.prepend(a)}),r(2e3)])}function wO({containerRef:t,accessToken:e,style:r,center:n=[20,10],zoom:a=2,minZoom:i=.5,maxZoom:o=18,pitch:A=0,bearing:s=0}){const l=Je(null),c=Je(!1);async function u(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!t.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!e){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!e.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',e.slice(0,10)+"...");return}await yO(t.value),await new Promise(m=>requestAnimationFrame(m));const f=t.value,p=f.clientWidth,v=f.clientHeight;if(p===0||v===0){console.error(`[useMapInstance] Container has ZERO dimensions (${p}×${v}). Map will be invisible. Check that parent elements have CSS sizing.`);let m=f.parentElement,_=0;for(;m&&_<5;)m=m.parentElement,_++}const b=e;mapboxgl.accessToken=b,l.value=new mapboxgl.Map({accessToken:b,container:t.value,style:r,center:n,zoom:a,minZoom:i,maxZoom:o,pitch:A,bearing:s,attributionControl:!1}),l.value.on("style.load",()=>{requestAnimationFrame(()=>{var m;(m=l.value)==null||m.resize(),c.value=!0})})}function h(){l.value&&(l.value.remove(),l.value=null,c.value=!1)}return{map:l,isMapReady:c,initializeMap:u,destroy:h}}const BO="peoplePraying",Zo=100,Ns={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},hm=Ns,CO={noPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayer:"100+ People Praying"};function zl(t){var n;const e=t.peoplePraying??((n=t._raw)==null?void 0:n.people_praying)??null,r=Number(e)||0;return r>=Zo?"fullPrayer":r>0?"hasPrayer":"noPrayer"}function W5(t){return Ns[zl(t)]}function _O(t){var r;const e=t.peoplePraying??((r=t._raw)==null?void 0:r.people_praying)??null;return e!==null&&e>0}function xO(t){return zl(t)==="fullPrayer"}function FO(t){return W5(t)}function q5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",e,Zo],Ns.fullPrayer,[">",e,0],Ns.hasPrayer,Ns.noPrayer]}const EO={name:"Prayer Progress",propertyKey:BO,palette:Ns,colors:Ns,labels:CO,threshold:Zo,getColor:FO,applyColor:q5,buildColorExpression:q5,getPrayerLevel:zl,getPrayerColor:W5,checkHasPrayer:_O,checkHasFullPrayer:xO},SO="engagementStatus",DA={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Y5=DA,LO={notEngaged:"Unengaged",hasEngagement:"Engaged"};function IO(t){var n;const e=t.engagementStatus??((n=t._raw)==null?void 0:n.people_committed);return e===!0||e===1||typeof e=="number"&&e>0||typeof e=="object"&&(e==null?void 0:e.value)?DA.hasEngagement:DA.notEngaged}function X5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",e,!0],DA.hasEngagement,["==",e,1],DA.hasEngagement,DA.notEngaged]}const UO={name:"Engagement Progress",propertyKey:SO,palette:DA,colors:DA,labels:LO,getColor:IO,applyColor:X5,buildColorExpression:X5},TO="adoptionStatus",HA={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},J5=HA,kO={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function NO(t){var n;const e=t.adoptionStatus??((n=t._raw)==null?void 0:n.adopted_by_churches);return e===!0||e===1||typeof e=="number"&&e>0||typeof e=="object"&&(e==null?void 0:e.value)?HA.hasAdoption:HA.notAdopted}function Z5({colorSource:t="properties"}={}){const e=t==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",e,!0],HA.hasAdoption,["==",e,1],HA.hasAdoption,HA.notAdopted]}const QO={name:"Adoption Progress",propertyKey:TO,palette:HA,colors:HA,labels:kO,getColor:NO,applyColor:Z5,buildColorExpression:Z5},eC="affinityBlock",Wl="#95a5a6",ql={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf"},Gu={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000"},Yl=Gu;Object.entries(ql).reduce((t,[e,r])=>(t[r]=e,t),{});const PO=Object.entries(ql).reduce((t,[e,r])=>(t[r]=Yl[e],t),{}),OO=ql;function tC(t){return ql[t]||"Unknown"}function rC(t){return Yl[t]||Wl}function MO(t){return t?typeof t=="string"&&/^A\d{3}$/.test(t)?Yl[t]||Wl:PO[t]||Wl:Wl}function RO(){return Object.entries(ql).map(([t,e])=>({code:t,name:e,color:Yl[t]}))}function DO(t){return{code:t,name:ql[t]||"Unknown",color:Yl[t]||Wl}}function HO(t){var r;const e=t.affinityBlock||((r=t._raw)==null?void 0:r.ROP1);return rC(e)}function $O(t){var r;const e=t.affinityBlock||((r=t._raw)==null?void 0:r.ROP1);return tC(e)}function nC(){const t=["match",["get",eC]];return Object.entries(Yl).forEach(([e,r])=>{t.push(e,r)}),t.push(Wl),t}const KO={name:"Affinity Block",propertyKey:eC,palette:Gu,colors:Gu,names:OO,getColor:HO,applyColor:nC,buildColorExpression:nC,getName:$O,getAffinityBlockName:tC,getAffinityBlockColor:MO,getAffinityBlockColorByCode:rC,getAffinityBlocksArray:RO,getAffinityBlockData:DO},aC="languageFamily",jO="#000000",Xl={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function mo(t){return Xl[t]||jO}const GO=(()=>{const t=r=>String(r||"").toLowerCase().trim(),e={};for(const r of Object.keys(Xl))e[t(r)]=r;return e})();function gm(t){if(!t)return"Unknown";const e=String(t).trim();return GO[e.toLowerCase()]||e}function VO(t){var e;return mo(t.languageFamily||((e=t._normalized)==null?void 0:e.languageFamily))}function iC(){const t=["match",["get",aC]];return Object.entries(Xl).forEach(([e,r])=>{t.push(e,r)}),t.push("#95a5a6"),t}const zO={name:"Language Family",propertyKey:aC,palette:Xl,colors:Xl,getColor:VO,applyColor:iC,buildColorExpression:iC,getLanguageFamilyColor:mo,canonicalFamilyName:gm};function WO(t){if(!t)return"hsl(0, 60%, 50%)";let e=0;for(let n=0;n{t.push(e,r)}),t.push(AC),t}const JO={name:"DOXA Region",propertyKey:oC,palette:Vu,colors:Vu,aliases:sC,getColor:XO,applyColor:lC,buildColorExpression:lC,getRegionColor:YO},ZO="resourceType",eA={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},gh=["bible","jesusFilm","radio","gospel","audio","stories"],cC={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},e8=cC;function ph(t){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[t]}function t8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return eA.hasResources;return eA.noResources}function r8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return!0;return!1}function n8(t){var e;for(const r of gh)if((t[r]||((e=t._raw)==null?void 0:e[ph(r)]))==="Available")return r;return"noResources"}function uC(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],eA.hasResources,eA.noResources]}const a8={name:"Gospel Resources",propertyKey:ZO,palette:eA,colors:eA,names:cC,priority:gh,getColor:t8,applyColor:uC,buildColorExpression:uC,hasAnyResource:r8,getResourceType:n8,getCSVColumn:ph},i8="religion",pm="#94a3b8",mm={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},_i={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function fC(t){if(!t||typeof t!="string")return"U";const e=t.charAt(0).toUpperCase();return mm[e]?e:"U"}function o8(t){var r,n,a;const e=(t==null?void 0:t.religion)||((n=(r=t==null?void 0:t._raw)==null?void 0:r.religion)==null?void 0:n.value)||((a=t==null?void 0:t._raw)==null?void 0:a.religion);return _i[fC(e)]||pm}function dC(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",_i.C,"M",_i.M,"H",_i.H,"B",_i.B,"E",_i.E,"J",_i.J,"S",_i.S,"N",_i.N,"O",_i.O,pm]}const A8={propertyKey:i8,palette:_i,families:mm,getColor:o8,applyColor:dC,buildColorExpression:dC,fallback:pm},tA={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},hC={[tA.LANGUAGE_FAMILY]:zO,[tA.AFFINITY_BLOCK]:KO,[tA.DOXA_REGION]:JO,[tA.RESOURCE]:a8,[tA.PRAYER_PROGRESS]:EO,[tA.ENGAGEMENT]:UO,[tA.ADOPTION]:QO,[tA.RELIGION]:A8};function zu(t){return hC[t]||hC[tA.LANGUAGE_FAMILY]}function s8(t,e={}){return zu(t).applyColor(e)}const l8={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},mh={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function c8(t){return l8[t]||null}function vm(t="standard"){return mh.circleRadius[t]||mh.circleRadius.standard}function u8(t="standard"){return mh.circleStrokeWidth[t]||mh.circleStrokeWidth.standard}function gC(t={}){const{getMap:e=()=>null,mapId:r="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=t,i=Wt("uiStore"),o=Je([]);function A(m){const _=n(m.languageFamily),y="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let B=m.imageUrl;(!B||B.includes("NoImageAvailable"))&&(B=y);const F=(m.name||"U")[0].toUpperCase(),S=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],k=F.charCodeAt(0)%S.length;return` -
- -
- -
- ${F} -
- - -
-

${m.name}

-

${m.country||"Unknown"} • ${m.status||"Unknown Status"}

-
-
- - -
- ${m.name} -
- - -
-

- Language: ${m.language||"Unknown"} -

-

- Family: - - ${m.languageFamily||"Unknown"} - -

- ${m.population?`

Population: ${m.population}

`:""} - ${m.description?`

${m.description}

`:""} -
-
- `}function s(m){const _=m.iso_3166_1_alpha_3||"",y=m.name_en||m.name||_,B=a(),F=_.toUpperCase(),S=B.filter(I=>{const E=(I.countryIso||I.country||"").toUpperCase();return E&&E===F}),k=S.length,T=S[0],C=(T==null?void 0:T.wagfRegionLabel)||(T==null?void 0:T.doxaRegionLabel)||(T==null?void 0:T.doxaRegion)||(T==null?void 0:T.wagfRegion)||"—",D=(T==null?void 0:T.wagfBlockLabel)||(T==null?void 0:T.wagfBlock)||"—";return` -
-

- ${y} -

-

- WAGF Region: ${C} -

-

- WAGF Block: ${D} -

-

- Country: ${y} (${_}) -

-

- UUPG Count: ${k} -

-
- `}function l(m){const _=e();if(!_)return;const y=m||"language-family-pins";if(!_.getLayer(y))return;const B=F=>{try{const S=F.features[0],k=S.properties,T=S.geometry.coordinates.slice();for(;Math.abs(F.lngLat.lng-T[0])>180;)T[0]+=F.lngLat.lng>T[0]?360:-360;if(i&&i.legendMode!==void 0){i.selectPeopleGroup(S),i.isMobile&&i.legendState==="collapsed"&&i.setLegendState("open"),i.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:r}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(T).setHTML(A(k)).addTo(_)}catch(S){console.error(` [${r}] Pin click handler error:`,S)}};_.on("click",y,B),o.value.push({event:"click",layer:y,handler:B})}function c(){const m=e();if(!m)return;const _="regions-fill";if(!m.getLayer(_))return;const y=B=>{const F=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const S of F)if(m.getLayer(S)){const k=m.queryRenderedFeatures(B.point,{layers:[S]});if(k&&k.length>0)return}if(B.features&&B.features.length>0){const S=B.features[0].properties;new mapboxgl.Popup().setLngLat(B.lngLat).setHTML(s(S)).addTo(m)}};m.on("click",_,y),o.value.push({event:"click",layer:_,handler:y})}function u(){const m=e();if(!m)return;const _="clusters";if(!m.getLayer(_))return;const y=B=>{const F=m.queryRenderedFeatures(B.point,{layers:[_]});if(!F.length)return;const S=F[0].properties.cluster_id,k=F[0].source;m.getSource(k).getClusterExpansionZoom(S,(T,C)=>{T||m.easeTo({center:F[0].geometry.coordinates,zoom:C})})};m.on("click",_,y),o.value.push({event:"click",layer:_,handler:y})}function h(m){const _=e();if(!_||!_.getLayer(m))return;const y=()=>{_.getCanvas().style.cursor="pointer"},B=()=>{_.getCanvas().style.cursor=""};_.on("mouseenter",m,y),_.on("mouseleave",m,B),o.value.push({event:"mouseenter",layer:m,handler:y}),o.value.push({event:"mouseleave",layer:m,handler:B})}function f(){l(),h("language-family-pins"),l("language-family-pins-hitbox"),h("language-family-pins-hitbox"),u(),h("clusters")}function p(){c(),h("regions-fill")}function v(){const m=e();m&&(m.getLayer("language-family-pins")&&f(),m.getLayer("regions-fill")&&p(),m.getLayer("people-groups-pins")&&(l(),h("people-groups-pins")))}function b(){const m=e();if(m){for(const{event:_,layer:y,handler:B}of o.value)try{m.off(_,y,B)}catch{}o.value=[]}}return{attachAllEventHandlers:v,attachLanguageFamilyEvents:f,attachRegionEvents:p,attachPinClickHandler:l,attachRegionClickHandler:c,attachClusterClickHandler:u,attachCursorHandlers:h,detachAllEventHandlers:b,generatePinPopupContent:A,generateRegionPopupContent:s,registeredHandlers:o}}const dr={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"},f8=[[/ sign language$/i,"Sign Language"]];function d8(t){if(!t||typeof t!="string")return null;const e=t.trim(),r=e.split(",").map(a=>a.trim()).filter(Boolean);if(r.length>=2){const a=[...r].reverse().join(" ");if(dr[a])return dr[a];if(r.length>=3){const i=[r[1],r[0]].join(" ");if(dr[i])return dr[i]}}if(dr[e])return dr[e];const n=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==e&&dr[n])return dr[n];for(const[a,i]of f8)if(a.test(e))return i;return null}function h8(t={}){const{getMap:e=()=>null,mapId:r="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=t,i=gC({getMap:e,mapId:r,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),o=Je({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),A=Je({});function s(ge,we="languageFamily"){const L=e();if(!L||!(ge!=null&&ge.length))return;const K=s8(we),W=ge.map(Z=>{var xe,ae,Q,G,q,N,fe,_e,Ee,be,j,$,de,Be,Me,Pe,ye,Le,Ve;return{type:"Feature",properties:{uniqueId:Z.id||Z.uniqueId,slug:Z.slug||((xe=Z._normalized)==null?void 0:xe.slug)||"",rop3:Z.rop3||Z.peopleGroupId,peopleId3:Z.peopleId3||"",name:Z.name,language:Z.language,languageFamily:Z.languageFamily||((ae=Z._normalized)==null?void 0:ae.languageFamily)||d8(Z.language)||"Unknown",affinityBlock:Z.affinityBlock||Z.affbloc||Z.Affbloc||((Q=Z._normalized)==null?void 0:Q.affinityBlock)||"Unknown",affinityBlockLabel:Z.affinityBlockLabel||((G=Z._normalized)==null?void 0:G.affinityBlockLabel)||"",cluster:Z.cluster||((q=Z._normalized)==null?void 0:q.cluster)||"",clusterLabel:Z.clusterLabel||((N=Z._normalized)==null?void 0:N.clusterLabel)||"",peopleGroup:Z.peopleGroup||((fe=Z._normalized)==null?void 0:fe.peopleGroup)||"",peopleGroupLabel:Z.peopleGroupLabel||((_e=Z._normalized)==null?void 0:_e.peopleGroupLabel)||"",doxaRegion:Z.doxaRegion||((Ee=Z._normalized)==null?void 0:Ee.doxaRegion)||"Unknown",wagfBlock:Z.wagfBlock||((be=Z._normalized)==null?void 0:be.wagfBlock)||"",wagfBlockLabel:Z.wagfBlockLabel||((j=Z._normalized)==null?void 0:j.wagfBlockLabel)||"",wagfRegionLabel:Z.wagfRegionLabel||(($=Z._normalized)==null?void 0:$.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??((de=Z._normalized)==null?void 0:de.peoplePraying)??0),engagementStatus:Z.engagementStatus===!0||Z.engagementStatus===1||!1,adoptionStatus:Z.adoptionStatus===!0||Z.adoptionStatus===1||!1,bible:Z.bible||((Be=Z._normalized)==null?void 0:Be.bible)||"Not Available",jesusFilm:Z.jesusFilm||((Me=Z._normalized)==null?void 0:Me.jesusFilm)||"Not Available",radio:Z.radio||((Pe=Z._normalized)==null?void 0:Pe.radio)||"Not Available",gospel:Z.gospel||((ye=Z._normalized)==null?void 0:ye.gospel)||"Not Available",audio:Z.audio||((Le=Z._normalized)==null?void 0:Le.audio)||"Not Available",stories:Z.stories||((Ve=Z._normalized)==null?void 0:Ve.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])),se=.04,re=Z=>`${Z.geometry.coordinates[0]},${Z.geometry.coordinates[1]}`,ue=new Map;for(const Z of W){const xe=re(Z);ue.has(xe)||ue.set(xe,[]),ue.get(xe).push(Z)}for(const Z of ue.values()){if(Z.length<2)continue;const[xe,ae]=Z[0].geometry.coordinates,Q=Z.length;for(let G=0;G{var xe;return(me.languageFamily||((xe=me._normalized)==null?void 0:xe.languageFamily)||"Unknown")===ge});if(K.length<2)return;const W=n(ge),se=[],re=15,ue=[...K].sort((me,Z)=>(me.longitude||me.lng)-(Z.longitude||Z.lng));for(let me=0;me=",["get","peoplePraying"],Zo],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const E=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function P(ge,we){const L=["interpolate",["linear"],["zoom"]];for(let K=0;K",["get","peoplePraying"],0],L=I();if(!k.every(W=>ge.getLayer(W))){for(const W of k)if(ge.getLayer(W))try{ge.removeLayer(W)}catch{}ge.addLayer({id:B,type:"circle",source:"language-families",filter:we,paint:{"circle-radius":P(E,1),"circle-color":L,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0}},"language-family-pins");for(const W of S)ge.addLayer({id:W,type:"circle",source:"language-families",filter:we,paint:{"circle-radius":P(E,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":L,"circle-stroke-opacity":0}},"language-family-pins")}}function O(){const ge=e();if(ge)for(const we of k)ge.getLayer(we)&&ge.removeLayer(we)}function z(ge){const we=e();if(!we)return;const L=[">",["get","peoplePraying"],0],K=ge?["all",L,ge]:L;for(const W of k)if(we.getLayer(W))try{we.setFilter(W,K)}catch{}}function J(){const ge=e();if(ge){if(H(),m&&(cancelAnimationFrame(m),m=null),_=!0,ge.getLayer("language-family-pins"))try{ge.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Zo],1,[">",["get","peoplePraying"],0],1,3])}catch{}ee()}}function ee(){m&&(cancelAnimationFrame(m),m=null);const ge=++y;let we=performance.now();function L(K){if(!_||ge!==y)return;const W=e();if(!W||!k.some(re=>W.getLayer(re))){m=null;return}const se=(K-we)/1e3;for(let re=0;renull,mapId:r="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:i=(vo==null?void 0:vo.center)||[20,10],defaultZoom:o=vo==null?void 0:vo.zoom}=t,A={speed:.5,essential:!0,curve:1.2};function s(C,D,I={x:150,y:0}){const E=e();if(!E)return C;try{const P=E.getCanvas(),H=P.width,O=P.height,z=E.project(C),J=window.devicePixelRatio||1,ee=(I.x||0)*J,pe=(I.y||0)*J,ge={x:z.x-ee,y:z.y-pe},we=E.unproject(ge);return[we.lng,we.lat]}catch{return C}}function l(C,D=[]){const I=e();if(!I)return;let E=null,P=5;const H=D.filter(z=>z.languageFamily===C);if(H.length>0){let z=1/0,J=-1/0,ee=1/0,pe=-1/0;if(H.forEach(ge=>{ge.longitude&&ge.latitude&&(z=Math.min(z,ge.longitude),J=Math.max(J,ge.longitude),ee=Math.min(ee,ge.latitude),pe=Math.max(pe,ge.latitude))}),z!==1/0){E=[(z+J)/2,(ee+pe)/2];const ge=J-z,we=pe-ee,L=Math.max(ge,we);L>50?P=2:L>20?P=3:L>10?P=4:L>5?P=5:P=6}}if(!E)return;const O=s(E);I.flyTo({center:O,zoom:P,...A})}function c(C){const D=e();if(!D)return;let I=null,E=4;const P=c8(C);if(P)I=P.center,E=P.zoom||4;else if(a!=null&&a.features){const O=a.features.find(z=>{var J,ee;return((J=z.properties)==null?void 0:J.region)===C||((ee=z.properties)==null?void 0:ee.name)===C});O&&(I=u(O))}if(!I)return;const H=s(I);D.flyTo({center:H,zoom:E,...A})}function u(C){if(!C||!C.geometry)return null;const{type:D,coordinates:I}=C.geometry;let E=[];if(D==="Polygon"?E=I[0]||[]:D==="MultiPolygon"&&I.forEach(O=>{E=E.concat(O[0]||[])}),E.length===0)return null;let P=0,H=0;return E.forEach(O=>{P+=O[0],H+=O[1]}),[P/E.length,H/E.length]}function h(C,D={}){const I=e();if(!I)return;const E={center:C,...A,...D};I.flyTo(E)}function f(C,D){const I=e();if(!I||(C==null?void 0:C.longitude)==null||(C==null?void 0:C.latitude)==null)return;const E=D??Math.min(I.getZoom()+2,8);h([C.longitude,C.latitude],{zoom:E})}function p(C,D={top:40,right:40,bottom:40,left:40},I={}){const E=e();if(!E||!C)return;const P=I.maxZoom??4;E.fitBounds(C,{padding:D,maxZoom:P,...A})}function v(){const C=e();C&&C.flyTo({center:i,zoom:o,...A})}const b=80,m=800,_=5,y=5;function B(C){if(!C.length)return null;let D=1/0,I=-1/0,E=1/0,P=-1/0;for(const z of C){if(!Number.isFinite(z))continue;zI&&(I=z);const J=z<0?z+360:z;JP&&(P=J)}if(!Number.isFinite(D))return null;const H=I-D,O=P-E;if(O180?E-360:E;return{minLng:z,maxLng:z+O}}return{minLng:D,maxLng:I}}function F(C,D){if(!Array.isArray(C))return C;switch(C[0]){case"get":return D==null?void 0:D[C[1]];case"literal":return C[1];case"has":return D!=null&&C[1]in D;case"!has":return D==null||!(C[1]in D);case"!":return!F(C[1],D);case"coalesce":{for(let E=1;E2){const H=Number(F(C[2],D));return Number.isFinite(H)?H:0}return NaN}case"to-string":{const E=F(C[1],D);return E==null?"":String(E)}case"to-boolean":return!!F(C[1],D);case"slice":{const E=F(C[1],D),P=F(C[2],D),H=C.length>3?F(C[3],D):void 0;return typeof E!="string"?"":H!=null?E.slice(P,H):E.slice(P)}default:return C}}function S(C,D){if(C===!0)return!0;if(C===!1)return!1;if(!Array.isArray(C))return!!C;const I=C[0];if(I==="all"){for(let E=1;E"||I===">="||I==="<"||I==="<="){const E=typeof C[1]=="string"?D==null?void 0:D[C[1]]:F(C[1],D),P=F(C[2],D);switch(I){case"==":return E===P||E==null&&P==null;case"!=":return!(E===P||E==null&&P==null);case">":return E>P;case">=":return E>=P;case"<":return E{const Q=(ae==null?void 0:ae.properties)||{};return Q.region===Z||Q.name===Z||Q.id===Z});if(xe){const ae=[];let Q=1/0,G=-1/0;const q=fe=>{for(const _e of fe)Array.isArray(_e[0])?q(_e):Number.isFinite(_e[0])&&Number.isFinite(_e[1])&&(ae.push(_e[0]),_e[1]G&&(G=_e[1]))};(re=xe.geometry)!=null&&re.coordinates&&q(xe.geometry.coordinates);const N=B(ae);if(N&&Number.isFinite(Q)){I.fitBounds([[N.minLng,Q],[N.maxLng,G]],{padding:b,maxZoom:_,duration:m,essential:!0});return}}}const E=D.sourceId??"language-families";if(!I.getSource(E))return;const P=D.matchExpr??C.filter;if(!P)return;const H=k(I,E);if(!H.length)return;const O=[];let z=1/0,J=-1/0,ee=0,pe=0,ge=0;const we=new Set;for(const me of H){const Z=me==null?void 0:me.properties;if(!S(P,Z))continue;const xe=Z==null?void 0:Z.uniqueId;if(xe!=null){if(we.has(xe))continue;we.add(xe)}const ae=(ue=me.geometry)==null?void 0:ue.coordinates;if(!Array.isArray(ae)||ae.length<2)continue;const Q=ae[0],G=ae[1];!Number.isFinite(Q)||!Number.isFinite(G)||(ee===0&&(pe=Q,ge=G),O.push(Q),GJ&&(J=G),ee++)}if(ee===0)return;const L=B(O),K=L?L.minLng:0,W=L?L.maxLng:0;if(ee===1){I.flyTo({center:[pe,ge],zoom:y,duration:m,essential:!0});return}const se=[[K,z],[W,J]];try{const me=typeof I.cameraForBounds=="function"?I.cameraForBounds(se,{padding:b,maxZoom:_}):null,Z=typeof I.getMinZoom=="function"?I.getMinZoom():null;if((me==null||typeof me.zoom=="number"&&typeof Z=="number"&&me.zoom -/* Angled, brush-style pin (qa: 2026-05-06 user feedback — wanted a more - hand-drawn / painterly feel like the reference image they shared). - Slight tilt + diagonal gradient + a stronger drop-shadow gives the pin - a "set down on the map" look without rendering raster art. */ -.doxa-go-pin-wrapper { - position: relative; - width: 32px; - height: 40px; - pointer-events: none; - overflow: visible; -} -.doxa-go-pin__svg { - position: relative; - width: 32px; - height: 40px; - filter: drop-shadow(2px 4px 3px rgba(0,0,0,0.4)); -} - - - - - - - - - - - - - -`,e}function m8(t={}){const{getMap:e=()=>null}=t,r=Wt("uiStore");let n=null,a=null;const i=Wt("getActivePinColor",null);let o=bm,A=null;function s(){const v=e();v&&(v.getLayer($A)||v.getSource("language-families")&&v.addLayer({id:$A,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":o,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":"#FFFFFF","circle-stroke-opacity":1},filter:["==",["get","uniqueId"],"__none__"]}))}function l(){(!n||A!==o)&&(n=p8(o),A=o)}function c(v,b){const m=e();m&&(l(),a&&a.remove(),a=new mapboxgl.Marker({element:n,anchor:"bottom",offset:[0,0]}).setLngLat([v,b]).addTo(m))}function u(){a&&(a.remove(),a=null)}function h(v){var S,k;const b=e();if(!b)return;const m=(i==null?void 0:i(v==null?void 0:v.properties))??bm;if(m!==o&&(o=m,b.getLayer($A)&&b.setPaintProperty($A,"circle-color",o)),s(),!v){b.getLayer($A)&&b.setFilter($A,["==",["get","uniqueId"],"__none__"]),u();return}const _=((S=v.properties)==null?void 0:S.uniqueId)||"__none__",y=(k=v.geometry)==null?void 0:k.coordinates;if(!y)return;b.getLayer($A)&&b.setFilter($A,["==",["get","uniqueId"],_]);const[B,F]=y;c(B,F)}nr(()=>r.selectedPeopleGroup,v=>{h(v)});function f(){s()}function p(){u(),n=null}return{initialize:f,cleanup:p,updateSelectedPin:h}}function ii(t,e){const r=e||v8(t);Ri(()=>{var A;const n=Vo();if(!n)return;const a=(A=n.proxy)==null?void 0:A.$el;if(!a)return;const i=a.getRootNode();if(!(i instanceof ShadowRoot)||i.querySelector(`style[data-shadow-styles="${r}"]`))return;const o=document.createElement("style");o.setAttribute("data-shadow-styles",r),o.textContent=t,i.appendChild(o)})}function v8(t){let e=0;for(let r=0;r{const t=r=>String(r||"").toLowerCase().replace(/[^a-z0-9]+/g,""),e={};for(const r of Object.keys(Vu))e[t(r)]=r;return e.na="No WAGF Region/Bloc",e})();function ym(t){return t==null?"":typeof t=="object"?t.label||t.value||"":String(t)}const b8=[[/ sign language$/i,"Sign Language"]];function y8(t){const e=ym(t.languageFamily);if(e)return e;const r=ym(t.language||t.primary_language);if(!r||typeof r!="string")return"";const n=r.trim(),a=n.split(",").map(o=>o.trim()).filter(Boolean);if(a.length>=2){const o=[...a].reverse().join(" ");if(dr[o])return dr[o];if(a.length>=3){const A=[a[1],a[0]].join(" ");if(dr[A])return dr[A]}}if(dr[n])return dr[n];const i=n.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==n&&dr[i])return dr[i];for(const[o,A]of b8)if(o.test(n))return A;return""}function w8(t){const{mapId:e="unknown",dataSourceId:r="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:i=k=>k}=t;n||console.error("useMapData: dataSourceManager is required!");const o=Je(!1),A=Je(null),s=Je(!1),l=Je([]),c=Je([]),u=Je(null),h=Je([]),f=Je([]),p=Je([]),v=Je(null);async function b(){if(!n)throw new Error("dataSourceManager is required for useMapData");o.value=!0,A.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(r)){const O=a.getSourceData(r);c.value=i(O.normalizedData||[])}else{const O=await n.setActiveSource(r);for(const z of O){const J=ym(z.language||z.primary_language);J&&(z.language=J);const ee=y8(z);z.languageFamily=gm(ee)}c.value=i(O),a&&a.cacheSourceData&&a.cacheSourceData(r,{normalizedData:O,timestamp:Date.now()})}l.value=i(c.value.map(O=>({id:O.uniqueId,slug:O.slug||"",rop3:O.peopleGroupId,peopleId3:O.peopleId3,name:O.name,language:O.language,languageFamily:O.languageFamily,country:O.country,population:O.population,status:O.engagementStatus||O.status,latitude:O.latitude,longitude:O.longitude,lng:O.longitude,lat:O.latitude,description:O.description,imageUrl:O.imageUrl,doxaRegion:O.doxaRegion||O.wagfRegion||"",peoplePraying:O.peoplePraying??null,_normalized:O})));const k=n.getDataByLanguageFamily();h.value=Object.entries(k).map(([O,z])=>{const J=z.reduce((ee,pe)=>{const ge=parseInt(pe.population)||0;return ee+ge},0);return{name:O,count:z.length,peopleGroupCount:z.length,population:J,groups:z}}).sort((O,z)=>z.count-O.count);const T=n.getDataByRegion();f.value=Object.entries(T).map(([O,z])=>{const J=z.reduce((ee,pe)=>{const ge=parseInt(pe.population)||0;return ee+ge},0);return{name:O,count:z.length,peopleGroupCount:z.length,population:J,groups:z}}).sort((O,z)=>O.name.localeCompare(z.name));const C={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:[]}};c.value.forEach(O=>{const z=parseInt(O.population)||0;let J=!1;O.bible==="Available"&&(C.bible.count++,C.bible.population+=z,C.bible.groups.push(O),J=!0),O.jesusFilm==="Available"&&(C.jesusFilm.count++,C.jesusFilm.population+=z,C.jesusFilm.groups.push(O),J=!0),O.radio==="Available"&&(C.radio.count++,C.radio.population+=z,C.radio.groups.push(O),J=!0),O.gospel==="Available"&&(C.gospel.count++,C.gospel.population+=z,C.gospel.groups.push(O),J=!0),O.audio==="Available"&&(C.audio.count++,C.audio.population+=z,C.audio.groups.push(O),J=!0),O.stories==="Available"&&(C.stories.count++,C.stories.population+=z,C.stories.groups.push(O),J=!0),J?(C.hasResources.count++,C.hasResources.population+=z,C.hasResources.groups.push(O)):(C.noResources.count++,C.noResources.population+=z,C.noResources.groups.push(O))});const D=c.value.length,I=c.value.reduce((O,z)=>O+(parseInt(z.population)||0),0),E={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},P={bible:{count:D-C.bible.count,population:I-C.bible.population},jesusFilm:{count:D-C.jesusFilm.count,population:I-C.jesusFilm.population},radio:{count:D-C.radio.count,population:I-C.radio.population},gospel:{count:D-C.gospel.count,population:I-C.gospel.population},audio:{count:D-C.audio.count,population:I-C.audio.population},stories:{count:D-C.stories.count,population:I-C.stories.population}},H="#2c3e50";return p.value=[{name:E.bible,key:"bible",count:C.bible.count,population:C.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:P.bible.count,population:P.bible.population,color:H}]},{name:E.jesusFilm,key:"jesusFilm",count:C.jesusFilm.count,population:C.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:P.jesusFilm.count,population:P.jesusFilm.population,color:H}]},{name:E.radio,key:"radio",count:C.radio.count,population:C.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:P.radio.count,population:P.radio.population,color:H}]},{name:E.gospel,key:"gospel",count:C.gospel.count,population:C.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:P.gospel.count,population:P.gospel.population,color:H}]},{name:E.audio,key:"audio",count:C.audio.count,population:C.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:P.audio.count,population:P.audio.population,color:H}]},{name:E.stories,key:"stories",count:C.stories.count,population:C.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:P.stories.count,population:P.stories.population,color:H}]},{name:E.hasResources,key:"hasResources",count:C.hasResources.count,population:C.hasResources.population,isParent:!0,children:[{name:E.noResources,key:"noResources",count:C.noResources.count,population:C.noResources.population,color:H}]}],v.value=n.getStats(),s.value=!0,{peopleGroups:l.value,normalizedPeopleGroups:c.value,languageFamiliesData:h.value,doxaRegionsData:f.value,resourcesData:p.value,stats:v.value}}catch(k){throw console.error(`Failed to load data for map "${e}":`,k),A.value=k.message||"Failed to load data",k}finally{o.value=!1}}async function m(){var k,T,C;try{const D={},I=c.value||[];for(const E of I){const P=E.countryIso||((T=(k=E._raw)==null?void 0:k.country_code)==null?void 0:T.value)||"",H=(C=E._raw)==null?void 0:C.wagf_region,O=E.wagfRegionLabel||E.doxaRegionLabel||(H&&typeof H=="object"?H.label:"")||E.doxaRegion||E.wagfRegion||"";P&&O&&!D[P]&&(D[P]=O)}return u.value={isoToRegion:D},u.value}catch(D){throw console.error(`Error building regions data for map "${e}":`,D),A.value=D.message||"Failed to build regions",D}}function _(){return n?n.getDataByLanguageFamily():{}}function y(){return n?n.getDataByRegion():{}}function B(k){return _()[k]||[]}function F(k){return y()[k]||[]}function S(){l.value=[],c.value=[],u.value=null,h.value=[],f.value=[],p.value=[],v.value=null,s.value=!1,A.value=null}return{isLoading:o,isInitialized:s,error:A,peopleGroups:l,normalizedPeopleGroups:c,regionsData:u,languageFamiliesData:h,doxaRegionsData:f,resourcesData:p,stats:v,loadData:b,loadRegionsData:m,getDataByLanguageFamily:_,getDataByRegion:y,getPeopleGroupsByFamily:B,getPeopleGroupsByRegion:F,clearData:S}}function B8(t){return(t==null?void 0:t.properties)||t||{}}function vh(t){return t&&typeof t=="object"&&"label"in t?t.label||t.value||"":t}function C8(t){if(!t||typeof t!="string")return null;const e=t.split(",").map(n=>n.trim()).filter(Boolean);if(e.length>=2){const n=[...e].reverse().join(" ");if(dr[n])return dr[n];if(e.length>=3){const a=[e[1],e[0]].join(" ");if(dr[a])return dr[a]}}if(dr[t])return dr[t];const r=t.replace(/\s*\(.*?\)\s*$/,"").trim();return r!==t&&dr[r]?dr[r]:null}const _8=[[/ sign language$/i,"Sign Language"]];function x8(t){if(!t||typeof t!="string")return"— Unknown —";const e=t.indexOf(",");return e>0?t.slice(0,e).trim():t.trim()}function F8(t){if(!t||typeof t!="string")return null;const e=t.indexOf(",");return e>=0&&t.slice(e+1).trim()||null}function E8(t){var o,A,s,l;const e=t.language_family??t.languageFamily??((o=t._raw)==null?void 0:o.LanguageFamily)??((A=t._raw)==null?void 0:A.language_family),r=vh(e),n=gm(r);if(n&&n!=="Unknown")return n;const a=t.primary_language??t.primaryLanguage??((s=t._raw)==null?void 0:s.PrimaryLanguage)??((l=t._raw)==null?void 0:l.primary_language),i=vh(a);if(i){const c=String(i).trim(),u=C8(c);if(u)return u;for(const[h,f]of _8)if(h.test(c))return f}return"Unknown"}function S8(t){var a,i;const e=((a=t._raw)==null?void 0:a.primary_language)??((i=t._raw)==null?void 0:i.PrimaryLanguage);if(e){const o=vh(e);if(o)return String(o).trim()}const r=t.primary_language??t.primaryLanguage??t.language,n=vh(r);return n&&String(n).trim()||"— Unknown —"}function L8(t){var r,n;const e=t.population??((r=t._raw)==null?void 0:r.Population)??((n=t._raw)==null?void 0:n.population)??0;return parseInt(e,10)||0}function I8(t,e){var r,n;return(t==null?void 0:t.id)??e.id??e.peopleGroupId??((r=e._raw)==null?void 0:r.PeopleID3)??((n=e._raw)==null?void 0:n.PeopleID)??null}function U8(t,e){return(t==null?void 0:t.clusterId)??e.clusterId??null}function T8(t,e){var a,i,o,A;const r=parseFloat(e.latitude??e.lat??((a=e._raw)==null?void 0:a.Latitude)??((i=e._raw)==null?void 0:i.latitude)),n=parseFloat(e.longitude??e.lng??((o=e._raw)==null?void 0:o.Longitude)??((A=e._raw)==null?void 0:A.longitude));return!isFinite(r)||!isFinite(n)?null:[n,r]}function k8(t,e){return e.peopleGroupCount!==t.peopleGroupCount?e.peopleGroupCount-t.peopleGroupCount:(e.population||0)-(t.population||0)}function bh(t,e){return(e.population||0)!==(t.population||0)?(e.population||0)-(t.population||0):e.peopleGroupCount-t.peopleGroupCount}function wm(t,e={}){e.aggregator;const r=kl({});function n(v){return!!r[v]}function a(v){r[v]=!r[v]}function i(v){const b=new Set(Array.isArray(v)?v:[]);for(const m of Object.keys(r))b.has(m)||(r[m]=!1);for(const m of b)r[m]=!0}const o=Oe(()=>{const v=(t==null?void 0:t.value)||[],b=new Map;for(const m of v){const _=B8(m),y=E8(_),B=S8(_),F=x8(B),S=F8(B),k=L8(_),T=I8(m,_),C=U8(m,_),D=T8(m,_);let I=b.get(y);I||(I={key:y,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},b.set(y,I)),I.peopleGroupCount+=1,I.population+=k,T!=null&&I.pinIds.push(T),D&&I.coords.push(D),C&&!I.clusterId&&(I.clusterId=C);let E=I.languages.get(F);if(E||(E={key:F,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},I.languages.set(F,E)),E.peopleGroupCount+=1,E.population+=k,T!=null&&E.pinIds.push(T),D&&E.coords.push(D),C&&!E.clusterId&&(E.clusterId=C),S){let P=E.dialects.get(S);P?P.originalLabels.add(B):(P={key:S,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([B])},E.dialects.set(S,P)),P.peopleGroupCount+=1,P.population+=k,T!=null&&P.pinIds.push(T),D&&P.coords.push(D)}}return b}),A=e.showAllKnown!==!1,s=Oe(()=>{const v=o.value,b=[],m=new Set;for(const _ of v.values())b.push({key:_.key,label:_.key,color:mo(_.key),peopleGroupCount:_.peopleGroupCount,population:_.population,kind:_.clusterId?"cluster":"family",clusterId:_.clusterId||void 0,pinIds:_.pinIds,coords:_.coords}),m.add(_.key);if(A)for(const _ of Object.keys(Xl))m.has(_)||b.push({key:_,label:_,color:mo(_),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return b.sort(k8),b});function l(v){const b=o.value.get(v);if(!b)return[];const m=[];for(const _ of b.languages.values())m.push({key:`${v}__${_.key}`,label:_.key,color:mo(v),peopleGroupCount:_.peopleGroupCount,population:_.population,kind:_.clusterId?"cluster":"language",familyKey:v,clusterId:_.clusterId||void 0,pinIds:_.pinIds,coords:_.coords,hasDialects:_.dialects.size>0});return m.sort(bh),m}function c(v){const b=v.indexOf("__");if(b<0)return[];const m=v.slice(0,b),_=v.slice(b+2),y=o.value.get(m);if(!y)return[];const B=y.languages.get(_);if(!B)return[];const F=[];for(const S of B.dialects.values())F.push({key:`${v}__${S.key}`,label:`${_}, ${S.key}`,dialectOnly:S.key,color:mo(m),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:"dialect",languageKey:_,familyKey:m,pinIds:S.pinIds,coords:S.coords,originalLabels:Array.from(S.originalLabels)});return F.sort(bh),F}const u=Oe(()=>{const v=o.value,b=[];for(const m of v.values())for(const _ of m.languages.values())b.push({key:`${m.key}__${_.key}`,label:_.key,color:mo(m.key),peopleGroupCount:_.peopleGroupCount,population:_.population,kind:_.clusterId?"cluster":"language",familyKey:m.key,clusterId:_.clusterId||void 0,pinIds:_.pinIds,coords:_.coords,hasDialects:_.dialects.size>0});return b.sort(bh),b}),h=Oe(()=>{const v=o.value,b=[];for(const m of v.values())for(const _ of m.languages.values())for(const y of _.dialects.values())b.push({key:`${m.key}__${_.key}__${y.key}`,label:`${_.key}, ${y.key}`,dialectOnly:y.key,color:mo(m.key),peopleGroupCount:y.peopleGroupCount,population:y.population,kind:"dialect",languageKey:_.key,familyKey:m.key,pinIds:y.pinIds,coords:y.coords,originalLabels:Array.from(y.originalLabels)});return b.sort(bh),b});function f(v){let b=v;if(typeof v=="string"&&(b=s.value.find(_=>_.key===v),!b))return;const m={kind:b.kind,pinIds:b.pinIds||[],coords:b.coords||[]};b.kind==="family"&&(m.familyKey=b.label),b.kind==="language"&&(m.languageKey=b.label,m.familyKey=b.familyKey),b.kind==="dialect"&&(m.dialectKey=b.key,m.dialectOnly=b.dialectOnly||b.label,m.languageKey=b.languageKey,m.familyKey=b.familyKey,m.originalLabels=b.originalLabels||[]),b.kind==="cluster"&&(m.clusterId=b.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:m}))}const p=Oe(()=>{const v=o.value,b=[];for(const m of v.values()){const _=mo(m.key),y=[];for(const F of m.languages.values()){F.key&&F.key!=="— Unknown —"&&y.push(F.key);for(const S of F.dialects.values())for(const k of S.originalLabels)k&&y.push(k)}const B={id:`fam:${m.key}`,label:m.key,color:_,count:m.peopleGroupCount,pop:m.population,filter:y.length>0?["any",["==",["get","languageFamily"],m.key],["in",["get","language"],["literal",Array.from(new Set(y))]]]:["==",["get","languageFamily"],m.key],children:[]};for(const F of m.languages.values()){const S=F.key,k={id:`lang:${m.key}__${S}`,label:S,color:_,count:F.peopleGroupCount,pop:F.population,filter:["any",["==",["get","language"],S],["==",["slice",["get","language"],0,S.length+1],S+","],["in"," "+S,["get","language"]]],children:[]};for(const T of F.dialects.values()){const C=Array.from(T.originalLabels);k.children.push({id:`dial:${m.key}__${S}__${T.key}`,label:`${S}, ${T.key}`,color:_,count:T.peopleGroupCount,pop:T.population,filter:C.length===1?["==",["get","language"],C[0]]:["in",["get","language"],["literal",C]],originalLabels:C,children:[]})}B.children.push(k)}b.push(B)}return b.sort((m,_)=>_.pop-m.pop||_.count-m.count),b});return{rows:s,languageRows:u,dialectRows:h,langTree:p,toggle:a,isExpanded:n,setExpansionToOnly:i,childRowsFor:l,dialectRowsFor:c,highlight:f}}const N8=[],Q8={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"},pC={"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 Qs(t,e){const a=Object.values(t.sources||{}).flatMap(i=>(i==null?void 0:i.features)||[]).filter(i=>e(i.properties||i));return{count:a.length,population:a.reduce((i,o)=>{var s;const A=o.properties||o;return i+(parseInt(A.population||((s=A._raw)==null?void 0:s.Population)||0)||0)},0)}}function mC(t){var r;const e=t.engagementStatus??((r=t._raw)==null?void 0:r.people_committed);return e===!0||e===1||e==="1"||e==="true"||typeof e=="number"&&e>0||typeof e=="string"&&parseInt(e,10)>0}function vC(t){var r;const e=t.adoptionStatus??((r=t._raw)==null?void 0:r.adopted_by_churches);return e===!0||e===1||e==="1"||e==="true"||typeof e=="number"&&e>0||typeof e=="string"&&parseInt(e,10)>0}const P8={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 Wu(t){return t==="doxa-region"?"doxa-regions":t}function O8(t){return t?t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"K":t.toLocaleString():"0"}function M8(t){return(Number(t)||0).toLocaleString()}function qu(t,e={}){const r=Wt("dataStore"),n=Wt("uiStore"),a=Wt("mapStore"),{t:i}=fa(),o=Oe(()=>{if(Wu(t.value)==="religion")return"Religion";const v=P8[t.value];return v?i(v):""}),A=Oe(()=>Wu(t.value)==="affinity-blocs"?N8:[{key:"count",label:i("legend.columns.upgs"),width:48},{key:"population",label:i("legend.columns.population"),width:48}]),s=Oe(()=>{const p=Wu(t.value);return p==="prayer"?n.prayerFilter:p==="engagement"?n.engagementFilter:p==="adoption"?n.adoptionFilter:p==="language-families"?a.selectedFamily:p==="doxa-regions"?a.selectedRegion:p==="gospel-resources"?a.selectedResource:p==="religion"?n.religionFilter:null});function l(p){const v=Wu(t.value);v==="prayer"?n.setPrayerFilter(n.prayerFilter===p?null:p):v==="engagement"?n.setEngagementFilter(n.engagementFilter===p?null:p):v==="adoption"?n.setAdoptionFilter(n.adoptionFilter===p?null:p):v==="language-families"?a.selectFamily(a.selectedFamily===p?null:p):v==="doxa-regions"?a.selectRegion(a.selectedRegion===p?null:p):v==="gospel-resources"?a.selectResource(a.selectedResource===p?null:p):v==="religion"&&n.setReligionFilter(n.religionFilter===p?null:p)}const c=Oe(()=>{var v,b,m,_;const p=Wu(t.value);if(p==="prayer"){const y=Qs(r,S=>zl(S)==="noPrayer"),B=Qs(r,S=>zl(S)==="hasPrayer"),F=Qs(r,S=>zl(S)==="fullPrayer");return[{key:"noPrayer",label:i("legend.prayer.needsPrayer"),color:hm.noPrayer,count:y.count,population:y.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:i("legend.prayer.hasPrayer"),color:hm.hasPrayer,count:B.count,population:B.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:i("legend.prayer.fullPrayerCoverage"),color:hm.fullPrayer,count:F.count,population:F.population,filterKey:"fullPrayer"}]}]}if(p==="engagement"){const y=Qs(r,F=>!mC(F)),B=Qs(r,F=>mC(F));return[{key:"notEngaged",label:i("legend.engagement.needsEngagement"),color:Y5.notEngaged,count:y.count,population:y.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:i("legend.engagement.hasEngagement"),color:Y5.hasEngagement,count:B.count,population:B.population,filterKey:"hasEngagement"}]}]}if(p==="adoption"){const y=Qs(r,F=>!vC(F)),B=Qs(r,F=>vC(F));return[{key:"notAdopted",label:i("legend.adoption.needsAdoption"),color:J5.notAdopted,count:y.count,population:y.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:i("legend.adoption.hasAdoption"),color:J5.hasAdoption,count:B.count,population:B.population,filterKey:"hasAdoption"}]}]}if(p==="religion"){const y={},F=Object.values(r.sources||{}).flatMap(T=>(T==null?void 0:T.features)||[]);for(const T of F){const C=T.properties||T,D=C.religion||((b=(v=C._raw)==null?void 0:v.religion)==null?void 0:b.value)||((m=C._raw)==null?void 0:m.religion)||"",I=fC(D);y[I]||(y[I]={count:0,population:0}),y[I].count+=1,y[I].population+=parseInt(C.population||((_=C._raw)==null?void 0:_.Population)||0)||0}const S=new Set((e==null?void 0:e.excludeReligionFamilies)||[]);for(const T of S)delete y[T];return Object.keys(y).sort((T,C)=>T==="C"?-1:C==="C"?1:y[C].population-y[T].population).map(T=>({key:T,label:mm[T]||"Unknown",color:_i[T]||"#94a3b8",count:y[T].count,population:y[T].population,filterKey:T,children:[]}))}if(p==="language-families")return(r.languageFamiliesData||[]).map(y=>({key:y.name,label:y.name,color:mo(y.name),count:y.count,population:y.population,filterKey:y.name,children:[]}));if(p==="language-family"){const B={value:Object.values(r.sources||{}).flatMap(S=>(S==null?void 0:S.features)||[])},{rows:F}=wm(B);return F.value.map(S=>({key:S.key,label:S.label,color:S.color,count:S.peopleGroupCount,population:S.population,filterKey:S.key,children:[]}))}if(p==="doxa-regions")return(r.doxaRegionsData||[]).map(y=>({key:y.name,label:y.name,color:Q8[y.name]||"#999",count:y.count,population:y.population,filterKey:y.name,children:[]}));if(p==="gospel-resources"){const y=r.resourcesData||[];return Object.keys(eA).map(B=>{const F=y.find(S=>S.key===B);return{key:B,label:e8[B]||B,color:eA[B],count:(F==null?void 0:F.count)||0,population:(F==null?void 0:F.population)||0,filterKey:B,children:((F==null?void 0:F.children)||[]).map(S=>({key:S.key,label:S.name||S.key,color:S.color||eA[B],count:S.count||0,population:S.population||0,filterKey:S.key}))}})}return p==="affinity-blocs"?Object.keys(pC).map(y=>({key:y,label:y,color:pC[y],filterKey:y,children:[]})):[]});function u(p,v){return p.reduce((b,m)=>{var y;let _=m[v]||0;return(y=m.children)!=null&&y.length&&(_+=u(m.children,v)),b+_},0)}const h=Oe(()=>u(c.value,"count")),f=Oe(()=>u(c.value,"population"));return{items:c,columns:A,title:o,activeFilter:s,setFilter:l,totalCount:h,totalPopulation:f,fmtPop:O8,fmtCount:M8}}const bC={_meta:{_comment:"Merged from doxa-research-mfe (winner on drift) + doxa-simple-map-mfe (adds keys research lacks). Single source of truth for all 1040-maps bundles.",mergedFrom:["doxa-research-mfe/src/config/sources.json","doxa-simple-map-mfe/src/config/sources.json"],mergedAt:"2026-05-08",rule:"research wins on conflict; simple adds missing"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-api":{id:"doxa-api",name:"DOXA API",type:"api",url:"https://uupg.doxa.life/wp-json/dt-public/disciple-tools-people-groups-api/v1/data/all/",description:"DOXA WordPress API with detailed descriptions and photos",fieldMappings:{uniqueId:"dt_id",peopleGroupId:"dt_id",peopleId3:"",name:"imb_display_name",slug:"slug",description:"imb_people_description",country:"imb_isoalpha3",countryIso:"imb_isoalpha3",region:"doxa_wagf_region",wagfRegion:"doxa_wagf_region",doxaRegion:"doxa_wagf_region",wagfBlock:"doxa_wagf_block",latitude:"imb_lat",longitude:"imb_lng",population:"imb_population",religion:"imb_reg_of_religion",religionCode:"imb_reg_of_religion_3",hasPhoto:"imb_has_photo",photoUrl:"imb_picture_url",photoCredit:"imb_picture_credit_html"},imageConfig:{useField:"photoUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Bm={};function yC(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Oo&&Oo.tagName.toUpperCase()==="SCRIPT"&&Oo.src||new URL("doxa-research-map.js",document.baseURI).href}<"u"&&(Bm==null?void 0:Bm.VITE_API_BASE_URL)||""}class R8{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=bC,this.sourcesConfig}getActiveSourceId(){var e;return((e=this.sourcesConfig)==null?void 0:e.activeSource)||"doxa-csv"}getSourceConfig(e){var r,n;return(n=(r=this.sourcesConfig)==null?void 0:r.sources)==null?void 0:n[e]}async setActiveSource(e){const r=this.getSourceConfig(e);if(!r)throw new Error(`Source not found: ${e}`);if(this.activeSource=r,this.cacheEnabled&&this.cache.has(e)){const n=this.cache.get(e);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return r.type==="csv"?await this.loadCSVData(r):r.type==="api"?await this.loadAPIData(r):r.type==="rest-api"&&await this.loadRestApiData(r),this.cacheEnabled&&this.cache.set(e,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(e=null){e?this.cache.delete(e):this.cache.clear()}isCached(e){return this.cache.has(e)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(e){const r=[],n=[];let a="",i=!1,o=[],A=!0;for(let s=0;s0){if(o.push(a.trim()),a="",A)n.push(...o),A=!1;else if(o.length>1){const u={};n.forEach((h,f)=>{u[h]=o[f]||""}),r.push(u)}o=[]}}else a+=l}if((a||o.length>0)&&(o.push(a.trim()),!A&&o.length>1)){const s={};n.forEach((l,c)=>{s[l]=o[c]||""}),r.push(s)}return{headers:n,data:r}}async loadCSVData(e){try{const n=await(await fetch(this.baseUrl+e.path)).text(),{headers:a,data:i}=this.parseCSV(n);return this.rawData=i,this.validateFieldMappings(e.fieldMappings,a,e.name),this.normalizeData(e),this.normalizedData}catch(r){throw console.error("Failed to load CSV data:",r),r}}validateFieldMappings(e,r,n){const a=new Set(r.map(o=>o.trim())),i=[];for(const[o,A]of Object.entries(e||{}))if(Array.isArray(A))for(const s of A)a.has(s)||i.push({systemField:o,sourceField:s,isComposite:!0});else A&&!a.has(A)&&i.push({systemField:o,sourceField:A,isComposite:!1});i.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,i)}async loadAPIData(e){try{const n=await(await fetch(e.url||e.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(e),this.normalizedData}catch(r){throw console.error("Failed to load API data:",r),r}}async loadRestApiData(e){var s,l;const r=yC(),n=((s=e.endpoints)==null?void 0:s.bulk)||"/api/people-groups/list",a=((l=e.defaultFields)==null?void 0:l.join(","))||"",i=[];a&&i.push(`fields=${a}`);const o={...e.queryParams||{}};for(const[c,u]of Object.entries(o))i.push(`${c}=${encodeURIComponent(u)}`);const A=`${r}${n}?${i.join("&")}`;try{const c=await fetch(A);if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);const u=c.headers.get("content-type")||"";if(!u.includes("application/json"))throw new Error(`API returned "${u}" instead of JSON. Server at ${r} may be down or misconfigured.`);const h=await c.json();return this.rawData=Array.isArray(h)?h:h.posts||h.data||h.results||[],this.normalizeData(e),this.normalizedData}catch(c){throw console.error(`[rest-api] Failed to load from ${e.id}:`,c),c}}normalizeData(e){const r=e.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[s,l]of Object.entries(r))if(Array.isArray(l)){const c=l.map(u=>this.getFieldValue(n,u));a[s]=c.join("_")}else a[s]=this.getFieldValue(n,l);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,e.imageConfig);const i=a.engagementStatus;i!=null&&(typeof i=="object"&&"value"in i?(a.engagementStatusLabel=i.label||i.value,a.engagementStatus=i.value==="engaged"):a.engagementStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const o=a.adoptionStatus;o!=null&&(a.adoptionStatus=o===!0||o===1||o==="1"||o==="true"||typeof o=="object"&&!!(o!=null&&o.value)||typeof o=="number"&&o>0||typeof o=="string"&&parseInt(o,10)>0);const A=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const s of A){const l=a[s];l!=null&&typeof l=="object"&&"value"in l?(a[s+"Label"]=l.label||l.value,a[s]=l.value):l!=null&&typeof l=="string"&&l!==""&&(a[s+"Label"]||(a[s+"Label"]=l))}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(e,r){if(!r)return"";if(e[r]!==void 0)return e[r];const n=r.trim();if(e[n]!==void 0)return e[n];for(const a of Object.keys(e))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return e[a];return""}parsePopulation(e){if(!e)return 0;const r=String(e).replace(/,/g,"").trim(),n=parseInt(r,10);return isNaN(n)?0:n}getImageUrl(e,r){if(!r)return"";const n=r.placeholderUrl||"",a=e[r.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(e){return this.dataByUniqueId.get(e)}getByCoordinates(e,r,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-e)r.peopleGroupId===e)}getLanguageFamilies(){const e=new Set;return this.normalizedData.forEach(r=>{r.languageFamily&&e.add(r.languageFamily)}),Array.from(e).sort()}getDataByLanguageFamily(){const e={};return this.normalizedData.forEach(r=>{const n=r.languageFamily||"Unknown";e[n]||(e[n]=[]),e[n].push(r)}),e}getDataByRegion(){const e={};return this.normalizedData.forEach(r=>{const n=r.doxaRegion||"Unknown";e[n]||(e[n]=[]),e[n].push(r)}),e}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(e=>e.peopleId3).length,withPhotos:this.normalizedData.filter(e=>e.imageUrl&&!String(e.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(e=>e.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}const D8={key:0,class:"lrg-title-row"},H8={class:"lrg-title-caret-slot"},$8={class:"lrg-title"},K8={class:"lrg-row"},j8=["onClick"],G8={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},V8=["onClick"],z8={class:"lrg-name"},W8={class:"lrg-badge-inner"},q8=["onClick"],Y8={class:"lrg-name"},X8={class:"lrg-badge-inner"},J8={key:1,class:"lrg-footer"},Z8={class:"lrg-footer-label"},wC=Ga({__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:t=>String(t||0)},fmtCount:{type:Function,default:t=>String(t||0)},disableCollapse:{type:Boolean,default:!1}},emits:["filter-click"],setup(t){const{t:e}=fa();ii(` -/* ── 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 - column (doubles as the legend's left padding); last col is a matching - trailing track (right padding). Both are --lrg-caret-col wide so the - legend is visually symmetric without any outer left/right padding. ── */ -.legend-row-group{--lrg-caret-col:30px;display:flex;flex-direction:column;height:100%;min-height:0;} - -/* The grid + scroll container. Tracks: - [caret --lrg-caret-col] [name 1fr] [UPGS auto] [POPULATION auto] [trailing --lrg-caret-col]. - Title row + every data row is a subgrid of these tracks. - align-content:start — CRITICAL: without this, grid auto-rows STRETCH to - fill flex:1 parent. Packing rows to the top keeps them at natural height. */ -/* No top padding here — the sticky .lrg-title-row owns that space via its - own padding-top so its white/dark bg covers what would otherwise be a - transparent gutter that scrolled rows leak through (2026-04-27). */ -.lrg-items{display:grid;grid-template-columns:var(--lrg-grid-cols, var(--lrg-caret-col) minmax(80px,1fr) auto auto var(--lrg-caret-col));grid-auto-rows:auto;align-content:start;column-gap:6px;row-gap:6px;padding:0 0 12px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;} -.lrg-items::-webkit-scrollbar{display:none;width:0;height:0;} - -/* Title row — first row of the table. Plain (not colored). Shares tracks. - Col 1 = title caret slot, col 2 = title text, cols 3+ = column headers. - position:sticky keeps it visible when the user scrolls long row lists - (qa.md frozen-header request 2026-04-27). */ -/* padding-top:12px is INSIDE the sticky element so the white/dark bg - covers the gutter that would otherwise be transparent. line-height:1.2 - on the title (not 1) so cap-letter ascenders / G aren't clipped. */ -.lrg-title-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;padding:12px 0 6px;position:sticky;top:0;z-index:5;background:#fff;} -.lrg-dark .lrg-title-row{background:#3b463d;} -.lrg-title-caret-slot{grid-column:1;align-self:center;display:flex;align-items:center;justify-content:center;line-height:1;} -.lrg-title{grid-column:2;align-self:center;font-weight:600;font-size:13px;line-height:1.2;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} -.lrg-header-col{align-self:center;text-align:center;white-space:nowrap;font-size:10px;line-height:1.3;color:#888;text-transform:uppercase;letter-spacing:0.3px;font-weight:700;} - -/* Data row — subgrid of .lrg-items. Caret lives in col 1 (real grid cell, - not absolute); the pill spans cols 2 to -2 so the trailing column stays - empty as right padding. */ -.lrg-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;} -.lrg-row-child{margin-left:0;} - -/* .lrg-item and .lrg-item-inner are layout-transparent on desktop so the - subgrid stays flat. LegendMobile.vue overrides these at higher specificity - so mobile keeps its own block layout. */ -.lrg-item{display:contents;cursor:pointer;} -.lrg-item-inner{display:grid;grid-template-columns:subgrid;grid-column:2 / -2;align-items:center;border-radius:6px;min-height:36px;padding:6px 0;transition:opacity 0.15s ease;} -.lrg-item-inner:hover{opacity:0.92;} -.lrg-item.selected .lrg-item-inner{outline:2px solid rgba(0,0,0,0.25);outline-offset:-2px;} - -/* Caret — real grid cell in col 1, centered. Zero padding per spec: the - column width IS the padding, the caret just sits in the middle of it. */ -.lrg-caret{grid-column:1;justify-self:center;align-self:center;width:10px;height:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:none;border:none;padding:0;transition:transform 0.2s ease;outline:none;-webkit-tap-highlight-color:transparent;opacity:0.85;} -.lrg-caret:focus{outline:none;} -.lrg-caret.expanded{transform:rotate(90deg);} - -/* Empty col-1 slot on non-tree rows — keeps subgrid flat without rendering - anything visible. */ -.lrg-caret-placeholder{grid-column:1;display:block;} - -/* Name — first pill column (col 2 of parent grid, col 1 of the subgrid). */ -.lrg-name{grid-column:1;padding:0 0 0 8px;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} - -/* Badges — auto-placed into the remaining subgrid tracks. Centered in track. - Background darkens the row color by 28% (mix with #000) so white badge text - stays readable on bright rows like the engagement-tab "Engaged" green. The - previous mix used currentColor (which is white in light mode), so on bright - rows it LIGHTENED the badge — wrong direction. qa: 2026-05-02. */ -.lrg-badge{display:flex;align-items:center;justify-content:center;} -.lrg-badge-inner{display:inline-block;background:color-mix(in srgb, var(--lrg-item-color, #888), #000 28%);border-radius:8px;padding:2px 10px;font-size:11px;font-weight:600;font-family:'Courier New',monospace;white-space:nowrap;min-width:32px;text-align:center;} - -/* Footer — col 1 empty (matches caret column), col 2 label, trailing values. */ -.lrg-footer{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;padding:5px 0;border-top:1px solid rgba(0,0,0,0.07);font-size:11px;font-weight:600;color:#555;background:#fff;position:sticky;bottom:0;} -.lrg-footer-caret-slot{grid-column:1;} -.lrg-footer-label{grid-column:2;color:#777;} -.lrg-footer-value{text-align:center;font-family:'Courier New',monospace;} - -/* ── Light mode ── text over colored pills is white. Badge text gets the - same shadow as the label so the count/pop digits stay readable on bright - backgrounds (engagement-tab "Engaged" green was unreadable without it). */ -.lrg-light .lrg-name{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.35);} -.lrg-light .lrg-badge-inner{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.4);} -.lrg-light .lrg-caret{color:#666;} - -/* ── Dark mode ── */ -.lrg-dark .lrg-name{color:#F3F3F1;text-shadow:0 1px 2px rgba(0,0,0,0.4);} -.lrg-dark .lrg-badge-inner{color:#F3F3F1;text-shadow:0 1px 2px rgba(0,0,0,0.4);} -.lrg-dark .lrg-caret{color:rgba(243,243,241,0.75);} -.lrg-dark .lrg-title{color:#F3F3F1;} -.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 r=t,n=kl({});function a(o){n[o]=!n[o]}const i=Oe(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${r.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(o,A)=>(Qe(),$e("div",{class:Dt(["legend-row-group",t.isDark?"lrg-dark":"lrg-light"])},[oe("div",{class:"lrg-items",style:qr({"--lrg-grid-cols":i.value})},[!t.hideColumnHeader&&(t.title||t.columns.length)?(Qe(),$e("div",D8,[oe("span",H8,[IA(o.$slots,"title-caret",{},void 0,!0)]),oe("span",$8,ct(t.title),1),(Qe(!0),$e(Jt,null,Ia(t.columns,s=>(Qe(),$e("span",{key:s.key,class:"lrg-header-col"},ct(s.label),1))),128))])):ht("",!0),(Qe(!0),$e(Jt,null,Ia(t.items,s=>(Qe(),$e(Jt,{key:s.key},[oe("div",K8,[s.children&&s.children.length&&!t.disableCollapse?(Qe(),$e("button",{key:0,class:Dt(["lrg-caret",{expanded:!n[s.key]}]),onClick:Vn(l=>a(s.key),["stop"]),"aria-label":"Toggle children"},[...A[0]||(A[0]=[oe("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[oe("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,j8)):(Qe(),$e("span",G8)),oe("div",{class:Dt(["lrg-item",{selected:t.activeFilter===s.filterKey}]),onClick:l=>o.$emit("filter-click",s.filterKey)},[oe("div",{class:"lrg-item-inner",style:qr({backgroundColor:s.color,"--lrg-item-color":s.color})},[oe("span",z8,ct(s.label),1),(Qe(!0),$e(Jt,null,Ia(t.columns,l=>(Qe(),$e("span",{key:l.key,class:"lrg-badge"},[oe("span",W8,ct(l.key==="population"?t.fmtPop(s.population):t.fmtCount(s.count)),1)]))),128))],4)],10,V8)]),s.children&&s.children.length&&!n[s.key]?(Qe(!0),$e(Jt,{key:0},Ia(s.children,l=>(Qe(),$e("div",{key:l.key,class:"lrg-row lrg-row-child"},[A[1]||(A[1]=oe("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),oe("div",{class:Dt(["lrg-item",{selected:t.activeFilter===l.filterKey}]),onClick:c=>o.$emit("filter-click",l.filterKey)},[oe("div",{class:"lrg-item-inner",style:qr({backgroundColor:l.color,"--lrg-item-color":l.color})},[oe("span",Y8,ct(l.label),1),(Qe(!0),$e(Jt,null,Ia(t.columns,c=>(Qe(),$e("span",{key:c.key,class:"lrg-badge"},[oe("span",X8,ct(c.key==="population"?t.fmtPop(l.population):t.fmtCount(l.count)),1)]))),128))],4)],10,q8)]))),128)):ht("",!0)],64))),128)),t.columns.length&&t.showFooter?(Qe(),$e("div",J8,[A[2]||(A[2]=oe("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),oe("span",Z8,ct(et(e)("legend.footer.total")),1),(Qe(!0),$e(Jt,null,Ia(t.columns,s=>(Qe(),$e("span",{key:s.key,class:"lrg-footer-value"},ct(s.key==="population"?t.fmtPop(t.totalPopulation):t.fmtCount(t.totalCount)),1))),128))])):ht("",!0)],4)],2))}},[["__scopeId","data-v-686c20a7"]]),BC=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function CC(t){const e=(t||"U")[0].toUpperCase(),r=e.charCodeAt(0)%BC.length,n=BC[r];return{letter:e,color:"#ffffff",backgroundColor:n}}function eM(t,e={}){const{size:r=32,borderRadius:n=4}=e,a=CC(t);return{width:`${r}px`,height:`${r}px`,borderRadius:`${n}px`,backgroundColor:a.backgroundColor,color:a.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(r*.5)}px`,flexShrink:"0"}}const tM={key:0,class:"detail-header"},rM={class:"header-left"},nM={class:"header-text"},aM={class:"people-group-name"},iM={class:"people-group-subtitle"},oM=["aria-label"],AM={class:"detail-content"},sM={key:0,class:"pg-name-lead"},lM={class:"action-buttons"},cM={class:"quick-stats"},uM={class:"stat-item"},fM={class:"stat-label"},dM={class:"stat-value"},hM={class:"stat-item"},gM={class:"stat-label"},pM={class:"stat-value"},mM={class:"stat-item"},vM={class:"stat-label"},bM={class:"stat-value"},yM={class:"stat-item"},wM={class:"stat-label"},BM={class:"stat-value"},CM={key:1,class:"image-container position-inside"},_M=["src","alt"],xM={key:2,class:"description-section"},FM={key:0,class:"description-text"},EM={key:1,class:"description-text empty"},_C="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Cm=Ga({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:t=>["pray","adopt","none"].includes(t)}},setup(t){const{t:e,locale:r}=fa();ii(` -.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;} -.dark-mode .detail-header{background:#16213e;border-bottom-color:#2d2d4e;} -.header-left{display:flex;gap:12px;align-items:center;flex:1;min-width:0;} -.header-text{flex:1;min-width:0;} -.people-group-name{margin:0;font-size:18px;font-weight:700;color:#333;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text;} -.dark-mode .people-group-name{color:#fff;} -.people-group-subtitle{margin:4px 0 0 0;font-size:13px;color:#666;line-height:1.2;} -.dark-mode .people-group-subtitle{color:#aaa;} -.close-button{background:none;border:none;padding:4px;cursor:pointer;color:#666;transition:color 0.2s ease;flex-shrink:0;} -.dark-mode .close-button{color:#aaa;} -.close-button:hover{color:#333;} -.dark-mode .close-button:hover{color:#fff;} -.detail-content{padding:6px 12px 12px;flex:1;overflow-y:auto;} -.dark-mode .detail-content{background:#1a1a2e;} -.quick-stats{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;} -.stat-item{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;} -.stat-label{color:#666;font-weight:500;} -.dark-mode .stat-label{color:#9ca3af;} -.stat-value{color:#333;font-weight:600;text-align:right;} -.dark-mode .stat-value{color:#e5e7eb;} -/* Name lead — rendered when the parent legend hides its own header - (hideHeader=true). Stands in for the old legend-header title bar. */ -.pg-name-lead{margin:0 0 8px 0;font-size:16px;font-weight:700;color:#333;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text;} -.dark-mode .pg-name-lead{color:#F3F3F1;} -.action-buttons{display:flex;gap:8px;padding-top:4px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px;} -.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;flex-shrink:0;} -.action-btn.primary{background:#92b195;color:white;} -.action-btn.primary:hover{background:#73A17F;box-shadow:0 2px 4px rgba(146,177,149,0.3);} -.action-btn.secondary{background:#ecf0f1;color:#333;} -.dark-mode .action-btn.secondary{background:#2d2d4e;color:#e5e7eb;} -.action-btn.secondary:hover{background:#d5dbdb;} -.dark-mode .action-btn.secondary:hover{background:#3d3d5e;} -.btn-icon{flex-shrink:0;} -.image-container{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#f5f5f5;position:relative;} -.dark-mode .image-container{background:#2d2d4e;} -.image-container.position-above{width:120px;height:150px;margin:0 auto 16px auto;} -.image-container.position-inside{width:200px;height:250px;margin:0 auto 16px auto;} -.people-group-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 0.3s ease;} -.people-group-image.loaded{opacity:1;} -.image-placeholder-svg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0;transition:opacity 0.3s ease;} -.dark-mode .image-placeholder-svg{background:#2d2d4e;} -.image-placeholder-svg.hidden{opacity:0;pointer-events:none;} -.description-section{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0;} -.dark-mode .description-section{border-top-color:#2d2d4e;} -.description-text{margin:0;font-size:14px;line-height:1.6;color:#555;} -.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=t,a=Wt("uiStore"),i=Oe(()=>a.legendState),o=Oe(()=>a.isMobile),A=Oe(()=>!o.value||i.value==="fullyOpen"),s=Oe(()=>CC(n.peopleGroup.properties.name)),l=Oe(()=>s.value.letter),c=Oe(()=>eM(n.peopleGroup.properties.name,{size:32,borderRadius:4})),u=Oe(()=>n.peopleGroup.properties),h=Je(null),f=Je(!1),p=Oe(()=>u.value.slug||"");async function v(O){if(!O)return;const z=yC();if(z)try{const J=await fetch(`${z}/api/people-groups/detail/${encodeURIComponent(O)}?lang=${encodeURIComponent(r.value)}`);if(!J.ok)throw new Error(`HTTP ${J.status}`);h.value=await J.json()}catch{h.value=null}}nr(p,O=>{f.value=!1,h.value=null,v(O)},{immediate:!0});const b=Oe(()=>{var O;return u.value.countryName||u.value.countryIsoLabel||u.value.country||u.value.countryIso||((O=u.value._raw)==null?void 0:O.Country)||""}),m=Oe(()=>{var J;const O=u.value.status||((J=u.value._raw)==null?void 0:J.Status),z=b.value||"Unknown";return O?`${z} • ${O}`:z}),_=Oe(()=>{var z;const O=u.value.language||((z=u.value._raw)==null?void 0:z.Language);if(!O)return"Unknown";if(typeof O=="object"&&O.label)return O.label;if(typeof O=="string"&&O.startsWith("{"))try{const J=JSON.parse(O);if(J!=null&&J.label)return J.label}catch{}return O}),y=Oe(()=>{var O;return u.value.population||((O=u.value._raw)==null?void 0:O.Population)||0}),B=Oe(()=>{var O;return u.value.religionName||u.value.religionLabel||u.value.religion||((O=u.value._raw)==null?void 0:O.Religion)||""}),F=Oe(()=>{var O,z,J;return((O=h.value)==null?void 0:O.imb_people_description)||((z=h.value)==null?void 0:z.description)||u.value.description||((J=u.value._raw)==null?void 0:J.Description)||""}),S=Oe(()=>{var O,z,J;return((O=h.value)==null?void 0:O.image_url)||((z=h.value)==null?void 0:z.imageUrl)||u.value.imageUrl||((J=u.value._raw)==null?void 0:J.ImageURL)||_C}),k=Oe(()=>{const O=parseInt(y.value);return O>=1e6?`${(O/1e6).toFixed(1)}M`:O>=1e3?`${(O/1e3).toFixed(1)}K`:O.toLocaleString()});function T(){a.selectPeopleGroup(null)}function C(O){return`https://pray.doxa.life/${encodeURIComponent(O)}?source=doxalife`}function D(O){var J;return`${typeof window<"u"&&((J=window.location)==null?void 0:J.origin)||"https://doxa.life"}/adopt/${encodeURIComponent(O)}/?source=doxalife`}function I(O){var J;return`${typeof window<"u"&&((J=window.location)==null?void 0:J.origin)||"https://doxa.life"}/research/${encodeURIComponent(O)}/`}function E(){const O=p.value;if(!O)return;const z=n.action==="adopt"?D(O):C(O);window.open(z,"_blank","noopener")}function P(){const O=p.value;O&&window.open(I(O),"_blank","noopener")}function H(O){O.target.dataset.usedFallback||(O.target.dataset.usedFallback="true",O.target.src=_C)}return(O,z)=>(Qe(),$e("div",{class:Dt(["people-group-detail",{"dark-mode":t.dark}])},[t.hideHeader?ht("",!0):(Qe(),$e("div",tM,[oe("div",rM,[oe("div",{class:"avatar",style:qr(c.value)},ct(l.value),5),oe("div",nM,[oe("h3",aM,ct(t.peopleGroup.properties.name),1),oe("p",iM,ct(m.value),1)])]),oe("button",{class:"close-button",onClick:T,"aria-label":et(e)("aria.closeDetailView")},[...z[1]||(z[1]=[oe("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[oe("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,oM)])),oe("div",AM,[t.hideHeader?(Qe(),$e("h3",sM,ct(t.peopleGroup.properties.name||et(e)("legend.header.peopleGroupFallback")),1)):ht("",!0),oe("div",lM,[t.action==="pray"||t.action==="adopt"?(Qe(),$e("button",{key:0,class:"action-btn primary",onClick:E},[z[2]||(z[2]=oe("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[oe("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),oe("span",null,ct(t.action==="adopt"?et(e)("buttons.adoptThem"):et(e)("buttons.prayForThem")),1)])):ht("",!0),oe("button",{class:"action-btn secondary",onClick:P},[z[3]||(z[3]=oe("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[oe("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),oe("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),oe("span",null,ct(et(e)("buttons.moreInfo")),1)])]),oe("div",cM,[oe("div",uM,[oe("span",fM,ct(et(e)("detail.labels.country")),1),oe("span",dM,ct(b.value||"—"),1)]),oe("div",hM,[oe("span",gM,ct(et(e)("detail.labels.population")),1),oe("span",pM,ct(k.value||"—"),1)]),oe("div",mM,[oe("span",vM,ct(et(e)("detail.labels.language")),1),oe("span",bM,ct(_.value||"—"),1)]),oe("div",yM,[oe("span",wM,ct(et(e)("detail.labels.religion")),1),oe("span",BM,ct(B.value||"—"),1)])]),A.value?(Qe(),$e("div",CM,[oe("div",{class:Dt(["image-placeholder-svg",{hidden:f.value}])},[...z[4]||(z[4]=[oe("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[oe("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),oe("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),S.value?(Qe(),$e("img",{key:0,src:S.value,alt:`${t.peopleGroup.properties.name} people group`,class:Dt(["people-group-image",{loaded:f.value}]),onLoad:z[0]||(z[0]=J=>f.value=!0),onError:H},null,42,_M)):ht("",!0)])):ht("",!0),A.value?(Qe(),$e("div",xM,[F.value?(Qe(),$e("p",FM,ct(F.value),1)):(Qe(),$e("p",EM,ct(et(e)("detail.messages.noDescription")),1))])):ht("",!0)])],2))}},[["__scopeId","data-v-0cd4696d"]]),SM=Object.freeze(Object.defineProperty({__proto__:null,default:Cm},Symbol.toStringTag,{value:"Module"})),yh={excludeReligionFamilies:["C"]},LM={class:"legend-reopen-label"},IM=["aria-label"],UM=["aria-label"],TM=["aria-label"],kM=Ga({__name:"LegendDesktop",props:{legendType:{type:String,required:!0},initiallyCollapsed:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:t=>["pray","adopt","none"].includes(t)},disableCollapse:{type:Boolean,default:!1}},setup(t){const e=xu(()=>Pi(()=>Promise.resolve().then(()=>TC),void 0)),{t:r}=fa();ii(` -/* ── 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 - .legend-content, and clips rounded corners via overflow:hidden. ── */ -/* Transition: only the dimensions that actually change between expanded - and collapsed. Using 'all' would also animate top/left/position and cause - layout thrash on state flips. Emphasized-decelerate curve mirrors - Material Design 3 snap-open, settle-closed feel. */ -/* top/left/width aligned to SemanticTreeLegend's .stl-panel (top:60px, - left:8px, width:380px) so the LegendDesktop card and the SemanticTreeLegend - sit at exactly the same position+size — no visible jump when the user - clicks a pin and the detail panel swaps in over the language-family legend - (qa: 2026-05-02). */ -.legend-container{position:absolute;top:60px;left:8px;width:var(--map-legend-width,380px);max-height:calc(100vh - 80px);background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.08);z-index:1000;overflow:hidden;display:flex;flex-direction:column;transition:width 200ms cubic-bezier(0.2,0,0,1),max-height 200ms cubic-bezier(0.2,0,0,1),min-width 200ms cubic-bezier(0.2,0,0,1),border-radius 200ms linear,box-shadow 200ms linear;will-change:width,max-height;} -/* Collapsed: pill imitates SemanticTreeLegend's .stl-reopen — - rounded pill (999px radius), dark background, subtle border, - floating shadow, uppercase monospace font. Hover lifts + glows. - Name track auto-sizes to fit title text. */ -/* ── Reopen pill (collapsed state) — mirrors STL .stl-reopen ── */ -.legend-reopen{position:absolute;left:8px;top:60px;z-index:1000;display:inline-flex;align-items:center;gap:8px;background:#0d1117;border:1px solid #30363d;border-radius:999px;color:#c9d1d9;cursor:pointer;height:36px;padding:0 14px 0 12px;box-shadow:0 4px 14px rgba(0,0,0,0.25);font:600 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:0.06em;max-width:320px;transition:color 0.12s,background 0.12s,border-color 0.12s,transform 0.12s,box-shadow 0.12s;} -.legend-reopen:hover{color:#fff;background:#1c2333;border-color:#73A17F;box-shadow:0 6px 20px rgba(59,70,61,0.25);transform:translateY(-1px);} -.legend-reopen-icon{color:#73A17F;flex-shrink:0;} -.legend-reopen-label{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:0;font:600 12px system-ui,sans-serif;} -.legend-reopen-caret{color:#6e7681;flex-shrink:0;} -.legend-reopen:hover .legend-reopen-caret{color:#c9d1d9;} -.legend-reopen-light{background:#ffffff;border-color:#d0d7de;color:#1f2328;box-shadow:0 4px 16px rgba(31,35,40,0.18);} -.legend-reopen-light:hover{background:#f6f8fa;border-color:#3b463d;color:#3b463d;box-shadow:0 6px 20px rgba(59,70,61,0.2);} -.legend-reopen-light .legend-reopen-icon{color:#3b463d;} -.legend-reopen-light .legend-reopen-caret{color:#57606a;} -/* Collapsed pill light mode — mirrors STL's .stl-reopen[data-theme="light"] */ - -/* Card-level collapse caret — rendered into the #title-caret slot of - LegendRows. Matches SemanticTreeLegend's .stl-collapse-btn look: - 22x20px, rounded-rect, subtle dark bg + border, right-chevron SVG - that rotates 180deg when expanded. */ -.legend-collapse-caret{background:rgba(110,118,129,0.15);border:1px solid #30363d;border-radius:5px;color:#8b949e;cursor:pointer;width:22px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color 0.1s,background 0.1s,transform 0.18s;outline:none;-webkit-tap-highlight-color:transparent;padding:0;} -.legend-collapse-caret:focus{outline:none;} -.legend-collapse-caret:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;} -.legend-collapse-caret svg{transition:transform 0.18s;transform:rotate(180deg);} -.legend-collapse-caret.rotated svg{transform:rotate(0deg);} -/* Light mode caret — mirrors STL's [data-theme="light"] .stl-collapse-btn */ -.legend-container:not(.legend-dark) .legend-collapse-caret{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} -.legend-container:not(.legend-dark) .legend-collapse-caret:hover{background:rgba(59,70,61,0.12);border-color:#3b463d;color:#3b463d;} - -/* Detail-mode close button — top-right of the card */ -.detail-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;padding:4px;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;z-index:20;transition:color 0.2s ease;} -.detail-close-btn:hover{color:#333;} - -/* Detail-mode collapse caret — top-left of the card, mirrors the inline - .legend-collapse-caret used by the data-view title row. Sits at z-index - above the PeopleGroupDetail sticky header (.detail-header z-index:10) so - it is always tappable even when the detail panel scrolls. The button is - only rendered in the detail-mode template branch (see