diff --git a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js index bf7b13ebf..9fb94647b 100644 --- a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js +++ b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js @@ -129,6 +129,41 @@ export function useDashboardLayout(options = {}) { const narrow = () => !!unref(isNarrow) const inPageScroll = () => !!unref(pageScroll) + // ── what --rd-shell-h CURRENTLY RESOLVES TO (BUG-SHELL-HANDLE-SNAPS-144PX) ─────────────────── + // The shell drag must anchor on the budget the CSS is resolving RIGHT NOW, or the first frame + // "corrects" from a wrong anchor and the user sees height they did not drag. Two sources, in + // priority order, because the variable and the rendered size legitimately disagree: + // + // 1. THE COMPUTED VARIABLE, whenever it is set. --rd-shell-h is a CEILING — it feeds the + // table grid's max-height — and a ceiling is not a floor: if the table has fewer rows than + // the budget allows, the element renders SMALLER than the variable says. MEASURED with a + // restored shellH of 983: the element was 1126 while map+table summed to only 743, because + // the grid had ~240px of budget and no rows to fill it. Anchoring on that 743 snapped the + // variable 983 -> 744 on the first frame — a -239px jump, the mirror image of the +144 one + // this card started from. Whatever the CSS already holds is what the drag must continue + // from, so the pointer only ever ADDS to a value that is already in effect. + // 2. THE MEASURED map + table, only when the variable is unset. Before the first drag the CSS + // is on its stylesheet fallback (`80svh`), which shellH.value cannot stand in for: the 720 + // default only equals 80svh at a 900px viewport, so trusting it would jump by the + // difference at any other window height. + // + // Measuring map + table rather than the shell's own box is deliberate — the shell is + // `height:auto` here and includes the chrome the variable does not budget for. Summing the two + // regions lands on the same span calc(shell-h - map-h - bar - foot) works from, without + // restating the chrome's height as a second number that could drift from the stylesheet. + function currentShellBudget() { + const el = shellRef && shellRef.value + if (!el) return shellH.value + const declared = parseFloat(getComputedStyle(el).getPropertyValue('--rd-shell-h')) + if (Number.isFinite(declared) && declared > 0) return Math.round(declared) + const mapEl = el.querySelector('[data-region="map"]') + const tableEl = el.querySelector('[data-region="table"]') + if (!mapEl || !tableEl) return shellH.value + const h = mapEl.getBoundingClientRect().height + tableEl.getBoundingClientRect().height + // A collapsed/hidden region measures 0; fall back rather than anchoring the drag on nothing. + return h > 0 ? Math.round(h) : shellH.value + } + // ── write / clear the inline CSS custom properties on the shell root ── // --rd-map-h is applied independently of `customized` (grid-mode's facet/rail/table-h gate): // page-scroll is a different layout entirely, with its own untouched-vs-dragged state, so @@ -260,7 +295,26 @@ export function useDashboardLayout(options = {}) { startMapTop = mapRect ? mapRect.top : (e.clientY - mapH.value) mapHCeiling = Math.max(clamps.mapH[0], shellH.value - (TABLE_BAR_H + TABLE_MIN_H)) } - const startShellTop = isShellResize ? rect.top : 0 + // ★ DELTA-ANCHORED ON THE LIVE BUDGET (BUG-SHELL-HANDLE-SNAPS-144PX-ON-FIRST-FRAME). + // MEASURED at 1440x900: a 1px drag grew the element 144px. TWO defects stacked here, and + // fixing only the first leaves the number bit-for-bit unchanged — which is the clue that + // named the second. + // + // 1. POINTER-ABSOLUTE math. The old line set shellH to (pointerY - shellTop), treating the + // cursor's Y AS the new height. That is only correct if the handle sits exactly shellH + // px below the shell's top, and it does not. Fixed by anchoring on a start value and + // adding the pointer DELTA. + // 2. THE WRONG ANCHOR — the actual source of the 144. Anchoring on the element's measured + // height is the obvious move and is wrong, because --rd-shell-h IS NOT THE ELEMENT'S + // HEIGHT. The shell is `height:auto` in page-scroll mode (.rd-shell.rd-page-scroll) and + // nothing reads --rd-shell-h as a height; its ONLY consumer is the table grid's + // max-height: calc(--rd-shell-h - --rd-map-h - bar - foot). So the variable budgets + // MAP + TABLE and excludes the chrome above them (topbar 52 + filters 55 + stats 30 = + // 141px measured). Seeding it with the measured 863 published a budget 144px too large: + // the grid's max-height jumped 300 -> 444 on the FIRST frame and the element grew with + // it. 863 - 719 = 144 is not a coincidence — it is the chrome, double-counted. + const startShellY = e.clientY + const startShellH = isShellResize ? currentShellBudget() : shellH.value try { handleEl && handleEl.setPointerCapture && handleEl.setPointerCapture(e.pointerId) } catch (_) {} // ── A11Y / PHOTOSENSITIVITY (BUG-RESIZE-STROBE): mark the drag as LIVE ── @@ -312,11 +366,14 @@ export function useDashboardLayout(options = {}) { // The NEW shell handle — spans the whole element's bottom edge (research-dashboard.vue's // .rd-rz-shell), the boundary with whatever a host stacks below (e.g. the people-groups // grid in dashboard-plus-grid.vue). Same fixed-top / 1:1-follow pattern as the map handle - // above, rooted at the SHELL's own top instead of the map's: the pointer's Y position IS - // the shell's new bottom edge. This is the ONLY axis that changes --rd-shell-h, i.e. the - // only handle that changes the element's total height — the map/table divider above must - // never do this (see its own comment). - shellH.value = Math.round(clamp(ev.clientY - startShellTop, clamps.shellH)) + // above. This is the ONLY axis that changes --rd-shell-h, i.e. the only handle that + // changes the element's total height — the map/table divider above must never do this + // (see its own comment). + // DELTA from the live start budget, NOT the pointer's absolute Y: unlike the map handle, + // this variable is not a distance from a fixed top edge, so there is no "pointer Y IS the + // new value" identity to exploit — assuming one produced the 144px snap (see the note on + // startShellH above). + shellH.value = Math.round(clamp(startShellH + (ev.clientY - startShellY), clamps.shellH)) shellHCustomized.value = true } applyVars() diff --git a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js index d8e333a73..6e9e9db53 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js @@ -2,45 +2,45 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Zr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const We={},qo=[],Bt=()=>{},Na=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),tt=Object.assign,Qr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},zu=Object.prototype.hasOwnProperty,Ge=(e,t)=>zu.call(e,t),Ce=Array.isArray,_o=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Le=e=>typeof e=="function",Je=e=>typeof e=="string",Nt=e=>typeof e=="symbol",He=e=>e!==null&&typeof e=="object",Ra=e=>(He(e)||Le(e))&&Le(e.then)&&Le(e.catch),Fa=Object.prototype.toString,hn=e=>Fa.call(e),Uu=e=>hn(e).slice(8,-1),nr=e=>hn(e)==="[object Object]",es=e=>Je(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,mn=Zr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Bu=/-\w/g,wt=rr(e=>e.replace(Bu,t=>t.slice(1).toUpperCase())),Gu=/\B([A-Z])/g,St=rr(e=>e.replace(Gu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ts=rr(e=>e?`on${Ma(e)}`:""),Gt=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},os=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Da=e=>{const t=Je(e)?Number(e):NaN;return isNaN(t)?e:t};let ja;const ar=()=>ja||(ja=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function it(e){if(Ce(e)){const t={};for(let o=0;o{if(o){const n=o.split(Hu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function je(e){let t="";if(Je(e))t=e;else if(Ce(e))for(let o=0;o!!(e&&e.__v_isRef===!0),de=e=>Je(e)?e:e==null?"":Ce(e)||He(e)&&(e.toString===Fa||!Le(e.toString))?Ba(e)?de(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>Ba(t)?Ga(e,t.value):_o(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[ns(n,s)+" =>"]=r,o),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ns(o))}:Nt(t)?ns(t):He(t)&&!Ce(t)&&!nr(t)?String(t):t,ns=(e,t="")=>{var o;return Nt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Zr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const We={},qo=[],Bt=()=>{},Na=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),tt=Object.assign,Qr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},zu=Object.prototype.hasOwnProperty,Ge=(e,t)=>zu.call(e,t),Ce=Array.isArray,_o=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Le=e=>typeof e=="function",Je=e=>typeof e=="string",Nt=e=>typeof e=="symbol",He=e=>e!==null&&typeof e=="object",Fa=e=>(He(e)||Le(e))&&Le(e.then)&&Le(e.catch),Ra=Object.prototype.toString,hn=e=>Ra.call(e),Uu=e=>hn(e).slice(8,-1),nr=e=>hn(e)==="[object Object]",es=e=>Je(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,mn=Zr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Bu=/-\w/g,wt=rr(e=>e.replace(Bu,t=>t.slice(1).toUpperCase())),Gu=/\B([A-Z])/g,St=rr(e=>e.replace(Gu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ts=rr(e=>e?`on${Ma(e)}`:""),Gt=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},os=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Da=e=>{const t=Je(e)?Number(e):NaN;return isNaN(t)?e:t};let ja;const ar=()=>ja||(ja=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function it(e){if(Ce(e)){const t={};for(let o=0;o{if(o){const n=o.split(Hu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function je(e){let t="";if(Je(e))t=e;else if(Ce(e))for(let o=0;o!!(e&&e.__v_isRef===!0),de=e=>Je(e)?e:e==null?"":Ce(e)||He(e)&&(e.toString===Ra||!Le(e.toString))?Ba(e)?de(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>Ba(t)?Ga(e,t.value):_o(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[ns(n,s)+" =>"]=r,o),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ns(o))}:Nt(t)?ns(t):He(t)&&!Ce(t)&&!nr(t)?String(t):t,ns=(e,t="")=>{var o;return Nt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ct;class qa{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(_n){let t=_n;for(_n=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;bn;){let t=bn;for(bn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xa(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),is(n),Ju(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ls(e))))return;e.flags|=2;const t=e.dep,o=Ke,n=It;Ke=e,It=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ke=o,It=n,Xa(e),e.flags&=-3}}function is(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)is(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ju(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let It=!0;const Za=[];function qt(){Za.push(It),It=!1}function Ht(){const e=Za.pop();It=e===void 0?!0:e}function Qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ke;Ke=void 0;try{t()}finally{Ke=o}}}let yn=0;class Zu{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class cs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ke||!It||Ke===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ke)o=this.activeLink=new Zu(Ke,this),Ke.deps?(o.prevDep=Ke.depsTail,Ke.depsTail.nextDep=o,Ke.depsTail=o):Ke.deps=Ke.depsTail=o,el(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Ke.depsTail,o.nextDep=void 0,Ke.depsTail.nextDep=o,Ke.depsTail=o,Ke.deps===o&&(Ke.deps=n)}return o}trigger(t){this.version++,yn++,this.notify(t)}notify(t){ss();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{as()}}}function el(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)el(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const us=new WeakMap,Po=Symbol(""),ds=Symbol(""),vn=Symbol("");function pt(e,t,o){if(It&&Ke){let n=us.get(e);n||us.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new cs),r.map=n,r.key=o),r.track()}}function eo(e,t,o,n,r,s){const a=us.get(e);if(!a){yn++;return}const l=i=>{i&&i.trigger()};if(ss(),t==="clear")a.forEach(l);else{const i=Ce(e),c=i&&es(o);if(i&&o==="length"){const u=Number(n);a.forEach((f,m)=>{(m==="length"||m===vn||!Nt(m)&&m>=u)&&l(f)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(vn)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"delete":i||(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"set":_o(e)&&l(a.get(Po));break}}as()}function Ho(e){const t=ze(e);return t===e?t:(pt(t,"iterate",vn),Ct(e)?t:t.map(Rt))}function ir(e){return pt(e=ze(e),"iterate",vn),e}function Vt(e,t){return oo(e)?Vo(Io(e)?Rt(t):t):Rt(t)}const Qu={__proto__:null,[Symbol.iterator](){return fs(this,Symbol.iterator,e=>Vt(this,e))},concat(...e){return Ho(this).concat(...e.map(t=>Ce(t)?Ho(t):t))},entries(){return fs(this,"entries",e=>(e[1]=Vt(this,e[1]),e))},every(e,t){return to(this,"every",e,t,void 0,arguments)},filter(e,t){return to(this,"filter",e,t,o=>o.map(n=>Vt(this,n)),arguments)},find(e,t){return to(this,"find",e,t,o=>Vt(this,o),arguments)},findIndex(e,t){return to(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return to(this,"findLast",e,t,o=>Vt(this,o),arguments)},findLastIndex(e,t){return to(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return to(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Ho(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return to(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return tl(this,"reduce",e,t)},reduceRight(e,...t){return tl(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return to(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return Ho(this).toReversed()},toSorted(e){return Ho(this).toSorted(e)},toSpliced(...e){return Ho(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return fs(this,"values",e=>Vt(this,e))}};function fs(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!Ct(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const ed=Array.prototype;function to(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!Ct(e),i=a[t];if(i!==ed[t]){const f=i.apply(e,s);return l?Rt(f):f}let c=o;a!==e&&(l?c=function(f,m){return o.call(this,Vt(e,f),m,e)}:o.length>2&&(c=function(f,m){return o.call(this,f,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function tl(e,t,o,n){const r=ir(e),s=r!==e&&!Ct(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,f){return l&&(l=!1,c=Vt(e,c)),o.call(this,c,Vt(e,u),f,e)}):o.length>3&&(a=function(c,u,f){return o.call(this,c,u,f,e)}));const i=r[t](a,...n);return l?Vt(e,i):i}function ps(e,t,o){const n=ze(e);pt(n,"iterate",vn);const r=n[t](...o);return(r===-1||r===!1)&&ms(o[0])?(o[0]=ze(o[0]),n[t](...o)):r}function xn(e,t,o=[]){qt(),ss();const n=ze(e)[t].apply(e,o);return as(),Ht(),n}const td=Zr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt));function od(e){Nt(e)||(e=String(e));const t=ze(this);return pt(t,"has",e),t.hasOwnProperty(e)}class nl{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?cl:il:s?ll:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ce(t);if(!r){let i;if(a&&(i=Qu[o]))return i;if(o==="hasOwnProperty")return od}const l=Reflect.get(t,o,at(t)?t:n);if((Nt(o)?ol.has(o):td(o))||(r||pt(t,"get",o),s))return l;if(at(l)){const i=a&&es(o)?l:l.value;return r&&He(i)?hs(i):i}return He(l)?r?hs(l):No(l):l}}class rl extends nl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ce(t)&&es(o);if(!this._isShallow){const c=oo(s);if(!Ct(n)&&!oo(n)&&(s=ze(s),n=ze(n)),!a&&at(s)&&!at(n))return c||(s.value=n),!0}const l=a?Number(o)e,cr=e=>Reflect.getPrototypeOf(e);function ld(e,t,o){return function(...n){const r=this.__v_raw,s=ze(r),a=_o(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?gs:t?Vo:Rt;return!t&&pt(s,"iterate",i?ds:Po),tt(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:l?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function id(e,t){const o={get(r){const s=this.__v_raw,a=ze(s),l=ze(r);e||(Gt(r,l)&&pt(a,"get",r),pt(a,"get",l));const{has:i}=cr(a),c=t?gs:e?Vo:Rt;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&pt(ze(r),"iterate",Po),r.size},has(r){const s=this.__v_raw,a=ze(s),l=ze(r);return e||(Gt(r,l)&&pt(a,"has",r),pt(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=ze(l),c=t?gs:e?Vo:Rt;return!e&&pt(i,"iterate",Po),l.forEach((u,f)=>r.call(s,c(u),c(f),a))}};return tt(o,e?{add:ur("add"),set:ur("set"),delete:ur("delete"),clear:ur("clear")}:{add(r){const s=ze(this),a=cr(s),l=ze(r),i=!t&&!Ct(r)&&!oo(r)?l:r;return a.has.call(s,i)||Gt(r,i)&&a.has.call(s,r)||Gt(l,i)&&a.has.call(s,l)||(s.add(i),eo(s,"add",i,i)),this},set(r,s){!t&&!Ct(s)&&!oo(s)&&(s=ze(s));const a=ze(this),{has:l,get:i}=cr(a);let c=l.call(a,r);c||(r=ze(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Gt(s,u)&&eo(a,"set",r,s):eo(a,"add",r,s),this},delete(r){const s=ze(this),{has:a,get:l}=cr(s);let i=a.call(s,r);i||(r=ze(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&eo(s,"delete",r,void 0),c},clear(){const r=ze(this),s=r.size!==0,a=r.clear();return s&&eo(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=ld(r,e,t)}),o}function dr(e,t){const o=id(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ge(o,r)&&r in n?o:n,r,s)}const cd={get:dr(!1,!1)},ud={get:dr(!1,!0)},dd={get:dr(!0,!1)},fd={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function pd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return oo(e)?e:fr(e,!1,nd,cd,al)}function gd(e){return fr(e,!1,sd,ud,ll)}function hs(e){return fr(e,!0,rd,dd,il)}function aw(e){return fr(e,!0,ad,fd,cl)}function fr(e,t,o,n,r){if(!He(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=pd(Uu(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function Io(e){return oo(e)?Io(e.__v_raw):!!(e&&e.__v_isReactive)}function oo(e){return!!(e&&e.__v_isReadonly)}function Ct(e){return!!(e&&e.__v_isShallow)}function ms(e){return e?!!e.__v_raw:!1}function ze(e){const t=e&&e.__v_raw;return t?ze(t):e}function ul(e){return!Ge(e,"__v_skip")&&Object.isExtensible(e)&&Oa(e,"__v_skip",!0),e}const Rt=e=>He(e)?No(e):e,Vo=e=>He(e)?hs(e):e;function at(e){return e?e.__v_isRef===!0:!1}function ue(e){return dl(e,!1)}function wn(e){return dl(e,!0)}function dl(e,t){return at(e)?e:new hd(e,t)}class hd{constructor(t,o){this.dep=new cs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ze(t),this._value=o?t:Rt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ct(t)||oo(t);t=n?t:ze(t),Gt(t,o)&&(this._rawValue=t,this._value=n?t:Rt(t),this.dep.trigger())}}function fe(e){return at(e)?e.value:e}const md={get:(e,t,o)=>t==="__v_raw"?e:fe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return at(r)&&!at(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function fl(e){return Io(e)?e:new Proxy(e,md)}class bd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new cs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ke!==this)return Ka(this,!0),!0}get value(){const t=this.dep.track();return Ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _d(e,t,o=!1){let n,r;return Le(e)?n=e:(n=e.get,r=e.set),new bd(n,r,o)}const pr={},gr=new WeakMap;let Ro;function yd(e,t=!1,o=Ro){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function vd(e,t,o=We){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Ct(g)||r===!1||r===0?no(g,1):no(g);let u,f,m,v,A=!1,x=!1;if(at(e)?(f=()=>e.value,A=Ct(e)):Io(e)?(f=()=>c(e),A=!0):Ce(e)?(x=!0,A=e.some(g=>Io(g)||Ct(g)),f=()=>e.map(g=>{if(at(g))return g.value;if(Io(g))return c(g);if(Le(g))return i?i(g,2):g()})):Le(e)?t?f=i?()=>i(e,2):e:f=()=>{if(m){qt();try{m()}finally{Ht()}}const g=Ro;Ro=u;try{return i?i(e,3,[v]):e(v)}finally{Ro=g}}:f=Bt,t&&r){const g=f,_=r===!0?1/0:r;f=()=>no(g(),_)}const w=Xu(),L=()=>{u.stop(),w&&w.active&&Qr(w.effects,u)};if(s&&t){const g=t;t=(..._)=>{const S=g(..._);return L(),S}}let y=x?new Array(e.length).fill(pr):pr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const _=u.run();if(g||r||A||(x?_.some((S,$)=>Gt(S,y[$])):Gt(_,y))){m&&m();const S=Ro;Ro=u;try{const $=[_,y===pr?void 0:x&&y[0]===pr?[]:y,v];y=_,i?i(t,3,$):t(...$)}finally{Ro=S}}}else u.run()};return l&&l(p),u=new Va(f),u.scheduler=a?()=>a(p,!1):p,v=g=>yd(g,!1,u),m=u.onStop=()=>{const g=gr.get(u);if(g){if(i)i(g,4);else for(const _ of g)_();gr.delete(u)}},t?n?p(!0):y=u.run():a?a(p.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function no(e,t=1/0,o){if(t<=0||!He(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))no(e.value,t,o);else if(Ce(e))for(let n=0;n{no(n,t,o)});else if(nr(e)){for(const n in e)no(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&no(e[n],t,o)}return e}/** +**/let ct;class qa{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(_n){let t=_n;for(_n=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;bn;){let t=bn;for(bn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xa(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),is(n),Ju(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ls(e))))return;e.flags|=2;const t=e.dep,o=Ke,n=It;Ke=e,It=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ke=o,It=n,Xa(e),e.flags&=-3}}function is(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)is(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ju(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let It=!0;const Za=[];function qt(){Za.push(It),It=!1}function Ht(){const e=Za.pop();It=e===void 0?!0:e}function Qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ke;Ke=void 0;try{t()}finally{Ke=o}}}let yn=0;class Zu{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class cs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ke||!It||Ke===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ke)o=this.activeLink=new Zu(Ke,this),Ke.deps?(o.prevDep=Ke.depsTail,Ke.depsTail.nextDep=o,Ke.depsTail=o):Ke.deps=Ke.depsTail=o,el(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Ke.depsTail,o.nextDep=void 0,Ke.depsTail.nextDep=o,Ke.depsTail=o,Ke.deps===o&&(Ke.deps=n)}return o}trigger(t){this.version++,yn++,this.notify(t)}notify(t){ss();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{as()}}}function el(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)el(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const us=new WeakMap,Po=Symbol(""),ds=Symbol(""),vn=Symbol("");function pt(e,t,o){if(It&&Ke){let n=us.get(e);n||us.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new cs),r.map=n,r.key=o),r.track()}}function eo(e,t,o,n,r,s){const a=us.get(e);if(!a){yn++;return}const l=i=>{i&&i.trigger()};if(ss(),t==="clear")a.forEach(l);else{const i=Ce(e),c=i&&es(o);if(i&&o==="length"){const u=Number(n);a.forEach((f,m)=>{(m==="length"||m===vn||!Nt(m)&&m>=u)&&l(f)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(vn)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"delete":i||(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"set":_o(e)&&l(a.get(Po));break}}as()}function Ho(e){const t=ze(e);return t===e?t:(pt(t,"iterate",vn),Ct(e)?t:t.map(Ft))}function ir(e){return pt(e=ze(e),"iterate",vn),e}function Vt(e,t){return oo(e)?Vo(Io(e)?Ft(t):t):Ft(t)}const Qu={__proto__:null,[Symbol.iterator](){return fs(this,Symbol.iterator,e=>Vt(this,e))},concat(...e){return Ho(this).concat(...e.map(t=>Ce(t)?Ho(t):t))},entries(){return fs(this,"entries",e=>(e[1]=Vt(this,e[1]),e))},every(e,t){return to(this,"every",e,t,void 0,arguments)},filter(e,t){return to(this,"filter",e,t,o=>o.map(n=>Vt(this,n)),arguments)},find(e,t){return to(this,"find",e,t,o=>Vt(this,o),arguments)},findIndex(e,t){return to(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return to(this,"findLast",e,t,o=>Vt(this,o),arguments)},findLastIndex(e,t){return to(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return to(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Ho(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return to(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return tl(this,"reduce",e,t)},reduceRight(e,...t){return tl(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return to(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return Ho(this).toReversed()},toSorted(e){return Ho(this).toSorted(e)},toSpliced(...e){return Ho(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return fs(this,"values",e=>Vt(this,e))}};function fs(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!Ct(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const ed=Array.prototype;function to(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!Ct(e),i=a[t];if(i!==ed[t]){const f=i.apply(e,s);return l?Ft(f):f}let c=o;a!==e&&(l?c=function(f,m){return o.call(this,Vt(e,f),m,e)}:o.length>2&&(c=function(f,m){return o.call(this,f,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function tl(e,t,o,n){const r=ir(e),s=r!==e&&!Ct(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,f){return l&&(l=!1,c=Vt(e,c)),o.call(this,c,Vt(e,u),f,e)}):o.length>3&&(a=function(c,u,f){return o.call(this,c,u,f,e)}));const i=r[t](a,...n);return l?Vt(e,i):i}function ps(e,t,o){const n=ze(e);pt(n,"iterate",vn);const r=n[t](...o);return(r===-1||r===!1)&&ms(o[0])?(o[0]=ze(o[0]),n[t](...o)):r}function xn(e,t,o=[]){qt(),ss();const n=ze(e)[t].apply(e,o);return as(),Ht(),n}const td=Zr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt));function od(e){Nt(e)||(e=String(e));const t=ze(this);return pt(t,"has",e),t.hasOwnProperty(e)}class nl{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?cl:il:s?ll:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ce(t);if(!r){let i;if(a&&(i=Qu[o]))return i;if(o==="hasOwnProperty")return od}const l=Reflect.get(t,o,at(t)?t:n);if((Nt(o)?ol.has(o):td(o))||(r||pt(t,"get",o),s))return l;if(at(l)){const i=a&&es(o)?l:l.value;return r&&He(i)?hs(i):i}return He(l)?r?hs(l):No(l):l}}class rl extends nl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ce(t)&&es(o);if(!this._isShallow){const c=oo(s);if(!Ct(n)&&!oo(n)&&(s=ze(s),n=ze(n)),!a&&at(s)&&!at(n))return c||(s.value=n),!0}const l=a?Number(o)e,cr=e=>Reflect.getPrototypeOf(e);function ld(e,t,o){return function(...n){const r=this.__v_raw,s=ze(r),a=_o(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?gs:t?Vo:Ft;return!t&&pt(s,"iterate",i?ds:Po),tt(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:l?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function id(e,t){const o={get(r){const s=this.__v_raw,a=ze(s),l=ze(r);e||(Gt(r,l)&&pt(a,"get",r),pt(a,"get",l));const{has:i}=cr(a),c=t?gs:e?Vo:Ft;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&pt(ze(r),"iterate",Po),r.size},has(r){const s=this.__v_raw,a=ze(s),l=ze(r);return e||(Gt(r,l)&&pt(a,"has",r),pt(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=ze(l),c=t?gs:e?Vo:Ft;return!e&&pt(i,"iterate",Po),l.forEach((u,f)=>r.call(s,c(u),c(f),a))}};return tt(o,e?{add:ur("add"),set:ur("set"),delete:ur("delete"),clear:ur("clear")}:{add(r){const s=ze(this),a=cr(s),l=ze(r),i=!t&&!Ct(r)&&!oo(r)?l:r;return a.has.call(s,i)||Gt(r,i)&&a.has.call(s,r)||Gt(l,i)&&a.has.call(s,l)||(s.add(i),eo(s,"add",i,i)),this},set(r,s){!t&&!Ct(s)&&!oo(s)&&(s=ze(s));const a=ze(this),{has:l,get:i}=cr(a);let c=l.call(a,r);c||(r=ze(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Gt(s,u)&&eo(a,"set",r,s):eo(a,"add",r,s),this},delete(r){const s=ze(this),{has:a,get:l}=cr(s);let i=a.call(s,r);i||(r=ze(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&eo(s,"delete",r,void 0),c},clear(){const r=ze(this),s=r.size!==0,a=r.clear();return s&&eo(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=ld(r,e,t)}),o}function dr(e,t){const o=id(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ge(o,r)&&r in n?o:n,r,s)}const cd={get:dr(!1,!1)},ud={get:dr(!1,!0)},dd={get:dr(!0,!1)},fd={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function pd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return oo(e)?e:fr(e,!1,nd,cd,al)}function gd(e){return fr(e,!1,sd,ud,ll)}function hs(e){return fr(e,!0,rd,dd,il)}function aw(e){return fr(e,!0,ad,fd,cl)}function fr(e,t,o,n,r){if(!He(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=pd(Uu(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function Io(e){return oo(e)?Io(e.__v_raw):!!(e&&e.__v_isReactive)}function oo(e){return!!(e&&e.__v_isReadonly)}function Ct(e){return!!(e&&e.__v_isShallow)}function ms(e){return e?!!e.__v_raw:!1}function ze(e){const t=e&&e.__v_raw;return t?ze(t):e}function ul(e){return!Ge(e,"__v_skip")&&Object.isExtensible(e)&&Oa(e,"__v_skip",!0),e}const Ft=e=>He(e)?No(e):e,Vo=e=>He(e)?hs(e):e;function at(e){return e?e.__v_isRef===!0:!1}function ue(e){return dl(e,!1)}function wn(e){return dl(e,!0)}function dl(e,t){return at(e)?e:new hd(e,t)}class hd{constructor(t,o){this.dep=new cs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ze(t),this._value=o?t:Ft(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ct(t)||oo(t);t=n?t:ze(t),Gt(t,o)&&(this._rawValue=t,this._value=n?t:Ft(t),this.dep.trigger())}}function fe(e){return at(e)?e.value:e}const md={get:(e,t,o)=>t==="__v_raw"?e:fe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return at(r)&&!at(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function fl(e){return Io(e)?e:new Proxy(e,md)}class bd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new cs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ke!==this)return Ka(this,!0),!0}get value(){const t=this.dep.track();return Ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _d(e,t,o=!1){let n,r;return Le(e)?n=e:(n=e.get,r=e.set),new bd(n,r,o)}const pr={},gr=new WeakMap;let Fo;function yd(e,t=!1,o=Fo){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function vd(e,t,o=We){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Ct(g)||r===!1||r===0?no(g,1):no(g);let u,f,m,v,A=!1,x=!1;if(at(e)?(f=()=>e.value,A=Ct(e)):Io(e)?(f=()=>c(e),A=!0):Ce(e)?(x=!0,A=e.some(g=>Io(g)||Ct(g)),f=()=>e.map(g=>{if(at(g))return g.value;if(Io(g))return c(g);if(Le(g))return i?i(g,2):g()})):Le(e)?t?f=i?()=>i(e,2):e:f=()=>{if(m){qt();try{m()}finally{Ht()}}const g=Fo;Fo=u;try{return i?i(e,3,[v]):e(v)}finally{Fo=g}}:f=Bt,t&&r){const g=f,_=r===!0?1/0:r;f=()=>no(g(),_)}const w=Xu(),L=()=>{u.stop(),w&&w.active&&Qr(w.effects,u)};if(s&&t){const g=t;t=(..._)=>{const S=g(..._);return L(),S}}let y=x?new Array(e.length).fill(pr):pr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const _=u.run();if(g||r||A||(x?_.some((S,$)=>Gt(S,y[$])):Gt(_,y))){m&&m();const S=Fo;Fo=u;try{const $=[_,y===pr?void 0:x&&y[0]===pr?[]:y,v];y=_,i?i(t,3,$):t(...$)}finally{Fo=S}}}else u.run()};return l&&l(p),u=new Va(f),u.scheduler=a?()=>a(p,!1):p,v=g=>yd(g,!1,u),m=u.onStop=()=>{const g=gr.get(u);if(g){if(i)i(g,4);else for(const _ of g)_();gr.delete(u)}},t?n?p(!0):y=u.run():a?a(p.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function no(e,t=1/0,o){if(t<=0||!He(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))no(e.value,t,o);else if(Ce(e))for(let n=0;n{no(n,t,o)});else if(nr(e)){for(const n in e)no(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&no(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const kn=[];let bs=!1;function lw(e,...t){if(bs)return;bs=!0,qt();const o=kn.length?kn[kn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=xd();if(n)Wo(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${ii(o,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...wd(r)),console.warn(...s)}Ht(),bs=!1}function xd(){let e=kn[kn.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function wd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...kd(o))}),t}function kd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${ii(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...$d(e.props),s]:[r+s]}function $d(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...pl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function pl(e,t,o){return Je(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=pl(e,ze(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Le(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ze(t),o?t:[`${e}=`,t])}function Wo(e,t,o,n){try{return n?e(...n):e()}catch(r){hr(r,t,o)}}function Ft(e,t,o,n){if(Le(e)){const r=Wo(e,t,o,n);return r&&Ra(r)&&r.catch(s=>{hr(s,t,o)}),r}if(Ce(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice(Ed(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function Ad(e){if(!Ce(e))yo&&e.id===-1?yo.splice(Yo+1,0,e):e.flags&1||(Ko.push(e),e.flags|=1);else for(let t=0;tSn(o)-Sn(n));if(Ko.length=0,yo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function _l(e){try{for(Wt=0;Wt{n._d&&$r(-1);const s=br(t),a=ao.length;let l;try{l=e(...r)}finally{for(let i=ao.length;i>a;i--)Fs();br(s),n._d&&$r(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Tt(e,t){if(gt===null)return e;const o=Cr(gt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Le(t)?t.call(n&&n.proxy):t}}const Cd=Symbol.for("v-scx"),Td=()=>Fe(Cd);function ut(e,t,o){return vl(e,t,o)}function vl(e,t,o=We){const{immediate:n,deep:r,flush:s,once:a}=o,l=tt({},o),i=t&&n||!t&&s!=="post";let c;if(On){if(s==="sync"){const v=Td();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Bt,v.resume=Bt,v.pause=Bt,v}}const u=yt;l.call=(v,A,x)=>Ft(v,u,A,x);let f=!1;s==="post"?l.scheduler=v=>{_t(v,u&&u.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(v,A)=>{A?v():_s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=vd(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Ld(e,t,o){const n=this.proxy,r=Je(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Le(t)?s=t:(s=t.handler,o=t);const a=Mn(this),l=vl(r,s.bind(n),o);return a(),l}function xl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Mo=e=>e&&(e.disabled||e.disabled===""),Pd=e=>e&&(e.defer||e.defer===""),kl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$l=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ys=(e,t)=>{const o=e&&e.to;return Je(o)?t?t(o):null:o},Nd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:f,pbc:m,o:{insert:v,querySelector:A,createText:x,createComment:w,parentNode:L}}=c,y=Mo(t.props);let{dynamicChildren:p}=t;const g=($,D,I)=>{$.shapeFlag&16&&u($.children,D,I,r,s,a,l,i)},_=($=t)=>{const D=Mo($.props),I=$.target=ys($.props,A),H=vs(I,$,x,v);I&&(a!=="svg"&&kl(I)?a="svg":a!=="mathml"&&$l(I)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(I),D||(g($,I,H),En($,!1)))},S=$=>{const D=()=>{if(xo.get($)===D){if(xo.delete($),Mo($.props)){const I=L($.el)||o;g($,I,$.anchor),En($,!0)}_($)}};xo.set($,D),_t(D,s)};if(e==null){const $=t.el=x(""),D=t.anchor=x("");if(v($,o,n),v(D,o,n),Pd(t.props)||s&&s.pendingBranch){S(t);return}y&&(g(t,o,D),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,D=xo.get(e);if(D){D.flags|=8,xo.delete(e),S(t);return}t.targetStart=e.targetStart;const I=t.target=e.target,H=t.targetAnchor=e.targetAnchor,Q=Mo(e.props),se=Q?o:I,_e=Q?$:H;if(a==="svg"||kl(I)?a="svg":(a==="mathml"||$l(I))&&(a="mathml"),p?(m(e.dynamicChildren,p,se,r,s,a,l),Is(e,t,!0)):i||f(e,t,se,_e,r,s,a,l,!1),y)Q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=ys(t.props,A);q&&(t.target=q,yr(t,q,null,c,0))}else Q&&yr(t,I,H,c,1);En(t,y)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:f,props:m}=e,v=Mo(m),A=s||!v,x=xo.get(e);if(x&&(x.flags|=8,xo.delete(e)),f&&(r(c),r(u)),s&&r(i),!x&&(v||f)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Yt){t=o;break}}return t}function Sl(e){if(!ks(e))return _r(e.type)&&e.children?Fd(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Le(o.default))return o.default()}}function ws(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ws(_r(o.type)&&Sl(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function An(e,t){return Le(e)?tt({name:e.name},t,{setup:e}):e}function El(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Al(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const vr=new WeakMap;function Cn(e,t,o,n,r=!1){if(Ce(e)){e.forEach((x,w)=>Cn(x,t&&(Ce(t)?t[w]:t),o,n,r));return}if(Xo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Cn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Cr(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===We?l.refs={}:l.refs,f=l.setupState,m=ze(f),v=f===We?Na:x=>Al(u,x)?!1:Ge(m,x),A=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Je(c))u[c]=null,v(c)&&(f[c]=null);else if(at(c)){const x=t;A(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Le(i))Wo(i,l,12,[a,u]);else{const x=Je(i),w=at(i);if(x||w){const L=()=>{if(e.f){const y=x?v(i)?f[i]:u[i]:A()||!e.k?i.value:u[e.k];if(r)Ce(y)&&Qr(y,s);else if(Ce(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(f[i]=u[i]);else{const p=[s];A(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(f[i]=a)):w&&(A(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const y=()=>{L(),vr.delete(e)};y.id=-1,vr.set(e,y),_t(y,o)}else Cl(e),L()}}}function Cl(e){const t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}ar().requestIdleCallback,ar().cancelIdleCallback;const Xo=e=>!!e.type.__asyncLoader,ks=e=>e.type.__isKeepAlive;function Md(e,t){Tl(e,"a",t)}function Od(e,t){Tl(e,"da",t)}function Tl(e,t,o=yt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)ks(r.parent.vnode)&&Dd(n,t,o,r),r=r.parent}}function Dd(e,t,o,n){const r=xr(t,e,n,!0);$s(()=>{Qr(n[t],r)},o)}function xr(e,t,o=yt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const l=Mn(o),i=Ft(t,o,e,a);return l(),Ht(),i});return n?r.unshift(s):r.push(s),s}}const so=e=>(t,o=yt)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=so("bm"),mt=so("m"),jd=so("bu"),zd=so("u"),Kt=so("bum"),$s=so("um"),Ud=so("sp"),Bd=so("rtg"),Gd=so("rtc");function qd(e,t=yt){xr("ec",e,t)}const Hd=Symbol.for("v-ndc");function Ye(e,t,o,n){let r;const s=o,a=Ce(e);if(a||Je(e)){const l=a&&Io(e);let i=!1,c=!1;l&&(i=!Ct(e),c=oo(e),e=ir(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),V(),wo(Se,null,[Me("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=ao.length;V();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=wo(Se,{key:(u&&!Nt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=ao.length;u>l;u--)Fs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Pl(e){return e.some(t=>In(t)?!(t.type===Yt||t.type===Se&&!Pl(t.children)):!0)?e:null}const Ss=e=>e?si(e)?Cr(e):Ss(e.parent):null,Tn=tt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ss(e.parent),$root:e=>Ss(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fl(e),$forceUpdate:e=>e.f||(e.f=()=>{_s(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>Ld.bind(e)}),Es=(e,t)=>e!==We&&!e.__isScriptSetup&&Ge(e,t),Vd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Es(n,t))return a[t]=1,n[t];if(r!==We&&Ge(r,t))return a[t]=2,r[t];if(Ge(s,t))return a[t]=3,s[t];if(o!==We&&Ge(o,t))return a[t]=4,o[t];As&&(a[t]=0)}}const c=Tn[t];let u,f;if(c)return t==="$attrs"&&pt(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==We&&Ge(o,t))return a[t]=4,o[t];if(f=i.config.globalProperties,Ge(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Es(r,t)?(r[t]=o,!0):n!==We&&Ge(n,t)?(n[t]=o,!0):Ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==We&&l[0]!=="$"&&Ge(e,l)||Es(t,l)||Ge(s,l)||Ge(n,l)||Ge(Tn,l)||Ge(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ge(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Nl(e){return Ce(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let As=!0;function Wd(e){const t=Fl(e),o=e.proxy,n=e.ctx;As=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:v,updated:A,activated:x,deactivated:w,beforeDestroy:L,beforeUnmount:y,destroyed:p,unmounted:g,render:_,renderTracked:S,renderTriggered:$,errorCaptured:D,serverPrefetch:I,expose:H,inheritAttrs:Q,components:se,directives:_e,filters:q}=t;if(c&&Kd(c,n,null),a)for(const W in a){const T=a[W];Le(T)&&(n[W]=T.bind(o))}if(r){const W=r.call(o,o);He(W)&&(e.data=No(W))}if(As=!0,s)for(const W in s){const T=s[W],B=Le(T)?T.bind(o,o):Le(T.get)?T.get.bind(o,o):Bt,M=!Le(T)&&Le(T.set)?T.set.bind(o):Bt,P=le({get:B,set:M});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>P.value,set:Y=>P.value=Y})}if(l)for(const W in l)Rl(l[W],n,o,W);if(i){const W=Le(i)?i.call(o):i;Reflect.ownKeys(W).forEach(T=>{ro(T,W[T])})}u&&Il(u,e,"c");function K(W,T){Ce(T)?T.forEach(B=>W(B.bind(o))):T&&W(T.bind(o))}if(K(Ll,f),K(mt,m),K(jd,v),K(zd,A),K(Md,x),K(Od,w),K(qd,D),K(Gd,S),K(Bd,$),K(Kt,y),K($s,g),K(Ud,I),Ce(H))if(H.length){const W=e.exposed||(e.exposed={});H.forEach(T=>{Object.defineProperty(W,T,{get:()=>o[T],set:B=>o[T]=B,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===Bt&&(e.render=_),Q!=null&&(e.inheritAttrs=Q),se&&(e.components=se),_e&&(e.directives=_e),I&&El(e)}function Kd(e,t,o=Bt){Ce(e)&&(e=Cs(e));for(const n in e){const r=e[n];let s;He(r)?"default"in r?s=Fe(r.from||n,r.default,!0):s=Fe(r.from||n):s=Fe(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Il(e,t,o){Ft(Ce(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Rl(e,t,o,n){let r=n.includes(".")?xl(o,n):()=>o[n];if(Je(e)){const s=t[e];Le(s)&&ut(r,s)}else if(Le(e))ut(r,e.bind(o));else if(He(e))if(Ce(e))e.forEach(s=>Rl(s,t,o,n));else{const s=Le(e.handler)?e.handler.bind(o):t[e.handler];Le(s)&&ut(r,s,e)}}function Fl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>wr(i,c,a,!0)),wr(i,t,a)),He(t)&&s.set(t,i),i}function wr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&wr(e,s,o,!0),r&&r.forEach(a=>wr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Yd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Yd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:bt,created:bt,beforeMount:bt,mounted:bt,beforeUpdate:bt,updated:bt,beforeDestroy:bt,beforeUnmount:bt,destroyed:bt,unmounted:bt,activated:bt,deactivated:bt,errorCaptured:bt,serverPrefetch:bt,components:Ln,directives:Ln,watch:Jd,provide:Ml,inject:Xd};function Ml(e,t){return t?e?function(){return tt(Le(e)?e.call(this,this):e,Le(t)?t.call(this,this):t)}:t:e}function Xd(e,t){return Ln(Cs(e),Cs(t))}function Cs(e){if(Ce(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${wt(t)}Modifiers`]||e[`${St(t)}Modifiers`];function tf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||We;let r=o;const s=t.startsWith("update:"),a=s&&ef(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Je(u)?u.trim():u)),a.number&&(r=r.map(os)));let l,i=n[l=ts(t)]||n[l=ts(wt(t))];!i&&s&&(i=n[l=ts(St(t))]),i&&Ft(i,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ft(c,e,6,r)}}const of=new WeakMap;function jl(e,t,o=!1){const n=o?of:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Le(e)){const i=c=>{const u=jl(c,t,!0);u&&(l=!0,tt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(He(e)&&n.set(e,null),null):(Ce(s)?s.forEach(i=>a[i]=null):tt(a,s),He(e)&&n.set(e,a),a)}function kr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ge(e,t[0].toLowerCase()+t.slice(1))||Ge(e,St(t))||Ge(e,t))}function iw(){}function zl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:f,data:m,setupState:v,ctx:A,inheritAttrs:x}=e,w=br(e);let L,y;try{if(o.shapeFlag&4){const g=r||n,_=g;L=Xt(c.call(_,g,u,f,v,m,A)),y=l}else{const g=t;L=Xt(g.length>1?g(f,{attrs:l,slots:a,emit:i}):g(f,null)),y=t.props?l:nf(l)}}catch(g){ao.length=0,hr(g,e,1),L=Me(Yt)}let p=L;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=p;g.length&&_&7&&(s&&g.some(tr)&&(y=rf(y,s)),p=Zo(p,y,!1,!0))}if(o.dirs&&(p=Zo(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=_r(p.type)&&Sl(p)||p;ws(g,o.transition)}return L=p,br(w),L}const nf=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},rf=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function sf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Ul(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let f=0;fObject.create(Gl),Hl=e=>Object.getPrototypeOf(e)===Gl;function lf(e,t,o,n=!1){const r={},s=ql();e.propsDefaults=Object.create(null),Vl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:gd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function cf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=ze(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[m,v]=Wl(f,t,!0);tt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return He(e)&&n.set(e,qo),qo;if(Ce(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ps=e=>Ce(e)?e.map(Xt):[Xt(e)],df=(e,t,o)=>{if(t._n)return t;const n=vo((...r)=>Ps(t(...r)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ls(r))continue;const s=e[r];if(Le(s))t[r]=df(r,s,n);else if(s!=null){const a=Ps(s);t[r]=()=>a}}},Xl=(e,t)=>{const o=Ps(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!Ls(n))&&(e[n]=t[n])},ff=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const r=t._;r?(Jl(n,t,o),o&&Oa(n,"_",r,!0)):Yl(t,n)}else t&&Xl(e,t)},pf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=We;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:Jl(r,t,o):(s=!t.$stable,Yl(t,r)),a=t}else t&&(Xl(e,t),a={default:1});if(s)for(const l in r)!Ls(l)&&a[l]==null&&delete r[l]},_t=_f;function gf(e){return hf(e)}function hf(e,t){const o=ar();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:v=Bt,insertStaticContent:A}=e,x=(b,C,k,G=null,X=null,ne=null,z=void 0,j=null,d=!!C.dynamicChildren)=>{if(b===C)return;b&&!Rn(b,C)&&(G=Ee(b),Y(b,X,ne,!0),b=null),C.patchFlag===-2&&(d=!1,C.dynamicChildren=null);const{type:h,ref:R,shapeFlag:U}=C;switch(h){case Pn:w(b,C,k,G);break;case Yt:L(b,C,k,G);break;case Rs:b==null&&y(C,k,G,z);break;case Se:se(b,C,k,G,X,ne,z,j,d);break;default:U&1?_(b,C,k,G,X,ne,z,j,d):U&6?_e(b,C,k,G,X,ne,z,j,d):(U&64||U&128)&&h.process(b,C,k,G,X,ne,z,j,d,pe)}R!=null&&X?Cn(R,b&&b.ref,ne,C||b,!C):R==null&&b&&b.ref!=null&&Cn(b.ref,null,ne,b,!0)},w=(b,C,k,G)=>{if(b==null)n(C.el=l(C.children),k,G);else{const X=C.el=b.el;C.children!==b.children&&c(X,C.children)}},L=(b,C,k,G)=>{b==null?n(C.el=i(C.children||""),k,G):C.el=b.el},y=(b,C,k,G)=>{[b.el,b.anchor]=A(b.children,C,k,G,b.el,b.anchor)},p=({el:b,anchor:C},k,G)=>{let X;for(;b&&b!==C;)X=m(b),n(b,k,G),b=X;n(C,k,G)},g=({el:b,anchor:C})=>{let k;for(;b&&b!==C;)k=m(b),r(b),b=k;r(C)},_=(b,C,k,G,X,ne,z,j,d)=>{if(C.type==="svg"?z="svg":C.type==="math"&&(z="mathml"),b==null)S(C,k,G,X,ne,z,j,d);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),I(b,C,X,ne,z,j,d)}finally{h&&h._endPatch()}}},S=(b,C,k,G,X,ne,z,j)=>{let d,h;const{props:R,shapeFlag:U,transition:ee,dirs:re}=b;if(d=b.el=a(b.type,ne,R&&R.is,R),U&8?u(d,b.children):U&16&&D(b.children,d,null,G,X,Ns(b,ne),z,j),re&&Fo(b,null,G,"created"),$(d,b,b.scopeId,z,G),R){for(const E in R)E!=="value"&&!mn(E)&&s(d,E,null,R[E],ne,G);"value"in R&&s(d,"value",null,R.value,ne),(h=R.onVnodeBeforeMount)&&Jt(h,G,b)}re&&Fo(b,null,G,"beforeMount");const O=mf(X,ee);O&&ee.beforeEnter(d),n(d,C,k),((h=R&&R.onVnodeMounted)||O||re)&&_t(()=>{try{h&&Jt(h,G,b),O&&ee.enter(d),re&&Fo(b,null,G,"mounted")}finally{}},X)},$=(b,C,k,G,X)=>{if(k&&v(b,k),G)for(let ne=0;ne{for(let h=d;h{const j=C.el=b.el;let{patchFlag:d,dynamicChildren:h,dirs:R}=C;d|=b.patchFlag&16;const U=b.props||We,ee=C.props||We;let re;if(k&&Do(k,!1),(re=ee.onVnodeBeforeUpdate)&&Jt(re,k,C,b),R&&Fo(C,b,k,"beforeUpdate"),k&&Do(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(d=0,z=!1,h=null),(U.innerHTML&&ee.innerHTML==null||U.textContent&&ee.textContent==null)&&u(j,""),h?H(b.dynamicChildren,h,j,k,G,Ns(C,X),ne):z||T(b,C,j,null,k,G,Ns(C,X),ne,!1),d>0){if(d&16)Q(j,U,ee,k,X);else if(d&2&&U.class!==ee.class&&s(j,"class",null,ee.class,X),d&4&&s(j,"style",U.style,ee.style,X),d&8){const O=C.dynamicProps;for(let E=0;E{re&&Jt(re,k,C,b),R&&Fo(C,b,k,"updated")},G)},H=(b,C,k,G,X,ne,z)=>{for(let j=0;j{if(C!==k){if(C!==We)for(const ne in C)!mn(ne)&&!(ne in k)&&s(b,ne,C[ne],null,X,G);for(const ne in k){if(mn(ne))continue;const z=k[ne],j=C[ne];z!==j&&ne!=="value"&&s(b,ne,j,z,X,G)}"value"in k&&s(b,"value",C.value,k.value,X)}},se=(b,C,k,G,X,ne,z,j,d)=>{const h=C.el=b?b.el:l(""),R=C.anchor=b?b.anchor:l("");let{patchFlag:U,dynamicChildren:ee,slotScopeIds:re}=C;re&&(j=j?j.concat(re):re),b==null?(n(h,k,G),n(R,k,G),D(C.children||[],k,R,X,ne,z,j,d)):U>0&&U&64&&ee&&b.dynamicChildren&&b.dynamicChildren.length===ee.length?(H(b.dynamicChildren,ee,k,X,ne,z,j),(C.key!=null||X&&C===X.subTree)&&Is(b,C,!0)):T(b,C,k,R,X,ne,z,j,d)},_e=(b,C,k,G,X,ne,z,j,d)=>{C.slotScopeIds=j,b==null?C.shapeFlag&512?X.ctx.activate(C,k,G,z,d):q(C,k,G,X,ne,z,d):oe(b,C,d)},q=(b,C,k,G,X,ne,z)=>{const j=b.component=$f(b,G,X);if(ks(b)&&(j.ctx.renderer=pe),Sf(j,!1,z),j.asyncDep){if(X&&X.registerDep(j,K,z),!b.el){const d=j.subTree=Me(Yt);L(null,d,C,k),b.placeholder=d.el}}else K(j,b,C,k,X,ne,z)},oe=(b,C,k)=>{const G=C.component=b.component;if(sf(b,C,k))if(G.asyncDep&&!G.asyncResolved){W(G,C,k);return}else G.next=C,G.update();else C.el=b.el,G.vnode=C},K=(b,C,k,G,X,ne,z)=>{const j=()=>{if(b.isMounted){let{next:U,bu:ee,u:re,parent:O,vnode:E}=b;{const Be=Zl(b);if(Be){U&&(U.el=E.el,W(b,U,z)),Be.asyncDep.then(()=>{_t(()=>{b.isUnmounted||h()},X)});return}}let te=U,ae;Do(b,!1),U?(U.el=E.el,W(b,U,z)):U=E,ee&&sr(ee),(ae=U.props&&U.props.onVnodeBeforeUpdate)&&Jt(ae,O,U,E),Do(b,!0);const he=zl(b),ve=b.subTree;b.subTree=he,x(ve,he,f(ve.el),Ee(ve),b,X,ne),U.el=he.el,te===null&&af(b,he.el),re&&_t(re,X),(ae=U.props&&U.props.onVnodeUpdated)&&_t(()=>Jt(ae,O,U,E),X)}else{let U;const{el:ee,props:re}=C,{bm:O,m:E,parent:te,root:ae,type:he}=b,ve=Xo(C);Do(b,!1),O&&sr(O),!ve&&(U=re&&re.onVnodeBeforeMount)&&Jt(U,te,C),Do(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(he,b.parent?b.parent.type:void 0);const Be=b.subTree=zl(b);x(null,Be,k,G,b,X,ne),C.el=Be.el}if(E&&_t(E,X),!ve&&(U=re&&re.onVnodeMounted)){const Be=C;_t(()=>Jt(U,te,Be),X)}(C.shapeFlag&256||te&&Xo(te.vnode)&&te.vnode.shapeFlag&256)&&b.a&&_t(b.a,X),b.isMounted=!0,C=k=G=null}};b.scope.on();const d=b.effect=new Va(j);b.scope.off();const h=b.update=d.run.bind(d),R=b.job=d.runIfDirty.bind(d);R.i=b,R.id=b.uid,d.scheduler=()=>_s(R),Do(b,!0),h()},W=(b,C,k)=>{C.component=b;const G=b.vnode.props;b.vnode=C,b.next=null,cf(b,C.props,G,k),pf(b,C.children,k),qt(),ml(b),Ht()},T=(b,C,k,G,X,ne,z,j,d=!1)=>{const h=b&&b.children,R=b?b.shapeFlag:0,U=C.children,{patchFlag:ee,shapeFlag:re}=C;if(ee>0){if(ee&128){M(h,U,k,G,X,ne,z,j,d);return}else if(ee&256){B(h,U,k,G,X,ne,z,j,d);return}}re&8?(R&16&&Ne(h,X,ne),U!==h&&u(k,U)):R&16?re&16?M(h,U,k,G,X,ne,z,j,d):Ne(h,X,ne,!0):(R&8&&u(k,""),re&16&&D(U,k,G,X,ne,z,j,d))},B=(b,C,k,G,X,ne,z,j,d)=>{b=b||qo,C=C||qo;const h=b.length,R=C.length,U=Math.min(h,R);let ee;for(ee=0;eeR?Ne(b,X,ne,!0,!1,U):D(C,k,G,X,ne,z,j,d,U)},M=(b,C,k,G,X,ne,z,j,d)=>{let h=0;const R=C.length;let U=b.length-1,ee=R-1;for(;h<=U&&h<=ee;){const re=b[h],O=C[h]=d?lo(C[h]):Xt(C[h]);if(Rn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;h++}for(;h<=U&&h<=ee;){const re=b[U],O=C[ee]=d?lo(C[ee]):Xt(C[ee]);if(Rn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;U--,ee--}if(h>U){if(h<=ee){const re=ee+1,O=reee)for(;h<=U;)Y(b[h],X,ne,!0),h++;else{const re=h,O=h,E=new Map;for(h=O;h<=ee;h++){const et=C[h]=d?lo(C[h]):Xt(C[h]);et.key!=null&&E.set(et.key,h)}let te,ae=0;const he=ee-O+1;let ve=!1,Be=0;const qe=new Array(he);for(h=0;h=he){Y(et,X,ne,!0);continue}let Pt;if(et.key!=null)Pt=E.get(et.key);else for(te=O;te<=ee;te++)if(qe[te-O]===0&&Rn(et,C[te])){Pt=te;break}Pt===void 0?Y(et,X,ne,!0):(qe[Pt-O]=h+1,Pt>=Be?Be=Pt:ve=!0,x(et,C[Pt],k,null,X,ne,z,j,d),ae++)}const st=ve?bf(qe):qo;for(te=st.length-1,h=he-1;h>=0;h--){const et=O+h,Pt=C[et],Zn=C[et+1],Qn=et+1{const{el:ne,type:z,transition:j,children:d,shapeFlag:h}=b;if(h&6){P(b.component.subTree,C,k,G);return}if(h&128){b.suspense.move(C,k,G);return}if(h&64){z.move(b,C,k,pe);return}if(z===Se){n(ne,C,k);for(let U=0;Uj.enter(ne),X));else{const{leave:U,delayLeave:ee,afterLeave:re}=j,O=()=>{b.ctx.isUnmounted?r(ne):n(ne,C,k)},E=()=>{const te=ne._isLeaving||!!ne[xs];ne._isLeaving&&ne[xs](!0),j.persisted&&!te?O():U(ne,()=>{O(),re&&re()})};ee?ee(ne,O,E):E()}else n(ne,C,k)},Y=(b,C,k,G=!1,X=!1)=>{const{type:ne,props:z,ref:j,children:d,dynamicChildren:h,shapeFlag:R,patchFlag:U,dirs:ee,cacheIndex:re,memo:O}=b;if(U===-2&&(X=!1),j!=null&&(qt(),Cn(j,null,k,b,!0),Ht()),re!=null&&(C.renderCache[re]=void 0),R&256){C.ctx.deactivate(b);return}const E=R&1&&ee,te=!Xo(b);let ae;if(te&&(ae=z&&z.onVnodeBeforeUnmount)&&Jt(ae,C,b),R&6)$e(b.component,k,G);else{if(R&128){b.suspense.unmount(k,G);return}E&&Fo(b,null,C,"beforeUnmount"),R&64?b.type.remove(b,C,k,pe,G):h&&!h.hasOnce&&(ne!==Se||U>0&&U&64)?Ne(h,C,k,!1,!0):(ne===Se&&U&384||!X&&R&16)&&Ne(d,C,k),G&&ie(b)}const he=O!=null&&re==null;(te&&(ae=z&&z.onVnodeUnmounted)||E||he)&&_t(()=>{ae&&Jt(ae,C,b),E&&Fo(b,null,C,"unmounted"),he&&(b.el=null)},k)},ie=b=>{const{type:C,el:k,anchor:G,transition:X}=b;if(C===Se){be(k,G);return}if(C===Rs){g(b);return}const ne=()=>{r(k),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(b.shapeFlag&1&&X&&!X.persisted){const{leave:z,delayLeave:j}=X,d=()=>z(k,ne);j?j(b.el,ne,d):d()}else ne()},be=(b,C)=>{let k;for(;b!==C;)k=m(b),r(b),b=k;r(C)},$e=(b,C,k)=>{const{bum:G,scope:X,job:ne,subTree:z,um:j,m:d,a:h}=b;Ql(d),Ql(h),G&&sr(G),X.stop(),ne&&(ne.flags|=8,Y(z,b,C,k)),j&&_t(j,C),_t(()=>{b.isUnmounted=!0},C)},Ne=(b,C,k,G=!1,X=!1,ne=0)=>{for(let z=ne;z{if(b.shapeFlag&6)return Ee(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const C=m(b.anchor||b.el),k=C&&C[wl];return k?m(k):C};let ke=!1;const me=(b,C,k)=>{let G;b==null?C._vnode&&(Y(C._vnode,null,null,!0),G=C._vnode.component):x(C._vnode||null,b,C,null,null,null,k),C._vnode=b,ke||(ke=!0,ml(G),bl(),ke=!1)},pe={p:x,um:Y,m:P,r:ie,mt:q,mc:D,pc:T,pbc:H,n:Ee,o:e};return{render:me,hydrate:void 0,createApp:Qd(me)}}function Ns({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Do({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function mf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Is(e,t,o=!1){const n=e.children,r=t.children;if(Ce(n)&&Ce(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function Zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zl(t)}function Ql(e){if(e)for(let t=0;te.__isSuspense;function _f(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const Se=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Yt=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),ao=[];let Et=null;function V(e=!1){ao.push(Et=e?null:[])}function Fs(){ao.pop(),Et=ao[ao.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&Et&&t&&(Et.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?Et||qo:null,Fs(),Nn>0&&Et&&Et.push(e),e}function J(e,t,o,n,r,s){return oi(N(e,t,o,n,r,s,!0))}function wo(e,t,o,n,r){return oi(Me(e,t,o,n,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function Rn(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Je(e)||at(e)||Le(e)?{i:gt,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,r=null,s=e===Se?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Sr(t),scopeId:yl,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:gt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Je(o)?8:16),Nn>0&&!a&&Et&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&Et.push(i),i}const Me=yf;function yf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Hd)&&(e=Yt),In(e)){const l=Zo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&Et&&(l.shapeFlag&6?Et[Et.indexOf(e)]=l:Et.push(l)),l.patchFlag=-2,l}if(Nf(e)&&(e=e.__vccOpts),t){t=vf(t);let{class:l,style:i}=t;l&&!Je(l)&&(t.class=je(l)),He(i)&&(ms(i)&&!Ce(i)&&(i=tt({},i)),t.style=it(i))}const a=Je(e)?1:ti(e)?128:_r(e)?64:He(e)?4:Le(e)?2:0;return N(e,t,o,n,r,a,s,!0)}function vf(e){return e?ms(e)||Hl(e)?tt({},e):e:null}function Zo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?xf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ni(c),ref:t&&t.ref?o&&s?Ce(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zo(e.ssContent),ssFallback:e.ssFallback&&Zo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&ws(u,i.clone(u)),u}function nt(e=" ",t=0){return Me(Pn,null,e,t)}function Ie(e="",t=!1){return t?(V(),wo(Yt,null,e)):Me(Yt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Me(Yt):Ce(e)?Me(Se,null,e.slice()):In(e)?lo(e):Me(Pn,null,String(e))}function lo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zo(e)}function Er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ce(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Er(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Hl(t)?t._ctx=gt:r===3&>&&(gt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Le(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:gt},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function xf(...e){const t={};for(let o=0;oyt||gt;let Ar,Fn;{const e=ar(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Ar=t("__VUE_INSTANCE_SETTERS__",o=>yt=o),Fn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=yt;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{yt&&yt.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function Sf(e,t=!1,o=!1){t&&Fn(t);const{props:n,children:r}=e.vnode,s=si(e);lf(e,n,s,t),ff(e,r,o||t);const a=s?Ef(e,t):void 0;return t&&Fn(!1),a}function Ef(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vd);const{setup:n}=o;if(n){qt();const r=e.setupContext=n.length>1?Cf(e):null,s=Mn(e),a=Wo(n,e,0,[e.props,r]),l=Ra(a);if(Ht(),s(),(l||e.sp)&&!Xo(e)&&El(e),l){if(a.then(ri,ri),t)return a.then(i=>{Fn(!0);try{ai(e,i,t)}finally{Fn(!1)}}).catch(i=>{hr(i,e,0)});e.asyncDep=a}else ai(e,a)}else li(e)}function ai(e,t,o){Le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:He(t)&&(e.setupState=fl(t)),li(e)}function li(e,t,o){const n=e.type;e.render||(e.render=n.render||Bt);{const r=Mn(e);qt();try{Wd(e)}finally{Ht(),r()}}}const Af={get(e,t){return pt(e,"get",""),e[t]}};function Cf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Af),slots:e.slots,emit:e.emit,expose:t}}function Cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fl(ul(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Tn)return Tn[o](e)},has(t,o){return o in t||o in Tn}})):e.proxy}const Tf=/(?:^|[-_])\w/g,Lf=e=>e.replace(Tf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Pf(e,t=!0){return Le(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Pf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Lf(n):o?"App":"Anonymous"}function Nf(e){return Le(e)&&"__vccOpts"in e}const le=(e,t)=>_d(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?He(t)&&!Ce(t)?In(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&In(o)&&(o=[o]),Me(e,t,o))}finally{$r(1)}}const If="3.5.42";/** +`],...kd(o))}),t}function kd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${ii(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...$d(e.props),s]:[r+s]}function $d(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...pl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function pl(e,t,o){return Je(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=pl(e,ze(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Le(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ze(t),o?t:[`${e}=`,t])}function Wo(e,t,o,n){try{return n?e(...n):e()}catch(r){hr(r,t,o)}}function Rt(e,t,o,n){if(Le(e)){const r=Wo(e,t,o,n);return r&&Fa(r)&&r.catch(s=>{hr(s,t,o)}),r}if(Ce(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice(Ed(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function Ad(e){if(!Ce(e))yo&&e.id===-1?yo.splice(Yo+1,0,e):e.flags&1||(Ko.push(e),e.flags|=1);else for(let t=0;tSn(o)-Sn(n));if(Ko.length=0,yo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function _l(e){try{for(Wt=0;Wt{n._d&&$r(-1);const s=br(t),a=ao.length;let l;try{l=e(...r)}finally{for(let i=ao.length;i>a;i--)Rs();br(s),n._d&&$r(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Tt(e,t){if(gt===null)return e;const o=Cr(gt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Le(t)?t.call(n&&n.proxy):t}}const Cd=Symbol.for("v-scx"),Td=()=>Re(Cd);function ut(e,t,o){return vl(e,t,o)}function vl(e,t,o=We){const{immediate:n,deep:r,flush:s,once:a}=o,l=tt({},o),i=t&&n||!t&&s!=="post";let c;if(On){if(s==="sync"){const v=Td();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Bt,v.resume=Bt,v.pause=Bt,v}}const u=yt;l.call=(v,A,x)=>Rt(v,u,A,x);let f=!1;s==="post"?l.scheduler=v=>{_t(v,u&&u.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(v,A)=>{A?v():_s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=vd(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Ld(e,t,o){const n=this.proxy,r=Je(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Le(t)?s=t:(s=t.handler,o=t);const a=Mn(this),l=vl(r,s.bind(n),o);return a(),l}function xl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Mo=e=>e&&(e.disabled||e.disabled===""),Pd=e=>e&&(e.defer||e.defer===""),kl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$l=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ys=(e,t)=>{const o=e&&e.to;return Je(o)?t?t(o):null:o},Nd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:f,pbc:m,o:{insert:v,querySelector:A,createText:x,createComment:w,parentNode:L}}=c,y=Mo(t.props);let{dynamicChildren:p}=t;const g=($,D,I)=>{$.shapeFlag&16&&u($.children,D,I,r,s,a,l,i)},_=($=t)=>{const D=Mo($.props),I=$.target=ys($.props,A),H=vs(I,$,x,v);I&&(a!=="svg"&&kl(I)?a="svg":a!=="mathml"&&$l(I)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(I),D||(g($,I,H),En($,!1)))},S=$=>{const D=()=>{if(xo.get($)===D){if(xo.delete($),Mo($.props)){const I=L($.el)||o;g($,I,$.anchor),En($,!0)}_($)}};xo.set($,D),_t(D,s)};if(e==null){const $=t.el=x(""),D=t.anchor=x("");if(v($,o,n),v(D,o,n),Pd(t.props)||s&&s.pendingBranch){S(t);return}y&&(g(t,o,D),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,D=xo.get(e);if(D){D.flags|=8,xo.delete(e),S(t);return}t.targetStart=e.targetStart;const I=t.target=e.target,H=t.targetAnchor=e.targetAnchor,Q=Mo(e.props),se=Q?o:I,_e=Q?$:H;if(a==="svg"||kl(I)?a="svg":(a==="mathml"||$l(I))&&(a="mathml"),p?(m(e.dynamicChildren,p,se,r,s,a,l),Is(e,t,!0)):i||f(e,t,se,_e,r,s,a,l,!1),y)Q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=ys(t.props,A);q&&(t.target=q,yr(t,q,null,c,0))}else Q&&yr(t,I,H,c,1);En(t,y)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:f,props:m}=e,v=Mo(m),A=s||!v,x=xo.get(e);if(x&&(x.flags|=8,xo.delete(e)),f&&(r(c),r(u)),s&&r(i),!x&&(v||f)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Yt){t=o;break}}return t}function Sl(e){if(!ks(e))return _r(e.type)&&e.children?Rd(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Le(o.default))return o.default()}}function ws(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ws(_r(o.type)&&Sl(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function An(e,t){return Le(e)?tt({name:e.name},t,{setup:e}):e}function El(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Al(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const vr=new WeakMap;function Cn(e,t,o,n,r=!1){if(Ce(e)){e.forEach((x,w)=>Cn(x,t&&(Ce(t)?t[w]:t),o,n,r));return}if(Xo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Cn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Cr(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===We?l.refs={}:l.refs,f=l.setupState,m=ze(f),v=f===We?Na:x=>Al(u,x)?!1:Ge(m,x),A=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Je(c))u[c]=null,v(c)&&(f[c]=null);else if(at(c)){const x=t;A(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Le(i))Wo(i,l,12,[a,u]);else{const x=Je(i),w=at(i);if(x||w){const L=()=>{if(e.f){const y=x?v(i)?f[i]:u[i]:A()||!e.k?i.value:u[e.k];if(r)Ce(y)&&Qr(y,s);else if(Ce(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(f[i]=u[i]);else{const p=[s];A(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(f[i]=a)):w&&(A(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const y=()=>{L(),vr.delete(e)};y.id=-1,vr.set(e,y),_t(y,o)}else Cl(e),L()}}}function Cl(e){const t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}ar().requestIdleCallback,ar().cancelIdleCallback;const Xo=e=>!!e.type.__asyncLoader,ks=e=>e.type.__isKeepAlive;function Md(e,t){Tl(e,"a",t)}function Od(e,t){Tl(e,"da",t)}function Tl(e,t,o=yt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)ks(r.parent.vnode)&&Dd(n,t,o,r),r=r.parent}}function Dd(e,t,o,n){const r=xr(t,e,n,!0);$s(()=>{Qr(n[t],r)},o)}function xr(e,t,o=yt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const l=Mn(o),i=Rt(t,o,e,a);return l(),Ht(),i});return n?r.unshift(s):r.push(s),s}}const so=e=>(t,o=yt)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=so("bm"),mt=so("m"),jd=so("bu"),zd=so("u"),Kt=so("bum"),$s=so("um"),Ud=so("sp"),Bd=so("rtg"),Gd=so("rtc");function qd(e,t=yt){xr("ec",e,t)}const Hd=Symbol.for("v-ndc");function Ye(e,t,o,n){let r;const s=o,a=Ce(e);if(a||Je(e)){const l=a&&Io(e);let i=!1,c=!1;l&&(i=!Ct(e),c=oo(e),e=ir(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),V(),wo(Se,null,[Me("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=ao.length;V();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=wo(Se,{key:(u&&!Nt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=ao.length;u>l;u--)Rs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Pl(e){return e.some(t=>In(t)?!(t.type===Yt||t.type===Se&&!Pl(t.children)):!0)?e:null}const Ss=e=>e?si(e)?Cr(e):Ss(e.parent):null,Tn=tt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ss(e.parent),$root:e=>Ss(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rl(e),$forceUpdate:e=>e.f||(e.f=()=>{_s(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>Ld.bind(e)}),Es=(e,t)=>e!==We&&!e.__isScriptSetup&&Ge(e,t),Vd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Es(n,t))return a[t]=1,n[t];if(r!==We&&Ge(r,t))return a[t]=2,r[t];if(Ge(s,t))return a[t]=3,s[t];if(o!==We&&Ge(o,t))return a[t]=4,o[t];As&&(a[t]=0)}}const c=Tn[t];let u,f;if(c)return t==="$attrs"&&pt(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==We&&Ge(o,t))return a[t]=4,o[t];if(f=i.config.globalProperties,Ge(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Es(r,t)?(r[t]=o,!0):n!==We&&Ge(n,t)?(n[t]=o,!0):Ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==We&&l[0]!=="$"&&Ge(e,l)||Es(t,l)||Ge(s,l)||Ge(n,l)||Ge(Tn,l)||Ge(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ge(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Nl(e){return Ce(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let As=!0;function Wd(e){const t=Rl(e),o=e.proxy,n=e.ctx;As=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:v,updated:A,activated:x,deactivated:w,beforeDestroy:L,beforeUnmount:y,destroyed:p,unmounted:g,render:_,renderTracked:S,renderTriggered:$,errorCaptured:D,serverPrefetch:I,expose:H,inheritAttrs:Q,components:se,directives:_e,filters:q}=t;if(c&&Kd(c,n,null),a)for(const W in a){const T=a[W];Le(T)&&(n[W]=T.bind(o))}if(r){const W=r.call(o,o);He(W)&&(e.data=No(W))}if(As=!0,s)for(const W in s){const T=s[W],B=Le(T)?T.bind(o,o):Le(T.get)?T.get.bind(o,o):Bt,M=!Le(T)&&Le(T.set)?T.set.bind(o):Bt,P=le({get:B,set:M});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>P.value,set:Y=>P.value=Y})}if(l)for(const W in l)Fl(l[W],n,o,W);if(i){const W=Le(i)?i.call(o):i;Reflect.ownKeys(W).forEach(T=>{ro(T,W[T])})}u&&Il(u,e,"c");function K(W,T){Ce(T)?T.forEach(B=>W(B.bind(o))):T&&W(T.bind(o))}if(K(Ll,f),K(mt,m),K(jd,v),K(zd,A),K(Md,x),K(Od,w),K(qd,D),K(Gd,S),K(Bd,$),K(Kt,y),K($s,g),K(Ud,I),Ce(H))if(H.length){const W=e.exposed||(e.exposed={});H.forEach(T=>{Object.defineProperty(W,T,{get:()=>o[T],set:B=>o[T]=B,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===Bt&&(e.render=_),Q!=null&&(e.inheritAttrs=Q),se&&(e.components=se),_e&&(e.directives=_e),I&&El(e)}function Kd(e,t,o=Bt){Ce(e)&&(e=Cs(e));for(const n in e){const r=e[n];let s;He(r)?"default"in r?s=Re(r.from||n,r.default,!0):s=Re(r.from||n):s=Re(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Il(e,t,o){Rt(Ce(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Fl(e,t,o,n){let r=n.includes(".")?xl(o,n):()=>o[n];if(Je(e)){const s=t[e];Le(s)&&ut(r,s)}else if(Le(e))ut(r,e.bind(o));else if(He(e))if(Ce(e))e.forEach(s=>Fl(s,t,o,n));else{const s=Le(e.handler)?e.handler.bind(o):t[e.handler];Le(s)&&ut(r,s,e)}}function Rl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>wr(i,c,a,!0)),wr(i,t,a)),He(t)&&s.set(t,i),i}function wr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&wr(e,s,o,!0),r&&r.forEach(a=>wr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Yd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Yd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:bt,created:bt,beforeMount:bt,mounted:bt,beforeUpdate:bt,updated:bt,beforeDestroy:bt,beforeUnmount:bt,destroyed:bt,unmounted:bt,activated:bt,deactivated:bt,errorCaptured:bt,serverPrefetch:bt,components:Ln,directives:Ln,watch:Jd,provide:Ml,inject:Xd};function Ml(e,t){return t?e?function(){return tt(Le(e)?e.call(this,this):e,Le(t)?t.call(this,this):t)}:t:e}function Xd(e,t){return Ln(Cs(e),Cs(t))}function Cs(e){if(Ce(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${wt(t)}Modifiers`]||e[`${St(t)}Modifiers`];function tf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||We;let r=o;const s=t.startsWith("update:"),a=s&&ef(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Je(u)?u.trim():u)),a.number&&(r=r.map(os)));let l,i=n[l=ts(t)]||n[l=ts(wt(t))];!i&&s&&(i=n[l=ts(St(t))]),i&&Rt(i,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Rt(c,e,6,r)}}const of=new WeakMap;function jl(e,t,o=!1){const n=o?of:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Le(e)){const i=c=>{const u=jl(c,t,!0);u&&(l=!0,tt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(He(e)&&n.set(e,null),null):(Ce(s)?s.forEach(i=>a[i]=null):tt(a,s),He(e)&&n.set(e,a),a)}function kr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ge(e,t[0].toLowerCase()+t.slice(1))||Ge(e,St(t))||Ge(e,t))}function iw(){}function zl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:f,data:m,setupState:v,ctx:A,inheritAttrs:x}=e,w=br(e);let L,y;try{if(o.shapeFlag&4){const g=r||n,_=g;L=Xt(c.call(_,g,u,f,v,m,A)),y=l}else{const g=t;L=Xt(g.length>1?g(f,{attrs:l,slots:a,emit:i}):g(f,null)),y=t.props?l:nf(l)}}catch(g){ao.length=0,hr(g,e,1),L=Me(Yt)}let p=L;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=p;g.length&&_&7&&(s&&g.some(tr)&&(y=rf(y,s)),p=Zo(p,y,!1,!0))}if(o.dirs&&(p=Zo(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=_r(p.type)&&Sl(p)||p;ws(g,o.transition)}return L=p,br(w),L}const nf=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},rf=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function sf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Ul(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let f=0;fObject.create(Gl),Hl=e=>Object.getPrototypeOf(e)===Gl;function lf(e,t,o,n=!1){const r={},s=ql();e.propsDefaults=Object.create(null),Vl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:gd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function cf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=ze(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[m,v]=Wl(f,t,!0);tt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return He(e)&&n.set(e,qo),qo;if(Ce(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ps=e=>Ce(e)?e.map(Xt):[Xt(e)],df=(e,t,o)=>{if(t._n)return t;const n=vo((...r)=>Ps(t(...r)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ls(r))continue;const s=e[r];if(Le(s))t[r]=df(r,s,n);else if(s!=null){const a=Ps(s);t[r]=()=>a}}},Xl=(e,t)=>{const o=Ps(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!Ls(n))&&(e[n]=t[n])},ff=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const r=t._;r?(Jl(n,t,o),o&&Oa(n,"_",r,!0)):Yl(t,n)}else t&&Xl(e,t)},pf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=We;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:Jl(r,t,o):(s=!t.$stable,Yl(t,r)),a=t}else t&&(Xl(e,t),a={default:1});if(s)for(const l in r)!Ls(l)&&a[l]==null&&delete r[l]},_t=_f;function gf(e){return hf(e)}function hf(e,t){const o=ar();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:v=Bt,insertStaticContent:A}=e,x=(b,C,k,G=null,X=null,ne=null,z=void 0,j=null,d=!!C.dynamicChildren)=>{if(b===C)return;b&&!Fn(b,C)&&(G=Ee(b),Y(b,X,ne,!0),b=null),C.patchFlag===-2&&(d=!1,C.dynamicChildren=null);const{type:h,ref:F,shapeFlag:U}=C;switch(h){case Pn:w(b,C,k,G);break;case Yt:L(b,C,k,G);break;case Fs:b==null&&y(C,k,G,z);break;case Se:se(b,C,k,G,X,ne,z,j,d);break;default:U&1?_(b,C,k,G,X,ne,z,j,d):U&6?_e(b,C,k,G,X,ne,z,j,d):(U&64||U&128)&&h.process(b,C,k,G,X,ne,z,j,d,pe)}F!=null&&X?Cn(F,b&&b.ref,ne,C||b,!C):F==null&&b&&b.ref!=null&&Cn(b.ref,null,ne,b,!0)},w=(b,C,k,G)=>{if(b==null)n(C.el=l(C.children),k,G);else{const X=C.el=b.el;C.children!==b.children&&c(X,C.children)}},L=(b,C,k,G)=>{b==null?n(C.el=i(C.children||""),k,G):C.el=b.el},y=(b,C,k,G)=>{[b.el,b.anchor]=A(b.children,C,k,G,b.el,b.anchor)},p=({el:b,anchor:C},k,G)=>{let X;for(;b&&b!==C;)X=m(b),n(b,k,G),b=X;n(C,k,G)},g=({el:b,anchor:C})=>{let k;for(;b&&b!==C;)k=m(b),r(b),b=k;r(C)},_=(b,C,k,G,X,ne,z,j,d)=>{if(C.type==="svg"?z="svg":C.type==="math"&&(z="mathml"),b==null)S(C,k,G,X,ne,z,j,d);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),I(b,C,X,ne,z,j,d)}finally{h&&h._endPatch()}}},S=(b,C,k,G,X,ne,z,j)=>{let d,h;const{props:F,shapeFlag:U,transition:ee,dirs:re}=b;if(d=b.el=a(b.type,ne,F&&F.is,F),U&8?u(d,b.children):U&16&&D(b.children,d,null,G,X,Ns(b,ne),z,j),re&&Ro(b,null,G,"created"),$(d,b,b.scopeId,z,G),F){for(const E in F)E!=="value"&&!mn(E)&&s(d,E,null,F[E],ne,G);"value"in F&&s(d,"value",null,F.value,ne),(h=F.onVnodeBeforeMount)&&Jt(h,G,b)}re&&Ro(b,null,G,"beforeMount");const O=mf(X,ee);O&&ee.beforeEnter(d),n(d,C,k),((h=F&&F.onVnodeMounted)||O||re)&&_t(()=>{try{h&&Jt(h,G,b),O&&ee.enter(d),re&&Ro(b,null,G,"mounted")}finally{}},X)},$=(b,C,k,G,X)=>{if(k&&v(b,k),G)for(let ne=0;ne{for(let h=d;h{const j=C.el=b.el;let{patchFlag:d,dynamicChildren:h,dirs:F}=C;d|=b.patchFlag&16;const U=b.props||We,ee=C.props||We;let re;if(k&&Do(k,!1),(re=ee.onVnodeBeforeUpdate)&&Jt(re,k,C,b),F&&Ro(C,b,k,"beforeUpdate"),k&&Do(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(d=0,z=!1,h=null),(U.innerHTML&&ee.innerHTML==null||U.textContent&&ee.textContent==null)&&u(j,""),h?H(b.dynamicChildren,h,j,k,G,Ns(C,X),ne):z||T(b,C,j,null,k,G,Ns(C,X),ne,!1),d>0){if(d&16)Q(j,U,ee,k,X);else if(d&2&&U.class!==ee.class&&s(j,"class",null,ee.class,X),d&4&&s(j,"style",U.style,ee.style,X),d&8){const O=C.dynamicProps;for(let E=0;E{re&&Jt(re,k,C,b),F&&Ro(C,b,k,"updated")},G)},H=(b,C,k,G,X,ne,z)=>{for(let j=0;j{if(C!==k){if(C!==We)for(const ne in C)!mn(ne)&&!(ne in k)&&s(b,ne,C[ne],null,X,G);for(const ne in k){if(mn(ne))continue;const z=k[ne],j=C[ne];z!==j&&ne!=="value"&&s(b,ne,j,z,X,G)}"value"in k&&s(b,"value",C.value,k.value,X)}},se=(b,C,k,G,X,ne,z,j,d)=>{const h=C.el=b?b.el:l(""),F=C.anchor=b?b.anchor:l("");let{patchFlag:U,dynamicChildren:ee,slotScopeIds:re}=C;re&&(j=j?j.concat(re):re),b==null?(n(h,k,G),n(F,k,G),D(C.children||[],k,F,X,ne,z,j,d)):U>0&&U&64&&ee&&b.dynamicChildren&&b.dynamicChildren.length===ee.length?(H(b.dynamicChildren,ee,k,X,ne,z,j),(C.key!=null||X&&C===X.subTree)&&Is(b,C,!0)):T(b,C,k,F,X,ne,z,j,d)},_e=(b,C,k,G,X,ne,z,j,d)=>{C.slotScopeIds=j,b==null?C.shapeFlag&512?X.ctx.activate(C,k,G,z,d):q(C,k,G,X,ne,z,d):oe(b,C,d)},q=(b,C,k,G,X,ne,z)=>{const j=b.component=$f(b,G,X);if(ks(b)&&(j.ctx.renderer=pe),Sf(j,!1,z),j.asyncDep){if(X&&X.registerDep(j,K,z),!b.el){const d=j.subTree=Me(Yt);L(null,d,C,k),b.placeholder=d.el}}else K(j,b,C,k,X,ne,z)},oe=(b,C,k)=>{const G=C.component=b.component;if(sf(b,C,k))if(G.asyncDep&&!G.asyncResolved){W(G,C,k);return}else G.next=C,G.update();else C.el=b.el,G.vnode=C},K=(b,C,k,G,X,ne,z)=>{const j=()=>{if(b.isMounted){let{next:U,bu:ee,u:re,parent:O,vnode:E}=b;{const Be=Zl(b);if(Be){U&&(U.el=E.el,W(b,U,z)),Be.asyncDep.then(()=>{_t(()=>{b.isUnmounted||h()},X)});return}}let te=U,ae;Do(b,!1),U?(U.el=E.el,W(b,U,z)):U=E,ee&&sr(ee),(ae=U.props&&U.props.onVnodeBeforeUpdate)&&Jt(ae,O,U,E),Do(b,!0);const he=zl(b),ve=b.subTree;b.subTree=he,x(ve,he,f(ve.el),Ee(ve),b,X,ne),U.el=he.el,te===null&&af(b,he.el),re&&_t(re,X),(ae=U.props&&U.props.onVnodeUpdated)&&_t(()=>Jt(ae,O,U,E),X)}else{let U;const{el:ee,props:re}=C,{bm:O,m:E,parent:te,root:ae,type:he}=b,ve=Xo(C);Do(b,!1),O&&sr(O),!ve&&(U=re&&re.onVnodeBeforeMount)&&Jt(U,te,C),Do(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(he,b.parent?b.parent.type:void 0);const Be=b.subTree=zl(b);x(null,Be,k,G,b,X,ne),C.el=Be.el}if(E&&_t(E,X),!ve&&(U=re&&re.onVnodeMounted)){const Be=C;_t(()=>Jt(U,te,Be),X)}(C.shapeFlag&256||te&&Xo(te.vnode)&&te.vnode.shapeFlag&256)&&b.a&&_t(b.a,X),b.isMounted=!0,C=k=G=null}};b.scope.on();const d=b.effect=new Va(j);b.scope.off();const h=b.update=d.run.bind(d),F=b.job=d.runIfDirty.bind(d);F.i=b,F.id=b.uid,d.scheduler=()=>_s(F),Do(b,!0),h()},W=(b,C,k)=>{C.component=b;const G=b.vnode.props;b.vnode=C,b.next=null,cf(b,C.props,G,k),pf(b,C.children,k),qt(),ml(b),Ht()},T=(b,C,k,G,X,ne,z,j,d=!1)=>{const h=b&&b.children,F=b?b.shapeFlag:0,U=C.children,{patchFlag:ee,shapeFlag:re}=C;if(ee>0){if(ee&128){M(h,U,k,G,X,ne,z,j,d);return}else if(ee&256){B(h,U,k,G,X,ne,z,j,d);return}}re&8?(F&16&&Ne(h,X,ne),U!==h&&u(k,U)):F&16?re&16?M(h,U,k,G,X,ne,z,j,d):Ne(h,X,ne,!0):(F&8&&u(k,""),re&16&&D(U,k,G,X,ne,z,j,d))},B=(b,C,k,G,X,ne,z,j,d)=>{b=b||qo,C=C||qo;const h=b.length,F=C.length,U=Math.min(h,F);let ee;for(ee=0;eeF?Ne(b,X,ne,!0,!1,U):D(C,k,G,X,ne,z,j,d,U)},M=(b,C,k,G,X,ne,z,j,d)=>{let h=0;const F=C.length;let U=b.length-1,ee=F-1;for(;h<=U&&h<=ee;){const re=b[h],O=C[h]=d?lo(C[h]):Xt(C[h]);if(Fn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;h++}for(;h<=U&&h<=ee;){const re=b[U],O=C[ee]=d?lo(C[ee]):Xt(C[ee]);if(Fn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;U--,ee--}if(h>U){if(h<=ee){const re=ee+1,O=reee)for(;h<=U;)Y(b[h],X,ne,!0),h++;else{const re=h,O=h,E=new Map;for(h=O;h<=ee;h++){const et=C[h]=d?lo(C[h]):Xt(C[h]);et.key!=null&&E.set(et.key,h)}let te,ae=0;const he=ee-O+1;let ve=!1,Be=0;const qe=new Array(he);for(h=0;h=he){Y(et,X,ne,!0);continue}let Pt;if(et.key!=null)Pt=E.get(et.key);else for(te=O;te<=ee;te++)if(qe[te-O]===0&&Fn(et,C[te])){Pt=te;break}Pt===void 0?Y(et,X,ne,!0):(qe[Pt-O]=h+1,Pt>=Be?Be=Pt:ve=!0,x(et,C[Pt],k,null,X,ne,z,j,d),ae++)}const st=ve?bf(qe):qo;for(te=st.length-1,h=he-1;h>=0;h--){const et=O+h,Pt=C[et],Zn=C[et+1],Qn=et+1{const{el:ne,type:z,transition:j,children:d,shapeFlag:h}=b;if(h&6){P(b.component.subTree,C,k,G);return}if(h&128){b.suspense.move(C,k,G);return}if(h&64){z.move(b,C,k,pe);return}if(z===Se){n(ne,C,k);for(let U=0;Uj.enter(ne),X));else{const{leave:U,delayLeave:ee,afterLeave:re}=j,O=()=>{b.ctx.isUnmounted?r(ne):n(ne,C,k)},E=()=>{const te=ne._isLeaving||!!ne[xs];ne._isLeaving&&ne[xs](!0),j.persisted&&!te?O():U(ne,()=>{O(),re&&re()})};ee?ee(ne,O,E):E()}else n(ne,C,k)},Y=(b,C,k,G=!1,X=!1)=>{const{type:ne,props:z,ref:j,children:d,dynamicChildren:h,shapeFlag:F,patchFlag:U,dirs:ee,cacheIndex:re,memo:O}=b;if(U===-2&&(X=!1),j!=null&&(qt(),Cn(j,null,k,b,!0),Ht()),re!=null&&(C.renderCache[re]=void 0),F&256){C.ctx.deactivate(b);return}const E=F&1&&ee,te=!Xo(b);let ae;if(te&&(ae=z&&z.onVnodeBeforeUnmount)&&Jt(ae,C,b),F&6)$e(b.component,k,G);else{if(F&128){b.suspense.unmount(k,G);return}E&&Ro(b,null,C,"beforeUnmount"),F&64?b.type.remove(b,C,k,pe,G):h&&!h.hasOnce&&(ne!==Se||U>0&&U&64)?Ne(h,C,k,!1,!0):(ne===Se&&U&384||!X&&F&16)&&Ne(d,C,k),G&&ie(b)}const he=O!=null&&re==null;(te&&(ae=z&&z.onVnodeUnmounted)||E||he)&&_t(()=>{ae&&Jt(ae,C,b),E&&Ro(b,null,C,"unmounted"),he&&(b.el=null)},k)},ie=b=>{const{type:C,el:k,anchor:G,transition:X}=b;if(C===Se){be(k,G);return}if(C===Fs){g(b);return}const ne=()=>{r(k),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(b.shapeFlag&1&&X&&!X.persisted){const{leave:z,delayLeave:j}=X,d=()=>z(k,ne);j?j(b.el,ne,d):d()}else ne()},be=(b,C)=>{let k;for(;b!==C;)k=m(b),r(b),b=k;r(C)},$e=(b,C,k)=>{const{bum:G,scope:X,job:ne,subTree:z,um:j,m:d,a:h}=b;Ql(d),Ql(h),G&&sr(G),X.stop(),ne&&(ne.flags|=8,Y(z,b,C,k)),j&&_t(j,C),_t(()=>{b.isUnmounted=!0},C)},Ne=(b,C,k,G=!1,X=!1,ne=0)=>{for(let z=ne;z{if(b.shapeFlag&6)return Ee(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const C=m(b.anchor||b.el),k=C&&C[wl];return k?m(k):C};let ke=!1;const me=(b,C,k)=>{let G;b==null?C._vnode&&(Y(C._vnode,null,null,!0),G=C._vnode.component):x(C._vnode||null,b,C,null,null,null,k),C._vnode=b,ke||(ke=!0,ml(G),bl(),ke=!1)},pe={p:x,um:Y,m:P,r:ie,mt:q,mc:D,pc:T,pbc:H,n:Ee,o:e};return{render:me,hydrate:void 0,createApp:Qd(me)}}function Ns({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Do({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function mf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Is(e,t,o=!1){const n=e.children,r=t.children;if(Ce(n)&&Ce(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function Zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zl(t)}function Ql(e){if(e)for(let t=0;te.__isSuspense;function _f(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const Se=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Yt=Symbol.for("v-cmt"),Fs=Symbol.for("v-stc"),ao=[];let Et=null;function V(e=!1){ao.push(Et=e?null:[])}function Rs(){ao.pop(),Et=ao[ao.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&Et&&t&&(Et.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?Et||qo:null,Rs(),Nn>0&&Et&&Et.push(e),e}function J(e,t,o,n,r,s){return oi(N(e,t,o,n,r,s,!0))}function wo(e,t,o,n,r){return oi(Me(e,t,o,n,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function Fn(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Je(e)||at(e)||Le(e)?{i:gt,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,r=null,s=e===Se?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Sr(t),scopeId:yl,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:gt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Je(o)?8:16),Nn>0&&!a&&Et&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&Et.push(i),i}const Me=yf;function yf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Hd)&&(e=Yt),In(e)){const l=Zo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&Et&&(l.shapeFlag&6?Et[Et.indexOf(e)]=l:Et.push(l)),l.patchFlag=-2,l}if(Nf(e)&&(e=e.__vccOpts),t){t=vf(t);let{class:l,style:i}=t;l&&!Je(l)&&(t.class=je(l)),He(i)&&(ms(i)&&!Ce(i)&&(i=tt({},i)),t.style=it(i))}const a=Je(e)?1:ti(e)?128:_r(e)?64:He(e)?4:Le(e)?2:0;return N(e,t,o,n,r,a,s,!0)}function vf(e){return e?ms(e)||Hl(e)?tt({},e):e:null}function Zo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?xf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ni(c),ref:t&&t.ref?o&&s?Ce(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zo(e.ssContent),ssFallback:e.ssFallback&&Zo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&ws(u,i.clone(u)),u}function nt(e=" ",t=0){return Me(Pn,null,e,t)}function Ie(e="",t=!1){return t?(V(),wo(Yt,null,e)):Me(Yt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Me(Yt):Ce(e)?Me(Se,null,e.slice()):In(e)?lo(e):Me(Pn,null,String(e))}function lo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zo(e)}function Er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ce(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Er(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Hl(t)?t._ctx=gt:r===3&>&&(gt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Le(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:gt},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function xf(...e){const t={};for(let o=0;oyt||gt;let Ar,Rn;{const e=ar(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Ar=t("__VUE_INSTANCE_SETTERS__",o=>yt=o),Rn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=yt;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{yt&&yt.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function Sf(e,t=!1,o=!1){t&&Rn(t);const{props:n,children:r}=e.vnode,s=si(e);lf(e,n,s,t),ff(e,r,o||t);const a=s?Ef(e,t):void 0;return t&&Rn(!1),a}function Ef(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vd);const{setup:n}=o;if(n){qt();const r=e.setupContext=n.length>1?Cf(e):null,s=Mn(e),a=Wo(n,e,0,[e.props,r]),l=Fa(a);if(Ht(),s(),(l||e.sp)&&!Xo(e)&&El(e),l){if(a.then(ri,ri),t)return a.then(i=>{Rn(!0);try{ai(e,i,t)}finally{Rn(!1)}}).catch(i=>{hr(i,e,0)});e.asyncDep=a}else ai(e,a)}else li(e)}function ai(e,t,o){Le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:He(t)&&(e.setupState=fl(t)),li(e)}function li(e,t,o){const n=e.type;e.render||(e.render=n.render||Bt);{const r=Mn(e);qt();try{Wd(e)}finally{Ht(),r()}}}const Af={get(e,t){return pt(e,"get",""),e[t]}};function Cf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Af),slots:e.slots,emit:e.emit,expose:t}}function Cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fl(ul(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Tn)return Tn[o](e)},has(t,o){return o in t||o in Tn}})):e.proxy}const Tf=/(?:^|[-_])\w/g,Lf=e=>e.replace(Tf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Pf(e,t=!0){return Le(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Pf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Lf(n):o?"App":"Anonymous"}function Nf(e){return Le(e)&&"__vccOpts"in e}const le=(e,t)=>_d(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?He(t)&&!Ce(t)?In(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&In(o)&&(o=[o]),Me(e,t,o))}finally{$r(1)}}const If="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ms;const ui=typeof window<"u"&&window.trustedTypes;if(ui)try{Ms=ui.createPolicy("vue",{createHTML:e=>e})}catch{}const di=Ms?e=>Ms.createHTML(e):e=>e,Rf="http://www.w3.org/2000/svg",Ff="http://www.w3.org/1998/Math/MathML",io=typeof document<"u"?document:null,fi=io&&io.createElement("template"),Mf={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const r=t==="svg"?io.createElementNS(Rf,e):t==="mathml"?io.createElementNS(Ff,e):o?io.createElement(e,{is:o}):io.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>io.createTextNode(e),createComment:e=>io.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>io.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{fi.innerHTML=di(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=fi.content;if(n==="svg"||n==="mathml"){const i=l.firstChild;for(;i.firstChild;)l.appendChild(i.firstChild);l.removeChild(i)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Of=Symbol("_vtc");function Df(e,t,o){const n=e[Of];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Tr=Symbol("_vod"),pi=Symbol("_vsh"),Mt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Tr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Dn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Dn(e,!0),n.enter(e)):n.leave(e,()=>{Dn(e,!1)}):Dn(e,t))},beforeUnmount(e,{value:t}){Dn(e,t)}};function Dn(e,t){e.style.display=t?e[Tr]:"none",e[pi]=!t}const jf=Symbol(""),zf=/(?:^|;)\s*display\s*:/;function Uf(e,t,o){const n=e.style,r=Je(o);let s=!1;if(o&&!r){if(t)if(Je(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&jn(n,l,"")}else for(const a in t)o[a]==null&&jn(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?Gf(e,a,!Je(t)&&t?t[a]:void 0,l)||jn(n,a,l):jn(n,a,"")}}else if(r){if(t!==o){const a=n[jf];a&&(o+=";"+a),n.cssText=o,s=zf.test(o)}}else t&&e.removeAttribute("style");Tr in e&&(e[Tr]=s?n.display:"",e[pi]&&(n.display="none"))}const Lr=/\s*!important$/;function jn(e,t,o){if(Ce(o))o.forEach(n=>jn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Lr.test(o)?e.setProperty(t,o.replace(Lr,""),"important"):e.setProperty(t,o);else{const n=Bf(e,t);Lr.test(o)?e.setProperty(St(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Os={};function Bf(e,t){const o=Os[t];if(o)return o;let n=wt(t);if(n!=="filter"&&n in e)return Os[t]=n;n=Ma(n);for(let r=0;rDs||(Yf.then(()=>Ds=0),Ds=Date.now());function Jf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Ce(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Zf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Df(e,n,a):t==="style"?Uf(e,o,n):er(t)?tr(t)||Hf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qf(e,t,n,a))?(bi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mi(e,t,n,a,s,t!=="value")):e._isVueCE&&(ep(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Je(n)))?bi(e,wt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Qf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Le(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yi(t)&&Je(o)?!1:t in e}function ep(e,t){const o=e._def.props;if(!o)return!1;const n=wt(t);return Array.isArray(o)?o.some(r=>wt(r)===n):Object.keys(o).some(r=>wt(r)===n)}const vi={};function tp(e,t,o){let n=An(e,t);nr(n)&&(n=tt({},n,t));class r extends js{constructor(a){super(n,a,o)}}return r.def=n,r}const op=typeof HTMLElement<"u"?HTMLElement:class{};class js extends op{constructor(t,o={},n=Si){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Si?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof js){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,$n(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=n;let l;if(s&&!Ce(s))for(const i in s){const c=s[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Da(this._props[i])),(l||(l=Object.create(null)))[wt(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ge(this,n)||Object.defineProperty(this,n,{get:()=>fe(o[n])})}_resolveProps(t){const{props:o}=t,n=Ce(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(wt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vi;const r=wt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Da(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vi?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(St(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(St(t),o+""):o||this.removeAttribute(St(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),cp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Me(this._def,tt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,nr(a[0])?tt({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),St(s)!==s&&r(St(s),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let i=t.length-1;i>=0;i--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[i],s.insertBefore(c,l||a),l=c,i===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Ce(t)?o=>sr(t,o):t};function np(e){e.target.composing=!0}function wi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pr=Symbol("_assign"),Nr=Symbol("_initialValue");function zs(e,t,o){return t&&(e=e.trim()),o&&(e=os(e)),e}const rp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[Nr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Nr]=e.defaultValue.replace(/\r\n?/g,` +**/let Ms;const ui=typeof window<"u"&&window.trustedTypes;if(ui)try{Ms=ui.createPolicy("vue",{createHTML:e=>e})}catch{}const di=Ms?e=>Ms.createHTML(e):e=>e,Ff="http://www.w3.org/2000/svg",Rf="http://www.w3.org/1998/Math/MathML",io=typeof document<"u"?document:null,fi=io&&io.createElement("template"),Mf={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const r=t==="svg"?io.createElementNS(Ff,e):t==="mathml"?io.createElementNS(Rf,e):o?io.createElement(e,{is:o}):io.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>io.createTextNode(e),createComment:e=>io.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>io.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{fi.innerHTML=di(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=fi.content;if(n==="svg"||n==="mathml"){const i=l.firstChild;for(;i.firstChild;)l.appendChild(i.firstChild);l.removeChild(i)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Of=Symbol("_vtc");function Df(e,t,o){const n=e[Of];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Tr=Symbol("_vod"),pi=Symbol("_vsh"),Mt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Tr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Dn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Dn(e,!0),n.enter(e)):n.leave(e,()=>{Dn(e,!1)}):Dn(e,t))},beforeUnmount(e,{value:t}){Dn(e,t)}};function Dn(e,t){e.style.display=t?e[Tr]:"none",e[pi]=!t}const jf=Symbol(""),zf=/(?:^|;)\s*display\s*:/;function Uf(e,t,o){const n=e.style,r=Je(o);let s=!1;if(o&&!r){if(t)if(Je(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&jn(n,l,"")}else for(const a in t)o[a]==null&&jn(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?Gf(e,a,!Je(t)&&t?t[a]:void 0,l)||jn(n,a,l):jn(n,a,"")}}else if(r){if(t!==o){const a=n[jf];a&&(o+=";"+a),n.cssText=o,s=zf.test(o)}}else t&&e.removeAttribute("style");Tr in e&&(e[Tr]=s?n.display:"",e[pi]&&(n.display="none"))}const Lr=/\s*!important$/;function jn(e,t,o){if(Ce(o))o.forEach(n=>jn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Lr.test(o)?e.setProperty(t,o.replace(Lr,""),"important"):e.setProperty(t,o);else{const n=Bf(e,t);Lr.test(o)?e.setProperty(St(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Os={};function Bf(e,t){const o=Os[t];if(o)return o;let n=wt(t);if(n!=="filter"&&n in e)return Os[t]=n;n=Ma(n);for(let r=0;rDs||(Yf.then(()=>Ds=0),Ds=Date.now());function Jf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Ce(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Zf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Df(e,n,a):t==="style"?Uf(e,o,n):er(t)?tr(t)||Hf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qf(e,t,n,a))?(bi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mi(e,t,n,a,s,t!=="value")):e._isVueCE&&(ep(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Je(n)))?bi(e,wt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Qf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Le(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yi(t)&&Je(o)?!1:t in e}function ep(e,t){const o=e._def.props;if(!o)return!1;const n=wt(t);return Array.isArray(o)?o.some(r=>wt(r)===n):Object.keys(o).some(r=>wt(r)===n)}const vi={};function tp(e,t,o){let n=An(e,t);nr(n)&&(n=tt({},n,t));class r extends js{constructor(a){super(n,a,o)}}return r.def=n,r}const op=typeof HTMLElement<"u"?HTMLElement:class{};class js extends op{constructor(t,o={},n=Si){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Si?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof js){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,$n(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=n;let l;if(s&&!Ce(s))for(const i in s){const c=s[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Da(this._props[i])),(l||(l=Object.create(null)))[wt(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ge(this,n)||Object.defineProperty(this,n,{get:()=>fe(o[n])})}_resolveProps(t){const{props:o}=t,n=Ce(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(wt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vi;const r=wt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Da(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vi?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(St(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(St(t),o+""):o||this.removeAttribute(St(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),cp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Me(this._def,tt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,nr(a[0])?tt({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),St(s)!==s&&r(St(s),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let i=t.length-1;i>=0;i--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[i],s.insertBefore(c,l||a),l=c,i===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Ce(t)?o=>sr(t,o):t};function np(e){e.target.composing=!0}function wi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pr=Symbol("_assign"),Nr=Symbol("_initialValue");function zs(e,t,o){return t&&(e=e.trim()),o&&(e=os(e)),e}const rp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[Nr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Nr]=e.defaultValue.replace(/\r\n?/g,` `))),e[Pr]=xi(r);const s=n||r.props&&r.props.type==="number";Qo(e,t?"change":"input",a=>{a.target.composing||e[Pr](zs(e.value,o,s))}),(o||s)&&Qo(e,"change",()=>{e.value=zs(e.value,o,s)}),t||(Qo(e,"compositionstart",np),Qo(e,"compositionend",wi),Qo(e,"change",wi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",s=e[Nr];delete e[Nr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Pr](zs(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:s}},a){if(e[Pr]=xi(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?os(e.value):e.value,i=t??"";if(l===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||r&&e.value.trim()===i)||(e.value=i)}},sp=["ctrl","shift","alt","meta"],ap={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>sp.some(o=>e[`${o}Key`]&&!t.includes(o))},en=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...s)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const s=St(r.key);if(t.some(a=>a===s||lp[a]===s))return e(r)})},ip=tt({patchProp:Zf},Mf);let ki;function $i(){return ki||(ki=gf(ip))}const cp=(...e)=>{$i().render(...e)},Si=(...e)=>{const t=$i().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=dp(n);if(!r)return;const s=t._component;!Le(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=o(r,!1,up(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function up(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function dp(e){return Je(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const fp=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function pp(){const e=Ha(!0),t=e.run(()=>ue({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(fp,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const gp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},mp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},bp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},yp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={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"},Sp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ep={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Ap={menuComingSoon:"Menü folgt in Kürze"},Cp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Tp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Lp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Pp={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Np={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Rp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Fp={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Mp={menuComingSoon:"Menu coming soon"},Op={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},jp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zp={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Up={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Bp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Gp={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"},qp={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Hp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Vp={menuComingSoon:"Menú próximamente"},Wp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Kp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Yp={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Xp={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Jp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Zp={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"},Qp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},eg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},tg={menuComingSoon:"Menu bientôt disponible"},og={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},sg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},ag={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ig={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},cg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},ug={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},dg={menuComingSoon:"मेनू शीघ्र आ रहा है"},fg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},pg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},gg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},mg={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"},bg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_g={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},yg={menuComingSoon:"Menu in arrivo"},vg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},xg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$g={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"},Sg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Eg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Ag={menuComingSoon:"Menu em breve"},Cg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Tg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Lg={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Pg={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Ng={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Ig={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ă"},Rg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Fg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Mg={menuComingSoon:"Meniu în curând"},Og={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},jg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},zg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Ug={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Bg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Gg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},qg={menuComingSoon:"Меню скоро появится"},Hg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Wg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Kg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Yg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Xg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Jg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Zg={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Qg={menuComingSoon:"菜单即将推出"},eh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},oh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */const fp=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function pp(){const e=Ha(!0),t=e.run(()=>ue({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(fp,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const gp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},mp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},bp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},yp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={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"},Sp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ep={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Ap={menuComingSoon:"Menü folgt in Kürze"},Cp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Tp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Lp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Pp={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Np={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Fp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Rp={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Mp={menuComingSoon:"Menu coming soon"},Op={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},jp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zp={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Up={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Bp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Gp={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"},qp={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Hp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Vp={menuComingSoon:"Menú próximamente"},Wp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Kp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Yp={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Xp={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Jp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Zp={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"},Qp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},eg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},tg={menuComingSoon:"Menu bientôt disponible"},og={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},sg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},ag={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ig={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},cg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},ug={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},dg={menuComingSoon:"मेनू शीघ्र आ रहा है"},fg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},pg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},gg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},mg={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"},bg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_g={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},yg={menuComingSoon:"Menu in arrivo"},vg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},xg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$g={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"},Sg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Eg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Ag={menuComingSoon:"Menu em breve"},Cg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Tg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Lg={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Pg={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Ng={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Ig={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ă"},Fg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Rg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Mg={menuComingSoon:"Meniu în curând"},Og={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},jg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},zg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Ug={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Bg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Gg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},qg={menuComingSoon:"Меню скоро появится"},Hg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Wg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Kg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Yg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Xg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Jg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Zg={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Qg={menuComingSoon:"菜单即将推出"},eh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},oh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function nh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Rr=typeof window<"u",$o=(e,t=!1)=>t?Symbol.for(e):Symbol(e),rh=(e,t,o)=>sh({l:e,k:t,s:o}),sh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),ah=e=>Pi(e)==="[object Date]",So=e=>Pi(e)==="[object RegExp]",Fr=e=>Pe(e)&&Object.keys(e).length===0,dt=Object.assign,lh=Object.create,Ve=(e=null)=>lh(e);let Ai;const co=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ve());function Ci(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ti(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ih(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Ti(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Ti(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const ch=Object.prototype.hasOwnProperty;function Ot(e,t){return ch.call(e,t)}const Ze=Array.isArray,Xe=e=>typeof e=="function",ge=e=>typeof e=="string",De=e=>typeof e=="boolean",Ue=e=>e!==null&&typeof e=="object",uh=e=>Ue(e)&&Xe(e.then)&&Xe(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Pe=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},dh=e=>e==null?"":Ze(e)||Pe(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function fh(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Mr(e){let t=e;return()=>++t}const Or=e=>!Ue(e)||Ze(e);function Dr(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(Ue(n[s])&&!Ue(r[s])&&(r[s]=Array.isArray(n[s])?[]:Ve()),Or(r[s])||Or(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! + */function nh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Fr=typeof window<"u",$o=(e,t=!1)=>t?Symbol.for(e):Symbol(e),rh=(e,t,o)=>sh({l:e,k:t,s:o}),sh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),ah=e=>Pi(e)==="[object Date]",So=e=>Pi(e)==="[object RegExp]",Rr=e=>Pe(e)&&Object.keys(e).length===0,dt=Object.assign,lh=Object.create,Ve=(e=null)=>lh(e);let Ai;const co=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ve());function Ci(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ti(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ih(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Ti(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Ti(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const ch=Object.prototype.hasOwnProperty;function Ot(e,t){return ch.call(e,t)}const Ze=Array.isArray,Xe=e=>typeof e=="function",ge=e=>typeof e=="string",De=e=>typeof e=="boolean",Ue=e=>e!==null&&typeof e=="object",uh=e=>Ue(e)&&Xe(e.then)&&Xe(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Pe=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},dh=e=>e==null?"":Ze(e)||Pe(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function fh(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Mr(e){let t=e;return()=>++t}const Or=e=>!Ue(e)||Ze(e);function Dr(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(Ue(n[s])&&!Ue(r[s])&&(r[s]=Array.isArray(n[s])?[]:Ve()),Or(r[s])||Or(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ph(e,t,o){return{line:e,column:t,offset:o}}function jr(e,t,o){return{start:e,end:t}}const gh=/\{([0-9a-zA-Z]+)\}/g;function Ni(e,...t){return t.length===1&&hh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(gh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Ri=e=>typeof e=="string",hh=e=>e!==null&&typeof e=="object";function Fi(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Us={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mh={[Us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function bh(e,t,...o){const n=Ni(mh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ae={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},_h={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function tn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ni((r||_h)[e]||"",...s||[]),l=new SyntaxError(String(a));return l.code=e,t&&(l.location=t),l.domain=n,l}function yh(e){throw e}const uo=" ",vh="\r",vt=` -`,xh="\u2028",wh="\u2029";function kh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===vh&&t[$+1]===vt,l=$=>t[$]===vt,i=$=>t[$]===wh,c=$=>t[$]===xh,u=$=>a($)||l($)||i($)||c($),f=()=>o,m=()=>n,v=()=>r,A=()=>s,x=$=>a($)||i($)||c($)?vt:t[$],w=()=>x(o),L=()=>x(o+s);function y(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function p(){return a(o+s)&&s++,s++,t[o+s]}function g(){o=0,n=1,r=1,s=0}function _($=0){s=$}function S(){const $=o+s;for(;$!==o;)y();s=0}return{index:f,line:m,column:v,peekOffset:A,charAt:x,currentChar:w,currentPeek:L,next:y,peek:p,reset:g,resetPeek:_,skipToPeek:S}}const Eo=void 0,$h=".",Mi="'",Sh="tokenizer";function Eh(e,t={}){const o=t.location!==!1,n=kh(e),r=()=>n.index(),s=()=>ph(n.line(),n.column(),n.index()),a=s(),l=r(),i={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function f(d,h,R,...U){const ee=c();if(h.column+=R,h.offset+=R,u){const re=o?jr(ee.startLoc,h):null,O=tn(d,re,{domain:Sh,args:U});u(O)}}function m(d,h,R){d.endLoc=s(),d.currentType=h;const U={type:h};return o&&(U.loc=jr(d.startLoc,d.endLoc)),R!=null&&(U.value=R),U}const v=d=>m(d,14);function A(d,h){return d.currentChar()===h?(d.next(),h):(f(Ae.EXPECTED_TOKEN,s(),0,h),"")}function x(d){let h="";for(;d.currentPeek()===uo||d.currentPeek()===vt;)h+=d.currentPeek(),d.peek();return h}function w(d){const h=x(d);return d.skipToPeek(),h}function L(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=48&&h<=57}function p(d,h){const{currentType:R}=h;if(R!==2)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function g(d,h){const{currentType:R}=h;if(R!==2)return!1;x(d);const U=d.currentPeek()==="-"?d.peek():d.currentPeek(),ee=y(U);return d.resetPeek(),ee}function _(d,h){const{currentType:R}=h;if(R!==2)return!1;x(d);const U=d.currentPeek()===Mi;return d.resetPeek(),U}function S(d,h){const{currentType:R}=h;if(R!==8)return!1;x(d);const U=d.currentPeek()===".";return d.resetPeek(),U}function $(d,h){const{currentType:R}=h;if(R!==9)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function D(d,h){const{currentType:R}=h;if(!(R===8||R===12))return!1;x(d);const U=d.currentPeek()===":";return d.resetPeek(),U}function I(d,h){const{currentType:R}=h;if(R!==10)return!1;const U=()=>{const re=d.currentPeek();return re==="{"?L(d.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===uo||!re?!1:re===vt?(d.peek(),U()):se(d,!1)},ee=U();return d.resetPeek(),ee}function H(d){x(d);const h=d.currentPeek()==="|";return d.resetPeek(),h}function Q(d){const h=x(d),R=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:R,hasSpace:h.length>0}}function se(d,h=!0){const R=(ee=!1,re="",O=!1)=>{const E=d.currentPeek();return E==="{"?re==="%"?!1:ee:E==="@"||!E?re==="%"?!0:ee:E==="%"?(d.peek(),R(ee,"%",!0)):E==="|"?re==="%"||O?!0:!(re===uo||re===vt):E===uo?(d.peek(),R(!0,uo,O)):E===vt?(d.peek(),R(!0,vt,O)):!0},U=R();return h&&d.resetPeek(),U}function _e(d,h){const R=d.currentChar();return R===Eo?Eo:h(R)?(d.next(),R):null}function q(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function oe(d){return _e(d,q)}function K(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function W(d){return _e(d,K)}function T(d){const h=d.charCodeAt(0);return h>=48&&h<=57}function B(d){return _e(d,T)}function M(d){const h=d.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function P(d){return _e(d,M)}function Y(d){let h="",R="";for(;h=B(d);)R+=h;return R}function ie(d){w(d);const h=d.currentChar();return h!=="%"&&f(Ae.EXPECTED_TOKEN,s(),0,h),d.next(),"%"}function be(d){let h="";for(;;){const R=d.currentChar();if(R==="{"||R==="}"||R==="@"||R==="|"||!R)break;if(R==="%")if(se(d))h+=R,d.next();else break;else if(R===uo||R===vt)if(se(d))h+=R,d.next();else{if(H(d))break;h+=R,d.next()}else h+=R,d.next()}return h}function $e(d){w(d);let h="",R="";for(;h=W(d);)R+=h;return d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R}function Ne(d){w(d);let h="";return d.currentChar()==="-"?(d.next(),h+=`-${Y(d)}`):h+=Y(d),d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Ee(d){return d!==Mi&&d!==vt}function ke(d){w(d),A(d,"'");let h="",R="";for(;h=_e(d,Ee);)h==="\\"?R+=me(d):R+=h;const U=d.currentChar();return U===vt||U===Eo?(f(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),U===vt&&(d.next(),A(d,"'")),R):(A(d,"'"),R)}function me(d){const h=d.currentChar();switch(h){case"\\":case"'":return d.next(),`\\${h}`;case"u":return pe(d,h,4);case"U":return pe(d,h,6);default:return f(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function pe(d,h,R){A(d,h);let U="";for(let ee=0;ee{const U=d.currentChar();return U==="{"||U==="%"||U==="@"||U==="|"||U==="("||U===")"||!U||U===uo?R:(R+=U,d.next(),h(R))};return h("")}function G(d){w(d);const h=A(d,"|");return w(d),h}function X(d,h){let R=null;switch(d.currentChar()){case"{":return h.braceNest>=1&&f(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),d.next(),R=m(h,2,"{"),w(d),h.braceNest++,R;case"}":return h.braceNest>0&&h.currentType===2&&f(Ae.EMPTY_PLACEHOLDER,s(),0),d.next(),R=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(d),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),R;case"@":return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R=ne(d,h)||v(h),h.braceNest=0,R;default:{let ee=!0,re=!0,O=!0;if(H(d))return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,R;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,z(d,h);if(ee=p(d,h))return R=m(h,5,$e(d)),w(d),R;if(re=g(d,h))return R=m(h,6,Ne(d)),w(d),R;if(O=_(d,h))return R=m(h,7,ke(d)),w(d),R;if(!ee&&!re&&!O)return R=m(h,13,b(d)),f(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,R.value),w(d),R;break}}return R}function ne(d,h){const{currentType:R}=h;let U=null;const ee=d.currentChar();switch((R===8||R===9||R===12||R===10)&&(ee===vt||ee===uo)&&f(Ae.INVALID_LINKED_FORMAT,s(),0),ee){case"@":return d.next(),U=m(h,8,"@"),h.inLinked=!0,U;case".":return w(d),d.next(),m(h,9,".");case":":return w(d),d.next(),m(h,10,":");default:return H(d)?(U=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,U):S(d,h)||D(d,h)?(w(d),ne(d,h)):$(d,h)?(w(d),m(h,12,C(d))):I(d,h)?(w(d),ee==="{"?X(d,h)||U:m(h,11,k(d))):(R===8&&f(Ae.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,z(d,h))}}function z(d,h){let R={type:14};if(h.braceNest>0)return X(d,h)||v(h);if(h.inLinked)return ne(d,h)||v(h);switch(d.currentChar()){case"{":return X(d,h)||v(h);case"}":return f(Ae.UNBALANCED_CLOSING_BRACE,s(),0),d.next(),m(h,3,"}");case"@":return ne(d,h)||v(h);default:{if(H(d))return R=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,R;const{isModulo:ee,hasSpace:re}=Q(d);if(ee)return re?m(h,0,be(d)):m(h,4,ie(d));if(se(d))return m(h,0,be(d));break}}return R}function j(){const{currentType:d,offset:h,startLoc:R,endLoc:U}=i;return i.lastType=d,i.lastOffset=h,i.lastStartLoc=R,i.lastEndLoc=U,i.offset=r(),i.startLoc=s(),n.currentChar()===Eo?m(i,14):z(n,i)}return{nextToken:j,currentOffset:r,currentPosition:s,context:c}}const Ah="parser",Ch=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Th(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Lh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,o){const I=t?jr(_,D):null,H=tn(g,I,{domain:Ah,args:$});o(H)}}function s(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,n){const I=t?jr(_,D):null;n(bh(g,I,$))}}function a(p,g,_){const S={type:p};return t&&(S.start=g,S.end=g,S.loc={start:_,end:_}),S}function l(p,g,_,S){t&&(p.end=g,p.loc&&(p.loc.end=_))}function i(p,g){const _=p.context(),S=a(3,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function c(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(5,S,$);return D.index=parseInt(g,10),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function u(p,g,_){const S=p.context(),{lastOffset:$,lastStartLoc:D}=S,I=a(4,$,D);return I.key=g,_===!0&&(I.modulo=!0),p.nextToken(),l(I,p.currentOffset(),p.currentPosition()),I}function f(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(9,S,$);return D.value=g.replace(Ch,Th),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function m(p){const g=p.nextToken(),_=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(8,S,$);return g.type!==12?(r(p,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),D.value="",l(D,S,$),{nextConsumeToken:g,node:D}):(g.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Dt(g)),D.value=g.value||"",l(D,p.currentOffset(),p.currentPosition()),{node:D})}function v(p,g){const _=p.context(),S=a(7,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function A(p){const g=p.context(),_=a(6,g.offset,g.startLoc);let S=p.nextToken();if(S.type===9){const $=m(p);_.modifier=$.node,S=$.nextConsumeToken||p.nextToken()}switch(S.type!==10&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),S=p.nextToken(),S.type===2&&(S=p.nextToken()),S.type){case 11:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=v(p,S.value||"");break;case 5:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=u(p,S.value||"");break;case 6:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=c(p,S.value||"");break;case 7:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=f(p,S.value||"");break;default:{r(p,Ae.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=p.context(),D=a(7,$.offset,$.startLoc);return D.value="",l(D,$.offset,$.startLoc),_.key=D,l(_,$.offset,$.startLoc),{nextConsumeToken:S,node:_}}}return l(_,p.currentOffset(),p.currentPosition()),{node:_}}function x(p){const g=p.context(),_=g.currentType===1?p.currentOffset():g.offset,S=g.currentType===1?g.endLoc:g.startLoc,$=a(2,_,S);$.items=[];let D=null,I=null;do{const se=D||p.nextToken();switch(D=null,se.type){case 0:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(i(p,se.value||""));break;case 6:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(c(p,se.value||""));break;case 4:I=!0;break;case 5:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(u(p,se.value||"",!!I)),I&&(s(p,Us.USE_MODULO_SYNTAX,g.lastStartLoc,0,Dt(se)),I=null);break;case 7:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(f(p,se.value||""));break;case 8:{const _e=A(p);$.items.push(_e.node),D=_e.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const H=g.currentType===1?g.lastOffset:p.currentOffset(),Q=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,H,Q),$}function w(p,g,_,S){const $=p.context();let D=S.items.length===0;const I=a(1,g,_);I.cases=[],I.cases.push(S);do{const H=x(p);D||(D=H.items.length===0),I.cases.push(H)}while($.currentType!==14);return D&&r(p,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(I,p.currentOffset(),p.currentPosition()),I}function L(p){const g=p.context(),{offset:_,startLoc:S}=g,$=x(p);return g.currentType===14?$:w(p,_,S,$)}function y(p){const g=Eh(p,Ii({},e)),_=g.context(),S=a(0,_.offset,_.startLoc);return t&&S.loc&&(S.loc.source=p),S.body=L(g),e.onCacheKey&&(S.cacheKey=e.onCacheKey(p)),_.currentType!==14&&r(g,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,p[_.offset]||""),l(S,g.currentOffset(),g.currentPosition()),S}return{parse:y}}function Dt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Ph(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Oi(e,t){for(let o=0;oDi(o)),e}function Di(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function i(x,w){a.code+=x}function c(x,w=!0){const L=w?n:"";i(r?L+" ".repeat(x):L)}function u(x=!0){const w=++a.indentLevel;x&&c(w)}function f(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:f,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Oh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),nn(e,t.key),t.modifier?(e.push(", "),nn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Dh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Ri(t.mode)?t.mode:"normal",n=Ri(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],l=Mh(e,{filename:n,breakLineCode:r,needIndent:s});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),a.length>0&&(l.push(`const { ${Fi(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),nn(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function Bh(e,t={}){const o=Ii({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,l=Lh(o).parse(e);return n?(s&&Ih(l),r&&on(l),{ast:l,code:""}):(Nh(l,o),Uh(l,o))}/*! + */function ph(e,t,o){return{line:e,column:t,offset:o}}function jr(e,t,o){return{start:e,end:t}}const gh=/\{([0-9a-zA-Z]+)\}/g;function Ni(e,...t){return t.length===1&&hh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(gh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Fi=e=>typeof e=="string",hh=e=>e!==null&&typeof e=="object";function Ri(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Us={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mh={[Us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function bh(e,t,...o){const n=Ni(mh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ae={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},_h={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function tn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ni((r||_h)[e]||"",...s||[]),l=new SyntaxError(String(a));return l.code=e,t&&(l.location=t),l.domain=n,l}function yh(e){throw e}const uo=" ",vh="\r",vt=` +`,xh="\u2028",wh="\u2029";function kh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===vh&&t[$+1]===vt,l=$=>t[$]===vt,i=$=>t[$]===wh,c=$=>t[$]===xh,u=$=>a($)||l($)||i($)||c($),f=()=>o,m=()=>n,v=()=>r,A=()=>s,x=$=>a($)||i($)||c($)?vt:t[$],w=()=>x(o),L=()=>x(o+s);function y(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function p(){return a(o+s)&&s++,s++,t[o+s]}function g(){o=0,n=1,r=1,s=0}function _($=0){s=$}function S(){const $=o+s;for(;$!==o;)y();s=0}return{index:f,line:m,column:v,peekOffset:A,charAt:x,currentChar:w,currentPeek:L,next:y,peek:p,reset:g,resetPeek:_,skipToPeek:S}}const Eo=void 0,$h=".",Mi="'",Sh="tokenizer";function Eh(e,t={}){const o=t.location!==!1,n=kh(e),r=()=>n.index(),s=()=>ph(n.line(),n.column(),n.index()),a=s(),l=r(),i={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function f(d,h,F,...U){const ee=c();if(h.column+=F,h.offset+=F,u){const re=o?jr(ee.startLoc,h):null,O=tn(d,re,{domain:Sh,args:U});u(O)}}function m(d,h,F){d.endLoc=s(),d.currentType=h;const U={type:h};return o&&(U.loc=jr(d.startLoc,d.endLoc)),F!=null&&(U.value=F),U}const v=d=>m(d,14);function A(d,h){return d.currentChar()===h?(d.next(),h):(f(Ae.EXPECTED_TOKEN,s(),0,h),"")}function x(d){let h="";for(;d.currentPeek()===uo||d.currentPeek()===vt;)h+=d.currentPeek(),d.peek();return h}function w(d){const h=x(d);return d.skipToPeek(),h}function L(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=48&&h<=57}function p(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function g(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const U=d.currentPeek()==="-"?d.peek():d.currentPeek(),ee=y(U);return d.resetPeek(),ee}function _(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const U=d.currentPeek()===Mi;return d.resetPeek(),U}function S(d,h){const{currentType:F}=h;if(F!==8)return!1;x(d);const U=d.currentPeek()===".";return d.resetPeek(),U}function $(d,h){const{currentType:F}=h;if(F!==9)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function D(d,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;x(d);const U=d.currentPeek()===":";return d.resetPeek(),U}function I(d,h){const{currentType:F}=h;if(F!==10)return!1;const U=()=>{const re=d.currentPeek();return re==="{"?L(d.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===uo||!re?!1:re===vt?(d.peek(),U()):se(d,!1)},ee=U();return d.resetPeek(),ee}function H(d){x(d);const h=d.currentPeek()==="|";return d.resetPeek(),h}function Q(d){const h=x(d),F=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function se(d,h=!0){const F=(ee=!1,re="",O=!1)=>{const E=d.currentPeek();return E==="{"?re==="%"?!1:ee:E==="@"||!E?re==="%"?!0:ee:E==="%"?(d.peek(),F(ee,"%",!0)):E==="|"?re==="%"||O?!0:!(re===uo||re===vt):E===uo?(d.peek(),F(!0,uo,O)):E===vt?(d.peek(),F(!0,vt,O)):!0},U=F();return h&&d.resetPeek(),U}function _e(d,h){const F=d.currentChar();return F===Eo?Eo:h(F)?(d.next(),F):null}function q(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function oe(d){return _e(d,q)}function K(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function W(d){return _e(d,K)}function T(d){const h=d.charCodeAt(0);return h>=48&&h<=57}function B(d){return _e(d,T)}function M(d){const h=d.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function P(d){return _e(d,M)}function Y(d){let h="",F="";for(;h=B(d);)F+=h;return F}function ie(d){w(d);const h=d.currentChar();return h!=="%"&&f(Ae.EXPECTED_TOKEN,s(),0,h),d.next(),"%"}function be(d){let h="";for(;;){const F=d.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(se(d))h+=F,d.next();else break;else if(F===uo||F===vt)if(se(d))h+=F,d.next();else{if(H(d))break;h+=F,d.next()}else h+=F,d.next()}return h}function $e(d){w(d);let h="",F="";for(;h=W(d);)F+=h;return d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),F}function Ne(d){w(d);let h="";return d.currentChar()==="-"?(d.next(),h+=`-${Y(d)}`):h+=Y(d),d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Ee(d){return d!==Mi&&d!==vt}function ke(d){w(d),A(d,"'");let h="",F="";for(;h=_e(d,Ee);)h==="\\"?F+=me(d):F+=h;const U=d.currentChar();return U===vt||U===Eo?(f(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),U===vt&&(d.next(),A(d,"'")),F):(A(d,"'"),F)}function me(d){const h=d.currentChar();switch(h){case"\\":case"'":return d.next(),`\\${h}`;case"u":return pe(d,h,4);case"U":return pe(d,h,6);default:return f(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function pe(d,h,F){A(d,h);let U="";for(let ee=0;ee{const U=d.currentChar();return U==="{"||U==="%"||U==="@"||U==="|"||U==="("||U===")"||!U||U===uo?F:(F+=U,d.next(),h(F))};return h("")}function G(d){w(d);const h=A(d,"|");return w(d),h}function X(d,h){let F=null;switch(d.currentChar()){case"{":return h.braceNest>=1&&f(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),d.next(),F=m(h,2,"{"),w(d),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(Ae.EMPTY_PLACEHOLDER,s(),0),d.next(),F=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(d),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),F=ne(d,h)||v(h),h.braceNest=0,F;default:{let ee=!0,re=!0,O=!0;if(H(d))return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),F=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,z(d,h);if(ee=p(d,h))return F=m(h,5,$e(d)),w(d),F;if(re=g(d,h))return F=m(h,6,Ne(d)),w(d),F;if(O=_(d,h))return F=m(h,7,ke(d)),w(d),F;if(!ee&&!re&&!O)return F=m(h,13,b(d)),f(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,F.value),w(d),F;break}}return F}function ne(d,h){const{currentType:F}=h;let U=null;const ee=d.currentChar();switch((F===8||F===9||F===12||F===10)&&(ee===vt||ee===uo)&&f(Ae.INVALID_LINKED_FORMAT,s(),0),ee){case"@":return d.next(),U=m(h,8,"@"),h.inLinked=!0,U;case".":return w(d),d.next(),m(h,9,".");case":":return w(d),d.next(),m(h,10,":");default:return H(d)?(U=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,U):S(d,h)||D(d,h)?(w(d),ne(d,h)):$(d,h)?(w(d),m(h,12,C(d))):I(d,h)?(w(d),ee==="{"?X(d,h)||U:m(h,11,k(d))):(F===8&&f(Ae.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,z(d,h))}}function z(d,h){let F={type:14};if(h.braceNest>0)return X(d,h)||v(h);if(h.inLinked)return ne(d,h)||v(h);switch(d.currentChar()){case"{":return X(d,h)||v(h);case"}":return f(Ae.UNBALANCED_CLOSING_BRACE,s(),0),d.next(),m(h,3,"}");case"@":return ne(d,h)||v(h);default:{if(H(d))return F=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:ee,hasSpace:re}=Q(d);if(ee)return re?m(h,0,be(d)):m(h,4,ie(d));if(se(d))return m(h,0,be(d));break}}return F}function j(){const{currentType:d,offset:h,startLoc:F,endLoc:U}=i;return i.lastType=d,i.lastOffset=h,i.lastStartLoc=F,i.lastEndLoc=U,i.offset=r(),i.startLoc=s(),n.currentChar()===Eo?m(i,14):z(n,i)}return{nextToken:j,currentOffset:r,currentPosition:s,context:c}}const Ah="parser",Ch=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Th(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Lh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,o){const I=t?jr(_,D):null,H=tn(g,I,{domain:Ah,args:$});o(H)}}function s(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,n){const I=t?jr(_,D):null;n(bh(g,I,$))}}function a(p,g,_){const S={type:p};return t&&(S.start=g,S.end=g,S.loc={start:_,end:_}),S}function l(p,g,_,S){t&&(p.end=g,p.loc&&(p.loc.end=_))}function i(p,g){const _=p.context(),S=a(3,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function c(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(5,S,$);return D.index=parseInt(g,10),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function u(p,g,_){const S=p.context(),{lastOffset:$,lastStartLoc:D}=S,I=a(4,$,D);return I.key=g,_===!0&&(I.modulo=!0),p.nextToken(),l(I,p.currentOffset(),p.currentPosition()),I}function f(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(9,S,$);return D.value=g.replace(Ch,Th),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function m(p){const g=p.nextToken(),_=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(8,S,$);return g.type!==12?(r(p,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),D.value="",l(D,S,$),{nextConsumeToken:g,node:D}):(g.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Dt(g)),D.value=g.value||"",l(D,p.currentOffset(),p.currentPosition()),{node:D})}function v(p,g){const _=p.context(),S=a(7,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function A(p){const g=p.context(),_=a(6,g.offset,g.startLoc);let S=p.nextToken();if(S.type===9){const $=m(p);_.modifier=$.node,S=$.nextConsumeToken||p.nextToken()}switch(S.type!==10&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),S=p.nextToken(),S.type===2&&(S=p.nextToken()),S.type){case 11:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=v(p,S.value||"");break;case 5:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=u(p,S.value||"");break;case 6:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=c(p,S.value||"");break;case 7:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=f(p,S.value||"");break;default:{r(p,Ae.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=p.context(),D=a(7,$.offset,$.startLoc);return D.value="",l(D,$.offset,$.startLoc),_.key=D,l(_,$.offset,$.startLoc),{nextConsumeToken:S,node:_}}}return l(_,p.currentOffset(),p.currentPosition()),{node:_}}function x(p){const g=p.context(),_=g.currentType===1?p.currentOffset():g.offset,S=g.currentType===1?g.endLoc:g.startLoc,$=a(2,_,S);$.items=[];let D=null,I=null;do{const se=D||p.nextToken();switch(D=null,se.type){case 0:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(i(p,se.value||""));break;case 6:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(c(p,se.value||""));break;case 4:I=!0;break;case 5:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(u(p,se.value||"",!!I)),I&&(s(p,Us.USE_MODULO_SYNTAX,g.lastStartLoc,0,Dt(se)),I=null);break;case 7:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(f(p,se.value||""));break;case 8:{const _e=A(p);$.items.push(_e.node),D=_e.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const H=g.currentType===1?g.lastOffset:p.currentOffset(),Q=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,H,Q),$}function w(p,g,_,S){const $=p.context();let D=S.items.length===0;const I=a(1,g,_);I.cases=[],I.cases.push(S);do{const H=x(p);D||(D=H.items.length===0),I.cases.push(H)}while($.currentType!==14);return D&&r(p,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(I,p.currentOffset(),p.currentPosition()),I}function L(p){const g=p.context(),{offset:_,startLoc:S}=g,$=x(p);return g.currentType===14?$:w(p,_,S,$)}function y(p){const g=Eh(p,Ii({},e)),_=g.context(),S=a(0,_.offset,_.startLoc);return t&&S.loc&&(S.loc.source=p),S.body=L(g),e.onCacheKey&&(S.cacheKey=e.onCacheKey(p)),_.currentType!==14&&r(g,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,p[_.offset]||""),l(S,g.currentOffset(),g.currentPosition()),S}return{parse:y}}function Dt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Ph(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Oi(e,t){for(let o=0;oDi(o)),e}function Di(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function i(x,w){a.code+=x}function c(x,w=!0){const L=w?n:"";i(r?L+" ".repeat(x):L)}function u(x=!0){const w=++a.indentLevel;x&&c(w)}function f(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:f,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Oh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),nn(e,t.key),t.modifier?(e.push(", "),nn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Dh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Fi(t.mode)?t.mode:"normal",n=Fi(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],l=Mh(e,{filename:n,breakLineCode:r,needIndent:s});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),a.length>0&&(l.push(`const { ${Ri(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),nn(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function Bh(e,t={}){const o=Ii({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,l=Lh(o).parse(e);return n?(s&&Ih(l),r&&on(l),{ast:l,code:""}):(Nh(l,o),Uh(l,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Gh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(co().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Zt(e){return Ue(e)&&Gs(e)===0&&(Ot(e,"b")||Ot(e,"body"))}const ji=["b","body"];function qh(e){return Ao(e,ji)}const zi=["c","cases"];function Hh(e){return Ao(e,zi,[])}const Ui=["s","static"];function Vh(e){return Ao(e,Ui)}const Bi=["i","items"];function Wh(e){return Ao(e,Bi,[])}const Gi=["t","type"];function Gs(e){return Ao(e,Gi)}const qi=["v","value"];function zr(e,t){const o=Ao(e,qi);if(o!=null)return o;throw zn(t)}const Hi=["m","modifier"];function Kh(e){return Ao(e,Hi)}const Vi=["k","key"];function Yh(e){const t=Ao(e,Vi);if(t)return t;throw zn(6)}function Ao(e,t,o){for(let n=0;n{a===void 0?a=l:a+=l},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=em(a),a===!1))return!1;m[1]()}};function v(){const A=e[o+1];if(n===5&&A==="'"||n===6&&A==='"')return o++,l="\\"+A,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Qh(s),f=Co[n],c=f[i]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=s,u()===!1))))return;if(n===7)return t}}const Ki=new Map;function om(e,t){return Ue(e)?e[t]:null}function nm(e,t){if(!Ue(e))return null;let o=Ki.get(t);if(o||(o=tm(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,sm=e=>"",am="text",lm=e=>e.length===0?"":fh(e),im=dh;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function cm(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function um(e,t){t.count||(t.count=e),t.n||(t.n=e)}function dm(e={}){const t=e.locale,o=cm(e),n=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:Yi,r=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?Yi:void 0,s=L=>L[n(o,L.length,r)],a=e.list||[],l=L=>a[L],i=e.named||Ve();ot(e.pluralIndex)&&um(o,i);const c=L=>i[L];function u(L){const y=Xe(e.messages)?e.messages(L):Ue(e.messages)?e.messages[L]:!1;return y||(e.parent?e.parent.message(L):sm)}const f=L=>e.modifiers?e.modifiers[L]:rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:lm,v=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:im,A=Pe(e.processor)&&ge(e.processor.type)?e.processor.type:am,w={list:l,named:c,plural:s,linked:(L,...y)=>{const[p,g]=y;let _="text",S="";y.length===1?Ue(p)?(S=p.modifier||S,_=p.type||_):ge(p)&&(S=p||S):y.length===2&&(ge(p)&&(S=p||S),ge(g)&&(_=g||_));const $=u(L)(w),D=_==="vnode"&&Ze($)&&S?$[0]:$;return S?f(S)(D,_):D},message:u,type:A,interpolate:v,normalize:m,values:dt(Ve(),a,i)};return w}let Un=null;function fm(e){Un=e}function pm(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const gm=hm("function:translate");function hm(e){return t=>Un&&Un.emit(e,t)}const mm=Us.__EXTEND_POINT__,jo=Mr(mm),bm={FALLBACK_TO_TRANSLATE:jo(),CANNOT_FORMAT_NUMBER:jo(),FALLBACK_TO_NUMBER_FORMAT:jo(),CANNOT_FORMAT_DATE:jo(),FALLBACK_TO_DATE_FORMAT:jo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jo(),__EXTEND_POINT__:jo()},Xi=Ae.__EXTEND_POINT__,zo=Mr(Xi),jt={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:zo(),INVALID_ISO_DATE_ARGUMENT:zo(),NOT_SUPPORT_NON_STRING_MESSAGE:zo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zo(),NOT_SUPPORT_LOCALE_TYPE:zo(),__EXTEND_POINT__:zo()};function Qt(e){return tn(e,null,void 0)}function qs(e,t){return t.locale!=null?Ji(t.locale):Ji(e.locale)}let Hs;function Ji(e){if(ge(e))return e;if(Xe(e)){if(e.resolvedOnce&&Hs!=null)return Hs;if(e.constructor.name==="Function"){const t=e();if(uh(t))throw Qt(jt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Hs=t}else throw Qt(jt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Qt(jt.NOT_SUPPORT_LOCALE_TYPE)}function _m(e,t,o){return[...new Set([o,...Ze(t)?t:Ue(t)?Object.keys(t):ge(t)?[t]:[o]])]}function Zi(e,t,o){const n=ge(o)?o:rn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Ze(a);)a=Qi(s,a,t);const l=Ze(t)||!Pe(t)?t:t.default?t.default:null;a=ge(l)?[l]:l,Ze(a)&&Qi(s,a,!1),r.__localeChainCache.set(n,s)}return s}function Qi(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function wm(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?tc(e):t==="vnode"&&Ue(e)&&"__v_isVNode"in e?tc(e.children):e}}let oc;function nc(e){oc=e}let rc;function km(e){rc=e}let sc;function $m(e){sc=e}let ac=null;const Sm=e=>{ac=e},Em=()=>ac;let lc=null;const ic=e=>{lc=e},Am=()=>lc;let cc=0;function Cm(e={}){const t=Xe(e.onWarn)?e.onWarn:nh,o=ge(e.version)?e.version:xm,n=ge(e.locale)||Xe(e.locale)?e.locale:rn,r=Xe(n)?rn:n,s=Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:Vs(r),l=Pe(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Pe(e.numberFormats)?e.numberFormats:Vs(r),c=dt(Ve(),e.modifiers,wm()),u=e.pluralRules||Ve(),f=Xe(e.missing)?e.missing:null,m=De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,v=De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,x=!!e.unresolving,w=Xe(e.postTranslation)?e.postTranslation:null,L=Pe(e.processor)?e.processor:null,y=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=Xe(e.messageCompiler)?e.messageCompiler:oc,_=Xe(e.messageResolver)?e.messageResolver:rc||om,S=Xe(e.localeFallbacker)?e.localeFallbacker:sc||_m,$=Ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,I=Ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,H=Ue(D.__numberFormatters)?D.__numberFormatters:new Map,Q=Ue(D.__meta)?D.__meta:{};cc++;const se={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:v,fallbackFormat:A,unresolving:x,postTranslation:w,processor:L,warnHtmlMessage:y,escapeParameter:p,messageCompiler:g,messageResolver:_,localeFallbacker:S,fallbackContext:$,onWarn:t,__meta:Q};return se.datetimeFormats=l,se.numberFormats=i,se.__datetimeFormatters=I,se.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&pm(se,o,Q),se}const Vs=e=>({[e]:Ve()});function Ws(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const l=s(e,o,t,r);return ge(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Tm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nPm(o,e)}function Pm(e,t){const o=qh(t);if(o==null)throw zn(0);if(Gs(o)===1){const s=Hh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=Vh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Wh(t).reduce((r,s)=>[...r,Ys(e,s)],[]);return e.normalize(n)}}function Ys(e,t){const o=Gs(t);switch(o){case 3:return zr(t,o);case 9:return zr(t,o);case 4:{const n=t;if(Ot(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ot(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Ot(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Ot(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Kh(n),s=Yh(n);return e.linked(Ys(e,s),r?Ys(e,r):void 0,e.type)}case 7:return zr(t,o);case 8:return zr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dc=e=>e;let sn=Ve();function fc(e,t={}){let o=!1;const n=t.onError||yh;return t.onError=r=>{o=!0,n(r)},{...Bh(e,t),detectError:o}}const Nm=(e,t)=>{if(!ge(e))throw Qt(jt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{code:s,detectError:a}=fc(e,t),l=new Function(`return ${s}`)();return a?l:sn[n]=l}};function Im(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{ast:s,detectError:a}=fc(e,{...t,location:!1,jit:!0}),l=Ks(s);return a?l:sn[n]=l}else{const o=e.cacheKey;if(o){const n=sn[o];return n||(sn[o]=Ks(e))}else return Ks(e)}}const pc=()=>"",Lt=e=>Xe(e);function gc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:l}=e,[i,c]=Xs(...t),u=De(c.missingWarn)?c.missingWarn:e.missingWarn,f=De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=De(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,A=ge(c.default)||De(c.default)?De(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||A!=="",w=qs(e,c);m&&Rm(c);let[L,y,p]=v?[i,w,l[w]||Ve()]:hc(e,i,w,a,f,u),g=L,_=i;if(!v&&!(ge(g)||Zt(g)||Lt(g))&&x&&(g=A,_=g),!v&&(!(ge(g)||Zt(g)||Lt(g))||!ge(y)))return r?Ur:i;let S=!1;const $=()=>{S=!0},D=Lt(g)?g:mc(e,i,y,g,_,$);if(S)return g;const I=Om(e,y,p,c),H=dm(I),Q=Fm(e,D,H);let se=n?n(Q,i):Q;if(m&&ge(se)&&(se=ih(se)),__INTLIFY_PROD_DEVTOOLS__){const _e={timestamp:Date.now(),key:ge(i)?i:Lt(g)?g.key:"",locale:y||(Lt(g)?g.locale:""),format:ge(g)?g:Lt(g)?g.source:"",message:se};_e.meta=dt({},e.__meta,Em()||{}),gm(_e)}return se}function Rm(e){Ze(e.list)?e.list=e.list.map(t=>ge(t)?Ci(t):t):Ue(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Ci(e.named[t]))})}function hc(e,t,o,n,r,s){const{messages:a,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let f=Ve(),m,v=null;const A="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Mm(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Fm(e,t,o){return t(o)}function Xs(...e){const[t,o,n]=e,r=Ve();if(!ge(t)&&!ot(t)&&!Lt(t)&&!Zt(t))throw Qt(jt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Lt(t),t);return ot(o)?r.plural=o:ge(o)?r.default=o:Pe(o)&&!Fr(o)?r.named=o:Ze(o)&&(r.list=o),ot(n)?r.plural=n:ge(n)?r.default=n:Pe(n)&&dt(r,n),[s,r]}function Mm(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>rh(t,o,a)}}function Om(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:v=>{let A=a(o,v);if(A==null&&u){const[,,x]=hc(u,v,t,l,i,c);A=a(x,v)}if(ge(A)||Zt(A)){let x=!1;const L=mc(e,v,t,A,v,()=>{x=!0});return x?pc:L}else return Lt(A)?A:pc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ot(n.plural)&&(m.pluralIndex=n.plural),m}function bc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:l}=e,[i,c,u,f]=Js(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.DateTimeFormat(A,f).format(c);let w={},L,y=null;const p="datetime format";for(let S=0;S{_c.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function yc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function vc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:l}=e,[i,c,u,f]=Zs(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.NumberFormat(A,f).format(c);let w={},L,y=null;const p="number format";for(let S=0;S{xc.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function wc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}Gh();/*! + */function Gh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(co().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Zt(e){return Ue(e)&&Gs(e)===0&&(Ot(e,"b")||Ot(e,"body"))}const ji=["b","body"];function qh(e){return Ao(e,ji)}const zi=["c","cases"];function Hh(e){return Ao(e,zi,[])}const Ui=["s","static"];function Vh(e){return Ao(e,Ui)}const Bi=["i","items"];function Wh(e){return Ao(e,Bi,[])}const Gi=["t","type"];function Gs(e){return Ao(e,Gi)}const qi=["v","value"];function zr(e,t){const o=Ao(e,qi);if(o!=null)return o;throw zn(t)}const Hi=["m","modifier"];function Kh(e){return Ao(e,Hi)}const Vi=["k","key"];function Yh(e){const t=Ao(e,Vi);if(t)return t;throw zn(6)}function Ao(e,t,o){for(let n=0;n{a===void 0?a=l:a+=l},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=em(a),a===!1))return!1;m[1]()}};function v(){const A=e[o+1];if(n===5&&A==="'"||n===6&&A==='"')return o++,l="\\"+A,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Qh(s),f=Co[n],c=f[i]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=s,u()===!1))))return;if(n===7)return t}}const Ki=new Map;function om(e,t){return Ue(e)?e[t]:null}function nm(e,t){if(!Ue(e))return null;let o=Ki.get(t);if(o||(o=tm(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,sm=e=>"",am="text",lm=e=>e.length===0?"":fh(e),im=dh;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function cm(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function um(e,t){t.count||(t.count=e),t.n||(t.n=e)}function dm(e={}){const t=e.locale,o=cm(e),n=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:Yi,r=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?Yi:void 0,s=L=>L[n(o,L.length,r)],a=e.list||[],l=L=>a[L],i=e.named||Ve();ot(e.pluralIndex)&&um(o,i);const c=L=>i[L];function u(L){const y=Xe(e.messages)?e.messages(L):Ue(e.messages)?e.messages[L]:!1;return y||(e.parent?e.parent.message(L):sm)}const f=L=>e.modifiers?e.modifiers[L]:rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:lm,v=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:im,A=Pe(e.processor)&&ge(e.processor.type)?e.processor.type:am,w={list:l,named:c,plural:s,linked:(L,...y)=>{const[p,g]=y;let _="text",S="";y.length===1?Ue(p)?(S=p.modifier||S,_=p.type||_):ge(p)&&(S=p||S):y.length===2&&(ge(p)&&(S=p||S),ge(g)&&(_=g||_));const $=u(L)(w),D=_==="vnode"&&Ze($)&&S?$[0]:$;return S?f(S)(D,_):D},message:u,type:A,interpolate:v,normalize:m,values:dt(Ve(),a,i)};return w}let Un=null;function fm(e){Un=e}function pm(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const gm=hm("function:translate");function hm(e){return t=>Un&&Un.emit(e,t)}const mm=Us.__EXTEND_POINT__,jo=Mr(mm),bm={FALLBACK_TO_TRANSLATE:jo(),CANNOT_FORMAT_NUMBER:jo(),FALLBACK_TO_NUMBER_FORMAT:jo(),CANNOT_FORMAT_DATE:jo(),FALLBACK_TO_DATE_FORMAT:jo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jo(),__EXTEND_POINT__:jo()},Xi=Ae.__EXTEND_POINT__,zo=Mr(Xi),jt={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:zo(),INVALID_ISO_DATE_ARGUMENT:zo(),NOT_SUPPORT_NON_STRING_MESSAGE:zo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zo(),NOT_SUPPORT_LOCALE_TYPE:zo(),__EXTEND_POINT__:zo()};function Qt(e){return tn(e,null,void 0)}function qs(e,t){return t.locale!=null?Ji(t.locale):Ji(e.locale)}let Hs;function Ji(e){if(ge(e))return e;if(Xe(e)){if(e.resolvedOnce&&Hs!=null)return Hs;if(e.constructor.name==="Function"){const t=e();if(uh(t))throw Qt(jt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Hs=t}else throw Qt(jt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Qt(jt.NOT_SUPPORT_LOCALE_TYPE)}function _m(e,t,o){return[...new Set([o,...Ze(t)?t:Ue(t)?Object.keys(t):ge(t)?[t]:[o]])]}function Zi(e,t,o){const n=ge(o)?o:rn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Ze(a);)a=Qi(s,a,t);const l=Ze(t)||!Pe(t)?t:t.default?t.default:null;a=ge(l)?[l]:l,Ze(a)&&Qi(s,a,!1),r.__localeChainCache.set(n,s)}return s}function Qi(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function wm(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?tc(e):t==="vnode"&&Ue(e)&&"__v_isVNode"in e?tc(e.children):e}}let oc;function nc(e){oc=e}let rc;function km(e){rc=e}let sc;function $m(e){sc=e}let ac=null;const Sm=e=>{ac=e},Em=()=>ac;let lc=null;const ic=e=>{lc=e},Am=()=>lc;let cc=0;function Cm(e={}){const t=Xe(e.onWarn)?e.onWarn:nh,o=ge(e.version)?e.version:xm,n=ge(e.locale)||Xe(e.locale)?e.locale:rn,r=Xe(n)?rn:n,s=Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:Vs(r),l=Pe(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Pe(e.numberFormats)?e.numberFormats:Vs(r),c=dt(Ve(),e.modifiers,wm()),u=e.pluralRules||Ve(),f=Xe(e.missing)?e.missing:null,m=De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,v=De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,x=!!e.unresolving,w=Xe(e.postTranslation)?e.postTranslation:null,L=Pe(e.processor)?e.processor:null,y=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=Xe(e.messageCompiler)?e.messageCompiler:oc,_=Xe(e.messageResolver)?e.messageResolver:rc||om,S=Xe(e.localeFallbacker)?e.localeFallbacker:sc||_m,$=Ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,I=Ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,H=Ue(D.__numberFormatters)?D.__numberFormatters:new Map,Q=Ue(D.__meta)?D.__meta:{};cc++;const se={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:v,fallbackFormat:A,unresolving:x,postTranslation:w,processor:L,warnHtmlMessage:y,escapeParameter:p,messageCompiler:g,messageResolver:_,localeFallbacker:S,fallbackContext:$,onWarn:t,__meta:Q};return se.datetimeFormats=l,se.numberFormats=i,se.__datetimeFormatters=I,se.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&pm(se,o,Q),se}const Vs=e=>({[e]:Ve()});function Ws(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const l=s(e,o,t,r);return ge(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Tm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nPm(o,e)}function Pm(e,t){const o=qh(t);if(o==null)throw zn(0);if(Gs(o)===1){const s=Hh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=Vh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Wh(t).reduce((r,s)=>[...r,Ys(e,s)],[]);return e.normalize(n)}}function Ys(e,t){const o=Gs(t);switch(o){case 3:return zr(t,o);case 9:return zr(t,o);case 4:{const n=t;if(Ot(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ot(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Ot(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Ot(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Kh(n),s=Yh(n);return e.linked(Ys(e,s),r?Ys(e,r):void 0,e.type)}case 7:return zr(t,o);case 8:return zr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dc=e=>e;let sn=Ve();function fc(e,t={}){let o=!1;const n=t.onError||yh;return t.onError=r=>{o=!0,n(r)},{...Bh(e,t),detectError:o}}const Nm=(e,t)=>{if(!ge(e))throw Qt(jt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{code:s,detectError:a}=fc(e,t),l=new Function(`return ${s}`)();return a?l:sn[n]=l}};function Im(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{ast:s,detectError:a}=fc(e,{...t,location:!1,jit:!0}),l=Ks(s);return a?l:sn[n]=l}else{const o=e.cacheKey;if(o){const n=sn[o];return n||(sn[o]=Ks(e))}else return Ks(e)}}const pc=()=>"",Lt=e=>Xe(e);function gc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:l}=e,[i,c]=Xs(...t),u=De(c.missingWarn)?c.missingWarn:e.missingWarn,f=De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=De(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,A=ge(c.default)||De(c.default)?De(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||A!=="",w=qs(e,c);m&&Fm(c);let[L,y,p]=v?[i,w,l[w]||Ve()]:hc(e,i,w,a,f,u),g=L,_=i;if(!v&&!(ge(g)||Zt(g)||Lt(g))&&x&&(g=A,_=g),!v&&(!(ge(g)||Zt(g)||Lt(g))||!ge(y)))return r?Ur:i;let S=!1;const $=()=>{S=!0},D=Lt(g)?g:mc(e,i,y,g,_,$);if(S)return g;const I=Om(e,y,p,c),H=dm(I),Q=Rm(e,D,H);let se=n?n(Q,i):Q;if(m&&ge(se)&&(se=ih(se)),__INTLIFY_PROD_DEVTOOLS__){const _e={timestamp:Date.now(),key:ge(i)?i:Lt(g)?g.key:"",locale:y||(Lt(g)?g.locale:""),format:ge(g)?g:Lt(g)?g.source:"",message:se};_e.meta=dt({},e.__meta,Em()||{}),gm(_e)}return se}function Fm(e){Ze(e.list)?e.list=e.list.map(t=>ge(t)?Ci(t):t):Ue(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Ci(e.named[t]))})}function hc(e,t,o,n,r,s){const{messages:a,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let f=Ve(),m,v=null;const A="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Mm(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Rm(e,t,o){return t(o)}function Xs(...e){const[t,o,n]=e,r=Ve();if(!ge(t)&&!ot(t)&&!Lt(t)&&!Zt(t))throw Qt(jt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Lt(t),t);return ot(o)?r.plural=o:ge(o)?r.default=o:Pe(o)&&!Rr(o)?r.named=o:Ze(o)&&(r.list=o),ot(n)?r.plural=n:ge(n)?r.default=n:Pe(n)&&dt(r,n),[s,r]}function Mm(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>rh(t,o,a)}}function Om(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:v=>{let A=a(o,v);if(A==null&&u){const[,,x]=hc(u,v,t,l,i,c);A=a(x,v)}if(ge(A)||Zt(A)){let x=!1;const L=mc(e,v,t,A,v,()=>{x=!0});return x?pc:L}else return Lt(A)?A:pc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ot(n.plural)&&(m.pluralIndex=n.plural),m}function bc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:l}=e,[i,c,u,f]=Js(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.DateTimeFormat(A,f).format(c);let w={},L,y=null;const p="datetime format";for(let S=0;S{_c.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function yc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function vc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:l}=e,[i,c,u,f]=Zs(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.NumberFormat(A,f).format(c);let w={},L,y=null;const p="number format";for(let S=0;S{xc.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function wc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}Gh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Dm="9.14.5";function jm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(co().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(co().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(co().__INTLIFY_PROD_DEVTOOLS__=!1)}const zm=bm.__EXTEND_POINT__,fo=Mr(zm);fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo();const kc=jt.__EXTEND_POINT__,kt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return tn(e,null,void 0)}const Qs=$o("__translateVNode"),ea=$o("__datetimeParts"),ta=$o("__numberParts"),$c=$o("__setPluralRules"),Sc=$o("__injectWithOption"),oa=$o("__dispose");function Gn(e){if(!Ue(e)||Zt(e))return e;for(const t in e)if(Ot(e,t))if(!t.includes("."))Ue(e[t])&&Gn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(a[i]=a[i]||Ve(),Dr(c,a[i])):Dr(c,a)}else ge(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Ot(a,l)&&Gn(a[l]);return a}function Ec(e){return e.type}function Ac(e,t,o){let n=Ue(t.messages)?t.messages:Ve();"__i18nGlobal"in o&&(n=Br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Cc(e){return Me(Pn,null,e,0)}const Tc="__INTLIFY_META__",Lc=()=>[],Um=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,ko()||void 0,r)}const Bm=()=>{const e=ko();let t=null;return e&&(t=Ec(e)[Tc])?{[Tc]:t}:null};function na(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Rr?ue:wn,l=!!e.translateExistCompatible;let i=De(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&i?o.locale.value:ge(e.locale)?e.locale:rn),u=a(o&&i?o.fallbackLocale.value:ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=a(Br(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=o?o.missingWarn:De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,x=o?o.fallbackWarn:De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,w=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,L=!!e.fallbackFormat,y=Xe(e.missing)?e.missing:null,p=Xe(e.missing)?Nc(e.missing):null,g=Xe(e.postTranslation)?e.postTranslation:null,_=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let D=e.pluralRules||o&&o.pluralRules,I;I=(()=>{r&&ic(null);const O={version:Dm,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:D,missing:p===null?void 0:p,missingWarn:A,fallbackWarn:x,fallbackFormat:L,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=v.value,O.__datetimeFormatters=Pe(I)?I.__datetimeFormatters:void 0,O.__numberFormatters=Pe(I)?I.__numberFormatters:void 0;const E=Cm(O);return r&&ic(E),E})(),Bn(I,c.value,u.value);function Q(){return[c.value,u.value,f.value,m.value,v.value]}const se=le({get:()=>c.value,set:O=>{c.value=O,I.locale=c.value}}),_e=le({get:()=>u.value,set:O=>{u.value=O,I.fallbackLocale=u.value,Bn(I,c.value,O)}}),q=le(()=>f.value),oe=le(()=>m.value),K=le(()=>v.value);function W(){return Xe(g)?g:null}function T(O){g=O,I.postTranslation=O}function B(){return y}function M(O){O!==null&&(p=Nc(O)),y=O,I.missing=p}const P=(O,E,te,ae,he,ve)=>{Q();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=o?Am():void 0),Be=O(I)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=void 0)}if(te!=="translate exists"&&ot(Be)&&Be===Ur||te==="translate exists"&&!Be){const[qe,st]=E();return o&&w?ae(o):he(qe)}else{if(ve(Be))return Be;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function Y(...O){return P(E=>Reflect.apply(gc,null,[E,...O]),()=>Xs(...O),"translate",E=>Reflect.apply(E.t,E,[...O]),E=>E,E=>ge(E))}function ie(...O){const[E,te,ae]=O;if(ae&&!Ue(ae))throw lt(rt.INVALID_ARGUMENT);return Y(E,te,dt({resolvedMessage:!0},ae||{}))}function be(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>Reflect.apply(E.d,E,[...O]),()=>ec,E=>ge(E))}function $e(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>Reflect.apply(E.n,E,[...O]),()=>ec,E=>ge(E))}function Ne(O){return O.map(E=>ge(E)||ot(E)||De(E)?Cc(String(E)):E)}const ke={normalize:Ne,interpolate:O=>O,type:"vnode"};function me(...O){return P(E=>{let te;const ae=E;try{ae.processor=ke,te=Reflect.apply(gc,null,[ae,...O])}finally{ae.processor=null}return te},()=>Xs(...O),"translate",E=>E[Qs](...O),E=>[Cc(E)],E=>Ze(E))}function pe(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>E[ta](...O),Lc,E=>ge(E)||Ze(E))}function ye(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>E[ea](...O),Lc,E=>ge(E)||Ze(E))}function b(O){D=O,I.pluralRules=D}function C(O,E){return P(()=>{if(!O)return!1;const te=ge(E)?E:c.value,ae=X(te),he=I.messageResolver(ae,O);return l?he!=null:Zt(he)||Lt(he)||ge(he)},()=>[O],"translate exists",te=>Reflect.apply(te.te,te,[O,E]),Um,te=>De(te))}function k(O){let E=null;const te=Zi(I,u.value,c.value);for(let ae=0;ae{i&&(c.value=O,I.locale=O,Bn(I,c.value,u.value))}),ut(o.fallbackLocale,O=>{i&&(u.value=O,I.fallbackLocale=O,Bn(I,c.value,u.value))}));const re={id:Pc,locale:se,fallbackLocale:_e,get inheritLocale(){return i},set inheritLocale(O){i=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(I,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return D||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(O){A=O,I.missingWarn=A},get fallbackWarn(){return x},set fallbackWarn(O){x=O,I.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(O){w=O},get fallbackFormat(){return L},set fallbackFormat(O){L=O,I.fallbackFormat=L},get warnHtmlMessage(){return _},set warnHtmlMessage(O){_=O,I.warnHtmlMessage=O},get escapeParameter(){return S},set escapeParameter(O){S=O,I.escapeParameter=O},t:Y,getLocaleMessage:X,setLocaleMessage:ne,mergeLocaleMessage:z,getPostTranslationHandler:W,setPostTranslationHandler:T,getMissingHandler:B,setMissingHandler:M,[$c]:b};return re.datetimeFormats=oe,re.numberFormats=K,re.rt=ie,re.te=C,re.tm=G,re.d=be,re.n=$e,re.getDateTimeFormat=j,re.setDateTimeFormat=d,re.mergeDateTimeFormat=h,re.getNumberFormat=R,re.setNumberFormat=U,re.mergeNumberFormat=ee,re[Sc]=n,re[Qs]=me,re[ea]=ye,re[ta]=pe,re}function Gm(e){const t=ge(e.locale)?e.locale:rn,o=ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=De(e.silentTranslationWarn)||So(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=De(e.silentFallbackWarn)||So(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=De(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,f=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let A=e.messages;if(Pe(e.sharedMessages)){const S=e.sharedMessages;A=Object.keys(S).reduce((D,I)=>{const H=D[I]||(D[I]={});return dt(H,S[I]),D},A||{})}const{__i18n:x,__root:w,__injectWithOption:L}=e,y=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,_=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:A,flatJson:g,datetimeFormats:y,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:L}}function ra(e={},t){{const o=na(Gm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=De(s)?!s:s},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=De(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,l,i]=s,c={};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:Ze(l)?u=l:Pe(l)&&(f=l),Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:ot(l)?c.plural=l:Ze(l)?u=l:Pe(l)&&(f=l),ge(i)?c.locale=i:Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const sa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Se?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ve())}function Ic(e){return Se}const Rc=An({name:"i18n-t",props:dt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},sa),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||an({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),a=Ve();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=ge(e.plural)?+e.plural:e.plural);const l=qm(t,s),i=r[Qs](e.keypath,l,a),c=dt(Ve(),n),u=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Hm(e){return Ze(e)&&!ge(e[0])}function Fc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let l=Ve();e.locale&&(a.locale=e.locale),ge(e.format)?a.key=e.format:Ue(e.format)&&(ge(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?dt(Ve(),m,{[v]:e.format[v]}):m,Ve()));const i=n(e.value,a,l);let c=[a.key];Ze(i)?c=i.map((m,v)=>{const A=r[m.type],x=A?A({[m.type]:m.value,index:v,parts:i}):[m.value];return Hm(x)&&(x[0].key=`${m.type}-${v}`),x}):ge(i)&&(c=[i]);const u=dt(Ve(),s),f=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(f,u,c)}}const Mc=An({name:"i18n-n",props:dt({value:{type:Number,required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Fc(e,t,xc,(...n)=>o[ta](...n))}}),Oc=An({name:"i18n-d",props:dt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Fc(e,t,_c,(...n)=>o[ea](...n))}});function Vm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Wm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=Vm(e,l.$),f=Dc(c);return[Reflect.apply(u.t,u,[...jc(f)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Rr&&e.global===c&&(a.__i18nWatcher=ut(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=c,a.textContent=i},unmounted:a=>{Rr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const i=a.__composer,c=Dc(l);a.textContent=Reflect.apply(i.t,i,[...jc(c)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function Dc(e){if(ge(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(rt.REQUIRED_VALUE,"path");return e}else throw lt(rt.INVALID_VALUE)}function jc(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},l=n||{};return ge(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Km(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Rc.name,"I18nT"].forEach(a=>e.component(a,Rc)),[Mc.name,"I18nN"].forEach(a=>e.component(a,Mc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",Wm(t))}function Ym(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=zc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ra(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=zc(e,r);else{this.$i18n=ra({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Ac(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function zc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[$c](t.pluralizationRules||e.pluralizationRules);const o=Br(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Xm=$o("global-vue-i18n");function Jm(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,l]=Zm(e,o),i=$o("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...A){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Pe(A[0])){const L=A[0];m.__composerExtend=L.__composerExtend,m.__vueI18nExtend=L.__vueI18nExtend}let x=null;!o&&n&&(x=lb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Km(v,m,...A),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Ym(l,l.__composer,m));const w=v.unmount;v.unmount=()=>{x&&x(),m.dispose(),w()}},get global(){return l},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function an(e={}){const t=ko();if(t==null)throw lt(rt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(rt.NOT_INSTALLED);const o=Qm(t),n=tb(o),r=Ec(t),s=eb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return sb(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=ob(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=dt({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=na(i),a.__composerExtend&&(l[oa]=a.__composerExtend(l)),rb(a,t,l),a.__setInstance(t,l)}return l}function Zm(e,t,o){const n=Ha();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ra(e)):n.run(()=>na(e));if(r==null)throw lt(rt.UNEXPECTED_ERROR);return[n,r]}}function Qm(e){{const t=Fe(e.isCE?Xm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function eb(e,t){return Fr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tb(e){return e.mode==="composition"?e.global:e.global.__composer}function ob(e,t,o=!1){let n=null;const r=t.root;let s=nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(n=l.__composer,o&&n&&!n[Sc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rb(e,t,o){mt(()=>{},t),$s(()=>{const n=o;e.__deleteInstance(t);const r=n[oa];r&&(r(),delete n[oa])},t)}function sb(e,t,o,n={}){const r=t==="local",s=wn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(rt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=De(n.inheritLocale)?n.inheritLocale:!ge(n.locale),l=ue(!r||a?o.locale.value:ge(n.locale)?n.locale:rn),i=ue(!r||a?o.fallbackLocale.value:ge(n.fallbackLocale)||Ze(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ue(Br(l.value,n)),u=ue(Pe(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),f=ue(Pe(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:De(n.missingWarn)||So(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:De(n.fallbackWarn)||So(n.fallbackWarn)?n.fallbackWarn:!0,A=r?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,w=Xe(n.missing)?n.missing:null,L=Xe(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function S(){return[l.value,i.value,c.value,u.value,f.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),D=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),I=le(()=>s.value?s.value.messages.value:c.value),H=le(()=>u.value),Q=le(()=>f.value);function se(){return s.value?s.value.getPostTranslationHandler():L}function _e(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function oe(k){s.value&&s.value.setMissingHandler(k)}function K(k){return S(),k()}function W(...k){return s.value?K(()=>Reflect.apply(s.value.t,null,[...k])):K(()=>"")}function T(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function B(...k){return s.value?K(()=>Reflect.apply(s.value.d,null,[...k])):K(()=>"")}function M(...k){return s.value?K(()=>Reflect.apply(s.value.n,null,[...k])):K(()=>"")}function P(k){return s.value?s.value.tm(k):{}}function Y(k,G){return s.value?s.value.te(k,G):!1}function ie(k){return s.value?s.value.getLocaleMessage(k):{}}function be(k,G){s.value&&(s.value.setLocaleMessage(k,G),c.value[k]=G)}function $e(k,G){s.value&&s.value.mergeLocaleMessage(k,G)}function Ne(k){return s.value?s.value.getDateTimeFormat(k):{}}function Ee(k,G){s.value&&(s.value.setDateTimeFormat(k,G),u.value[k]=G)}function ke(k,G){s.value&&s.value.mergeDateTimeFormat(k,G)}function me(k){return s.value?s.value.getNumberFormat(k):{}}function pe(k,G){s.value&&(s.value.setNumberFormat(k,G),f.value[k]=G)}function ye(k,G){s.value&&s.value.mergeNumberFormat(k,G)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:D,messages:I,datetimeFormats:H,numberFormats:Q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(k){s.value&&(s.value.inheritLocale=k)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:g},get pluralRules(){return s.value?s.value.pluralRules:_},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(k){s.value&&(s.value.fallbackRoot=k)},get fallbackFormat(){return s.value?s.value.fallbackFormat:x},set fallbackFormat(k){s.value&&(s.value.fallbackFormat=k)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:y},set warnHtmlMessage(k){s.value&&(s.value.warnHtmlMessage=k)},get escapeParameter(){return s.value?s.value.escapeParameter:p},set escapeParameter(k){s.value&&(s.value.escapeParameter=k)},t:W,getPostTranslationHandler:se,setPostTranslationHandler:_e,getMissingHandler:q,setMissingHandler:oe,rt:T,d:B,n:M,tm:P,te:Y,getLocaleMessage:ie,setLocaleMessage:be,mergeLocaleMessage:$e,getDateTimeFormat:Ne,setDateTimeFormat:Ee,mergeDateTimeFormat:ke,getNumberFormat:me,setNumberFormat:pe,mergeNumberFormat:ye};function C(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(G=>{k.mergeLocaleMessage(G,c.value[G])}),Object.keys(u.value).forEach(G=>{k.mergeDateTimeFormat(G,u.value[G])}),Object.keys(f.value).forEach(G=>{k.mergeNumberFormat(G,f.value[G])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=A,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=y}return Ll(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(rt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const k=s.value=e.proxy.$i18n.__composer;t==="global"?(l.value=k.locale.value,i.value=k.fallbackLocale.value,c.value=k.messages.value,u.value=k.datetimeFormats.value,f.value=k.numberFormats.value):r&&C(k)}),b}const ab=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function lb(e,t){const o=Object.create(null);return ab.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(rt.UNEXPECTED_ERROR);const a=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,Uc.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(rt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,Uc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(jm(),__INTLIFY_JIT_COMPILATION__?nc(Im):nc(Nm),km(nm),$m(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=co();e.__INTLIFY__=!0,fm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const ib=Object.assign({"./locales/ar/aria.json":gp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":mp,"./locales/ar/legend.json":bp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":yp,"./locales/ar/prayerLaps.json":vp,"./locales/ar/search.json":xp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Sp,"./locales/de/legend.json":Ep,"./locales/de/messages.json":Ap,"./locales/de/options.json":Cp,"./locales/de/prayerLaps.json":Tp,"./locales/de/search.json":Lp,"./locales/de/tabs.json":Pp,"./locales/en/aria.json":Np,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Rp,"./locales/en/legend.json":Fp,"./locales/en/messages.json":Mp,"./locales/en/options.json":Op,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":jp,"./locales/en/search.json":zp,"./locales/en/tabs.json":Up,"./locales/es/aria.json":Bp,"./locales/es/buttons.json":Gp,"./locales/es/detail.json":qp,"./locales/es/legend.json":Hp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Wp,"./locales/es/prayerLaps.json":Kp,"./locales/es/search.json":Yp,"./locales/es/tabs.json":Xp,"./locales/fr/aria.json":Jp,"./locales/fr/buttons.json":Zp,"./locales/fr/detail.json":Qp,"./locales/fr/legend.json":eg,"./locales/fr/messages.json":tg,"./locales/fr/options.json":og,"./locales/fr/popup.json":ng,"./locales/fr/prayerLaps.json":rg,"./locales/fr/search.json":sg,"./locales/fr/tabs.json":ag,"./locales/hi/aria.json":lg,"./locales/hi/buttons.json":ig,"./locales/hi/detail.json":cg,"./locales/hi/legend.json":ug,"./locales/hi/messages.json":dg,"./locales/hi/options.json":fg,"./locales/hi/prayerLaps.json":pg,"./locales/hi/search.json":gg,"./locales/it/aria.json":hg,"./locales/it/buttons.json":mg,"./locales/it/detail.json":bg,"./locales/it/legend.json":_g,"./locales/it/messages.json":yg,"./locales/it/options.json":vg,"./locales/it/prayerLaps.json":xg,"./locales/it/search.json":wg,"./locales/pt/aria.json":kg,"./locales/pt/buttons.json":$g,"./locales/pt/detail.json":Sg,"./locales/pt/legend.json":Eg,"./locales/pt/messages.json":Ag,"./locales/pt/options.json":Cg,"./locales/pt/prayerLaps.json":Tg,"./locales/pt/search.json":Lg,"./locales/pt/tabs.json":Pg,"./locales/ro/aria.json":Ng,"./locales/ro/buttons.json":Ig,"./locales/ro/detail.json":Rg,"./locales/ro/legend.json":Fg,"./locales/ro/messages.json":Mg,"./locales/ro/options.json":Og,"./locales/ro/prayerLaps.json":Dg,"./locales/ro/search.json":jg,"./locales/ru/aria.json":zg,"./locales/ru/buttons.json":Ug,"./locales/ru/detail.json":Bg,"./locales/ru/legend.json":Gg,"./locales/ru/messages.json":qg,"./locales/ru/options.json":Hg,"./locales/ru/prayerLaps.json":Vg,"./locales/ru/search.json":Wg,"./locales/ru/tabs.json":Kg,"./locales/zh/aria.json":Yg,"./locales/zh/buttons.json":Xg,"./locales/zh/detail.json":Jg,"./locales/zh/legend.json":Zg,"./locales/zh/messages.json":Qg,"./locales/zh/options.json":eh,"./locales/zh/prayerLaps.json":th,"./locales/zh/search.json":oh}),qn={};for(const[e,t]of Object.entries(ib)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const cb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ub(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return cb.includes(t)?t:"en"}function db(){return Jm({legacy:!1,globalInjection:!0,locale:ub(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",po={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},fb=po,aa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},pb=aa;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?po.hasAdoption:po.notAdopted}function la({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],po.hasAdoption,["==",t,1],po.hasAdoption,po.notAdopted]}const qc=la,gb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:fb,ADOPTION_LABELS:pb,LABELS:aa,PALETTE:po,PROPERTY_KEY:Bc,applyColor:la,buildColorExpression:qc,default:{name:"Adoption Progress",propertyKey:Bc,palette:po,colors:po,labels:aa,getColor:Gc,applyColor:la,buildColorExpression:qc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Hc="engagementStatus",go={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},hb=go,ia={notEngaged:"Unengaged",hasEngagement:"Engaged"},mb=ia;function Vc(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?go.hasEngagement:go.notEngaged}function ca({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const Wc=ca,bb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:hb,ENGAGEMENT_LABELS:mb,LABELS:ia,PALETTE:go,PROPERTY_KEY:Hc,applyColor:ca,buildColorExpression:Wc,default:{name:"Engagement Progress",propertyKey:Hc,palette:go,colors:go,labels:ia,getColor:Vc,applyColor:ca,buildColorExpression:Wc},getColor:Vc},Symbol.toStringTag,{value:"Module"})),ua="languageFamily",_b="#000000",ho={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},yb=ho;function da(e){return ho[e]||_b}const vb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ho))t[e(o)]=o;return t})(),xb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return xb[o]||vb[o]||t}function Kc(e){var t;return da(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function fa(){const e=["match",["get",ua]];return Object.entries(ho).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yc=fa,wb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:yb,PALETTE:ho,PROPERTY_KEY:ua,applyColor:fa,buildColorExpression:Yc,canonicalFamilyName:Gr,default:{name:"Language Family",propertyKey:ua,palette:ho,colors:ho,getColor:Kc,applyColor:fa,buildColorExpression:Yc,getLanguageFamilyColor:da,canonicalFamilyName:Gr},defaultFamilyColor:"#95a5a6",getColor:Kc,getLanguageFamilyColor:da,languageFamilyColors:ho},Symbol.toStringTag,{value:"Module"})),Xc="peoplePraying",qr=144,To={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},kb=To,Hn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},$b=Hn;function ln(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function pa(e){return To[ln(e)]}function Jc(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Zc(e){return ln(e)==="fullPrayer"}function Qc(e){return pa(e)}function Hr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,qr],To.fullPrayer,[">",t,0],To.hasPrayer,To.noPrayer]}const eu=Hr,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Hn,PALETTE:To,PRAYER_COLORS:kb,PRAYER_LABELS:$b,PROPERTY_KEY:Xc,applyColor:Hr,buildColorExpression:eu,checkHasFullPrayer:Zc,checkHasPrayer:Jc,default:{name:"Prayer Progress",propertyKey:Xc,palette:To,colors:To,labels:Hn,threshold:qr,getColor:Qc,applyColor:Hr,buildColorExpression:eu,getPrayerLevel:ln,getPrayerColor:pa,checkHasPrayer:Jc,checkHasFullPrayer:Zc},getColor:Qc,getPrayerColor:pa,getPrayerLevel:ln},Symbol.toStringTag,{value:"Module"})),tu="religion",ga="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function ha(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function ou(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[ha(t)]||ga}function ma(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,ga]}const nu=ma,Eb=Object.assign({"./adoption.js":gb,"./engagement.js":bb,"./language-family.js":wb,"./prayer-progress.js":Sb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:tu,RELIGION_FAMILIES:Uo,applyColor:ma,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:$t,families:Uo,getColor:ou,applyColor:ma,buildColorExpression:nu,fallback:ga},getColor:ou,getReligionFamily:ha},Symbol.toStringTag,{value:"Module"}))}),Ab=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Cb=e=>e.replace(/-/g,"_").toUpperCase(),mo={...{STATUS:"status",CUSTOM:"custom"}},ba={};function ru(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=Ab(o);mo[Cb(o)]=r,ba[r]=n}}ru(Eb);function Tb(e){e&&ru(e)}function Vr(e){return ba[e]||ba[mo.LANGUAGE_FAMILY]}const Lb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Pb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Lb,null,!0),!0}catch{return!1}}const su="affinityBlock",cn="#95a5a6",un={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},_a={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},dn=_a;Object.entries(un).reduce((e,[t,o])=>(e[o]=t,e),{});const Nb=Object.entries(un).reduce((e,[t,o])=>(e[o]=dn[t],e),{}),Ib=un;function au(e){return un[e]||"Unknown"}function lu(e){return dn[e]||cn}function Rb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?dn[e]||cn:Nb[e]||cn:cn}function Fb(){return Object.entries(un).map(([e,t])=>({code:e,name:t,color:dn[e]}))}function Mb(e){return{code:e,name:un[e]||"Unknown",color:dn[e]||cn}}function Ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Db(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return au(t)}function iu(){const e=["match",["get",su]];return Object.entries(dn).forEach(([t,o])=>{e.push(t,o)}),e.push(cn),e}const jb={name:"Affinity Block",propertyKey:su,palette:_a,colors:_a,names:Ib,getColor:Ob,applyColor:iu,buildColorExpression:iu,getName:Db,getAffinityBlockName:au,getAffinityBlockColor:Rb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Fb,getAffinityBlockData:Mb};function zb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ya),e}const Gb={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:va,aliases:pu,fallback:ya,getColor:Bb,applyColor:gu,buildColorExpression:gu,getRegionColor:Ub,getRegionColorBySlug:fu},qb=Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href,xa=e=>String(e||"").trim().replace(/\/+$/,"");function Hb(){try{const t=String(qb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function hu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return xa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return xa(o)}return xa(Hb()||"")}function Vb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const l=hu(n),i=a.replace(/^\.\//,"");if(l)return l+"/"+i;if(typeof document<"u")try{return new URL(i,document.baseURI).href}catch{}return i}return r?window.location.origin+window.location.pathname:""}function At(e,t){const o=t||Wb(e);mt(()=>{var l;const n=ko();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Wb(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Vn={};function Yb(e){return e?(Vn[e]||(Vn[e]=new Promise((t,o)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>t(),n.onerror=()=>{delete Vn[e],o(new Error("failed to load "+e))},document.head.appendChild(n)})),Vn[e]):Promise.resolve()}function Xb(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const Jb=` + */const Dm="9.14.5";function jm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(co().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(co().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(co().__INTLIFY_PROD_DEVTOOLS__=!1)}const zm=bm.__EXTEND_POINT__,fo=Mr(zm);fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo();const kc=jt.__EXTEND_POINT__,kt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return tn(e,null,void 0)}const Qs=$o("__translateVNode"),ea=$o("__datetimeParts"),ta=$o("__numberParts"),$c=$o("__setPluralRules"),Sc=$o("__injectWithOption"),oa=$o("__dispose");function Gn(e){if(!Ue(e)||Zt(e))return e;for(const t in e)if(Ot(e,t))if(!t.includes("."))Ue(e[t])&&Gn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(a[i]=a[i]||Ve(),Dr(c,a[i])):Dr(c,a)}else ge(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Ot(a,l)&&Gn(a[l]);return a}function Ec(e){return e.type}function Ac(e,t,o){let n=Ue(t.messages)?t.messages:Ve();"__i18nGlobal"in o&&(n=Br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Cc(e){return Me(Pn,null,e,0)}const Tc="__INTLIFY_META__",Lc=()=>[],Um=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,ko()||void 0,r)}const Bm=()=>{const e=ko();let t=null;return e&&(t=Ec(e)[Tc])?{[Tc]:t}:null};function na(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Fr?ue:wn,l=!!e.translateExistCompatible;let i=De(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&i?o.locale.value:ge(e.locale)?e.locale:rn),u=a(o&&i?o.fallbackLocale.value:ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=a(Br(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=o?o.missingWarn:De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,x=o?o.fallbackWarn:De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,w=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,L=!!e.fallbackFormat,y=Xe(e.missing)?e.missing:null,p=Xe(e.missing)?Nc(e.missing):null,g=Xe(e.postTranslation)?e.postTranslation:null,_=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let D=e.pluralRules||o&&o.pluralRules,I;I=(()=>{r&&ic(null);const O={version:Dm,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:D,missing:p===null?void 0:p,missingWarn:A,fallbackWarn:x,fallbackFormat:L,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=v.value,O.__datetimeFormatters=Pe(I)?I.__datetimeFormatters:void 0,O.__numberFormatters=Pe(I)?I.__numberFormatters:void 0;const E=Cm(O);return r&&ic(E),E})(),Bn(I,c.value,u.value);function Q(){return[c.value,u.value,f.value,m.value,v.value]}const se=le({get:()=>c.value,set:O=>{c.value=O,I.locale=c.value}}),_e=le({get:()=>u.value,set:O=>{u.value=O,I.fallbackLocale=u.value,Bn(I,c.value,O)}}),q=le(()=>f.value),oe=le(()=>m.value),K=le(()=>v.value);function W(){return Xe(g)?g:null}function T(O){g=O,I.postTranslation=O}function B(){return y}function M(O){O!==null&&(p=Nc(O)),y=O,I.missing=p}const P=(O,E,te,ae,he,ve)=>{Q();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=o?Am():void 0),Be=O(I)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=void 0)}if(te!=="translate exists"&&ot(Be)&&Be===Ur||te==="translate exists"&&!Be){const[qe,st]=E();return o&&w?ae(o):he(qe)}else{if(ve(Be))return Be;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function Y(...O){return P(E=>Reflect.apply(gc,null,[E,...O]),()=>Xs(...O),"translate",E=>Reflect.apply(E.t,E,[...O]),E=>E,E=>ge(E))}function ie(...O){const[E,te,ae]=O;if(ae&&!Ue(ae))throw lt(rt.INVALID_ARGUMENT);return Y(E,te,dt({resolvedMessage:!0},ae||{}))}function be(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>Reflect.apply(E.d,E,[...O]),()=>ec,E=>ge(E))}function $e(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>Reflect.apply(E.n,E,[...O]),()=>ec,E=>ge(E))}function Ne(O){return O.map(E=>ge(E)||ot(E)||De(E)?Cc(String(E)):E)}const ke={normalize:Ne,interpolate:O=>O,type:"vnode"};function me(...O){return P(E=>{let te;const ae=E;try{ae.processor=ke,te=Reflect.apply(gc,null,[ae,...O])}finally{ae.processor=null}return te},()=>Xs(...O),"translate",E=>E[Qs](...O),E=>[Cc(E)],E=>Ze(E))}function pe(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>E[ta](...O),Lc,E=>ge(E)||Ze(E))}function ye(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>E[ea](...O),Lc,E=>ge(E)||Ze(E))}function b(O){D=O,I.pluralRules=D}function C(O,E){return P(()=>{if(!O)return!1;const te=ge(E)?E:c.value,ae=X(te),he=I.messageResolver(ae,O);return l?he!=null:Zt(he)||Lt(he)||ge(he)},()=>[O],"translate exists",te=>Reflect.apply(te.te,te,[O,E]),Um,te=>De(te))}function k(O){let E=null;const te=Zi(I,u.value,c.value);for(let ae=0;ae{i&&(c.value=O,I.locale=O,Bn(I,c.value,u.value))}),ut(o.fallbackLocale,O=>{i&&(u.value=O,I.fallbackLocale=O,Bn(I,c.value,u.value))}));const re={id:Pc,locale:se,fallbackLocale:_e,get inheritLocale(){return i},set inheritLocale(O){i=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(I,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return D||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(O){A=O,I.missingWarn=A},get fallbackWarn(){return x},set fallbackWarn(O){x=O,I.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(O){w=O},get fallbackFormat(){return L},set fallbackFormat(O){L=O,I.fallbackFormat=L},get warnHtmlMessage(){return _},set warnHtmlMessage(O){_=O,I.warnHtmlMessage=O},get escapeParameter(){return S},set escapeParameter(O){S=O,I.escapeParameter=O},t:Y,getLocaleMessage:X,setLocaleMessage:ne,mergeLocaleMessage:z,getPostTranslationHandler:W,setPostTranslationHandler:T,getMissingHandler:B,setMissingHandler:M,[$c]:b};return re.datetimeFormats=oe,re.numberFormats=K,re.rt=ie,re.te=C,re.tm=G,re.d=be,re.n=$e,re.getDateTimeFormat=j,re.setDateTimeFormat=d,re.mergeDateTimeFormat=h,re.getNumberFormat=F,re.setNumberFormat=U,re.mergeNumberFormat=ee,re[Sc]=n,re[Qs]=me,re[ea]=ye,re[ta]=pe,re}function Gm(e){const t=ge(e.locale)?e.locale:rn,o=ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=De(e.silentTranslationWarn)||So(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=De(e.silentFallbackWarn)||So(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=De(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,f=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let A=e.messages;if(Pe(e.sharedMessages)){const S=e.sharedMessages;A=Object.keys(S).reduce((D,I)=>{const H=D[I]||(D[I]={});return dt(H,S[I]),D},A||{})}const{__i18n:x,__root:w,__injectWithOption:L}=e,y=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,_=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:A,flatJson:g,datetimeFormats:y,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:L}}function ra(e={},t){{const o=na(Gm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=De(s)?!s:s},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=De(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,l,i]=s,c={};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:Ze(l)?u=l:Pe(l)&&(f=l),Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:ot(l)?c.plural=l:Ze(l)?u=l:Pe(l)&&(f=l),ge(i)?c.locale=i:Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const sa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Se?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ve())}function Ic(e){return Se}const Fc=An({name:"i18n-t",props:dt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},sa),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||an({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),a=Ve();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=ge(e.plural)?+e.plural:e.plural);const l=qm(t,s),i=r[Qs](e.keypath,l,a),c=dt(Ve(),n),u=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Hm(e){return Ze(e)&&!ge(e[0])}function Rc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let l=Ve();e.locale&&(a.locale=e.locale),ge(e.format)?a.key=e.format:Ue(e.format)&&(ge(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?dt(Ve(),m,{[v]:e.format[v]}):m,Ve()));const i=n(e.value,a,l);let c=[a.key];Ze(i)?c=i.map((m,v)=>{const A=r[m.type],x=A?A({[m.type]:m.value,index:v,parts:i}):[m.value];return Hm(x)&&(x[0].key=`${m.type}-${v}`),x}):ge(i)&&(c=[i]);const u=dt(Ve(),s),f=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(f,u,c)}}const Mc=An({name:"i18n-n",props:dt({value:{type:Number,required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Rc(e,t,xc,(...n)=>o[ta](...n))}}),Oc=An({name:"i18n-d",props:dt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Rc(e,t,_c,(...n)=>o[ea](...n))}});function Vm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Wm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=Vm(e,l.$),f=Dc(c);return[Reflect.apply(u.t,u,[...jc(f)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Fr&&e.global===c&&(a.__i18nWatcher=ut(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=c,a.textContent=i},unmounted:a=>{Fr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const i=a.__composer,c=Dc(l);a.textContent=Reflect.apply(i.t,i,[...jc(c)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function Dc(e){if(ge(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(rt.REQUIRED_VALUE,"path");return e}else throw lt(rt.INVALID_VALUE)}function jc(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},l=n||{};return ge(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Km(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Fc.name,"I18nT"].forEach(a=>e.component(a,Fc)),[Mc.name,"I18nN"].forEach(a=>e.component(a,Mc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",Wm(t))}function Ym(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=zc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ra(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=zc(e,r);else{this.$i18n=ra({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Ac(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function zc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[$c](t.pluralizationRules||e.pluralizationRules);const o=Br(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Xm=$o("global-vue-i18n");function Jm(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,l]=Zm(e,o),i=$o("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...A){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Pe(A[0])){const L=A[0];m.__composerExtend=L.__composerExtend,m.__vueI18nExtend=L.__vueI18nExtend}let x=null;!o&&n&&(x=lb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Km(v,m,...A),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Ym(l,l.__composer,m));const w=v.unmount;v.unmount=()=>{x&&x(),m.dispose(),w()}},get global(){return l},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function an(e={}){const t=ko();if(t==null)throw lt(rt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(rt.NOT_INSTALLED);const o=Qm(t),n=tb(o),r=Ec(t),s=eb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return sb(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=ob(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=dt({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=na(i),a.__composerExtend&&(l[oa]=a.__composerExtend(l)),rb(a,t,l),a.__setInstance(t,l)}return l}function Zm(e,t,o){const n=Ha();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ra(e)):n.run(()=>na(e));if(r==null)throw lt(rt.UNEXPECTED_ERROR);return[n,r]}}function Qm(e){{const t=Re(e.isCE?Xm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function eb(e,t){return Rr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tb(e){return e.mode==="composition"?e.global:e.global.__composer}function ob(e,t,o=!1){let n=null;const r=t.root;let s=nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(n=l.__composer,o&&n&&!n[Sc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rb(e,t,o){mt(()=>{},t),$s(()=>{const n=o;e.__deleteInstance(t);const r=n[oa];r&&(r(),delete n[oa])},t)}function sb(e,t,o,n={}){const r=t==="local",s=wn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(rt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=De(n.inheritLocale)?n.inheritLocale:!ge(n.locale),l=ue(!r||a?o.locale.value:ge(n.locale)?n.locale:rn),i=ue(!r||a?o.fallbackLocale.value:ge(n.fallbackLocale)||Ze(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ue(Br(l.value,n)),u=ue(Pe(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),f=ue(Pe(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:De(n.missingWarn)||So(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:De(n.fallbackWarn)||So(n.fallbackWarn)?n.fallbackWarn:!0,A=r?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,w=Xe(n.missing)?n.missing:null,L=Xe(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function S(){return[l.value,i.value,c.value,u.value,f.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),D=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),I=le(()=>s.value?s.value.messages.value:c.value),H=le(()=>u.value),Q=le(()=>f.value);function se(){return s.value?s.value.getPostTranslationHandler():L}function _e(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function oe(k){s.value&&s.value.setMissingHandler(k)}function K(k){return S(),k()}function W(...k){return s.value?K(()=>Reflect.apply(s.value.t,null,[...k])):K(()=>"")}function T(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function B(...k){return s.value?K(()=>Reflect.apply(s.value.d,null,[...k])):K(()=>"")}function M(...k){return s.value?K(()=>Reflect.apply(s.value.n,null,[...k])):K(()=>"")}function P(k){return s.value?s.value.tm(k):{}}function Y(k,G){return s.value?s.value.te(k,G):!1}function ie(k){return s.value?s.value.getLocaleMessage(k):{}}function be(k,G){s.value&&(s.value.setLocaleMessage(k,G),c.value[k]=G)}function $e(k,G){s.value&&s.value.mergeLocaleMessage(k,G)}function Ne(k){return s.value?s.value.getDateTimeFormat(k):{}}function Ee(k,G){s.value&&(s.value.setDateTimeFormat(k,G),u.value[k]=G)}function ke(k,G){s.value&&s.value.mergeDateTimeFormat(k,G)}function me(k){return s.value?s.value.getNumberFormat(k):{}}function pe(k,G){s.value&&(s.value.setNumberFormat(k,G),f.value[k]=G)}function ye(k,G){s.value&&s.value.mergeNumberFormat(k,G)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:D,messages:I,datetimeFormats:H,numberFormats:Q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(k){s.value&&(s.value.inheritLocale=k)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:g},get pluralRules(){return s.value?s.value.pluralRules:_},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(k){s.value&&(s.value.fallbackRoot=k)},get fallbackFormat(){return s.value?s.value.fallbackFormat:x},set fallbackFormat(k){s.value&&(s.value.fallbackFormat=k)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:y},set warnHtmlMessage(k){s.value&&(s.value.warnHtmlMessage=k)},get escapeParameter(){return s.value?s.value.escapeParameter:p},set escapeParameter(k){s.value&&(s.value.escapeParameter=k)},t:W,getPostTranslationHandler:se,setPostTranslationHandler:_e,getMissingHandler:q,setMissingHandler:oe,rt:T,d:B,n:M,tm:P,te:Y,getLocaleMessage:ie,setLocaleMessage:be,mergeLocaleMessage:$e,getDateTimeFormat:Ne,setDateTimeFormat:Ee,mergeDateTimeFormat:ke,getNumberFormat:me,setNumberFormat:pe,mergeNumberFormat:ye};function C(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(G=>{k.mergeLocaleMessage(G,c.value[G])}),Object.keys(u.value).forEach(G=>{k.mergeDateTimeFormat(G,u.value[G])}),Object.keys(f.value).forEach(G=>{k.mergeNumberFormat(G,f.value[G])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=A,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=y}return Ll(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(rt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const k=s.value=e.proxy.$i18n.__composer;t==="global"?(l.value=k.locale.value,i.value=k.fallbackLocale.value,c.value=k.messages.value,u.value=k.datetimeFormats.value,f.value=k.numberFormats.value):r&&C(k)}),b}const ab=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function lb(e,t){const o=Object.create(null);return ab.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(rt.UNEXPECTED_ERROR);const a=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,Uc.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(rt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,Uc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(jm(),__INTLIFY_JIT_COMPILATION__?nc(Im):nc(Nm),km(nm),$m(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=co();e.__INTLIFY__=!0,fm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const ib=Object.assign({"./locales/ar/aria.json":gp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":mp,"./locales/ar/legend.json":bp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":yp,"./locales/ar/prayerLaps.json":vp,"./locales/ar/search.json":xp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Sp,"./locales/de/legend.json":Ep,"./locales/de/messages.json":Ap,"./locales/de/options.json":Cp,"./locales/de/prayerLaps.json":Tp,"./locales/de/search.json":Lp,"./locales/de/tabs.json":Pp,"./locales/en/aria.json":Np,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Fp,"./locales/en/legend.json":Rp,"./locales/en/messages.json":Mp,"./locales/en/options.json":Op,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":jp,"./locales/en/search.json":zp,"./locales/en/tabs.json":Up,"./locales/es/aria.json":Bp,"./locales/es/buttons.json":Gp,"./locales/es/detail.json":qp,"./locales/es/legend.json":Hp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Wp,"./locales/es/prayerLaps.json":Kp,"./locales/es/search.json":Yp,"./locales/es/tabs.json":Xp,"./locales/fr/aria.json":Jp,"./locales/fr/buttons.json":Zp,"./locales/fr/detail.json":Qp,"./locales/fr/legend.json":eg,"./locales/fr/messages.json":tg,"./locales/fr/options.json":og,"./locales/fr/popup.json":ng,"./locales/fr/prayerLaps.json":rg,"./locales/fr/search.json":sg,"./locales/fr/tabs.json":ag,"./locales/hi/aria.json":lg,"./locales/hi/buttons.json":ig,"./locales/hi/detail.json":cg,"./locales/hi/legend.json":ug,"./locales/hi/messages.json":dg,"./locales/hi/options.json":fg,"./locales/hi/prayerLaps.json":pg,"./locales/hi/search.json":gg,"./locales/it/aria.json":hg,"./locales/it/buttons.json":mg,"./locales/it/detail.json":bg,"./locales/it/legend.json":_g,"./locales/it/messages.json":yg,"./locales/it/options.json":vg,"./locales/it/prayerLaps.json":xg,"./locales/it/search.json":wg,"./locales/pt/aria.json":kg,"./locales/pt/buttons.json":$g,"./locales/pt/detail.json":Sg,"./locales/pt/legend.json":Eg,"./locales/pt/messages.json":Ag,"./locales/pt/options.json":Cg,"./locales/pt/prayerLaps.json":Tg,"./locales/pt/search.json":Lg,"./locales/pt/tabs.json":Pg,"./locales/ro/aria.json":Ng,"./locales/ro/buttons.json":Ig,"./locales/ro/detail.json":Fg,"./locales/ro/legend.json":Rg,"./locales/ro/messages.json":Mg,"./locales/ro/options.json":Og,"./locales/ro/prayerLaps.json":Dg,"./locales/ro/search.json":jg,"./locales/ru/aria.json":zg,"./locales/ru/buttons.json":Ug,"./locales/ru/detail.json":Bg,"./locales/ru/legend.json":Gg,"./locales/ru/messages.json":qg,"./locales/ru/options.json":Hg,"./locales/ru/prayerLaps.json":Vg,"./locales/ru/search.json":Wg,"./locales/ru/tabs.json":Kg,"./locales/zh/aria.json":Yg,"./locales/zh/buttons.json":Xg,"./locales/zh/detail.json":Jg,"./locales/zh/legend.json":Zg,"./locales/zh/messages.json":Qg,"./locales/zh/options.json":eh,"./locales/zh/prayerLaps.json":th,"./locales/zh/search.json":oh}),qn={};for(const[e,t]of Object.entries(ib)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const cb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ub(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return cb.includes(t)?t:"en"}function db(){return Jm({legacy:!1,globalInjection:!0,locale:ub(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",po={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},fb=po,aa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},pb=aa;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?po.hasAdoption:po.notAdopted}function la({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],po.hasAdoption,["==",t,1],po.hasAdoption,po.notAdopted]}const qc=la,gb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:fb,ADOPTION_LABELS:pb,LABELS:aa,PALETTE:po,PROPERTY_KEY:Bc,applyColor:la,buildColorExpression:qc,default:{name:"Adoption Progress",propertyKey:Bc,palette:po,colors:po,labels:aa,getColor:Gc,applyColor:la,buildColorExpression:qc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Hc="engagementStatus",go={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},hb=go,ia={notEngaged:"Unengaged",hasEngagement:"Engaged"},mb=ia;function Vc(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?go.hasEngagement:go.notEngaged}function ca({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const Wc=ca,bb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:hb,ENGAGEMENT_LABELS:mb,LABELS:ia,PALETTE:go,PROPERTY_KEY:Hc,applyColor:ca,buildColorExpression:Wc,default:{name:"Engagement Progress",propertyKey:Hc,palette:go,colors:go,labels:ia,getColor:Vc,applyColor:ca,buildColorExpression:Wc},getColor:Vc},Symbol.toStringTag,{value:"Module"})),ua="languageFamily",_b="#000000",ho={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},yb=ho;function da(e){return ho[e]||_b}const vb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ho))t[e(o)]=o;return t})(),xb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return xb[o]||vb[o]||t}function Kc(e){var t;return da(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function fa(){const e=["match",["get",ua]];return Object.entries(ho).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yc=fa,wb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:yb,PALETTE:ho,PROPERTY_KEY:ua,applyColor:fa,buildColorExpression:Yc,canonicalFamilyName:Gr,default:{name:"Language Family",propertyKey:ua,palette:ho,colors:ho,getColor:Kc,applyColor:fa,buildColorExpression:Yc,getLanguageFamilyColor:da,canonicalFamilyName:Gr},defaultFamilyColor:"#95a5a6",getColor:Kc,getLanguageFamilyColor:da,languageFamilyColors:ho},Symbol.toStringTag,{value:"Module"})),Xc="peoplePraying",qr=144,To={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},kb=To,Hn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},$b=Hn;function ln(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function pa(e){return To[ln(e)]}function Jc(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Zc(e){return ln(e)==="fullPrayer"}function Qc(e){return pa(e)}function Hr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,qr],To.fullPrayer,[">",t,0],To.hasPrayer,To.noPrayer]}const eu=Hr,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Hn,PALETTE:To,PRAYER_COLORS:kb,PRAYER_LABELS:$b,PROPERTY_KEY:Xc,applyColor:Hr,buildColorExpression:eu,checkHasFullPrayer:Zc,checkHasPrayer:Jc,default:{name:"Prayer Progress",propertyKey:Xc,palette:To,colors:To,labels:Hn,threshold:qr,getColor:Qc,applyColor:Hr,buildColorExpression:eu,getPrayerLevel:ln,getPrayerColor:pa,checkHasPrayer:Jc,checkHasFullPrayer:Zc},getColor:Qc,getPrayerColor:pa,getPrayerLevel:ln},Symbol.toStringTag,{value:"Module"})),tu="religion",ga="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function ha(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function ou(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[ha(t)]||ga}function ma(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,ga]}const nu=ma,Eb=Object.assign({"./adoption.js":gb,"./engagement.js":bb,"./language-family.js":wb,"./prayer-progress.js":Sb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:tu,RELIGION_FAMILIES:Uo,applyColor:ma,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:$t,families:Uo,getColor:ou,applyColor:ma,buildColorExpression:nu,fallback:ga},getColor:ou,getReligionFamily:ha},Symbol.toStringTag,{value:"Module"}))}),Ab=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Cb=e=>e.replace(/-/g,"_").toUpperCase(),mo={...{STATUS:"status",CUSTOM:"custom"}},ba={};function ru(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=Ab(o);mo[Cb(o)]=r,ba[r]=n}}ru(Eb);function Tb(e){e&&ru(e)}function Vr(e){return ba[e]||ba[mo.LANGUAGE_FAMILY]}const Lb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Pb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Lb,null,!0),!0}catch{return!1}}const su="affinityBlock",cn="#95a5a6",un={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},_a={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},dn=_a;Object.entries(un).reduce((e,[t,o])=>(e[o]=t,e),{});const Nb=Object.entries(un).reduce((e,[t,o])=>(e[o]=dn[t],e),{}),Ib=un;function au(e){return un[e]||"Unknown"}function lu(e){return dn[e]||cn}function Fb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?dn[e]||cn:Nb[e]||cn:cn}function Rb(){return Object.entries(un).map(([e,t])=>({code:e,name:t,color:dn[e]}))}function Mb(e){return{code:e,name:un[e]||"Unknown",color:dn[e]||cn}}function Ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Db(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return au(t)}function iu(){const e=["match",["get",su]];return Object.entries(dn).forEach(([t,o])=>{e.push(t,o)}),e.push(cn),e}const jb={name:"Affinity Block",propertyKey:su,palette:_a,colors:_a,names:Ib,getColor:Ob,applyColor:iu,buildColorExpression:iu,getName:Db,getAffinityBlockName:au,getAffinityBlockColor:Fb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Rb,getAffinityBlockData:Mb};function zb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ya),e}const Gb={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:va,aliases:pu,fallback:ya,getColor:Bb,applyColor:gu,buildColorExpression:gu,getRegionColor:Ub,getRegionColorBySlug:fu},qb=Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href,xa=e=>String(e||"").trim().replace(/\/+$/,"");function Hb(){try{const t=String(qb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function hu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return xa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return xa(o)}return xa(Hb()||"")}function Vb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const l=hu(n),i=a.replace(/^\.\//,"");if(l)return l+"/"+i;if(typeof document<"u")try{return new URL(i,document.baseURI).href}catch{}return i}return r?window.location.origin+window.location.pathname:""}function At(e,t){const o=t||Wb(e);mt(()=>{var l;const n=ko();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Wb(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Vn={};function Yb(e){return e?(Vn[e]||(Vn[e]=new Promise((t,o)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>t(),n.onerror=()=>{delete Vn[e],o(new Error("failed to load "+e))},document.head.appendChild(n)})),Vn[e]):Promise.resolve()}function Xb(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const Jb=` .stl { display:flow-root; width:100%; min-height:100%; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --stl-accent:#92b195; --stl-border:#d1d4cd; --stl-elevated:#ffffff; --stl-muted:#6d766e; } .stl-top { display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid var(--stl-border); background:#ffffff; position:sticky; top:0; z-index:5; } .stl-brand { display:inline-flex; align-items:center; } @@ -67,11 +67,11 @@ .stl ::-webkit-scrollbar-thumb { background:#c4c8c0; border-radius:8px; } .stl ::-webkit-scrollbar-thumb:hover { background:#9aa197; } .stl ::-webkit-scrollbar-corner { background:transparent; } -`,Zb=An({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){At(Jb,"stack-layout")},data(){return{_hosts:{},_mounted:{}}},mounted(){for(const e of this.sections||[])e.element&&this.mountSection(e)},methods:{registerHost(e,t){t&&(this._hosts[e]=t)},sectionStyle(e){const t={},o=e.maxHeight||this.maxSectionHeight,n=e.minHeight||this.minSectionHeight,r=!!(o&&n&&o===n);return o&&(t.maxHeight=o,r||(t.overflow="auto")),n&&(t.minHeight=n),Object.keys(t).length?t:null},hasDefiniteHeight(e){const t=e.maxHeight||this.maxSectionHeight,o=e.minHeight||this.minSectionHeight;return!!(t&&o&&t===o)},mountSection(e){if(this._mounted[e.key])return;this._mounted[e.key]=!0;const t=this._hosts[e.key];t&&Yb(e.src).then(()=>Xb(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const s=n[r];try{o[r]=s}catch{}try{o.setAttribute(r,s==null?"":String(s))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(()=>{})}}}),Qb={class:"stl"},e_={key:0,class:"stl-top"},t_={class:"stl-brand"},o_={key:0,class:"stl-title"},n_={class:"stl-meta"},r_={class:"stl-stack"},s_={key:0,class:"stl-sec-head"},a_={class:"stl-sec-title"},l_={key:0,class:"stl-sec-sub"},i_={key:2,class:"stl-slot"},c_={class:"stl-tail"};function u_(e,t,o,n,r,s){return V(),J("div",Qb,[e.$slots.brand||e.$slots.meta||e.title?(V(),J("header",e_,[N("span",t_,[Oo(e.$slots,"brand")]),e.title?(V(),J("b",o_,de(e.title),1)):Ie("",!0),N("span",n_,[Oo(e.$slots,"meta")])])):Ie("",!0),N("div",r_,[(V(!0),J(Se,null,Ye(e.sections,a=>(V(),J("section",{key:a.key,class:je(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(V(),J("div",s_,[N("b",a_,de(a.title),1),a.sub?(V(),J("span",l_,de(a.sub),1)):Ie("",!0)])):Ie("",!0),a.element?(V(),J("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(V(),J("div",i_,[Oo(e.$slots,"section-"+a.key)]))],6))),128)),N("div",c_,[Oo(e.$slots,"default")])])])}const d_=fn(Zb,[["render",u_],["styles",[Kb]]]);function f_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function p_(){const e=No({}),t=new Set,o=ue(0),n=ue(""),r=new Map;function s(y,p){return r.has(y)||r.set(y,new Set),r.get(y).add(p),()=>{var g;return(g=r.get(y))==null?void 0:g.delete(p)}}function a(y,p){var g;(g=r.get(y))==null||g.forEach(_=>{try{_(p)}catch{}})}let l={};function i(y){l=f_(y)}function c(y,p){if(p==null){delete e[y];for(const g of l[y]||[])delete e[g]}else e[y]=p;a("filter",e)}function u(){Object.keys(e).forEach(y=>delete e[y]),a("filter",e)}function f(y){n.value=y==null?"":String(y),a("search",n.value)}function m(){o.value++,a("select",t)}function v(y){t.has(y)?t.delete(y):t.add(y),m()}function A(){t.size&&(t.clear(),m())}function x(y,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const _ of y)t.has(_)||(t.add(_),g=!0);return g&&m(),g}function w(y){let p=!1;for(const g of y)t.delete(g)&&(p=!0);return p&&m(),p}function L(y){const p=y instanceof Set?y:new Set(y);if(p.size===t.size){let g=!0;for(const _ of p)if(!t.has(_)){g=!1;break}if(g)return!1}t.clear();for(const g of p)t.add(g);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:f,configureHierarchy:i,toggleSelect:v,clearSelection:A,selectMany:x,deselectMany:w,setSelection:L}}function wa(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const zt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}};function g_(e={}){const t=ue(!1),o=ue(null),n=wn(new Map),r=wn([]),s=ue(null),a=ue(0),l=e.source||zt.activeSource;async function i(){var c,u,f,m;t.value=!0,o.value=null;try{const v=((c=zt==null?void 0:zt.sources)==null?void 0:c[l])||{},A=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),L=((f=v.queryParams)==null?void 0:f.lang)||"en",y=`${A}${x}?${w?`fields=${w}&`:""}lang=${L}&_=${Date.now()}`,p=await fetch(y,{cache:"no-store"});if(!p.ok)throw new Error(`list HTTP ${p.status}`);const g=await p.json(),_=Array.isArray(g)?g:g.posts||g.data||g.results||[],S=new Map;for(const D of _){const I=D&&(D.slug||D.id);I&&S.set(I,D)}n.value=S,r.value=_,a.value=S.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const D=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});D.ok&&(D.headers.get("content-type")||"").includes("json")&&(s.value=await D.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(v){o.value=v&&v.message?v.message:String(v)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:i,sourceId:l}}const Wr=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function ka({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var oe,K,W;const _=s.source||zt.activeSource,S=((oe=zt==null?void 0:zt.sources)==null?void 0:oe[_])||{},$=Array.isArray(S.exportFields)&&S.exportFields.length?S.exportFields:Wr,D=((K=S.endpoints)==null?void 0:K.bulk)||"/api/people-groups/list",I=((W=S.queryParams)==null?void 0:W.lang)||"en",H=`${wa()}${D}?fields=${$.join(",")}&lang=${I}`,Q=await fetch(H,{cache:"no-store"});if(!Q.ok)throw new Error(`export list HTTP ${Q.status}`);const se=await Q.json(),_e=Array.isArray(se)?se:se.posts||se.data||se.results||[],q=new Map;for(const T of _e){const B=T&&(T.slug||T.id);B&&q.set(B,T)}return l=q,q})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const S=l.get(_&&(_.slug||_.id));return S?{..._,...S}:_}function f(){if(o&&o.size)return[...o].map(S=>e.value.get(S)).filter(Boolean);const _=Object.keys(n);return _.length?(t.value||[]).filter(S=>_.every($=>{const D=r[$];return D?D(S)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function v(_){return _==null?_:Array.isArray(_)?_.map(S=>v(S)).filter(S=>S!==""&&S!==null&&S!==void 0).join(" | "):typeof _=="object"?_.label??_.value??_.text??_.name??_.link??JSON.stringify(_):_}function A(_){const S={};for(const $ of Object.keys(_))S[$]=v(_[$]);return S}function x(_){let S=_==null?"":String(_);return/^[=+\-@]/.test(S)&&(S="'"+S),/[",\n\r]/.test(S)&&(S='"'+S.replace(/"/g,'""')+'"'),S}function w(){const _=f().map(u).map(A),S=_.reduce((Q,se)=>(Object.keys(se).forEach(_e=>Q.add(_e)),Q),new Set),$=[...Wr.filter(Q=>S.has(Q)),...[...S].filter(Q=>!Wr.includes(Q))],D=Object.entries(n).map(([Q,se])=>`${Q}=${a?a(Q,se):se}`).join(" | ")||"none",I=`# Research Dashboard export — scope: ${m()}; filters: ${D}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(Q=>$.map(se=>x(Q[se])).join(",")),I].join(`\r +`,Zb=An({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){At(Jb,"stack-layout")},data(){return{_hosts:{},_mounted:{}}},mounted(){for(const e of this.sections||[])e.element&&this.mountSection(e)},methods:{registerHost(e,t){t&&(this._hosts[e]=t)},sectionStyle(e){const t={},o=e.maxHeight||this.maxSectionHeight,n=e.minHeight||this.minSectionHeight,r=!!(o&&n&&o===n);return o&&(t.maxHeight=o,r||(t.overflow="auto")),n&&(t.minHeight=n),Object.keys(t).length?t:null},hasDefiniteHeight(e){const t=e.maxHeight||this.maxSectionHeight,o=e.minHeight||this.minSectionHeight;return!!(t&&o&&t===o)},mountSection(e){if(this._mounted[e.key])return;this._mounted[e.key]=!0;const t=this._hosts[e.key];t&&Yb(e.src).then(()=>Xb(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const s=n[r];try{o[r]=s}catch{}try{o.setAttribute(r,s==null?"":String(s))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(o=>{const n=o&&o.message||String(o);console.error('[StackLayout] section "'+e.key+'" failed to mount <'+e.element+">"+(e.src?" from "+e.src:"")+": "+n);try{t.innerHTML="";const r=document.createElement("div");r.setAttribute("role","status"),r.style.cssText="padding:16px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6d766e;background:#fff;border:1px solid #d1d4cd;border-radius:8px;margin:12px",r.textContent="Could not load <"+e.element+">"+(e.src?" from "+e.src:"")+" — "+n,t.appendChild(r)}catch{}})}}}),Qb={class:"stl"},e_={key:0,class:"stl-top"},t_={class:"stl-brand"},o_={key:0,class:"stl-title"},n_={class:"stl-meta"},r_={class:"stl-stack"},s_={key:0,class:"stl-sec-head"},a_={class:"stl-sec-title"},l_={key:0,class:"stl-sec-sub"},i_={key:2,class:"stl-slot"},c_={class:"stl-tail"};function u_(e,t,o,n,r,s){return V(),J("div",Qb,[e.$slots.brand||e.$slots.meta||e.title?(V(),J("header",e_,[N("span",t_,[Oo(e.$slots,"brand")]),e.title?(V(),J("b",o_,de(e.title),1)):Ie("",!0),N("span",n_,[Oo(e.$slots,"meta")])])):Ie("",!0),N("div",r_,[(V(!0),J(Se,null,Ye(e.sections,a=>(V(),J("section",{key:a.key,class:je(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(V(),J("div",s_,[N("b",a_,de(a.title),1),a.sub?(V(),J("span",l_,de(a.sub),1)):Ie("",!0)])):Ie("",!0),a.element?(V(),J("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(V(),J("div",i_,[Oo(e.$slots,"section-"+a.key)]))],6))),128)),N("div",c_,[Oo(e.$slots,"default")])])])}const d_=fn(Zb,[["render",u_],["styles",[Kb]]]);function f_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function p_(){const e=No({}),t=new Set,o=ue(0),n=ue(""),r=new Map;function s(y,p){return r.has(y)||r.set(y,new Set),r.get(y).add(p),()=>{var g;return(g=r.get(y))==null?void 0:g.delete(p)}}function a(y,p){var g;(g=r.get(y))==null||g.forEach(_=>{try{_(p)}catch{}})}let l={};function i(y){l=f_(y)}function c(y,p){if(p==null){delete e[y];for(const g of l[y]||[])delete e[g]}else e[y]=p;a("filter",e)}function u(){Object.keys(e).forEach(y=>delete e[y]),a("filter",e)}function f(y){n.value=y==null?"":String(y),a("search",n.value)}function m(){o.value++,a("select",t)}function v(y){t.has(y)?t.delete(y):t.add(y),m()}function A(){t.size&&(t.clear(),m())}function x(y,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const _ of y)t.has(_)||(t.add(_),g=!0);return g&&m(),g}function w(y){let p=!1;for(const g of y)t.delete(g)&&(p=!0);return p&&m(),p}function L(y){const p=y instanceof Set?y:new Set(y);if(p.size===t.size){let g=!0;for(const _ of p)if(!t.has(_)){g=!1;break}if(g)return!1}t.clear();for(const g of p)t.add(g);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:f,configureHierarchy:i,toggleSelect:v,clearSelection:A,selectMany:x,deselectMany:w,setSelection:L}}function wa(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const zt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}};function g_(e={}){const t=ue(!1),o=ue(null),n=wn(new Map),r=wn([]),s=ue(null),a=ue(0),l=e.source||zt.activeSource;async function i(){var c,u,f,m;t.value=!0,o.value=null;try{const v=((c=zt==null?void 0:zt.sources)==null?void 0:c[l])||{},A=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),L=((f=v.queryParams)==null?void 0:f.lang)||"en",y=`${A}${x}?${w?`fields=${w}&`:""}lang=${L}&_=${Date.now()}`,p=await fetch(y,{cache:"no-store"});if(!p.ok)throw new Error(`list HTTP ${p.status}`);const g=await p.json(),_=Array.isArray(g)?g:g.posts||g.data||g.results||[],S=new Map;for(const D of _){const I=D&&(D.slug||D.id);I&&S.set(I,D)}n.value=S,r.value=_,a.value=S.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const D=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});D.ok&&(D.headers.get("content-type")||"").includes("json")&&(s.value=await D.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(v){o.value=v&&v.message?v.message:String(v)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:i,sourceId:l}}const Wr=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function ka({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var oe,K,W;const _=s.source||zt.activeSource,S=((oe=zt==null?void 0:zt.sources)==null?void 0:oe[_])||{},$=Array.isArray(S.exportFields)&&S.exportFields.length?S.exportFields:Wr,D=((K=S.endpoints)==null?void 0:K.bulk)||"/api/people-groups/list",I=((W=S.queryParams)==null?void 0:W.lang)||"en",H=`${wa()}${D}?fields=${$.join(",")}&lang=${I}`,Q=await fetch(H,{cache:"no-store"});if(!Q.ok)throw new Error(`export list HTTP ${Q.status}`);const se=await Q.json(),_e=Array.isArray(se)?se:se.posts||se.data||se.results||[],q=new Map;for(const T of _e){const B=T&&(T.slug||T.id);B&&q.set(B,T)}return l=q,q})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const S=l.get(_&&(_.slug||_.id));return S?{..._,...S}:_}function f(){if(o&&o.size)return[...o].map(S=>e.value.get(S)).filter(Boolean);const _=Object.keys(n);return _.length?(t.value||[]).filter(S=>_.every($=>{const D=r[$];return D?D(S)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function v(_){return _==null?_:Array.isArray(_)?_.map(S=>v(S)).filter(S=>S!==""&&S!==null&&S!==void 0).join(" | "):typeof _=="object"?_.label??_.value??_.text??_.name??_.link??JSON.stringify(_):_}function A(_){const S={};for(const $ of Object.keys(_))S[$]=v(_[$]);return S}function x(_){let S=_==null?"":String(_);return/^[=+\-@]/.test(S)&&(S="'"+S),/[",\n\r]/.test(S)&&(S='"'+S.replace(/"/g,'""')+'"'),S}function w(){const _=f().map(u).map(A),S=_.reduce((Q,se)=>(Object.keys(se).forEach(_e=>Q.add(_e)),Q),new Set),$=[...Wr.filter(Q=>S.has(Q)),...[...S].filter(Q=>!Wr.includes(Q))],D=Object.entries(n).map(([Q,se])=>`${Q}=${a?a(Q,se):se}`).join(" | ")||"none",I=`# Research Dashboard export — scope: ${m()}; filters: ${D}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(Q=>$.map(se=>x(Q[se])).join(",")),I].join(`\r `)}const L={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function y(){const _=w(),S=f().length,$=(_.split(`\r `)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=_)}catch{}let D=!1,I=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(_).catch(()=>{}),D=!0)}catch{}try{const H=new Blob([_],{type:"text/csv;charset=utf-8"}),Q=URL.createObjectURL(H),se=document.createElement("a");se.href=Q,se.download="research-dashboard.csv",se.style.display="none",document.body.appendChild(se),se.click(),I=!0,setTimeout(()=>{try{URL.revokeObjectURL(Q),se.remove()}catch{}},200)}catch{}Object.assign(L,{rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l}}catch{}return{csv:_,rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l}}async function p(){try{await c()}catch{}return y()}function g(){try{return c()}catch{return null}}return{exportCsv:y,exportCsvAsync:p,buildCsv:w,pickRows:f,scopeLabel:m,lastExport:L,prefetchExportFields:g,EXPORT_FIELDS:Wr}}const h_="#6b7280";function m_(){const e=Vr(mo.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function b_(e,t){const o=m_();return e&&o[e]?o[e]:h_}function __(e){return(e==null?void 0:e.properties)||e||{}}function $a(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function y_(e){var t;return String(e.affinityBlock||$a((t=e._raw)==null?void 0:t.rop1)||"").trim()}function v_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function x_(e){var t;return String(e.cluster||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function w_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function k_(e){var t;return String(e.peopleGroup||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function $_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function S_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function E_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function A_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function C_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function T_(e){const t=le(()=>{const s=e&&e.value||[],a=new Map;for(const l of s){const i=__(l),c=y_(i),u=v_(i)||c||"— Unknown —",f=x_(i),m=w_(i)||f||"— Unknown —",v=k_(i),A=$_(i)||v||"— Unknown —",x=S_(i),w=E_(i)||x,L=A_(i),y=C_(i);if(!x)continue;let p=a.get(c||"__unknown__");p||(p={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",p)),p.count+=1,p.pop+=L,p.memberIds.push(x);let g=p.clusters.get(f||"__unknown__");g||(g={code:f,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(f||"__unknown__",g)),g.count+=1,g.pop+=L,g.memberIds.push(x);let _=g.peopleGroups.get(v||"__unknown__");_||(_={code:v,label:A,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",_)),_.count+=1,_.pop+=L,_.memberIds.push(x),_.instances.push({id:x,name:w,country:y,pop:L})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=le(()=>{const s=t.value,a=[];for(const l of s.values()){const i=b_(l.code,l.label),c={id:`bloc:${l.code||l.label}`,label:l.label,color:i,count:l.count,pop:l.pop,filter:o(l.memberIds),children:[]};for(const u of l.clusters.values()){const f={id:`cluster:${l.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:i,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const v={id:`pg:${l.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:i,count:m.count,pop:m.pop,filter:o(m.memberIds),children:[]};m.instances.sort((A,x)=>x.pop-A.pop||A.country.localeCompare(x.country));for(const A of m.instances)v.children.push({id:`pgic:${A.id}`,label:`${A.country?`${A.name}, ${A.country}`:A.name} (PGIC)`,color:i,count:1,pop:A.pop,filter:["==",["get","uniqueId"],A.id],children:[]});f.children.push(v)}f.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(f)}c.children.sort((u,f)=>f.count-u.count||f.pop-u.pop),a.push(c)}return a.sort((l,i)=>i.count-l.count||i.pop-l.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),l={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?l.kind="bloc":a.startsWith("cluster:")?l.kind="cluster":a.startsWith("pg:")?l.kind="people-group":a.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function Wn(e,t,o){const n=le(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=T_(n),s=le(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),a=le(()=>{const[i,c,u]=s.value,f=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&f.set(x.code,x.label);for(const w of x.clusters.values()){w.code&&m.set(w.code,w.label);for(const L of w.peopleGroups.values())L.code&&v.set(L.code,L.label)}}const A={};return i&&(A[i]=f),c&&(A[c]=m),u&&(A[u]=v),A});function l(i,c){const u=a.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:l}}class mu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=zt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let r="",s=!1,a=[],l=!0;for(let i=0;i0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const f={};n.forEach((m,v)=>{f[m]=a[v]||""}),o.push(f)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=wa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,f]of Object.entries(a))s.push(`${u}=${encodeURIComponent(f)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${o} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new mu;const bu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),_u=e=>e==null?"—":Number(e).toLocaleString("en-US");function Kn(e){const t=bu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Yn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function L_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,f)=>u+(Number(f[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],f=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&f.add(v)}),a=f.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function P_(e){const t=ue(null),o=ue(!1),n=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ue(!1),c=ue(!1),u=ue(!1);mt(()=>{t.value&&(l=new ResizeObserver(()=>{const w=t.value.clientWidth;o.value=w<760,n.value=w>=760&&w<1180,r.value=w>=760&&w<980}),l.observe(t.value)),e&&e.on("toggleTable",w=>{i.value=!!w}),e&&e.on("toggleFacet",w=>{c.value=!!w}),e&&e.on("toggleRail",w=>{u.value=!!w})}),Kt(()=>l&&l.disconnect());function f(w){const L=w.target.closest("[data-view]");L&&(s.value=L.getAttribute("data-view"))}const m=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),A=le(()=>!o.value||s.value==="table"),x=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:f,showFacets:m,showMap:v,showTable:A,showCharts:x}}function N_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ut(()=>({...e.filterSet}),t,{deep:!0}),mt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function I_(e){var x;const t=p_();t.configureHierarchy(e);const o=g_(e.data),n=bu(e.facets,w=>w.get),r=Yn(t,Kn(e)),s=le(()=>{var p;const w=o.rows.value||[],L=Object.keys(t.filterSet),y=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!L.length&&!y?w:w.filter(g=>L.every(_=>{const S=n[_];return S?S(g)===t.filterSet[_]:!0})&&r(g))}),a=le(()=>L_(e.kpis,s.value,o.rows.value||[],n,e)),l=P_(t);N_(t);const i=o.sourceId||zt.activeSource,c=((x=zt.sources)==null?void 0:x[i])||{},u=new mu,f=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return f.value}}}},{labelFor:v}=Wn(e,m,i),A=ka({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return ro("selectionBus",t),ro("dashboardData",o),ro("dashboardConfig",e),ro("dataStore",m),ro("searchSourceId",i),mt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:A,responsive:l}}const R_={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},F_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},yu=32,vu=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),Kr=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function M_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...R_,...e.defaults||{}},l={...F_,...e.clamps||{}},i=ue(a.facetW),c=ue(a.railW),u=ue(a.tableH),f=ue(a.mapH),m=ue(a.shellH),v=ue(!1),A=ue(!1),x=ue(!1),w=()=>!!fe(n),L=()=>!!fe(r);function y(){const M=t&&t.value;if(!M)return m.value;const P=M.querySelector('[data-region="map"]'),Y=M.querySelector('[data-region="table"]');if(!P||!Y)return m.value;const ie=P.getBoundingClientRect().height+Y.getBoundingClientRect().height;return ie>0?Math.round(ie):m.value}function p(){const M=t&&t.value;M&&(v.value&&(M.style.setProperty("--facet-w",i.value+"px"),M.style.setProperty("--rail-w",c.value+"px"),M.style.setProperty("--table-h",u.value)),A.value&&M.style.setProperty("--rd-map-h",f.value+"px"),x.value&&M.style.setProperty("--rd-shell-h",m.value+"px"))}function g(){const M=t&&t.value;M&&(M.style.removeProperty("--facet-w"),M.style.removeProperty("--rail-w"),M.style.removeProperty("--table-h"),M.style.removeProperty("--rd-map-h"),M.style.removeProperty("--rd-shell-h"))}function _(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:f.value,shellH:m.value}))}catch{}}function S(){try{const M=localStorage.getItem(s);if(!M)return!1;const P=JSON.parse(M);return Number.isFinite(P.facetW)&&(i.value=xt(P.facetW,l.facetW)),Number.isFinite(P.railW)&&(c.value=xt(P.railW,l.railW)),P.tableH!=null&&(u.value=xt(Kr(P.tableH,Kr(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(P.shellH)&&(m.value=xt(P.shellH,l.shellH),x.value=!0),Number.isFinite(P.mapH)&&(f.value=xt(P.mapH,l.mapH),A.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,f.value=a.mapH,m.value=a.shellH,v.value=!1,A.value=!1,x.value=!1,g()}const D=ue(!1);function I(){if(D.value)return;D.value=!0;const M=t&&t.value;if(M&&M.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function H(){if(!D.value)return;D.value=!1;const M=t&&t.value;if(M&&M.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function Q(M,P){if(w())return;const Y=t&&t.value;if(!Y)return;P.preventDefault();const ie=Y.getBoundingClientRect(),be=P.clientX,$e=i.value,Ne=c.value,Ee=P.currentTarget,ke=M==="table"&&L(),me=M==="shell"&&L();let pe=0,ye=l.mapH[1];if(ke){const j=Y.querySelector('[data-region="map"]'),d=j?j.getBoundingClientRect():null;pe=d?d.top:P.clientY-f.value,ye=Math.max(l.mapH[0],m.value-(yu+vu))}const b=P.clientY,C=me?y():m.value;try{Ee&&Ee.setPointerCapture&&Ee.setPointerCapture(P.pointerId)}catch{}I();let k=0,G=null;function X(){if(k=0,!G)return;const j=G;if(G=null,M==="facet")i.value=Math.round(xt($e+(j.clientX-be),l.facetW)),v.value=!0;else if(M==="rail")c.value=Math.round(xt(Ne-(j.clientX-be),l.railW)),v.value=!0;else if(ke)f.value=Math.round(xt(j.clientY-pe,[l.mapH[0],ye])),A.value=!0;else if(M==="table"){const d=(ie.bottom-j.clientY)/ie.height*100;u.value=Math.round(xt(d,l.tableH))+"%",v.value=!0}else me&&(m.value=Math.round(xt(C+(j.clientY-b),l.shellH)),x.value=!0);p()}function ne(j){G={clientX:j.clientX,clientY:j.clientY},k||(k=requestAnimationFrame(X))}function z(j){window.removeEventListener("pointermove",ne),window.removeEventListener("pointerup",z),window.removeEventListener("pointercancel",z),k&&(cancelAnimationFrame(k),k=0),X();try{Ee&&Ee.releasePointerCapture&&Ee.releasePointerCapture(j.pointerId)}catch{}_(),H()}window.addEventListener("pointermove",ne),window.addEventListener("pointerup",z),window.addEventListener("pointercancel",z)}const se=M=>Q("facet",M),_e=M=>Q("rail",M),q=M=>Q("table",M),oe=M=>Q("shell",M),K={facet:16,rail:16,table:24,mapH:24,shellH:24};function W(M,P,Y){if(!w()){if(M==="facet")i.value=Y?P<0?l.facetW[0]:l.facetW[1]:Math.round(xt(i.value+P*K.facet,l.facetW)),v.value=!0;else if(M==="rail")c.value=Y?P<0?l.railW[1]:l.railW[0]:Math.round(xt(c.value-P*K.rail,l.railW)),v.value=!0;else if(M==="table"&&L()){const ie=Math.max(l.mapH[0],m.value-(yu+vu));f.value=Y?P<0?l.mapH[0]:ie:Math.round(xt(f.value+P*K.mapH,[l.mapH[0],ie])),A.value=!0}else if(M==="table"){const ie=Y?P<0?l.tableH[0]:l.tableH[1]:xt(Kr(u.value,Kr(a.tableH,34))-P*K.table/4,l.tableH);u.value=Math.round(ie)+"%",v.value=!0}else M==="shell"&&L()&&(m.value=Y?P<0?l.shellH[0]:l.shellH[1]:Math.round(xt(m.value+P*K.shellH,l.shellH)),x.value=!0);p(),_()}}function T(M,P){const Y=P.key;let ie=0;if(M==="table"||M==="shell"?Y==="ArrowUp"?ie=-1:Y==="ArrowDown"&&(ie=1):Y==="ArrowLeft"?ie=-1:Y==="ArrowRight"&&(ie=1),ie){P.preventDefault(),W(M,ie);return}(Y==="Home"||Y==="End")&&(P.preventDefault(),W(M,Y==="Home"?-1:1,!0))}let B=null;return mt(()=>{S()&&p(),o&&typeof o.on=="function"&&(B=o.on("resetLayout",$))}),Kt(()=>{try{B&&B()}catch{}try{H()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:f,shellH:m,customized:v,resizing:D,startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,startResize:Q,reset:$,applyVars:p,stepResize:W,onResizeKeydown:T}}const O_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",D_=["value","placeholder","aria-label"],Sa=fn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),J("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=N("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),N("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,D_)],4))}},[["styles",[O_]]]),j_=["title","aria-label","disabled"],Ea={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return At(` +`&&i++,r||a.length>0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const f={};n.forEach((m,v)=>{f[m]=a[v]||""}),o.push(f)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=wa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,f]of Object.entries(a))s.push(`${u}=${encodeURIComponent(f)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${o} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new mu;const bu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),_u=e=>e==null?"—":Number(e).toLocaleString("en-US");function Kn(e){const t=bu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Yn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function L_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,f)=>u+(Number(f[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],f=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&f.add(v)}),a=f.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function P_(e){const t=ue(null),o=ue(!1),n=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ue(!1),c=ue(!1),u=ue(!1);mt(()=>{t.value&&(l=new ResizeObserver(()=>{const w=t.value.clientWidth;o.value=w<760,n.value=w>=760&&w<1180,r.value=w>=760&&w<980}),l.observe(t.value)),e&&e.on("toggleTable",w=>{i.value=!!w}),e&&e.on("toggleFacet",w=>{c.value=!!w}),e&&e.on("toggleRail",w=>{u.value=!!w})}),Kt(()=>l&&l.disconnect());function f(w){const L=w.target.closest("[data-view]");L&&(s.value=L.getAttribute("data-view"))}const m=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),A=le(()=>!o.value||s.value==="table"),x=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:f,showFacets:m,showMap:v,showTable:A,showCharts:x}}function N_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ut(()=>({...e.filterSet}),t,{deep:!0}),mt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function I_(e){var x;const t=p_();t.configureHierarchy(e);const o=g_(e.data),n=bu(e.facets,w=>w.get),r=Yn(t,Kn(e)),s=le(()=>{var p;const w=o.rows.value||[],L=Object.keys(t.filterSet),y=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!L.length&&!y?w:w.filter(g=>L.every(_=>{const S=n[_];return S?S(g)===t.filterSet[_]:!0})&&r(g))}),a=le(()=>L_(e.kpis,s.value,o.rows.value||[],n,e)),l=P_(t);N_(t);const i=o.sourceId||zt.activeSource,c=((x=zt.sources)==null?void 0:x[i])||{},u=new mu,f=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return f.value}}}},{labelFor:v}=Wn(e,m,i),A=ka({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return ro("selectionBus",t),ro("dashboardData",o),ro("dashboardConfig",e),ro("dataStore",m),ro("searchSourceId",i),mt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:A,responsive:l}}const F_={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},R_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},yu=32,vu=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),Kr=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function M_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...F_,...e.defaults||{}},l={...R_,...e.clamps||{}},i=ue(a.facetW),c=ue(a.railW),u=ue(a.tableH),f=ue(a.mapH),m=ue(a.shellH),v=ue(!1),A=ue(!1),x=ue(!1),w=()=>!!fe(n),L=()=>!!fe(r);function y(){const M=t&&t.value;if(!M)return m.value;const P=parseFloat(getComputedStyle(M).getPropertyValue("--rd-shell-h"));if(Number.isFinite(P)&&P>0)return Math.round(P);const Y=M.querySelector('[data-region="map"]'),ie=M.querySelector('[data-region="table"]');if(!Y||!ie)return m.value;const be=Y.getBoundingClientRect().height+ie.getBoundingClientRect().height;return be>0?Math.round(be):m.value}function p(){const M=t&&t.value;M&&(v.value&&(M.style.setProperty("--facet-w",i.value+"px"),M.style.setProperty("--rail-w",c.value+"px"),M.style.setProperty("--table-h",u.value)),A.value&&M.style.setProperty("--rd-map-h",f.value+"px"),x.value&&M.style.setProperty("--rd-shell-h",m.value+"px"))}function g(){const M=t&&t.value;M&&(M.style.removeProperty("--facet-w"),M.style.removeProperty("--rail-w"),M.style.removeProperty("--table-h"),M.style.removeProperty("--rd-map-h"),M.style.removeProperty("--rd-shell-h"))}function _(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:f.value,shellH:m.value}))}catch{}}function S(){try{const M=localStorage.getItem(s);if(!M)return!1;const P=JSON.parse(M);return Number.isFinite(P.facetW)&&(i.value=xt(P.facetW,l.facetW)),Number.isFinite(P.railW)&&(c.value=xt(P.railW,l.railW)),P.tableH!=null&&(u.value=xt(Kr(P.tableH,Kr(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(P.shellH)&&(m.value=xt(P.shellH,l.shellH),x.value=!0),Number.isFinite(P.mapH)&&(f.value=xt(P.mapH,l.mapH),A.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,f.value=a.mapH,m.value=a.shellH,v.value=!1,A.value=!1,x.value=!1,g()}const D=ue(!1);function I(){if(D.value)return;D.value=!0;const M=t&&t.value;if(M&&M.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function H(){if(!D.value)return;D.value=!1;const M=t&&t.value;if(M&&M.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function Q(M,P){if(w())return;const Y=t&&t.value;if(!Y)return;P.preventDefault();const ie=Y.getBoundingClientRect(),be=P.clientX,$e=i.value,Ne=c.value,Ee=P.currentTarget,ke=M==="table"&&L(),me=M==="shell"&&L();let pe=0,ye=l.mapH[1];if(ke){const j=Y.querySelector('[data-region="map"]'),d=j?j.getBoundingClientRect():null;pe=d?d.top:P.clientY-f.value,ye=Math.max(l.mapH[0],m.value-(yu+vu))}const b=P.clientY,C=me?y():m.value;try{Ee&&Ee.setPointerCapture&&Ee.setPointerCapture(P.pointerId)}catch{}I();let k=0,G=null;function X(){if(k=0,!G)return;const j=G;if(G=null,M==="facet")i.value=Math.round(xt($e+(j.clientX-be),l.facetW)),v.value=!0;else if(M==="rail")c.value=Math.round(xt(Ne-(j.clientX-be),l.railW)),v.value=!0;else if(ke)f.value=Math.round(xt(j.clientY-pe,[l.mapH[0],ye])),A.value=!0;else if(M==="table"){const d=(ie.bottom-j.clientY)/ie.height*100;u.value=Math.round(xt(d,l.tableH))+"%",v.value=!0}else me&&(m.value=Math.round(xt(C+(j.clientY-b),l.shellH)),x.value=!0);p()}function ne(j){G={clientX:j.clientX,clientY:j.clientY},k||(k=requestAnimationFrame(X))}function z(j){window.removeEventListener("pointermove",ne),window.removeEventListener("pointerup",z),window.removeEventListener("pointercancel",z),k&&(cancelAnimationFrame(k),k=0),X();try{Ee&&Ee.releasePointerCapture&&Ee.releasePointerCapture(j.pointerId)}catch{}_(),H()}window.addEventListener("pointermove",ne),window.addEventListener("pointerup",z),window.addEventListener("pointercancel",z)}const se=M=>Q("facet",M),_e=M=>Q("rail",M),q=M=>Q("table",M),oe=M=>Q("shell",M),K={facet:16,rail:16,table:24,mapH:24,shellH:24};function W(M,P,Y){if(!w()){if(M==="facet")i.value=Y?P<0?l.facetW[0]:l.facetW[1]:Math.round(xt(i.value+P*K.facet,l.facetW)),v.value=!0;else if(M==="rail")c.value=Y?P<0?l.railW[1]:l.railW[0]:Math.round(xt(c.value-P*K.rail,l.railW)),v.value=!0;else if(M==="table"&&L()){const ie=Math.max(l.mapH[0],m.value-(yu+vu));f.value=Y?P<0?l.mapH[0]:ie:Math.round(xt(f.value+P*K.mapH,[l.mapH[0],ie])),A.value=!0}else if(M==="table"){const ie=Y?P<0?l.tableH[0]:l.tableH[1]:xt(Kr(u.value,Kr(a.tableH,34))-P*K.table/4,l.tableH);u.value=Math.round(ie)+"%",v.value=!0}else M==="shell"&&L()&&(m.value=Y?P<0?l.shellH[0]:l.shellH[1]:Math.round(xt(m.value+P*K.shellH,l.shellH)),x.value=!0);p(),_()}}function T(M,P){const Y=P.key;let ie=0;if(M==="table"||M==="shell"?Y==="ArrowUp"?ie=-1:Y==="ArrowDown"&&(ie=1):Y==="ArrowLeft"?ie=-1:Y==="ArrowRight"&&(ie=1),ie){P.preventDefault(),W(M,ie);return}(Y==="Home"||Y==="End")&&(P.preventDefault(),W(M,Y==="Home"?-1:1,!0))}let B=null;return mt(()=>{S()&&p(),o&&typeof o.on=="function"&&(B=o.on("resetLayout",$))}),Kt(()=>{try{B&&B()}catch{}try{H()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:f,shellH:m,customized:v,resizing:D,startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,startResize:Q,reset:$,applyVars:p,stepResize:W,onResizeKeydown:T}}const O_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",D_=["value","placeholder","aria-label"],Sa=fn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),J("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=N("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),N("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,D_)],4))}},[["styles",[O_]]]),j_=["title","aria-label","disabled"],Ea={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return At(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -111,7 +111,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const o=e,n=t,r=Fe("mapToolbar",null),s=ue(null),a=ue(null),l=ue({});function i(){var D;const v=(D=r==null?void 0:r.el)==null?void 0:D.value,A=s.value;if(!v||!A){l.value={};return}const x=A.getBoundingClientRect(),w=v.getBoundingClientRect(),L=(w.left+w.right)/2>(x.left+x.right)/2,y=8,p=12,g=L?x.right-w.left+y:w.right-x.left+y,_=Math.max(200,Math.min(o.width,x.width-g-p)),S=Math.max(0,w.top-x.top);let $=Math.max(120,x.height-S-p);o.matchToolbar&&($=Math.max(120,Math.min($,w.height))),o.maxHeight&&($=Math.min($,o.maxHeight)),l.value={top:`${Math.round(S)}px`,[L?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(_)}px`,maxHeight:`${Math.round($)}px`,...o.height?{height:`${Math.round(Math.min(o.height,$))}px`}:{}}}function c(v){o.open&&v.detail!==a.value&&n("close")}ut(()=>o.open,async v=>{var A;if(v){await $n(),i();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function f(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const A=v.composedPath?v.composedPath():[v.target];a.value&&A.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&A.includes(r.el.value)||A.some(w=>{var L,y,p,g;return((y=(L=w==null?void 0:w.classList)==null?void 0:L.contains)==null?void 0:y.call(L,"mapboxgl-canvas"))||((g=(p=w==null?void 0:w.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return mt(()=>{var v,A,x;s.value=((A=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:A.closest(q_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",f)}),Kt(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",f)}),(v,A)=>(V(),wo(Rd,{to:s.value,disabled:!s.value},[e.open?(V(),J("div",{key:0,ref_key:"el",ref:a,class:je(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[N("div",U_,[N("span",B_,de(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=x=>n("close"))},[...A[1]||(A[1]=[N("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[N("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),N("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),N("div",G_,[Oo(v.$slots,"default")])],14,z_)):Ie("",!0)],8,["to","disabled"]))}},V_={class:"share-steps"},W_={class:"share-tabs"},K_={key:0,class:"share-body"},Y_={class:"share-url-box"},X_={class:"share-url-text"},J_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Z_={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Q_={key:1,class:"share-body"},ey={class:"share-size-pills"},ty=["onClick"],oy={class:"share-code-box"},ny={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ry={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},sy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){At(` +`,"map-control-menu");const o=e,n=t,r=Re("mapToolbar",null),s=ue(null),a=ue(null),l=ue({});function i(){var D;const v=(D=r==null?void 0:r.el)==null?void 0:D.value,A=s.value;if(!v||!A){l.value={};return}const x=A.getBoundingClientRect(),w=v.getBoundingClientRect(),L=(w.left+w.right)/2>(x.left+x.right)/2,y=8,p=12,g=L?x.right-w.left+y:w.right-x.left+y,_=Math.max(200,Math.min(o.width,x.width-g-p)),S=Math.max(0,w.top-x.top);let $=Math.max(120,x.height-S-p);o.matchToolbar&&($=Math.max(120,Math.min($,w.height))),o.maxHeight&&($=Math.min($,o.maxHeight)),l.value={top:`${Math.round(S)}px`,[L?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(_)}px`,maxHeight:`${Math.round($)}px`,...o.height?{height:`${Math.round(Math.min(o.height,$))}px`}:{}}}function c(v){o.open&&v.detail!==a.value&&n("close")}ut(()=>o.open,async v=>{var A;if(v){await $n(),i();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function f(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const A=v.composedPath?v.composedPath():[v.target];a.value&&A.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&A.includes(r.el.value)||A.some(w=>{var L,y,p,g;return((y=(L=w==null?void 0:w.classList)==null?void 0:L.contains)==null?void 0:y.call(L,"mapboxgl-canvas"))||((g=(p=w==null?void 0:w.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return mt(()=>{var v,A,x;s.value=((A=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:A.closest(q_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",f)}),Kt(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",f)}),(v,A)=>(V(),wo(Fd,{to:s.value,disabled:!s.value},[e.open?(V(),J("div",{key:0,ref_key:"el",ref:a,class:je(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[N("div",U_,[N("span",B_,de(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=x=>n("close"))},[...A[1]||(A[1]=[N("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[N("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),N("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),N("div",G_,[Oo(v.$slots,"default")])],14,z_)):Ie("",!0)],8,["to","disabled"]))}},V_={class:"share-steps"},W_={class:"share-tabs"},K_={key:0,class:"share-body"},Y_={class:"share-url-box"},X_={class:"share-url-text"},J_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Z_={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Q_={key:1,class:"share-body"},ey={class:"share-size-pills"},ty=["onClick"],oy={class:"share-code-box"},ny={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ry={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},sy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){At(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -313,8 +313,7 @@ color:#a0aab8; word-break:break-all; white-space:pre-wrap; - max-height:90px; - overflow-y:auto; + height:auto; -webkit-user-select:all; user-select:all; } @@ -364,7 +363,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=an(),r=e,s=ue(null),a=ue(!1),l=ue(null),i=ue(null),c=ue("link"),u=ue(!1),f=ue(!1),m=ue("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Fe("profileConfig",null),x=le(()=>Vb({embedPath:r.embedPath,profileConfig:fe(A)||null})),w=le(()=>{const H=v[m.value].height;return''});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,f.value=!1)}function y(){a.value=!1}async function p(H){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(H),!0}catch{}try{const Q=document.createElement("textarea");Q.value=H,Q.setAttribute("readonly",""),Q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Q),Q.select();const se=document.execCommand("copy");return document.body.removeChild(Q),se}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await p(w.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const S=Fe("mapToolbar",null),$=ue(null);ro("mapToolbar",S||{el:$});const D=!S;function I(H){if(s.value=H||null,!D||!H){H||($.value=null);return}const Q=H.offsetParent||H.parentElement;Q&&!Q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&Q.setAttribute("data-map-area","share-fallback"),$.value=H}return(H,Q)=>(V(),J("div",{ref:I,class:"share-wrap","data-share-root":""},[Me(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:fe(t)("buttons.share"),onClick:L},{default:vo(()=>[...Q[2]||(Q[2]=[N("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[N("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),N("polyline",{points:"16 6 12 2 8 6"}),N("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Me(H_,{open:a.value,title:fe(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:vo(()=>[N("div",{ref_key:"popoverEl",ref:l,class:je(["share-pop",{light:!e.isDark}])},[N("ul",V_,[(V(!0),J(Se,null,Ye(fe(o)("buttons.shareSteps"),(se,_e)=>(V(),J("li",{key:_e},de(fe(n)(se)),1))),128))]),N("div",W_,[N("button",{class:je(["share-tab",{active:c.value==="link"}]),onClick:Q[0]||(Q[0]=se=>c.value="link")},"Embed link",2),N("button",{class:je(["share-tab",{active:c.value==="embed"}]),onClick:Q[1]||(Q[1]=se=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),J("div",K_,[N("div",Y_,[N("div",X_,de(x.value),1)]),N("button",{class:je(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(V(),J("svg",Z_,[...Q[4]||(Q[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",J_,[...Q[3]||(Q[3]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(u.value?"Copied!":"Copy Link"),1)],2)])):Ie("",!0),c.value==="embed"?(V(),J("div",Q_,[Q[7]||(Q[7]=N("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),N("div",ey,[(V(),J(Se,null,Ye(v,(se,_e)=>N("button",{key:_e,class:je(["share-size-pill",{active:m.value===_e}]),onClick:q=>m.value=_e},de(se.label),11,ty)),64))]),N("div",oy,de(w.value),1),N("button",{class:je(["share-secondary-btn",{copied:f.value}]),onClick:_},[f.value?(V(),J("svg",ry,[...Q[6]||(Q[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",ny,[...Q[5]||(Q[5]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(f.value?"Copied!":"Copy Code"),1)],2)])):Ie("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},bo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ay=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yr(e,t){const o=Vr(e);return o&&o.propertyKey===t?o:null}function ly(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(l=>t[l]===o);if(r)return r;let s=null,a=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>a&&(s=l,a=i.length)}return s||(/^[A-Z]{1,3}$/.test(o)?ha(o):"U")}function Ca(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((l,i)=>l+i.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function iy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),l=o&&o(s);if(!a||!l)continue;n.has(a)||n.set(a,new Map);const i=n.get(a);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[s,a]of n){let l=null,i=0,c=!1;for(const[u,f]of a)f>i?(l=u,i=f,c=!1):f===i&&(c=!0);r.set(s,l&&!c?wu("wagf_region",l):bo)}return r}function cy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((f,m)=>f+m.value,0)||1;let u=-Math.PI/2;return e.map((f,m)=>{const v=u,A=u+f.value/c*Math.PI*2;u=A;const x=A-v>Math.PI?1:0,w=(y,p)=>`${(s+p*Math.cos(y)).toFixed(2)},${(a+p*Math.sin(y)).toFixed(2)}`,L=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(A,l)} L${w(A,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...f,path:L,pct:Math.round(f.value/c*100),color:xu(n,f.key,r)}})}function uy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:xu(t,r.key,o)}))}function xu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return wu(e,t)}function wu(e,t){if(t==null||t===""||t==="Other")return bo;if(e==="religion"||e==="religion_family"){const o=Yr(mo.RELIGION,"religion"),n=o&&o.palette||$t,r=o&&o.families||Uo;return n[ly(t,r)]||bo}if(e==="wagf_region"){const o=Yr(mo.DOXA_REGION,"doxaRegion");if(!o)return bo;const n=o.slugColors&&o.slugColors[ay(t)];return n||o.aliases&&o.aliases[t]||bo}if(e==="affinity_bloc"){const o=Yr(mo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||bo}if(e==="language_family"){const o=Yr(mo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||bo}return bo}const dy={class:"rd-left"},fy={class:"rd-brand"},py={class:"rd-ttl"},gy={class:"rd-filter-search","data-filter-search":""},hy={key:0,class:"rd-search","data-search":""},my=["data-slug"],by={class:"nm"},_y={class:"sub"},yy={key:1,class:"rd-empty"},vy=["onKeydown"],xy="research-dashboard/research-dashboard/index.html",wy={__name:"DashboardTopBar",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=le(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=le(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=le(()=>{var p;return((p=n.researchFilters)==null?void 0:p.searchPlaceholder)||"Search people groups, place, language, religion…"});function i(p){o==null||o.setSearch((p==null?void 0:p.value)??"")}const c=ue(""),u=ue(!1),f=ue(0),m=le(()=>{var S;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((S=t==null?void 0:t.rows)==null?void 0:S.value)||[],_=[];for(const $ of g)if(($.name||"").toLowerCase().includes(p)&&(_.push($),_.length>=8))break;return _});function v(p){!p||!o||(p.slug&&(o.toggleSelect(p.slug),o.emit("focusRow",{slug:p.slug,name:p.name})),c.value="",u.value=!1,f.value=0)}function A(){u.value=!0,f.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),f.value=(f.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),f.value=(f.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[f.value])):p.key==="Escape"&&(c.value="",u.value=!1,f.value=0)}function w(p){var $;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const _=g.getAttribute("data-slug"),S=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(D=>D.slug===_);S&&v(S)}const L=ue(null);function y(p){L.value&&!L.value.contains(p.target)&&(u.value=!1)}return mt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Kt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),At(` +`,"share-button");const{t,tm:o,rt:n}=an(),r=e,s=ue(null),a=ue(!1),l=ue(null),i=ue(null),c=ue("link"),u=ue(!1),f=ue(!1),m=ue("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Re("profileConfig",null),x=le(()=>Vb({embedPath:r.embedPath,profileConfig:fe(A)||null})),w=le(()=>{const H=v[m.value].height;return''});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,f.value=!1)}function y(){a.value=!1}async function p(H){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(H),!0}catch{}try{const Q=document.createElement("textarea");Q.value=H,Q.setAttribute("readonly",""),Q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Q),Q.select();const se=document.execCommand("copy");return document.body.removeChild(Q),se}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await p(w.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const S=Re("mapToolbar",null),$=ue(null);ro("mapToolbar",S||{el:$});const D=!S;function I(H){if(s.value=H||null,!D||!H){H||($.value=null);return}const Q=H.offsetParent||H.parentElement;Q&&!Q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&Q.setAttribute("data-map-area","share-fallback"),$.value=H}return(H,Q)=>(V(),J("div",{ref:I,class:"share-wrap","data-share-root":""},[Me(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:fe(t)("buttons.share"),onClick:L},{default:vo(()=>[...Q[2]||(Q[2]=[N("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[N("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),N("polyline",{points:"16 6 12 2 8 6"}),N("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Me(H_,{open:a.value,title:fe(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:vo(()=>[N("div",{ref_key:"popoverEl",ref:l,class:je(["share-pop",{light:!e.isDark}])},[N("ul",V_,[(V(!0),J(Se,null,Ye(fe(o)("buttons.shareSteps"),(se,_e)=>(V(),J("li",{key:_e},de(fe(n)(se)),1))),128))]),N("div",W_,[N("button",{class:je(["share-tab",{active:c.value==="link"}]),onClick:Q[0]||(Q[0]=se=>c.value="link")},"Embed link",2),N("button",{class:je(["share-tab",{active:c.value==="embed"}]),onClick:Q[1]||(Q[1]=se=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),J("div",K_,[N("div",Y_,[N("div",X_,de(x.value),1)]),N("button",{class:je(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(V(),J("svg",Z_,[...Q[4]||(Q[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",J_,[...Q[3]||(Q[3]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(u.value?"Copied!":"Copy Link"),1)],2)])):Ie("",!0),c.value==="embed"?(V(),J("div",Q_,[Q[7]||(Q[7]=N("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),N("div",ey,[(V(),J(Se,null,Ye(v,(se,_e)=>N("button",{key:_e,class:je(["share-size-pill",{active:m.value===_e}]),onClick:q=>m.value=_e},de(se.label),11,ty)),64))]),N("div",oy,de(w.value),1),N("button",{class:je(["share-secondary-btn",{copied:f.value}]),onClick:_},[f.value?(V(),J("svg",ry,[...Q[6]||(Q[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",ny,[...Q[5]||(Q[5]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(f.value?"Copied!":"Copy Code"),1)],2)])):Ie("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},bo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ay=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yr(e,t){const o=Vr(e);return o&&o.propertyKey===t?o:null}function ly(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(l=>t[l]===o);if(r)return r;let s=null,a=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>a&&(s=l,a=i.length)}return s||(/^[A-Z]{1,3}$/.test(o)?ha(o):"U")}function Ca(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((l,i)=>l+i.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function iy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),l=o&&o(s);if(!a||!l)continue;n.has(a)||n.set(a,new Map);const i=n.get(a);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[s,a]of n){let l=null,i=0,c=!1;for(const[u,f]of a)f>i?(l=u,i=f,c=!1):f===i&&(c=!0);r.set(s,l&&!c?wu("wagf_region",l):bo)}return r}function cy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((f,m)=>f+m.value,0)||1;let u=-Math.PI/2;return e.map((f,m)=>{const v=u,A=u+f.value/c*Math.PI*2;u=A;const x=A-v>Math.PI?1:0,w=(y,p)=>`${(s+p*Math.cos(y)).toFixed(2)},${(a+p*Math.sin(y)).toFixed(2)}`,L=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(A,l)} L${w(A,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...f,path:L,pct:Math.round(f.value/c*100),color:xu(n,f.key,r)}})}function uy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:xu(t,r.key,o)}))}function xu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return wu(e,t)}function wu(e,t){if(t==null||t===""||t==="Other")return bo;if(e==="religion"||e==="religion_family"){const o=Yr(mo.RELIGION,"religion"),n=o&&o.palette||$t,r=o&&o.families||Uo;return n[ly(t,r)]||bo}if(e==="wagf_region"){const o=Yr(mo.DOXA_REGION,"doxaRegion");if(!o)return bo;const n=o.slugColors&&o.slugColors[ay(t)];return n||o.aliases&&o.aliases[t]||bo}if(e==="affinity_bloc"){const o=Yr(mo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||bo}if(e==="language_family"){const o=Yr(mo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||bo}return bo}const dy={class:"rd-left"},fy={class:"rd-brand"},py={class:"rd-ttl"},gy={class:"rd-filter-search","data-filter-search":""},hy={key:0,class:"rd-search","data-search":""},my=["data-slug"],by={class:"nm"},_y={class:"sub"},yy={key:1,class:"rd-empty"},vy=["onKeydown"],xy="research-dashboard/research-dashboard/index.html",wy={__name:"DashboardTopBar",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=le(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=le(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=le(()=>{var p;return((p=n.researchFilters)==null?void 0:p.searchPlaceholder)||"Search people groups, place, language, religion…"});function i(p){o==null||o.setSearch((p==null?void 0:p.value)??"")}const c=ue(""),u=ue(!1),f=ue(0),m=le(()=>{var S;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((S=t==null?void 0:t.rows)==null?void 0:S.value)||[],_=[];for(const $ of g)if(($.name||"").toLowerCase().includes(p)&&(_.push($),_.length>=8))break;return _});function v(p){!p||!o||(p.slug&&(o.toggleSelect(p.slug),o.emit("focusRow",{slug:p.slug,name:p.name})),c.value="",u.value=!1,f.value=0)}function A(){u.value=!0,f.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),f.value=(f.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),f.value=(f.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[f.value])):p.key==="Escape"&&(c.value="",u.value=!1,f.value=0)}function w(p){var $;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const _=g.getAttribute("data-slug"),S=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(D=>D.slug===_);S&&v(S)}const L=ue(null);function y(p){L.value&&!L.value.contains(p.target)&&(u.value=!1)}return mt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Kt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),At(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -406,7 +405,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(p,g)=>(V(),J("header",{ref_key:"rootEl",ref:L,class:"rd-topbar","data-region":"topbar"},[N("div",dy,[N("span",fy,[N("span",py,[nt(de(fe(n).title||"Research Dashboard"),1),g[1]||(g[1]=N("span",{class:"dot"},".",-1))])])]),N("div",gy,[Me(Sa,{"model-value":a.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=N("span",{class:"rd-spacer"},null,-1)),r.value?(V(),J("div",hy,[g[2]||(g[2]=N("span",{class:"ic"},"⌕",-1)),Tt(N("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:x},null,544),[[rp,c.value]]),u.value&&c.value.trim().length>=2?(V(),J("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(V(!0),J(Se,{key:0},Ye(m.value,(_,S)=>(V(),J("div",{key:_.slug,class:je(["rd-res",{on:S===f.value}]),"data-slug":_.slug},[N("span",by,de(_.name),1),N("span",_y,de(fe(Qe)(_.country_code))+" · "+de(fe(Qe)(_.religion)),1)],10,my))),128)):(V(),J("div",yy,"No people groups match “"+de(c.value.trim())+"”.",1))])):Ie("",!0)])):Ie("",!0),N("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[Ir(en(s,["prevent"]),["enter"]),Ir(en(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,vy),Me(sy,{"embed-path":xy})],512))}},Lo="#c4c8c0";function ky(e,t){const o=Vr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const $y=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Sy(){const e=le(()=>{const o=Vr(mo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Lo;if(o==="people"){const a=ky(mo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Lo}if(o==="place"){const{slug:a,alias:l}=e.value,i=s||r;if(a){const c=a[$y(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return Lo}return o==="language"?ho[s||r]||Lo:o==="religion"&&$t[s]||Lo}return{colorFor:t,NEUTRAL:Lo}}const Ey={class:"rd-facets","data-region":"facets"},Ay={class:"fr-head"},Cy={class:"fr-scope","data-scope-count":""},Ty=["data-facet-section"],Ly=["onClick"],Py={class:"fr-rows"},Ny=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Iy=["data-expand","data-expand-value","aria-expanded","aria-label"],Ry={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Fy={class:"fr-lbl"},My={class:"fr-bar"},Oy={class:"fr-cnt"},Dy={key:3,class:"fr-donly","aria-hidden":"true"},jy={__name:"DashboardFacetRail",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=Fe("dataStore",null),s=Fe("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([T,B])=>[T,B.get])),i=new Set(Object.entries(n.facets||{}).filter(([,T])=>T&&T.dashboardOnly).map(([T])=>T)),c=Yn(o,Kn(n));function u(T){var Y,ie;const B=((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[],M=Object.keys(a).filter(be=>!T.includes(be)),P=!!(((ie=o==null?void 0:o.searchTerm)==null?void 0:ie.value)||"").trim();return!M.length&&!P?B:B.filter(be=>M.every($e=>{const Ne=l[$e];return Ne?Ne(be)===a[$e]:!0})&&c(be))}const f=new Set(["people","place","language","religion"]),m=No(Object.fromEntries((n.facetRail||[]).map(T=>[T.id,f.has(T.id)])));function v(T){m[T]=!m[T]}const A=No({}),x=(T,B)=>T+":"+B;function w(T,B){const M=x(T,B);A[M]=!L(T,B)}function L(T,B){const M=x(T,B);return M in A?A[M]:a[T]===B}function y(T,B,M){const P=T.reduce((Y,ie)=>Math.max(Y,ie.value),0)||1;return T.map(Y=>({facet:B,value:Y.key,label:Y.key,count:Y.value,frac:Y.value/P,level:M,other:!!Y.other,active:!Y.other&&a[B]===Y.key,dashboardOnly:i.has(B)}))}const p=new Map;function g(T,B,M){if(M)return p.set(T,B.map(ke=>({...ke,count:0,frac:0,active:!1,expanded:!1}))),B;const P=p.get(T);if(!P)return B;const Y=ke=>ke.facet+":"+ke.value,ie=new Set(B.map(Y));if(!P.filter(ke=>!ie.has(Y(ke))).length)return B;const $e=new Map;let Ne="";for(const ke of P){const me=Y(ke);if(ie.has(me)){Ne=me;continue}$e.has(Ne)||$e.set(Ne,[]),$e.get(Ne).push({...ke,zero:!0})}const Ee=[];for(const ke of $e.get("")||[])Ee.push(ke);for(let ke=0;keme.level;)Ee.push(B[++ke]);for(const ye of pe)Ee.push(ye)}}return Ee}function _(T,B){return y(Ca(u([T]),l[T],B??24),T,0)}function S(T,B){const M=[],P=(Y,ie)=>{const be=T[Y],$e=(B&&B[Y])??(Y===T.length-1?40:30);let Ne=u(T.slice(Y));ie.length&&(Ne=Ne.filter(ke=>ie.every(([me,pe])=>{const ye=l[me];return ye?ye(ke)===pe:!0})));const Ee=y(Ca(Ne,l[be],$e),be,Y);for(const ke of Ee)ke.hasChildren=!ke.other&&Y{var M;const T=new Map,B=n.facets&&n.facets.religion_family;if(!B||!B.famKey)return T;for(const P of((M=t==null?void 0:t.rows)==null?void 0:M.value)||[]){const Y=B.get(P);Y&&!T.has(Y)&&T.set(Y,B.famKey(P))}return T}),se=le(()=>{var T;return!Object.keys(a).length&&!(((T=o==null?void 0:o.searchTerm)==null?void 0:T.value)||"").trim()}),_e=le(()=>(n.facetRail||[]).map(T=>{let B=T.drill?S(T.drill,T.topN):_(T.facet,T.topN);if(B=g(T.id,B,se.value),T.tree==="affinity"){const M=D.value;B=B.map(P=>P.other?P:{...P,label:M[P.facet]&&M[P.facet].get(P.value)||P.label})}return B=H(B,T.axis,Q.value),{id:T.id,title:T.title,axis:T.axis,rows:$(B)}})),q=le(()=>{var M;const T=((M=t==null?void 0:t.rows)==null?void 0:M.value)||[],B=Object.keys(a);return B.length?T.filter(P=>B.every(Y=>{const ie=l[Y];return ie?ie(P)===a[Y]:!0})).length:T.length});function oe(T){const B=T.target;if(!B||!B.closest)return;const M=B.closest("[data-expand]");if(M){const be=M.getAttribute("data-expand"),$e=M.getAttribute("data-expand-value");be&&$e!=null&&(T.stopPropagation(),w(be,$e));return}const P=B.closest("[data-facet]");if(!P||!o)return;const Y=P.getAttribute("data-facet"),ie=P.getAttribute("data-value");!Y||!ie||o.setFilter(Y,a[Y]===ie?null:ie)}function K(T){if(T.key!=="Enter"&&T.key!==" "&&T.key!=="Spacebar")return;const B=T.target&&T.target.closest?T.target.closest("[data-facet]"):null;if(!B||!o)return;T.preventDefault();const M=B.getAttribute("data-facet"),P=B.getAttribute("data-value");!M||!P||o.setFilter(M,a[M]===P?null:P)}const W=ue(null);return mt(()=>{o&&o.on("mapFocus",({value:T}={})=>{if(!T||!W.value)return;const M=[...W.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(T));M&&(W.value.scrollTop=Math.max(0,M.offsetTop-8))})}),At(` +`,"rd-topbar"),(p,g)=>(V(),J("header",{ref_key:"rootEl",ref:L,class:"rd-topbar","data-region":"topbar"},[N("div",dy,[N("span",fy,[N("span",py,[nt(de(fe(n).title||"Research Dashboard"),1),g[1]||(g[1]=N("span",{class:"dot"},".",-1))])])]),N("div",gy,[Me(Sa,{"model-value":a.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=N("span",{class:"rd-spacer"},null,-1)),r.value?(V(),J("div",hy,[g[2]||(g[2]=N("span",{class:"ic"},"⌕",-1)),Tt(N("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:x},null,544),[[rp,c.value]]),u.value&&c.value.trim().length>=2?(V(),J("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(V(!0),J(Se,{key:0},Ye(m.value,(_,S)=>(V(),J("div",{key:_.slug,class:je(["rd-res",{on:S===f.value}]),"data-slug":_.slug},[N("span",by,de(_.name),1),N("span",_y,de(fe(Qe)(_.country_code))+" · "+de(fe(Qe)(_.religion)),1)],10,my))),128)):(V(),J("div",yy,"No people groups match “"+de(c.value.trim())+"”.",1))])):Ie("",!0)])):Ie("",!0),N("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[Ir(en(s,["prevent"]),["enter"]),Ir(en(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,vy),Me(sy,{"embed-path":xy})],512))}},Lo="#c4c8c0";function ky(e,t){const o=Vr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const $y=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Sy(){const e=le(()=>{const o=Vr(mo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Lo;if(o==="people"){const a=ky(mo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Lo}if(o==="place"){const{slug:a,alias:l}=e.value,i=s||r;if(a){const c=a[$y(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return Lo}return o==="language"?ho[s||r]||Lo:o==="religion"&&$t[s]||Lo}return{colorFor:t,NEUTRAL:Lo}}const Ey={class:"rd-facets","data-region":"facets"},Ay={class:"fr-head"},Cy={class:"fr-scope","data-scope-count":""},Ty=["data-facet-section"],Ly=["onClick"],Py={class:"fr-rows"},Ny=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Iy=["data-expand","data-expand-value","aria-expanded","aria-label"],Fy={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Ry={class:"fr-lbl"},My={class:"fr-bar"},Oy={class:"fr-cnt"},Dy={key:3,class:"fr-donly","aria-hidden":"true"},jy={__name:"DashboardFacetRail",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=Re("dataStore",null),s=Re("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([T,B])=>[T,B.get])),i=new Set(Object.entries(n.facets||{}).filter(([,T])=>T&&T.dashboardOnly).map(([T])=>T)),c=Yn(o,Kn(n));function u(T){var Y,ie;const B=((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[],M=Object.keys(a).filter(be=>!T.includes(be)),P=!!(((ie=o==null?void 0:o.searchTerm)==null?void 0:ie.value)||"").trim();return!M.length&&!P?B:B.filter(be=>M.every($e=>{const Ne=l[$e];return Ne?Ne(be)===a[$e]:!0})&&c(be))}const f=new Set(["people","place","language","religion"]),m=No(Object.fromEntries((n.facetRail||[]).map(T=>[T.id,f.has(T.id)])));function v(T){m[T]=!m[T]}const A=No({}),x=(T,B)=>T+":"+B;function w(T,B){const M=x(T,B);A[M]=!L(T,B)}function L(T,B){const M=x(T,B);return M in A?A[M]:a[T]===B}function y(T,B,M){const P=T.reduce((Y,ie)=>Math.max(Y,ie.value),0)||1;return T.map(Y=>({facet:B,value:Y.key,label:Y.key,count:Y.value,frac:Y.value/P,level:M,other:!!Y.other,active:!Y.other&&a[B]===Y.key,dashboardOnly:i.has(B)}))}const p=new Map;function g(T,B,M){if(M)return p.set(T,B.map(ke=>({...ke,count:0,frac:0,active:!1,expanded:!1}))),B;const P=p.get(T);if(!P)return B;const Y=ke=>ke.facet+":"+ke.value,ie=new Set(B.map(Y));if(!P.filter(ke=>!ie.has(Y(ke))).length)return B;const $e=new Map;let Ne="";for(const ke of P){const me=Y(ke);if(ie.has(me)){Ne=me;continue}$e.has(Ne)||$e.set(Ne,[]),$e.get(Ne).push({...ke,zero:!0})}const Ee=[];for(const ke of $e.get("")||[])Ee.push(ke);for(let ke=0;keme.level;)Ee.push(B[++ke]);for(const ye of pe)Ee.push(ye)}}return Ee}function _(T,B){return y(Ca(u([T]),l[T],B??24),T,0)}function S(T,B){const M=[],P=(Y,ie)=>{const be=T[Y],$e=(B&&B[Y])??(Y===T.length-1?40:30);let Ne=u(T.slice(Y));ie.length&&(Ne=Ne.filter(ke=>ie.every(([me,pe])=>{const ye=l[me];return ye?ye(ke)===pe:!0})));const Ee=y(Ca(Ne,l[be],$e),be,Y);for(const ke of Ee)ke.hasChildren=!ke.other&&Y{var M;const T=new Map,B=n.facets&&n.facets.religion_family;if(!B||!B.famKey)return T;for(const P of((M=t==null?void 0:t.rows)==null?void 0:M.value)||[]){const Y=B.get(P);Y&&!T.has(Y)&&T.set(Y,B.famKey(P))}return T}),se=le(()=>{var T;return!Object.keys(a).length&&!(((T=o==null?void 0:o.searchTerm)==null?void 0:T.value)||"").trim()}),_e=le(()=>(n.facetRail||[]).map(T=>{let B=T.drill?S(T.drill,T.topN):_(T.facet,T.topN);if(B=g(T.id,B,se.value),T.tree==="affinity"){const M=D.value;B=B.map(P=>P.other?P:{...P,label:M[P.facet]&&M[P.facet].get(P.value)||P.label})}return B=H(B,T.axis,Q.value),{id:T.id,title:T.title,axis:T.axis,rows:$(B)}})),q=le(()=>{var M;const T=((M=t==null?void 0:t.rows)==null?void 0:M.value)||[],B=Object.keys(a);return B.length?T.filter(P=>B.every(Y=>{const ie=l[Y];return ie?ie(P)===a[Y]:!0})).length:T.length});function oe(T){const B=T.target;if(!B||!B.closest)return;const M=B.closest("[data-expand]");if(M){const be=M.getAttribute("data-expand"),$e=M.getAttribute("data-expand-value");be&&$e!=null&&(T.stopPropagation(),w(be,$e));return}const P=B.closest("[data-facet]");if(!P||!o)return;const Y=P.getAttribute("data-facet"),ie=P.getAttribute("data-value");!Y||!ie||o.setFilter(Y,a[Y]===ie?null:ie)}function K(T){if(T.key!=="Enter"&&T.key!==" "&&T.key!=="Spacebar")return;const B=T.target&&T.target.closest?T.target.closest("[data-facet]"):null;if(!B||!o)return;T.preventDefault();const M=B.getAttribute("data-facet"),P=B.getAttribute("data-value");!M||!P||o.setFilter(M,a[M]===P?null:P)}const W=ue(null);return mt(()=>{o&&o.on("mapFocus",({value:T}={})=>{if(!T||!W.value)return;const M=[...W.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(T));M&&(W.value.scrollTop=Math.max(0,M.offsetTop-8))})}),At(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -481,7 +480,7 @@ .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; color:var(--dx-muted, #6d766e); opacity:.75; } -`,"rd-facetrail"),(T,B)=>(V(),J("aside",Ey,[N("div",Ay,[B[1]||(B[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",Cy,[N("b",null,de(q.value.toLocaleString("en-US")),1),B[0]||(B[0]=nt(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:W,onClick:oe,onKeydown:K},[(V(!0),J(Se,null,Ye(_e.value,M=>(V(),J("div",{key:M.id,class:"fr-sec","data-facet-section":M.id},[N("div",{class:je(["fr-sech",{closed:!m[M.id]}]),onClick:en(P=>v(M.id),["stop"])},[N("span",null,de(M.title),1),B[2]||(B[2]=N("span",{class:"chev"},"▾",-1))],10,Ly),Tt(N("div",Py,[(V(!0),J(Se,null,Ye(M.rows,P=>(V(),J("div",{key:P.facet+":"+P.value,class:je(["fr-row",["l"+P.level,{on:P.active,other:P.other,zero:P.zero,inert:P.other||P.zero,"dash-only":P.dashboardOnly}]]),"data-facet":P.other||P.zero?null:P.facet,"data-value":P.other||P.zero?null:P.value,tabindex:P.other||P.zero?null:0,role:P.other||P.zero?null:"button","aria-pressed":P.other||P.zero?null:P.active?"true":"false","aria-label":P.other||P.zero?null:(P.active?"Remove filter ":"Filter by ")+P.label+", "+P.count.toLocaleString("en-US")+" groups"+(P.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:P.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+P.label:null},[(V(!0),J(Se,null,Ye(P.trunks,(Y,ie)=>(V(),J("span",{key:"tr"+ie,class:je(["fr-trunk","fr-trunk-"+Y])},null,2))),128)),P.hasChildren?(V(),J("button",{key:0,type:"button",class:je(["fr-caret-btn",{open:P.expanded}]),"data-expand":P.facet,"data-expand-value":P.value,"aria-expanded":P.expanded?"true":"false","aria-label":(P.expanded?"Collapse ":"Expand ")+P.label},[...B[3]||(B[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Iy)):(V(),J("span",Ry)),P.swatch?(V(),J("span",{key:2,class:"fr-sw",style:it({background:P.swatch}),"aria-hidden":"true"},null,4)):Ie("",!0),N("span",Fy,de(P.label),1),N("span",My,[N("i",{style:it({width:Math.max(4,P.frac*100)+"%"})},null,4)]),N("span",Oy,de(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(V(),J("span",Dy,"◐")):Ie("",!0)],10,Ny))),128))],512),[[Mt,m[M.id]]])],8,Ty))),128))],544)]))}},zy=["data-sel-count"],Uy=["data-collapsed"],By=["title","aria-expanded"],Gy={class:"ct","data-table-count":""},qy={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},Hy=["aria-pressed"],Vy=["aria-pressed"],Wy={key:2,class:"rd-toast","data-export-toast":""},Ky=["aria-busy","title","onKeydown"],Yy={key:0,class:"rd-csv-n"},Xy=["data-sort-by","aria-rowcount"],Jy={class:"rd-thead",role:"row"},Zy=["title"],Qy=["checked","aria-label"],ev=["title","aria-sort","data-col","onClick"],tv={class:"ind"},ov=["data-slug","aria-selected","aria-rowindex"],nv={class:"rd-td chk",role:"gridcell"},rv=["checked","aria-label"],sv={class:"rd-foot",role:"row"},Xn=26,av={__name:"DashboardDataTable",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=E=>{if(typeof E=="number")return E;const te=parseFloat(String(E??"").replace(/[^0-9.\-]/g,""));return isNaN(te)?null:te},s=E=>E==null?"":Number(E).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(E){const te=Number(E&&E.w);return{flex:`${Number.isFinite(te)&&te>0?te:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([E,te])=>[E,te.get])),c=le(()=>{var E;return((E=t==null?void 0:t.rows)==null?void 0:E.value)||[]}),u=(o==null?void 0:o.filterSet)||{},f=o==null?void 0:o.selectionSet;function m(E,te,ae){const he=i[te];if(!he)return!0;const ve=he(E);return Array.isArray(ae)?ae.includes(ve):ve===ae}const v=Yn(o,Kn(n)),A=le(()=>{var ae;const E=Object.keys(u),te=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!E.length&&!te?c.value:c.value.filter(he=>E.every(ve=>m(he,ve,u[ve]))&&v(he))}),x=ue([]);function w(E,te){const ae=!!(te&&te.shiftKey),he=x.value.findIndex(ve=>ve.key===E.key);if(he<0)x.value=(ae?[...x.value]:[]).concat({key:E.key,dir:"asc"});else if(x.value[he].dir==="asc"){const ve=[...x.value];ve[he]={key:E.key,dir:"desc"},x.value=ve}else x.value=ae?x.value.filter(ve=>ve.key!==E.key):[]}function L(E){const te=x.value.find(ae=>ae.key===E.key);return te?te.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const E=x.value;if(!E.length)return A.value;const te=E.map(ae=>({col:a.value.find(he=>he.key===ae.key),dir:ae.dir==="asc"?1:-1}));return A.value.slice().sort((ae,he)=>{for(const{col:ve,dir:Be}of te){let qe=ve.get(ae),st=ve.get(he);if((qe==null||qe==="")&&(qe=ve.type==="num"?-1/0:""),(st==null||st==="")&&(st=ve.type==="num"?-1/0:""),qest)return 1*Be}return 0})}),p=ue(!1),g=ue(!1);function _(){p.value=!p.value}function S(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,D=le(()=>{let E=y.value;if(p.value&&($(),E=E.filter(te=>f&&f.has(te.slug))),g.value){$();const te=[],ae=[];for(const he of E)(f&&f.has(he.slug)?te:ae).push(he);E=te.concat(ae)}return E}),I=ue(0),H=ue(360),Q=ue(null);let se=null;function _e(E){I.value=E.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(I.value/Xn)-6)),oe=le(()=>Math.ceil(H.value/Xn)+12),K=le(()=>D.value.slice(q.value,q.value+oe.value)),W=le(()=>q.value*Xn),T=le(()=>Math.max(0,(D.value.length-(q.value+K.value.length))*Xn));mt(()=>{Q.value&&(H.value=Q.value.clientHeight||360,se=new ResizeObserver(()=>{H.value=Q.value.clientHeight||H.value}),se.observe(Q.value)),o&&o.on("toggleTable",E=>{X.value=!!E}),o&&o.on("focusRow",({slug:E}={})=>{if(!E||!Q.value)return;const te=D.value.findIndex(ae=>ae.slug===E);te>=0&&(Q.value.scrollTop=Math.max(0,te*Xn-H.value/2))})}),Kt(()=>{se&&se.disconnect(),clearTimeout(ee)});const B=le(()=>($(),f?f.size:0)),M=E=>!!(f&&f.has(E.slug)),P=le(()=>$()),Y=ue(null),ie=ue("select");let be=new Set;function $e(E,te){Y.value=E,ie.value=te,be=new Set(f)}function Ne(E,te){const ae=D.value,he=ae.findIndex(et=>et.slug===E),ve=ae.findIndex(et=>et.slug===te);if(he<0||ve<0)return[];const[Be,qe]=he<=ve?[he,ve]:[ve,he],st=[];for(let et=Be;et<=qe;et++)st.push(ae[et].slug);return st}function Ee(E,te){if(!o||!E)return;const ae=!!(te&&(te.ctrlKey||te.metaKey));if(!!(te&&te.shiftKey)&&Y.value){const ve=Ne(Y.value,E);if(!ve.length)return;if(ae){const Be=new Set(be);if(ie.value==="deselect")for(const qe of ve)Be.delete(qe);else for(const qe of ve)Be.add(qe);o.setSelection(Be)}else o.setSelection(ve);return}if(ae){const ve=!f.has(E);$e(E,ve?"select":"deselect"),o.toggleSelect(E),be=new Set(f);return}$e(E,"select"),o.setSelection([E]),be=new Set(f)}function ke(E){const te=E.target;if(!te||!te.closest)return;const ae=te.closest(".rd-row");if(!ae||!o)return;const he=ae.getAttribute("data-slug");if(he){if(te.closest(".rd-td.chk")){if(E.shiftKey||E.ctrlKey||E.metaKey){Ee(he,E);return}$e(he,f.has(he)?"deselect":"select"),o.toggleSelect(he),be=new Set(f);return}Ee(he,E)}}function me(E){E.shiftKey&&E.target&&E.target.closest&&E.target.closest(".rd-row")&&E.preventDefault()}const pe=le(()=>{$();const E=A.value;if(!E.length)return!1;for(const te of E)if(!f.has(te.slug))return!1;return!0}),ye=le(()=>{if($(),pe.value)return!1;for(const E of A.value)if(f.has(E.slug))return!0;return!1});function b(){if(!o)return;const E=A.value.map(te=>te.slug);pe.value?o.deselectMany(E):o.selectMany(E),Y.value=null,be=new Set(f)}function C(){o&&o.clearSelection(),Y.value=null,be=new Set}const k=ue(null);function G(E){k.value=E||null}ut([ye,k],()=>{k.value&&(k.value.indeterminate=ye.value)},{immediate:!0}),ut([x,()=>A.value.length,p,g],()=>{Y.value=null}),ut(B,E=>{E||(p.value=!1)});const X=ue(!1);function ne(){X.value=!X.value,o&&o.emit("toggleTable",X.value)}const z=le(()=>A.value.reduce((E,te)=>E+(r(te.population)||0),0)),j=le(()=>A.value.length),{labelFor:d}=Wn(n,Fe("dataStore",null),Fe("searchSourceId",null)),h=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:i,dataOpts:n.data,labelFor:d}):null,R=ue(""),U=ue(!1);let ee=null;async function re(){if(!(!h||U.value)){U.value=!0;try{const E=await h.exportCsvAsync(),te=E.downloaded?"exported":E.clipboard?"copied to clipboard":"ready";R.value=`✓ ${s(E.rows)} rows × ${E.fields} fields ${te}`}catch{R.value="✕ Export failed"}finally{U.value=!1,clearTimeout(ee),ee=setTimeout(()=>{R.value=""},3200)}}}function O(){h&&h.prefetchExportFields()}return At(` +`,"rd-facetrail"),(T,B)=>(V(),J("aside",Ey,[N("div",Ay,[B[1]||(B[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",Cy,[N("b",null,de(q.value.toLocaleString("en-US")),1),B[0]||(B[0]=nt(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:W,onClick:oe,onKeydown:K},[(V(!0),J(Se,null,Ye(_e.value,M=>(V(),J("div",{key:M.id,class:"fr-sec","data-facet-section":M.id},[N("div",{class:je(["fr-sech",{closed:!m[M.id]}]),onClick:en(P=>v(M.id),["stop"])},[N("span",null,de(M.title),1),B[2]||(B[2]=N("span",{class:"chev"},"▾",-1))],10,Ly),Tt(N("div",Py,[(V(!0),J(Se,null,Ye(M.rows,P=>(V(),J("div",{key:P.facet+":"+P.value,class:je(["fr-row",["l"+P.level,{on:P.active,other:P.other,zero:P.zero,inert:P.other||P.zero,"dash-only":P.dashboardOnly}]]),"data-facet":P.other||P.zero?null:P.facet,"data-value":P.other||P.zero?null:P.value,tabindex:P.other||P.zero?null:0,role:P.other||P.zero?null:"button","aria-pressed":P.other||P.zero?null:P.active?"true":"false","aria-label":P.other||P.zero?null:(P.active?"Remove filter ":"Filter by ")+P.label+", "+P.count.toLocaleString("en-US")+" groups"+(P.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:P.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+P.label:null},[(V(!0),J(Se,null,Ye(P.trunks,(Y,ie)=>(V(),J("span",{key:"tr"+ie,class:je(["fr-trunk","fr-trunk-"+Y])},null,2))),128)),P.hasChildren?(V(),J("button",{key:0,type:"button",class:je(["fr-caret-btn",{open:P.expanded}]),"data-expand":P.facet,"data-expand-value":P.value,"aria-expanded":P.expanded?"true":"false","aria-label":(P.expanded?"Collapse ":"Expand ")+P.label},[...B[3]||(B[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Iy)):(V(),J("span",Fy)),P.swatch?(V(),J("span",{key:2,class:"fr-sw",style:it({background:P.swatch}),"aria-hidden":"true"},null,4)):Ie("",!0),N("span",Ry,de(P.label),1),N("span",My,[N("i",{style:it({width:Math.max(4,P.frac*100)+"%"})},null,4)]),N("span",Oy,de(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(V(),J("span",Dy,"◐")):Ie("",!0)],10,Ny))),128))],512),[[Mt,m[M.id]]])],8,Ty))),128))],544)]))}},zy=["data-sel-count"],Uy=["data-collapsed"],By=["title","aria-expanded"],Gy={class:"ct","data-table-count":""},qy={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},Hy=["aria-pressed"],Vy=["aria-pressed"],Wy={key:2,class:"rd-toast","data-export-toast":""},Ky=["aria-busy","title","onKeydown"],Yy={key:0,class:"rd-csv-n"},Xy=["data-sort-by","aria-rowcount"],Jy={class:"rd-thead",role:"row"},Zy=["title"],Qy=["checked","aria-label"],ev=["title","aria-sort","data-col","onClick"],tv={class:"ind"},ov=["data-slug","aria-selected","aria-rowindex"],nv={class:"rd-td chk",role:"gridcell"},rv=["checked","aria-label"],sv={class:"rd-foot",role:"row"},Xn=26,av={__name:"DashboardDataTable",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=E=>{if(typeof E=="number")return E;const te=parseFloat(String(E??"").replace(/[^0-9.\-]/g,""));return isNaN(te)?null:te},s=E=>E==null?"":Number(E).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(E){const te=Number(E&&E.w);return{flex:`${Number.isFinite(te)&&te>0?te:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([E,te])=>[E,te.get])),c=le(()=>{var E;return((E=t==null?void 0:t.rows)==null?void 0:E.value)||[]}),u=(o==null?void 0:o.filterSet)||{},f=o==null?void 0:o.selectionSet;function m(E,te,ae){const he=i[te];if(!he)return!0;const ve=he(E);return Array.isArray(ae)?ae.includes(ve):ve===ae}const v=Yn(o,Kn(n)),A=le(()=>{var ae;const E=Object.keys(u),te=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!E.length&&!te?c.value:c.value.filter(he=>E.every(ve=>m(he,ve,u[ve]))&&v(he))}),x=ue([]);function w(E,te){const ae=!!(te&&te.shiftKey),he=x.value.findIndex(ve=>ve.key===E.key);if(he<0)x.value=(ae?[...x.value]:[]).concat({key:E.key,dir:"asc"});else if(x.value[he].dir==="asc"){const ve=[...x.value];ve[he]={key:E.key,dir:"desc"},x.value=ve}else x.value=ae?x.value.filter(ve=>ve.key!==E.key):[]}function L(E){const te=x.value.find(ae=>ae.key===E.key);return te?te.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const E=x.value;if(!E.length)return A.value;const te=E.map(ae=>({col:a.value.find(he=>he.key===ae.key),dir:ae.dir==="asc"?1:-1}));return A.value.slice().sort((ae,he)=>{for(const{col:ve,dir:Be}of te){let qe=ve.get(ae),st=ve.get(he);if((qe==null||qe==="")&&(qe=ve.type==="num"?-1/0:""),(st==null||st==="")&&(st=ve.type==="num"?-1/0:""),qest)return 1*Be}return 0})}),p=ue(!1),g=ue(!1);function _(){p.value=!p.value}function S(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,D=le(()=>{let E=y.value;if(p.value&&($(),E=E.filter(te=>f&&f.has(te.slug))),g.value){$();const te=[],ae=[];for(const he of E)(f&&f.has(he.slug)?te:ae).push(he);E=te.concat(ae)}return E}),I=ue(0),H=ue(360),Q=ue(null);let se=null;function _e(E){I.value=E.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(I.value/Xn)-6)),oe=le(()=>Math.ceil(H.value/Xn)+12),K=le(()=>D.value.slice(q.value,q.value+oe.value)),W=le(()=>q.value*Xn),T=le(()=>Math.max(0,(D.value.length-(q.value+K.value.length))*Xn));mt(()=>{Q.value&&(H.value=Q.value.clientHeight||360,se=new ResizeObserver(()=>{H.value=Q.value.clientHeight||H.value}),se.observe(Q.value)),o&&o.on("toggleTable",E=>{X.value=!!E}),o&&o.on("focusRow",({slug:E}={})=>{if(!E||!Q.value)return;const te=D.value.findIndex(ae=>ae.slug===E);te>=0&&(Q.value.scrollTop=Math.max(0,te*Xn-H.value/2))})}),Kt(()=>{se&&se.disconnect(),clearTimeout(ee)});const B=le(()=>($(),f?f.size:0)),M=E=>!!(f&&f.has(E.slug)),P=le(()=>$()),Y=ue(null),ie=ue("select");let be=new Set;function $e(E,te){Y.value=E,ie.value=te,be=new Set(f)}function Ne(E,te){const ae=D.value,he=ae.findIndex(et=>et.slug===E),ve=ae.findIndex(et=>et.slug===te);if(he<0||ve<0)return[];const[Be,qe]=he<=ve?[he,ve]:[ve,he],st=[];for(let et=Be;et<=qe;et++)st.push(ae[et].slug);return st}function Ee(E,te){if(!o||!E)return;const ae=!!(te&&(te.ctrlKey||te.metaKey));if(!!(te&&te.shiftKey)&&Y.value){const ve=Ne(Y.value,E);if(!ve.length)return;if(ae){const Be=new Set(be);if(ie.value==="deselect")for(const qe of ve)Be.delete(qe);else for(const qe of ve)Be.add(qe);o.setSelection(Be)}else o.setSelection(ve);return}if(ae){const ve=!f.has(E);$e(E,ve?"select":"deselect"),o.toggleSelect(E),be=new Set(f);return}$e(E,"select"),o.setSelection([E]),be=new Set(f)}function ke(E){const te=E.target;if(!te||!te.closest)return;const ae=te.closest(".rd-row");if(!ae||!o)return;const he=ae.getAttribute("data-slug");if(he){if(te.closest(".rd-td.chk")){if(E.shiftKey||E.ctrlKey||E.metaKey){Ee(he,E);return}$e(he,f.has(he)?"deselect":"select"),o.toggleSelect(he),be=new Set(f);return}Ee(he,E)}}function me(E){E.shiftKey&&E.target&&E.target.closest&&E.target.closest(".rd-row")&&E.preventDefault()}const pe=le(()=>{$();const E=A.value;if(!E.length)return!1;for(const te of E)if(!f.has(te.slug))return!1;return!0}),ye=le(()=>{if($(),pe.value)return!1;for(const E of A.value)if(f.has(E.slug))return!0;return!1});function b(){if(!o)return;const E=A.value.map(te=>te.slug);pe.value?o.deselectMany(E):o.selectMany(E),Y.value=null,be=new Set(f)}function C(){o&&o.clearSelection(),Y.value=null,be=new Set}const k=ue(null);function G(E){k.value=E||null}ut([ye,k],()=>{k.value&&(k.value.indeterminate=ye.value)},{immediate:!0}),ut([x,()=>A.value.length,p,g],()=>{Y.value=null}),ut(B,E=>{E||(p.value=!1)});const X=ue(!1);function ne(){X.value=!X.value,o&&o.emit("toggleTable",X.value)}const z=le(()=>A.value.reduce((E,te)=>E+(r(te.population)||0),0)),j=le(()=>A.value.length),{labelFor:d}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),h=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:i,dataOpts:n.data,labelFor:d}):null,F=ue(""),U=ue(!1);let ee=null;async function re(){if(!(!h||U.value)){U.value=!0;try{const E=await h.exportCsvAsync(),te=E.downloaded?"exported":E.clipboard?"copied to clipboard":"ready";F.value=`✓ ${s(E.rows)} rows × ${E.fields} fields ${te}`}catch{F.value="✕ Export failed"}finally{U.value=!1,clearTimeout(ee),ee=setTimeout(()=>{F.value=""},3200)}}}function O(){h&&h.prefetchExportFields()}return At(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -529,7 +528,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(E,te)=>(V(),J("div",{class:"rd-table-wrap","data-sel-count":B.value},[N("div",{class:"rd-table-bar","data-collapsed":X.value?"1":"0"},[N("button",{class:"rd-dock",title:X.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":X.value?"false":"true",onClick:ne},de(X.value?"▴":"▾"),9,By),te[0]||(te[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",Gy,de(s(j.value))+" "+de(j.value===1?"group":"groups"),1),B.value?(V(),J("span",qy,[N("span",null,de(s(B.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:C},"✕")])):Ie("",!0),B.value?(V(),J(Se,{key:1},[N("button",{class:je(["rd-vtog",{on:p.value}]),"data-only-selected":"","aria-pressed":p.value?"true":"false",title:"Show only the selected people groups",onClick:_},"Only selected",10,Hy),N("button",{class:je(["rd-vtog",{on:g.value}]),"data-selected-first":"","aria-pressed":g.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:S},"Selected first",10,Vy)],64)):Ie("",!0),te[1]||(te[1]=N("span",{class:"rd-bar-sp"},null,-1)),R.value?(V(),J("span",Wy,de(R.value),1)):Ie("",!0),N("span",{class:je(["rd-csv",{busy:U.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":U.value?"true":"false",title:B.value?`Export the ${B.value} selected people groups — all fields`:`Export these ${s(j.value)} people groups — all fields`,onClick:re,onMouseenter:O,onFocus:O,onKeydown:[Ir(en(re,["prevent"]),["enter"]),Ir(en(re,["prevent"]),["space"])]},[nt(de(U.value?"…":"↓")+" Export CSV",1),B.value?(V(),J("span",Yy,de(B.value),1)):Ie("",!0)],42,Ky)],8,Uy),Tt(N("div",{ref_key:"scroller",ref:Q,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":x.value.map(ae=>ae.key+":"+ae.dir).join(","),"aria-rowcount":D.value.length+1,onScroll:_e,onClick:ke,onMousedown:me},[N("div",Jy,[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:pe.value?"Deselect all "+s(j.value):"Select all "+s(j.value),onClick:b},[N("input",{type:"checkbox",checked:pe.value,ref:G,"aria-label":pe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Qy)],8,Zy),(V(!0),J(Se,null,Ye(a.value,ae=>(V(),J("div",{key:ae.key,class:je(["rd-th",{num:ae.type==="num"}]),style:it(l(ae)),title:`Sort this table by ${ae.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":L(ae),"data-col":ae.key,onClick:he=>w(ae,he)},[nt(de(ae.label),1),N("span",tv,de(L(ae)==="ascending"?"▲":L(ae)==="descending"?"▼":""),1)],14,ev))),128))]),N("div",{style:it({height:W.value+"px"})},null,4),(V(!0),J(Se,null,Ye(K.value,(ae,he)=>(V(),J("div",{key:ae.slug,class:je(["rd-row",{sel:P.value>=0&&M(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":M(ae)?"true":"false","aria-rowindex":q.value+he+2},[N("div",nv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:M(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,rv)]),(V(!0),J(Se,null,Ye(a.value,ve=>(V(),J("div",{key:ve.key,class:je(["rd-td",{num:ve.type==="num"}]),style:it(l(ve)),role:"gridcell"},de(ve.type==="num"?s(ve.get(ae)):ve.get(ae)),7))),128))],10,ov))),128)),N("div",{style:it({height:T.value+"px"})},null,4)],40,Xy),[[Mt,!X.value]]),Tt(N("div",sv,[te[2]||(te[2]=N("div",{class:"rd-td chk"},null,-1)),(V(!0),J(Se,null,Ye(a.value,(ae,he)=>(V(),J("div",{key:"f-"+ae.key,class:je(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[he===0?(V(),J(Se,{key:0},[nt("Σ "+de(s(j.value))+" groups",1)],64)):ae.key==="population"?(V(),J(Se,{key:1},[nt(de(s(z.value)),1)],64)):Ie("",!0)],6))),128))],512),[[Mt,!X.value]])],8,zy))}},lv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},iv=["aria-selected","disabled","title","data-tab","onClick"],cv=["data-chart"],uv={class:"rd-ct"},dv={class:"rd-donutwrap"},fv=["aria-label"],pv=["d","fill","data-facet","data-key"],gv={class:"rd-legend"},hv=["data-facet","data-key","title"],mv={class:"rd-lt"},bv=["data-chart"],_v={class:"rd-ct"},yv={class:"rd-bars"},vv=["data-facet","data-key"],xv={class:"rd-bl"},wv={class:"rd-bt"},kv={class:"rd-bv"},$v={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=ue("charts"),n=Fe("dashboardData",null),r=Fe("selectionBus",null),s=Fe("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(s.facets||{}).map(([w,L])=>[w,L.get])),i=Yn(r,Kn(s));function c(w){var g,_;const L=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],y=Object.keys(a).filter(S=>!w.includes(S)),p=!!(((_=r==null?void 0:r.searchTerm)==null?void 0:_.value)||"").trim();return!y.length&&!p?L:L.filter(S=>y.every($=>{const D=l[$];return D?D(S)===a[$]:!0})&&i(S))}const u=le(()=>{var y,p,g,_,S;const w=(p=(y=s.facets)==null?void 0:y.country_code)==null?void 0:p.get,L=(_=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:_.get;return!w||!L?null:iy(((S=n==null?void 0:n.rows)==null?void 0:S.value)||[],w,L)}),f=le(()=>(s.charts||[]).map(w=>{var g,_;const L=((_=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:_.get)||(S=>Qe(S[w.facet])),y=Ca(c([w.facet]),L,w.topN),p=w.facet==="country_code"?u.value:null;return{id:w.id,type:w.type,facet:w.facet,title:w.title,geometry:w.type==="bar"?uy(y,w.facet,p):cy(y,132,.58,w.facet,p)}})),m=(w,L)=>a[w]===L,v=w=>a[w]!=null;function A(w,L){!L||L==="Other"||!r||r.setFilter(w,a[w]===L?null:L)}function x(w){const L=w.target&&w.target.closest&&w.target.closest("[data-facet]");L&&A(L.getAttribute("data-facet"),L.getAttribute("data-key"))}return At(` +`,"rd-datatable"),(E,te)=>(V(),J("div",{class:"rd-table-wrap","data-sel-count":B.value},[N("div",{class:"rd-table-bar","data-collapsed":X.value?"1":"0"},[N("button",{class:"rd-dock",title:X.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":X.value?"false":"true",onClick:ne},de(X.value?"▴":"▾"),9,By),te[0]||(te[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",Gy,de(s(j.value))+" "+de(j.value===1?"group":"groups"),1),B.value?(V(),J("span",qy,[N("span",null,de(s(B.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:C},"✕")])):Ie("",!0),B.value?(V(),J(Se,{key:1},[N("button",{class:je(["rd-vtog",{on:p.value}]),"data-only-selected":"","aria-pressed":p.value?"true":"false",title:"Show only the selected people groups",onClick:_},"Only selected",10,Hy),N("button",{class:je(["rd-vtog",{on:g.value}]),"data-selected-first":"","aria-pressed":g.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:S},"Selected first",10,Vy)],64)):Ie("",!0),te[1]||(te[1]=N("span",{class:"rd-bar-sp"},null,-1)),F.value?(V(),J("span",Wy,de(F.value),1)):Ie("",!0),N("span",{class:je(["rd-csv",{busy:U.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":U.value?"true":"false",title:B.value?`Export the ${B.value} selected people groups — all fields`:`Export these ${s(j.value)} people groups — all fields`,onClick:re,onMouseenter:O,onFocus:O,onKeydown:[Ir(en(re,["prevent"]),["enter"]),Ir(en(re,["prevent"]),["space"])]},[nt(de(U.value?"…":"↓")+" Export CSV",1),B.value?(V(),J("span",Yy,de(B.value),1)):Ie("",!0)],42,Ky)],8,Uy),Tt(N("div",{ref_key:"scroller",ref:Q,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":x.value.map(ae=>ae.key+":"+ae.dir).join(","),"aria-rowcount":D.value.length+1,onScroll:_e,onClick:ke,onMousedown:me},[N("div",Jy,[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:pe.value?"Deselect all "+s(j.value):"Select all "+s(j.value),onClick:b},[N("input",{type:"checkbox",checked:pe.value,ref:G,"aria-label":pe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Qy)],8,Zy),(V(!0),J(Se,null,Ye(a.value,ae=>(V(),J("div",{key:ae.key,class:je(["rd-th",{num:ae.type==="num"}]),style:it(l(ae)),title:`Sort this table by ${ae.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":L(ae),"data-col":ae.key,onClick:he=>w(ae,he)},[nt(de(ae.label),1),N("span",tv,de(L(ae)==="ascending"?"▲":L(ae)==="descending"?"▼":""),1)],14,ev))),128))]),N("div",{style:it({height:W.value+"px"})},null,4),(V(!0),J(Se,null,Ye(K.value,(ae,he)=>(V(),J("div",{key:ae.slug,class:je(["rd-row",{sel:P.value>=0&&M(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":M(ae)?"true":"false","aria-rowindex":q.value+he+2},[N("div",nv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:M(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,rv)]),(V(!0),J(Se,null,Ye(a.value,ve=>(V(),J("div",{key:ve.key,class:je(["rd-td",{num:ve.type==="num"}]),style:it(l(ve)),role:"gridcell"},de(ve.type==="num"?s(ve.get(ae)):ve.get(ae)),7))),128))],10,ov))),128)),N("div",{style:it({height:T.value+"px"})},null,4)],40,Xy),[[Mt,!X.value]]),Tt(N("div",sv,[te[2]||(te[2]=N("div",{class:"rd-td chk"},null,-1)),(V(!0),J(Se,null,Ye(a.value,(ae,he)=>(V(),J("div",{key:"f-"+ae.key,class:je(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[he===0?(V(),J(Se,{key:0},[nt("Σ "+de(s(j.value))+" groups",1)],64)):ae.key==="population"?(V(),J(Se,{key:1},[nt(de(s(z.value)),1)],64)):Ie("",!0)],6))),128))],512),[[Mt,!X.value]])],8,zy))}},lv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},iv=["aria-selected","disabled","title","data-tab","onClick"],cv=["data-chart"],uv={class:"rd-ct"},dv={class:"rd-donutwrap"},fv=["aria-label"],pv=["d","fill","data-facet","data-key"],gv={class:"rd-legend"},hv=["data-facet","data-key","title"],mv={class:"rd-lt"},bv=["data-chart"],_v={class:"rd-ct"},yv={class:"rd-bars"},vv=["data-facet","data-key"],xv={class:"rd-bl"},wv={class:"rd-bt"},kv={class:"rd-bv"},$v={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=ue("charts"),n=Re("dashboardData",null),r=Re("selectionBus",null),s=Re("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(s.facets||{}).map(([w,L])=>[w,L.get])),i=Yn(r,Kn(s));function c(w){var g,_;const L=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],y=Object.keys(a).filter(S=>!w.includes(S)),p=!!(((_=r==null?void 0:r.searchTerm)==null?void 0:_.value)||"").trim();return!y.length&&!p?L:L.filter(S=>y.every($=>{const D=l[$];return D?D(S)===a[$]:!0})&&i(S))}const u=le(()=>{var y,p,g,_,S;const w=(p=(y=s.facets)==null?void 0:y.country_code)==null?void 0:p.get,L=(_=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:_.get;return!w||!L?null:iy(((S=n==null?void 0:n.rows)==null?void 0:S.value)||[],w,L)}),f=le(()=>(s.charts||[]).map(w=>{var g,_;const L=((_=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:_.get)||(S=>Qe(S[w.facet])),y=Ca(c([w.facet]),L,w.topN),p=w.facet==="country_code"?u.value:null;return{id:w.id,type:w.type,facet:w.facet,title:w.title,geometry:w.type==="bar"?uy(y,w.facet,p):cy(y,132,.58,w.facet,p)}})),m=(w,L)=>a[w]===L,v=w=>a[w]!=null;function A(w,L){!L||L==="Other"||!r||r.setFilter(w,a[w]===L?null:L)}function x(w){const L=w.target&&w.target.closest&&w.target.closest("[data-facet]");L&&A(L.getAttribute("data-facet"),L.getAttribute("data-key"))}return At(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -578,7 +577,7 @@ .rd-bt{ flex:1 1 auto; height:11px; background:var(--dx-surface, #f3f3f1); border-radius:3px; overflow:hidden; } .rd-bf{ display:block; height:100%; border-radius:3px; transition:width .35s cubic-bezier(.4,0,.2,1); } .rd-bv{ flex:0 0 auto; color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; min-width:30px; text-align:right; } -`,"rd-charts"),(w,L)=>(V(),J("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[N("div",lv,[(V(),J(Se,null,Ye(t,y=>N("button",{key:y.id,class:je(["rd-tab",{on:o.value===y.id,off:y.disabled}]),role:"tab",type:"button","aria-selected":o.value===y.id?"true":"false",disabled:y.disabled,title:y.disabled?y.why:y.label,"data-tab":y.id,onClick:en(p=>!y.disabled&&(o.value=y.id),["stop"])},de(y.label),11,iv)),64))]),(V(!0),J(Se,null,Ye(f.value,y=>(V(),J(Se,{key:y.id},[y.type==="donut"?(V(),J("div",{key:0,class:"rd-chart","data-chart":y.facet},[N("div",uv,de(y.title),1),N("div",dv,[(V(),J("svg",{class:je(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("path",{key:p.key,d:p.path,fill:p.color,class:je(["rd-slice",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("title",null,de(p.key)+": "+de(p.value)+" ("+de(p.pct)+"%)",1)],10,pv))),128))],10,fv)),N("div",gv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("span",{key:p.key,class:je(["rd-li",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key,title:p.key+": "+p.value},[N("i",{style:it({background:p.color})},null,4),N("span",mv,de(p.key),1),N("b",null,de(p.value),1)],10,hv))),128))])])],8,cv)):(V(),J("div",{key:1,class:"rd-chart","data-chart":y.facet},[N("div",_v,de(y.title),1),N("div",yv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("div",{key:p.key,class:je(["rd-bar",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("span",xv,de(p.key),1),N("span",wv,[N("span",{class:"rd-bf",style:it({width:p.frac*100+"%",background:p.color})},null,4)]),N("span",kv,de(p.value),1)],10,vv))),128))])],8,bv))],64))),128))]))}},Sv={class:"rd-detail","data-region":"detail-drawer"},Ev={class:"rd-dh"},Av={key:0,class:"rd-empty","data-detail-empty":""},Cv={class:"rd-top"},Tv=["src","alt"],Lv={key:1,class:"rd-ph","data-detail-thumb":""},Pv={class:"rd-name","data-detail-name":""},Nv={class:"rd-meta"},Iv={class:"rd-actions"},Rv=["href","title"],Fv=["href","title"],Mv={class:"rd-rows"},Ov={class:"rd-row"},Dv={class:"v"},jv={key:0,class:"fam"},zv={class:"rd-row"},Uv={class:"v"},Bv={class:"rd-row"},Gv={class:"v"},qv={class:"rd-row"},Hv={class:"v"},Vv={class:"rd-row"},Wv={class:"v"},Kv={class:"rd-row"},Yv={class:"v"},Xv={__name:"DashboardDetailDrawer",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,_])=>[g,_.get])),{labelFor:s}=Wn(n,Fe("dataStore",null),Fe("searchSourceId",null)),a=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,l=ue(null),i=[];mt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const _=g?[...g]:[];_.length&&(l.value=_[_.length-1])})))}),Kt(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=le(()=>{const g=l.value;return!g||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(g)||null}),u=g=>g==null||g===""?"—":Number(g).toLocaleString("en-US"),f=le(()=>{const g=c.value;return g?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(g):!!(g.has_photo&&g.image_url):!1}),m=le(()=>n.detail||{});function v(g,_,S){if(typeof g=="function")try{return g(_)||S}catch{return S}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(_.slug||"")):S}const A=le(()=>{const g=c.value;if(!g)return null;const _=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(_||m.value.utmSource||n.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${S}`;return v(m.value.prayUrl,g,$)}),x=le(()=>{var I;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((I=window.location)==null?void 0:I.origin)||"https://doxa.life",S=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(S||m.value.utmSource||n.utmSource||"agwm")),D=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,D)}),w=le(()=>m.value.prayLabel||"Pray for this people group"),L=le(()=>m.value.moreInfoLabel||"More information");function y(){!a||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),a.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return At(` +`,"rd-charts"),(w,L)=>(V(),J("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[N("div",lv,[(V(),J(Se,null,Ye(t,y=>N("button",{key:y.id,class:je(["rd-tab",{on:o.value===y.id,off:y.disabled}]),role:"tab",type:"button","aria-selected":o.value===y.id?"true":"false",disabled:y.disabled,title:y.disabled?y.why:y.label,"data-tab":y.id,onClick:en(p=>!y.disabled&&(o.value=y.id),["stop"])},de(y.label),11,iv)),64))]),(V(!0),J(Se,null,Ye(f.value,y=>(V(),J(Se,{key:y.id},[y.type==="donut"?(V(),J("div",{key:0,class:"rd-chart","data-chart":y.facet},[N("div",uv,de(y.title),1),N("div",dv,[(V(),J("svg",{class:je(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("path",{key:p.key,d:p.path,fill:p.color,class:je(["rd-slice",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("title",null,de(p.key)+": "+de(p.value)+" ("+de(p.pct)+"%)",1)],10,pv))),128))],10,fv)),N("div",gv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("span",{key:p.key,class:je(["rd-li",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key,title:p.key+": "+p.value},[N("i",{style:it({background:p.color})},null,4),N("span",mv,de(p.key),1),N("b",null,de(p.value),1)],10,hv))),128))])])],8,cv)):(V(),J("div",{key:1,class:"rd-chart","data-chart":y.facet},[N("div",_v,de(y.title),1),N("div",yv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("div",{key:p.key,class:je(["rd-bar",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("span",xv,de(p.key),1),N("span",wv,[N("span",{class:"rd-bf",style:it({width:p.frac*100+"%",background:p.color})},null,4)]),N("span",kv,de(p.value),1)],10,vv))),128))])],8,bv))],64))),128))]))}},Sv={class:"rd-detail","data-region":"detail-drawer"},Ev={class:"rd-dh"},Av={key:0,class:"rd-empty","data-detail-empty":""},Cv={class:"rd-top"},Tv=["src","alt"],Lv={key:1,class:"rd-ph","data-detail-thumb":""},Pv={class:"rd-name","data-detail-name":""},Nv={class:"rd-meta"},Iv={class:"rd-actions"},Fv=["href","title"],Rv=["href","title"],Mv={class:"rd-rows"},Ov={class:"rd-row"},Dv={class:"v"},jv={key:0,class:"fam"},zv={class:"rd-row"},Uv={class:"v"},Bv={class:"rd-row"},Gv={class:"v"},qv={class:"rd-row"},Hv={class:"v"},Vv={class:"rd-row"},Wv={class:"v"},Kv={class:"rd-row"},Yv={class:"v"},Xv={__name:"DashboardDetailDrawer",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,_])=>[g,_.get])),{labelFor:s}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),a=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,l=ue(null),i=[];mt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const _=g?[...g]:[];_.length&&(l.value=_[_.length-1])})))}),Kt(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=le(()=>{const g=l.value;return!g||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(g)||null}),u=g=>g==null||g===""?"—":Number(g).toLocaleString("en-US"),f=le(()=>{const g=c.value;return g?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(g):!!(g.has_photo&&g.image_url):!1}),m=le(()=>n.detail||{});function v(g,_,S){if(typeof g=="function")try{return g(_)||S}catch{return S}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(_.slug||"")):S}const A=le(()=>{const g=c.value;if(!g)return null;const _=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(_||m.value.utmSource||n.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${S}`;return v(m.value.prayUrl,g,$)}),x=le(()=>{var I;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((I=window.location)==null?void 0:I.origin)||"https://doxa.life",S=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(S||m.value.utmSource||n.utmSource||"agwm")),D=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,D)}),w=le(()=>m.value.prayLabel||"Pray for this people group"),L=le(()=>m.value.moreInfoLabel||"More information");function y(){!a||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),a.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return At(` .rd-detail{ box-sizing:border-box; background:var(--rd-panel,#fff); border-left:1px solid var(--rd-line, #d1d4cd); border-bottom:1px solid var(--rd-line, #d1d4cd); padding:var(--s3,12px); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--rd-ink, #3b463d); flex:0 0 auto; } @@ -617,7 +616,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(g,_)=>(V(),J("section",Sv,[N("div",Ev,[_[0]||(_[0]=N("span",null,"Detail",-1)),c.value?(V(),J("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Ie("",!0)]),c.value?(V(),J(Se,{key:1},[N("div",Cv,[f.value?(V(),J("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Tv)):(V(),J("div",Lv,"No photo")),N("div",null,[N("div",Pv,de(c.value.name||"—"),1),N("div",Nv,de(fe(Qe)(c.value.country_code)||"—")+" · "+de(fe(Qe)(c.value.religion)||"—"),1)])]),N("div",Iv,[A.value?(V(),J("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),N("span",null,de(w.value),1)],8,Rv)):Ie("",!0),x.value?(V(),J("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:L.value,"data-detail-moreinfo":""},[_[2]||(_[2]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),N("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("span",null,de(L.value),1)],8,Fv)):Ie("",!0)]),N("div",Mv,[N("div",Ov,[_[3]||(_[3]=N("span",{class:"k"},"Language",-1)),N("span",Dv,[nt(de(fe(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(V(),J("span",jv," ("+de(c.value.imb_language_family)+")",1)):Ie("",!0)])]),N("div",zv,[_[4]||(_[4]=N("span",{class:"k"},"Population",-1)),N("span",Uv,de(u(c.value.population)),1)]),N("div",Bv,[_[5]||(_[5]=N("span",{class:"k"},"People praying",-1)),N("span",Gv,de(u(c.value.people_praying)),1)]),N("div",qv,[_[6]||(_[6]=N("span",{class:"k"},"People committed",-1)),N("span",Hv,de(u(c.value.people_committed)),1)]),N("div",Vv,[_[7]||(_[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",Wv,de(u(c.value.adopted_by_churches)),1)]),N("div",Kv,[_[8]||(_[8]=N("span",{class:"k"},"Engagement",-1)),N("span",Yv,de(fe(Qe)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(V(),J("div",Av,"Select a people group to see detail"))]))}},Jv="rgba(120, 128, 134, 0.28)",ku="36px",$u=()=>{};function Zv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return $u;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return $u;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${Jv} ${ku}, transparent ${ku})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const s=y=>{y.style.opacity="1"},a=y=>{y.style.opacity="0"},l=()=>n.find(y=>!r(y))||null,i=new Set;let c=!1,u=null;const f=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>m(),A=y=>{if(!(y.touches&&y.touches.length===1))return;const p=y.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const w=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",w,{passive:!0});const L=[];for(const y of n){const p=()=>{i.add(y),s(y)},g=()=>{i.delete(y),a(y)},_=()=>{c=!0,s(y)},S=()=>{c=!1,a(y)};y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",g),y.addEventListener("touchstart",_,{passive:!0}),y.addEventListener("touchend",S,{passive:!0}),L.push(()=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",g),y.removeEventListener("touchstart",_),y.removeEventListener("touchend",S)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",w);for(const p of L)p();for(const p of n)a(p)}}const Qv=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function e0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Qv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const pn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Su(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const t0=pn.mapbox.css,o0="https://tiles.openfreemap.org/styles/liberty";function Ta(e){var o;const t=((o=pn[e])==null?void 0:o.global)||pn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function n0(e){const t=pn[e]||pn.mapbox;if(Ta(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ta(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function r0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function s0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o0}const a0=85.0511,Eu=-2,l0=0,i0=-60;function Au(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function c0(e,t,o,n){if(!e||e<=0||!t||t<=0)return l0;const r=Math.log2(e/512),s=Au(n)-Au(a0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Eu,Math.min(l,(o??18)-1))}function u0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:v=i0,maxBounds:A=void 0}){const x=wn(null),w=ue(!1);let L=null,y=null,p=null;const g=r==="maplibre";async function _(){var B;const D=e0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await n0(r);const I=Ta(r);if(!I){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await r0(e.value,g?pn.maplibre.css:t0),await new Promise(M=>requestAnimationFrame(M));const H=e.value,Q=H.clientWidth,se=H.clientHeight;if(Q===0||se===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Q}×${se}). Map will be invisible. Check that parent elements have CSS sizing.`);let M=H.parentElement,P=0;for(;M&&P<5;)M=M.parentElement,P++}const _e=t;g||(I.accessToken=_e);const q=()=>typeof window<"u"&&window.innerWidth>=1024,oe=(M,P)=>{if(!q())return Eu;const Y=c0(M,P,i,v);return typeof l=="number"?Math.max(l,Y):Y},K=oe(H.clientWidth,H.clientHeight);if(g){x.value=new I.Map({container:e.value,style:s0(D),center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const M=typeof n=="function"?n():n;x.value=new I.Map({accessToken:_e,container:e.value,style:D,...M?{config:M}:{},center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let M=!1;x.value.on("error",P=>{var be,$e;const Y=((be=P==null?void 0:P.error)==null?void 0:be.status)??(P==null?void 0:P.status),ie=String((($e=P==null?void 0:P.error)==null?void 0:$e.url)||(P==null?void 0:P.sourceId)||"");Y!==401&&Y!==403||M||(M=!0,console.error(`[doxa-maps] Mapbox returned ${Y} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ie?` First failing request: ${ie.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Zv(((B=e.value)==null?void 0:B.parentElement)||null,{enabled:m});let W=K,T=null;L=()=>{const M=x.value;if(!M)return;const P=oe(H.clientWidth,H.clientHeight);P!==W&&(W=P,M.setMinZoom(P)),M.getZoom(){T=null;const Y=x.value;if(!Y)return;const ie=oe(H.clientWidth,H.clientHeight);if(Y.getZoom(){T&&(clearTimeout(T),T=null)},x.value.on("resize",L),typeof window<"u"&&(window.addEventListener("resize",L),window.addEventListener("orientationchange",L)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var M;(M=x.value)==null||M.resize(),x.value&&x.value.setMinZoom(oe(H.clientWidth,H.clientHeight)),w.value=!0})})}function S(){if(x.value){if(L&&(x.value.off("resize",L),typeof window<"u"&&(window.removeEventListener("resize",L),window.removeEventListener("orientationchange",L)),L=null),y){try{y()}catch{}y=null}p&&(p(),p=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:_,destroy:S}}const d0={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]}};function f0(e){return d0[e]||null}const gn={center:[20,10],zoom:1.8};function p0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(gn==null?void 0:gn.center)||[20,10],defaultZoom:a=gn==null?void 0:gn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(q,oe,K={x:150,y:0}){const W=t();if(!W)return q;try{const T=W.getCanvas(),B=T.width,M=T.height,P=W.project(q),Y=window.devicePixelRatio||1,ie=(K.x||0)*Y,be=(K.y||0)*Y,$e={x:P.x-ie,y:P.y-be},Ne=W.unproject($e);return[Ne.lng,Ne.lat]}catch{return q}}function c(q,oe=[]){const K=t();if(!K)return;let W=null,T=5;const B=oe.filter(P=>P.languageFamily===q);if(B.length>0){let P=1/0,Y=-1/0,ie=1/0,be=-1/0;if(B.forEach($e=>{$e.longitude&&$e.latitude&&(P=Math.min(P,$e.longitude),Y=Math.max(Y,$e.longitude),ie=Math.min(ie,$e.latitude),be=Math.max(be,$e.latitude))}),P!==1/0){W=[(P+Y)/2,(ie+be)/2];const $e=Y-P,Ne=be-ie,Ee=Math.max($e,Ne);Ee>50?T=2:Ee>20?T=3:Ee>10?T=4:Ee>5?T=5:T=6}}if(!W)return;const M=i(W);K.flyTo({center:M,zoom:T,...l})}function u(q){const oe=t();if(!oe)return;let K=null,W=4;const T=f0(q);if(T)K=T.center,W=T.zoom||4;else if(r!=null&&r.features){const M=r.features.find(P=>{var Y,ie;return((Y=P.properties)==null?void 0:Y.region)===q||((ie=P.properties)==null?void 0:ie.name)===q});M&&(K=f(M))}if(!K)return;const B=i(K);oe.flyTo({center:B,zoom:W,...l})}function f(q){if(!q||!q.geometry)return null;const{type:oe,coordinates:K}=q.geometry;let W=[];if(oe==="Polygon"?W=K[0]||[]:oe==="MultiPolygon"&&K.forEach(M=>{W=W.concat(M[0]||[])}),W.length===0)return null;let T=0,B=0;return W.forEach(M=>{T+=M[0],B+=M[1]}),[T/W.length,B/W.length]}function m(q,oe={}){const K=t();if(!K)return;const W={center:q,...l,...oe};K.flyTo(W)}function v(q,oe){const K=t();if(!K||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const W=oe??Math.min(K.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:W})}function A(q,oe={top:40,right:40,bottom:40,left:40},K={}){const W=t();if(!W||!q)return;const T=K.maxZoom??4,B=K.duration??900;W.fitBounds(q,{padding:oe,maxZoom:T,duration:B,...l,...K})}function x(){const q=t();q&&q.flyTo({center:s,zoom:a,...l})}const w=80,L=800,y=5,p=5,g=110,_=1.2;function S(q){const oe=q.filter(Number.isFinite).slice().sort((b,C)=>b-C),K=oe.length;if(!K)return null;let W=-1,T=0;for(let b=0;bW&&(W=k,T=b)}const B=(T+1)%K,M=new Array(K);for(let b=0;b0&&C((b+180)%360+360)%360-180,Ne=$e(ie),Ee=24,ke=360/Ee,me=new Array(Ee).fill(0);for(const b of oe){let C=Math.floor(((b+180)%360+360)%360/ke);C>=Ee&&(C=Ee-1),me[C]++}let pe=0;for(let b=1;bme[pe]&&(pe=b);return{center:$e(-180+(pe+.5)*ke),minLng:Ne,maxLng:Ne+(be-ie),span:be-ie}}function $(q){try{const oe=q.getContainer&&q.getContainer().clientWidth||0,K=oe>0?Math.log2(oe/512):_,W=typeof q.getMinZoom=="function"?q.getMinZoom():K;return Math.max(W,K)}catch{return _}}function D(q,oe,K,W){q.easeTo({center:[oe,(K+W)/2],zoom:$(q),duration:L,essential:!0})}function I(q,oe,K){if(K>g)return!0;try{const W=typeof q.cameraForBounds=="function"?q.cameraForBounds(oe,{padding:w,maxZoom:y}):null;return W==null?!0:typeof W.zoom=="number"&&W.zoom<=$(q)+.05}catch{return!1}}function H(q,oe){if(!Array.isArray(q))return q;switch(q[0]){case"get":return oe==null?void 0:oe[q[1]];case"literal":return q[1];case"has":return oe!=null&&q[1]in oe;case"!has":return oe==null||!(q[1]in oe);case"!":return!H(q[1],oe);case"coalesce":{for(let W=1;W2){const B=Number(H(q[2],oe));return Number.isFinite(B)?B:0}return NaN}case"to-string":{const W=H(q[1],oe);return W==null?"":String(W)}case"to-boolean":return!!H(q[1],oe);case"slice":{const W=H(q[1],oe),T=H(q[2],oe),B=q.length>3?H(q[3],oe):void 0;return typeof W!="string"?"":B!=null?W.slice(T,B):W.slice(T)}default:return q}}function Q(q,oe){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const K=q[0];if(K==="all"){for(let W=1;W"||K===">="||K==="<"||K==="<="){const W=typeof q[1]=="string"?oe==null?void 0:oe[q[1]]:H(q[1],oe),T=H(q[2],oe);switch(K){case"==":return W===T||W==null&&T==null;case"!=":return!(W===T||W==null&&T==null);case">":return W>T;case">=":return W>=T;case"<":return W{const G=(k==null?void 0:k.properties)||{};return G.region===b||G.name===b||G.id===b});if(C){const k=[];let G=1/0,X=-1/0;const ne=j=>{for(const d of j)Array.isArray(d[0])?ne(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(k.push(d[0]),d[1]X&&(X=d[1]))};(me=C.geometry)!=null&&me.coordinates&&ne(C.geometry.coordinates);const z=S(k);if(z&&Number.isFinite(G)){const j=[[z.minLng,G],[z.maxLng,X]];I(K,j,z.span)?D(K,z.center,G,X):K.fitBounds(j,{padding:w,maxZoom:y,duration:L,essential:!0});return}}}const W=oe.sourceId??"language-families";if(!K.getSource(W))return;const T=oe.matchExpr??q.filter;if(!T)return;const B=se(K,W);if(!B.length)return;const M=[];let P=1/0,Y=-1/0,ie=0,be=0,$e=0;const Ne=new Set;for(const ye of B){const b=ye==null?void 0:ye.properties;if(!Q(T,b))continue;const C=b==null?void 0:b.uniqueId;if(C!=null){if(Ne.has(C))continue;Ne.add(C)}const k=(pe=ye.geometry)==null?void 0:pe.coordinates;if(!Array.isArray(k)||k.length<2)continue;const G=k[0],X=k[1];!Number.isFinite(G)||!Number.isFinite(X)||(ie===0&&(be=G,$e=X),M.push(G),XY&&(Y=X),ie++)}if(ie===0)return;if(ie===1){K.flyTo({center:[be,$e],zoom:p,duration:L,essential:!0});return}const Ee=S(M)||{center:0,minLng:0,maxLng:0,span:0},ke=[[Ee.minLng,P],[Ee.maxLng,Y]];if(I(K,ke,Ee.span)){D(K,Ee.center,P,Y);return}try{K.fitBounds(ke,{padding:w,maxZoom:y,duration:L,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:A,resetView:x,zoomToLegendRow:_e,calculateRegionCenterFromPolygon:f}}const g0=150,h0=1200,m0=70,b0=5.5,_0=6,Cu=.01,y0=110,v0=1.45;function x0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function w0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function k0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function $0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=w0(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=k0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=$0(e.selectionSet,o&&o());if(!c)return;const u=x0()?0:h0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:_0,duration:u,essential:!0});return}if(c.span>y0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:v0,duration:u,essential:!0});return}n.fitBounds(c.bounds,m0,{maxZoom:b0,duration:u,essential:!0})}catch{}}const l=ut(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,g0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const E0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ro("mapToolbar",{el:t}),At(` +`,"rd-detaildrawer"),(g,_)=>(V(),J("section",Sv,[N("div",Ev,[_[0]||(_[0]=N("span",null,"Detail",-1)),c.value?(V(),J("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Ie("",!0)]),c.value?(V(),J(Se,{key:1},[N("div",Cv,[f.value?(V(),J("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Tv)):(V(),J("div",Lv,"No photo")),N("div",null,[N("div",Pv,de(c.value.name||"—"),1),N("div",Nv,de(fe(Qe)(c.value.country_code)||"—")+" · "+de(fe(Qe)(c.value.religion)||"—"),1)])]),N("div",Iv,[A.value?(V(),J("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),N("span",null,de(w.value),1)],8,Fv)):Ie("",!0),x.value?(V(),J("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:L.value,"data-detail-moreinfo":""},[_[2]||(_[2]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),N("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("span",null,de(L.value),1)],8,Rv)):Ie("",!0)]),N("div",Mv,[N("div",Ov,[_[3]||(_[3]=N("span",{class:"k"},"Language",-1)),N("span",Dv,[nt(de(fe(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(V(),J("span",jv," ("+de(c.value.imb_language_family)+")",1)):Ie("",!0)])]),N("div",zv,[_[4]||(_[4]=N("span",{class:"k"},"Population",-1)),N("span",Uv,de(u(c.value.population)),1)]),N("div",Bv,[_[5]||(_[5]=N("span",{class:"k"},"People praying",-1)),N("span",Gv,de(u(c.value.people_praying)),1)]),N("div",qv,[_[6]||(_[6]=N("span",{class:"k"},"People committed",-1)),N("span",Hv,de(u(c.value.people_committed)),1)]),N("div",Vv,[_[7]||(_[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",Wv,de(u(c.value.adopted_by_churches)),1)]),N("div",Kv,[_[8]||(_[8]=N("span",{class:"k"},"Engagement",-1)),N("span",Yv,de(fe(Qe)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(V(),J("div",Av,"Select a people group to see detail"))]))}},Jv="rgba(120, 128, 134, 0.28)",ku="36px",$u=()=>{};function Zv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return $u;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return $u;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${Jv} ${ku}, transparent ${ku})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const s=y=>{y.style.opacity="1"},a=y=>{y.style.opacity="0"},l=()=>n.find(y=>!r(y))||null,i=new Set;let c=!1,u=null;const f=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>m(),A=y=>{if(!(y.touches&&y.touches.length===1))return;const p=y.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const w=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",w,{passive:!0});const L=[];for(const y of n){const p=()=>{i.add(y),s(y)},g=()=>{i.delete(y),a(y)},_=()=>{c=!0,s(y)},S=()=>{c=!1,a(y)};y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",g),y.addEventListener("touchstart",_,{passive:!0}),y.addEventListener("touchend",S,{passive:!0}),L.push(()=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",g),y.removeEventListener("touchstart",_),y.removeEventListener("touchend",S)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",w);for(const p of L)p();for(const p of n)a(p)}}const Qv=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function e0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Qv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const pn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Su(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const t0=pn.mapbox.css,o0="https://tiles.openfreemap.org/styles/liberty";function Ta(e){var o;const t=((o=pn[e])==null?void 0:o.global)||pn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function n0(e){const t=pn[e]||pn.mapbox;if(Ta(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ta(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function r0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function s0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o0}const a0=85.0511,Eu=-2,l0=0,i0=-60;function Au(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function c0(e,t,o,n){if(!e||e<=0||!t||t<=0)return l0;const r=Math.log2(e/512),s=Au(n)-Au(a0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Eu,Math.min(l,(o??18)-1))}function u0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:v=i0,maxBounds:A=void 0}){const x=wn(null),w=ue(!1);let L=null,y=null,p=null;const g=r==="maplibre";async function _(){var B;const D=e0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await n0(r);const I=Ta(r);if(!I){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await r0(e.value,g?pn.maplibre.css:t0),await new Promise(M=>requestAnimationFrame(M));const H=e.value,Q=H.clientWidth,se=H.clientHeight;if(Q===0||se===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Q}×${se}). Map will be invisible. Check that parent elements have CSS sizing.`);let M=H.parentElement,P=0;for(;M&&P<5;)M=M.parentElement,P++}const _e=t;g||(I.accessToken=_e);const q=()=>typeof window<"u"&&window.innerWidth>=1024,oe=(M,P)=>{if(!q())return Eu;const Y=c0(M,P,i,v);return typeof l=="number"?Math.max(l,Y):Y},K=oe(H.clientWidth,H.clientHeight);if(g){x.value=new I.Map({container:e.value,style:s0(D),center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const M=typeof n=="function"?n():n;x.value=new I.Map({accessToken:_e,container:e.value,style:D,...M?{config:M}:{},center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let M=!1;x.value.on("error",P=>{var be,$e;const Y=((be=P==null?void 0:P.error)==null?void 0:be.status)??(P==null?void 0:P.status),ie=String((($e=P==null?void 0:P.error)==null?void 0:$e.url)||(P==null?void 0:P.sourceId)||"");Y!==401&&Y!==403||M||(M=!0,console.error(`[doxa-maps] Mapbox returned ${Y} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ie?` First failing request: ${ie.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Zv(((B=e.value)==null?void 0:B.parentElement)||null,{enabled:m});let W=K,T=null;L=()=>{const M=x.value;if(!M)return;const P=oe(H.clientWidth,H.clientHeight);P!==W&&(W=P,M.setMinZoom(P)),M.getZoom(){T=null;const Y=x.value;if(!Y)return;const ie=oe(H.clientWidth,H.clientHeight);if(Y.getZoom(){T&&(clearTimeout(T),T=null)},x.value.on("resize",L),typeof window<"u"&&(window.addEventListener("resize",L),window.addEventListener("orientationchange",L)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var M;(M=x.value)==null||M.resize(),x.value&&x.value.setMinZoom(oe(H.clientWidth,H.clientHeight)),w.value=!0})})}function S(){if(x.value){if(L&&(x.value.off("resize",L),typeof window<"u"&&(window.removeEventListener("resize",L),window.removeEventListener("orientationchange",L)),L=null),y){try{y()}catch{}y=null}p&&(p(),p=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:_,destroy:S}}const d0={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]}};function f0(e){return d0[e]||null}const gn={center:[20,10],zoom:1.8};function p0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(gn==null?void 0:gn.center)||[20,10],defaultZoom:a=gn==null?void 0:gn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(q,oe,K={x:150,y:0}){const W=t();if(!W)return q;try{const T=W.getCanvas(),B=T.width,M=T.height,P=W.project(q),Y=window.devicePixelRatio||1,ie=(K.x||0)*Y,be=(K.y||0)*Y,$e={x:P.x-ie,y:P.y-be},Ne=W.unproject($e);return[Ne.lng,Ne.lat]}catch{return q}}function c(q,oe=[]){const K=t();if(!K)return;let W=null,T=5;const B=oe.filter(P=>P.languageFamily===q);if(B.length>0){let P=1/0,Y=-1/0,ie=1/0,be=-1/0;if(B.forEach($e=>{$e.longitude&&$e.latitude&&(P=Math.min(P,$e.longitude),Y=Math.max(Y,$e.longitude),ie=Math.min(ie,$e.latitude),be=Math.max(be,$e.latitude))}),P!==1/0){W=[(P+Y)/2,(ie+be)/2];const $e=Y-P,Ne=be-ie,Ee=Math.max($e,Ne);Ee>50?T=2:Ee>20?T=3:Ee>10?T=4:Ee>5?T=5:T=6}}if(!W)return;const M=i(W);K.flyTo({center:M,zoom:T,...l})}function u(q){const oe=t();if(!oe)return;let K=null,W=4;const T=f0(q);if(T)K=T.center,W=T.zoom||4;else if(r!=null&&r.features){const M=r.features.find(P=>{var Y,ie;return((Y=P.properties)==null?void 0:Y.region)===q||((ie=P.properties)==null?void 0:ie.name)===q});M&&(K=f(M))}if(!K)return;const B=i(K);oe.flyTo({center:B,zoom:W,...l})}function f(q){if(!q||!q.geometry)return null;const{type:oe,coordinates:K}=q.geometry;let W=[];if(oe==="Polygon"?W=K[0]||[]:oe==="MultiPolygon"&&K.forEach(M=>{W=W.concat(M[0]||[])}),W.length===0)return null;let T=0,B=0;return W.forEach(M=>{T+=M[0],B+=M[1]}),[T/W.length,B/W.length]}function m(q,oe={}){const K=t();if(!K)return;const W={center:q,...l,...oe};K.flyTo(W)}function v(q,oe){const K=t();if(!K||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const W=oe??Math.min(K.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:W})}function A(q,oe={top:40,right:40,bottom:40,left:40},K={}){const W=t();if(!W||!q)return;const T=K.maxZoom??4,B=K.duration??900;W.fitBounds(q,{padding:oe,maxZoom:T,duration:B,...l,...K})}function x(){const q=t();q&&q.flyTo({center:s,zoom:a,...l})}const w=80,L=800,y=5,p=5,g=110,_=1.2;function S(q){const oe=q.filter(Number.isFinite).slice().sort((b,C)=>b-C),K=oe.length;if(!K)return null;let W=-1,T=0;for(let b=0;bW&&(W=k,T=b)}const B=(T+1)%K,M=new Array(K);for(let b=0;b0&&C((b+180)%360+360)%360-180,Ne=$e(ie),Ee=24,ke=360/Ee,me=new Array(Ee).fill(0);for(const b of oe){let C=Math.floor(((b+180)%360+360)%360/ke);C>=Ee&&(C=Ee-1),me[C]++}let pe=0;for(let b=1;bme[pe]&&(pe=b);return{center:$e(-180+(pe+.5)*ke),minLng:Ne,maxLng:Ne+(be-ie),span:be-ie}}function $(q){try{const oe=q.getContainer&&q.getContainer().clientWidth||0,K=oe>0?Math.log2(oe/512):_,W=typeof q.getMinZoom=="function"?q.getMinZoom():K;return Math.max(W,K)}catch{return _}}function D(q,oe,K,W){q.easeTo({center:[oe,(K+W)/2],zoom:$(q),duration:L,essential:!0})}function I(q,oe,K){if(K>g)return!0;try{const W=typeof q.cameraForBounds=="function"?q.cameraForBounds(oe,{padding:w,maxZoom:y}):null;return W==null?!0:typeof W.zoom=="number"&&W.zoom<=$(q)+.05}catch{return!1}}function H(q,oe){if(!Array.isArray(q))return q;switch(q[0]){case"get":return oe==null?void 0:oe[q[1]];case"literal":return q[1];case"has":return oe!=null&&q[1]in oe;case"!has":return oe==null||!(q[1]in oe);case"!":return!H(q[1],oe);case"coalesce":{for(let W=1;W2){const B=Number(H(q[2],oe));return Number.isFinite(B)?B:0}return NaN}case"to-string":{const W=H(q[1],oe);return W==null?"":String(W)}case"to-boolean":return!!H(q[1],oe);case"slice":{const W=H(q[1],oe),T=H(q[2],oe),B=q.length>3?H(q[3],oe):void 0;return typeof W!="string"?"":B!=null?W.slice(T,B):W.slice(T)}default:return q}}function Q(q,oe){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const K=q[0];if(K==="all"){for(let W=1;W"||K===">="||K==="<"||K==="<="){const W=typeof q[1]=="string"?oe==null?void 0:oe[q[1]]:H(q[1],oe),T=H(q[2],oe);switch(K){case"==":return W===T||W==null&&T==null;case"!=":return!(W===T||W==null&&T==null);case">":return W>T;case">=":return W>=T;case"<":return W{const G=(k==null?void 0:k.properties)||{};return G.region===b||G.name===b||G.id===b});if(C){const k=[];let G=1/0,X=-1/0;const ne=j=>{for(const d of j)Array.isArray(d[0])?ne(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(k.push(d[0]),d[1]X&&(X=d[1]))};(me=C.geometry)!=null&&me.coordinates&&ne(C.geometry.coordinates);const z=S(k);if(z&&Number.isFinite(G)){const j=[[z.minLng,G],[z.maxLng,X]];I(K,j,z.span)?D(K,z.center,G,X):K.fitBounds(j,{padding:w,maxZoom:y,duration:L,essential:!0});return}}}const W=oe.sourceId??"language-families";if(!K.getSource(W))return;const T=oe.matchExpr??q.filter;if(!T)return;const B=se(K,W);if(!B.length)return;const M=[];let P=1/0,Y=-1/0,ie=0,be=0,$e=0;const Ne=new Set;for(const ye of B){const b=ye==null?void 0:ye.properties;if(!Q(T,b))continue;const C=b==null?void 0:b.uniqueId;if(C!=null){if(Ne.has(C))continue;Ne.add(C)}const k=(pe=ye.geometry)==null?void 0:pe.coordinates;if(!Array.isArray(k)||k.length<2)continue;const G=k[0],X=k[1];!Number.isFinite(G)||!Number.isFinite(X)||(ie===0&&(be=G,$e=X),M.push(G),XY&&(Y=X),ie++)}if(ie===0)return;if(ie===1){K.flyTo({center:[be,$e],zoom:p,duration:L,essential:!0});return}const Ee=S(M)||{center:0,minLng:0,maxLng:0,span:0},ke=[[Ee.minLng,P],[Ee.maxLng,Y]];if(I(K,ke,Ee.span)){D(K,Ee.center,P,Y);return}try{K.fitBounds(ke,{padding:w,maxZoom:y,duration:L,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:A,resetView:x,zoomToLegendRow:_e,calculateRegionCenterFromPolygon:f}}const g0=150,h0=1200,m0=70,b0=5.5,_0=6,Cu=.01,y0=110,v0=1.45;function x0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function w0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function k0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function $0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=w0(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=k0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=$0(e.selectionSet,o&&o());if(!c)return;const u=x0()?0:h0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:_0,duration:u,essential:!0});return}if(c.span>y0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:v0,duration:u,essential:!0});return}n.fitBounds(c.bounds,m0,{maxZoom:b0,duration:u,essential:!0})}catch{}}const l=ut(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,g0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const E0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ro("mapToolbar",{el:t}),At(` .map-toolbar { position: absolute; top: 6px; @@ -634,7 +633,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(V(),J("div",{ref_key:"toolbarEl",ref:t,class:je(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Oo(o.$slots,"default")],2))}},A0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomIn"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},C0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomOut"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},T0=["data-projection"],L0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Tu=2,P0="#f2f3f0",Lu=.78,N0="prayer_level",I0=.1,R0=12,F0={__name:"DashboardMapPanel",setup(e){var Qn,Nu,Iu,Ru,Fu,Mu,Ou,Du,ju;const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("mapboxToken",ue("")),r=Fe("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([F,Z])=>[F,Z.get])),l=Yn(o,Kn(r)),i=le(()=>{var xe,Te;const F=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],Z=Object.keys(s),ce=!!(((Te=o==null?void 0:o.searchTerm)==null?void 0:Te.value)||"").trim();return!Z.length&&!ce?F:F.filter(Re=>Z.every(Oe=>{const we=a[Oe];return we?we(Re)===s[Oe]:!0})&&l(Re))}),c=((Qn=r.map)==null?void 0:Qn.geoFacet)||"country_code",u=((Iu=(Nu=r.facets)==null?void 0:Nu[c])==null?void 0:Iu.geoIso)||(F=>{const Z=F[c];return Z&&Z.value?Z.value:null}),f=a[c]||(F=>Qe(F[c])),m=le(()=>{var Z;const F=new Map;for(const ce of((Z=t==null?void 0:t.rows)==null?void 0:Z.value)||[]){const xe=u(ce);xe&&F.set(xe,f(ce)||xe)}return F}),v=le(()=>{const F=new Map;for(const Z of i.value){const ce=u(Z);ce&&F.set(ce,(F.get(ce)||0)+1)}return F}),A=ue(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:L,initializeMap:y,destroy:p}=u0({containerRef:A,accessToken:fe(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Ru=r.map)!=null&&Ru.mapStyle||r.mapStyle?{style:((Fu=r.map)==null?void 0:Fu.mapStyle)||r.mapStyle}:{}}),g=p0({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=S0({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var F;return(F=t==null?void 0:t.rowStore)==null?void 0:F.value},isEnabled:()=>L.value});let S=!1,$=null,D=null,I=null,H=0,Q=!1;function se(){Q||H||(H=requestAnimationFrame(()=>{H=0;const F=w.value;if(F&&typeof F.resize=="function")try{F.resize()}catch{}}))}function _e(F){const Z=!!F;if(Z!==Q){if(Q=Z,Q){H&&(cancelAnimationFrame(H),H=0);return}se(),setTimeout(se,180)}}const q=(()=>{var Z;const F={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return F[(Z=r.map)==null?void 0:Z.colorRamp]||F["heartbeat-red"]})(),oe={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function K(F,Z){return Number.isFinite(Z)?Z-1<=F?`${F}`:`${F}–${Z-1}`:`${F}+ · heartbeat zone`}function W(F){const ce=oe.binThresholds.map(xe=>xe/oe.heartbeatThreshold).map(xe=>Math.max(Tu,Math.round(xe*F)));return T(ce,F)}function T(F,Z){const ce=[];for(const xe of F){const Te=Math.max(xe,ce.length?ce[ce.length-1]+1:Tu);TeOe>0).sort((Oe,we)=>Oe-we);if(ce.length<8)return null;const xe=Oe=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Oe*ce.length)))],Te=xe(1-Z)+1,Re=[.25,.5,.75].map(Oe=>xe(Oe));return{threshold:Te,edges:T(Re,Te)}}function M(F){var Oe;if(Array.isArray((Oe=r.map)==null?void 0:Oe.bins)&&r.map.bins.length)return r.map.bins;const Z=r.map||{};let ce=Number(Z.heartbeatThreshold)>0?Number(Z.heartbeatThreshold):oe.heartbeatThreshold,xe=null;if(Z.heartbeatMode==="quantile"){const we=B(F||[],Number(Z.heartbeatQuantile)>0?Number(Z.heartbeatQuantile):oe.quantile);we&&(ce=we.threshold,xe=we.edges)}xe||(xe=Array.isArray(Z.binThresholds)&&Z.binThresholds.length?[...new Set(Z.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-ft):Number(Z.heartbeatThreshold)>0?W(ce):oe.binThresholds);const Te=[...xe,ce,1/0].slice(0,q.length);for(;Te.length{const Ut={upTo:we,c:q[ft],l:K(Re,we)};return Re=we,Ut})}const P=le(()=>M([...v.value.values()])),Y=((Mu=r.map)==null?void 0:Mu.noDataColor)||"#f3f3f1";function ie(F){if(!F)return Y;const Z=P.value;for(const ce of Z)if(F{const Oe=parseInt(ce.slice(Re*2,Re*2+2),16),we=parseInt(xe.slice(Re*2,Re*2+2),16);return Math.round(Lu*Oe+(1-Lu)*we)};return"#"+[0,1,2].map(Re=>Te(Re).toString(16).padStart(2,"0")).join("")}const $e=le(()=>P.value.map(F=>({c:be(F.c),l:F.l}))),Ne=((Ou=r.map)==null?void 0:Ou.selectedColor)||"#1a237e";function Ee(){const F=v.value,Z=[],ce=[];F.forEach((Oe,we)=>{Z.push(we,ie(Oe)),ce.push(we)});const xe=Z.length?["match",["get","iso_3166_1_alpha_3"],...Z,Y]:Y,Re=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Oe=>[Oe,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Re}}function ke(){return Object.prototype.hasOwnProperty.call(s,N0)}const me=((Du=r.map)==null?void 0:Du.pinColor)||"#ef6c00",pe=((ju=r.map)==null?void 0:ju.pinStrokeColor)||"#ffffff";function ye(){return ke()?Hr({colorSource:"properties"}):me}function b(){const F=w.value;if(!F||!F.getLayer("rd-choropleth"))return;const{fillColor:Z,fillOpacity:ce}=Ee();F.setPaintProperty("rd-choropleth","fill-color",Z),F.setPaintProperty("rd-choropleth","fill-opacity",ce);const xe=F.getSource("rd-bubbles");xe&&xe.setData(k()),F.getLayer("rd-bubble-layer")&&F.setPaintProperty("rd-bubble-layer","circle-color",ye())}function C(F){const Z=F==null?void 0:F.people_praying,ce=Z&&typeof Z=="object"?Z.value:Z;return Number(ce)||0}function k(){return{type:"FeatureCollection",features:i.value.filter(F=>Number(F.latitude)&&Number(F.longitude)).map(F=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(F.longitude),Number(F.latitude)]},properties:{pop:Number(F.population)||0,slug:F.slug||"",name:F.name||"",peoplePraying:C(F)}}))}}function G(){var ce;const F=o==null?void 0:o.selectionSet,Z=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!F||!F.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Z.filter(xe=>F.has(xe.slug)&&Number(xe.latitude)&&Number(xe.longitude)).map(xe=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(xe.longitude),Number(xe.latitude)]},properties:{slug:xe.slug||"",name:xe.name||""}}))}}function X(){const F=w.value;if(!F)return;const Z=F.getSource("rd-bubble-selected");Z&&Z.setData(G())}function ne(){var xe;const F=w.value;if(!F||S)return;S=!0,F.getSource("rd-countries")||F.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Z,fillOpacity:ce}=Ee();F.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Z,"fill-opacity":ce,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),F.addSource("rd-bubbles",{type:"geojson",data:k()}),F.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":pe,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),F.addSource("rd-bubble-selected",{type:"geojson",data:G()}),F.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ne,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ne,"circle-stroke-opacity":.95}}),F.on("click","rd-choropleth",z),F.on("click","rd-bubble-layer",j),F.on("mouseenter","rd-choropleth",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","rd-choropleth",()=>{F.getCanvas().style.cursor=""}),F.on("mouseenter","rd-bubble-layer",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","rd-bubble-layer",()=>{F.getCanvas().style.cursor=""});try{window.__rdashMap=F,window.__rdashClickAt=(Te,Re)=>{const Oe=F.project([Te,Re]),we=F.queryRenderedFeatures(Oe,{layers:["rd-choropleth"]});return we&&we[0]?(z({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Te,Re)=>{const Oe=F.project([Te,Re]),we=F.queryRenderedFeatures([[Oe.x-7,Oe.y-7],[Oe.x+7,Oe.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(j({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}he(),o&&o.on("select",X),X(),o&&o.on("focusRow",({slug:Te}={})=>{var we;if(!Te)return;const Re=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(ft=>ft.slug===Te),Oe=w.value;if(Oe&&Re&&Number(Re.latitude)&&Number(Re.longitude))try{Oe.flyTo({center:[Number(Re.longitude),Number(Re.latitude)],zoom:5.5,duration:1200})}catch{}})}function z(F){const Z=w.value;if(Z&&F.point){const Re=Z.queryRenderedFeatures([[F.point.x-5,F.point.y-5],[F.point.x+5,F.point.y+5]],{layers:["rd-bubble-layer"]});if(Re&&Re.length)return}const ce=F.features&&F.features[0];if(!ce||!o)return;const xe=ce.properties&&ce.properties.iso_3166_1_alpha_3,Te=m.value.get(xe);Te&&(o.setFilter(c,s[c]===Te?null:Te),o.emit("mapFocus",{facet:c,value:Te}))}function j(F){const Z=F.features&&F.features[0];if(!Z||!o)return;const ce=Z.properties&&Z.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:Z.properties&&Z.properties.name}))}function d(F){var ce;let Z=F&&F.parentNode;for(;Z;){if(Z.nodeType===1){const xe=getComputedStyle(Z);if(/auto|scroll/.test(xe.overflowY)&&Z.scrollHeight>Z.clientHeight+4)return Z}if(Z=Z.parentElement||((ce=Z.parentNode)==null?void 0:ce.host)||(Z.parentNode!==Z?Z.parentNode:null),Z&&Z.nodeType===9)break}return null}function h(F){if(!(!F||!F.scrollZoom))try{F.scrollZoom.enable()}catch{}}mt(async()=>{await y();const F=w.value;if(!F)return;F.isStyleLoaded()?ne():F.on("load",ne),h(F);const Z=()=>h(F);let ce=null;try{ce=new ResizeObserver(Z);const xe=F.getContainer&&F.getContainer()||null;xe&&ce.observe(xe);const Te=xe?d(xe):null;Te&&ce.observe(Te),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",Z),Kt(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",Z)}),F.on("zoom",ee),F.on("zoomend",ee),F.on("resize",ee),ee(),F.on("idle",()=>{!S&&F.isStyleLoaded()&&ne()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(se),$.observe(A.value)),te(),F.on("idle",te),F.on("resize",te),o&&typeof o.on=="function"&&(D=o.on("toggleTable",()=>{se(),setTimeout(se,280)}),I=o.on("layoutResizing",_e))}),Kt(()=>{try{_&&_()}catch{}_=null;try{D&&D()}catch{}D=null;try{I&&I()}catch{}if(I=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}E=null,H&&(cancelAnimationFrame(H),H=0);try{const F=w.value;F&&(F.off("zoom",ee),F.off("zoomend",ee),F.off("resize",ee),F.off("idle",te),F.off("resize",te))}catch{}try{p&&p()}catch{}}),ut([i,L],b);const R=ue(!0),U=ue(!0);function ee(){const F=w.value;if(!F)return;const Z=F.getZoom();R.value=ZF.getMinZoom()+.01}const re=ue(null);let O=null,E=null;function te(){var xe;const F=re.value;if(!F)return;let Z=0;try{const Te=(xe=F.getRootNode)==null?void 0:xe.call(F),Re=Te&&Te.querySelector?Te.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Re){const Oe=Re.getBoundingClientRect(),we=F.getBoundingClientRect();if(Z=Math.max(Oe.height||0,we.bottom-Oe.top),E!==Re&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}E=Re,O=new ResizeObserver(te),O.observe(Re)}}}catch{}const ce=Math.min(Math.max(Math.ceil(Z)||20,20),72);F.style.setProperty("--rd-attrib-clear",ce+"px")}const ae=ue("globe");function he(){const F=w.value;if(F)try{F.setProjection(ae.value)}catch{}}function ve(){ae.value=ae.value==="globe"?"mercator":"globe",he()}function Be(F){const Z=Number(F.longitude),ce=Number(F.latitude);return!Number.isFinite(Z)||!Number.isFinite(ce)||Z===0&&ce===0||ce<-90||ce>90||Z<-180||Z>180?null:[Z,ce]}function qe(F,Z){if(!F.length)return NaN;const ce=Math.min(F.length-1,Math.max(0,Math.round(Z*(F.length-1))));return F[ce]}function st(F){const Z=F.slice().sort((we,ft)=>we-ft),ce=Z.length;if(ce<2)return Z;let xe=-1,Te=0;for(let we=0;wexe&&(xe=Ut,Te=we)}const Re=(Te+1)%ce,Oe=new Array(ce);for(let we=0;we0&&ftBo[1]).sort((Bo,Jr)=>Bo-Jr),xe=st(Z.map(Bo=>Bo[0])),Te=Z.length>=R0?I0:0,Re=qe(ce,Te),Oe=qe(ce,1-Te),we=qe(xe,Te),ft=qe(xe,1-Te),Ut=[qe(xe,.5),qe(ce,.5)];return!(ft>we)||!(Oe>Re)?{bounds:[[Ut[0],Ut[1]],[Ut[0],Ut[1]]],center:Ut}:{bounds:[[we,Re],[ft,Oe]],center:Ut}}function Pt(){const F=w.value;if(!F)return;if(!Object.keys(s).length){try{F.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Z=et(i.value);if(Z)try{F.fitBounds(Z.bounds,{padding:70,duration:1200,maxZoom:5.5}),F.setCenter(Z.center)}catch{}}let Zn=null;return ut(()=>JSON.stringify(s),()=>{clearTimeout(Zn),Zn=setTimeout(Pt,260)}),At(` +`,"map-toolbar"),(o,n)=>(V(),J("div",{ref_key:"toolbarEl",ref:t,class:je(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Oo(o.$slots,"default")],2))}},A0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomIn"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},C0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomOut"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},T0=["data-projection"],L0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Tu=2,P0="#f2f3f0",Lu=.78,N0="prayer_level",I0=.1,F0=12,R0={__name:"DashboardMapPanel",setup(e){var Qn,Nu,Iu,Fu,Ru,Mu,Ou,Du,ju;const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("mapboxToken",ue("")),r=Re("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([R,Z])=>[R,Z.get])),l=Yn(o,Kn(r)),i=le(()=>{var xe,Te;const R=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],Z=Object.keys(s),ce=!!(((Te=o==null?void 0:o.searchTerm)==null?void 0:Te.value)||"").trim();return!Z.length&&!ce?R:R.filter(Fe=>Z.every(Oe=>{const we=a[Oe];return we?we(Fe)===s[Oe]:!0})&&l(Fe))}),c=((Qn=r.map)==null?void 0:Qn.geoFacet)||"country_code",u=((Iu=(Nu=r.facets)==null?void 0:Nu[c])==null?void 0:Iu.geoIso)||(R=>{const Z=R[c];return Z&&Z.value?Z.value:null}),f=a[c]||(R=>Qe(R[c])),m=le(()=>{var Z;const R=new Map;for(const ce of((Z=t==null?void 0:t.rows)==null?void 0:Z.value)||[]){const xe=u(ce);xe&&R.set(xe,f(ce)||xe)}return R}),v=le(()=>{const R=new Map;for(const Z of i.value){const ce=u(Z);ce&&R.set(ce,(R.get(ce)||0)+1)}return R}),A=ue(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:L,initializeMap:y,destroy:p}=u0({containerRef:A,accessToken:fe(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Fu=r.map)!=null&&Fu.mapStyle||r.mapStyle?{style:((Ru=r.map)==null?void 0:Ru.mapStyle)||r.mapStyle}:{}}),g=p0({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=S0({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var R;return(R=t==null?void 0:t.rowStore)==null?void 0:R.value},isEnabled:()=>L.value});let S=!1,$=null,D=null,I=null,H=0,Q=!1;function se(){Q||H||(H=requestAnimationFrame(()=>{H=0;const R=w.value;if(R&&typeof R.resize=="function")try{R.resize()}catch{}}))}function _e(R){const Z=!!R;if(Z!==Q){if(Q=Z,Q){H&&(cancelAnimationFrame(H),H=0);return}se(),setTimeout(se,180)}}const q=(()=>{var Z;const R={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return R[(Z=r.map)==null?void 0:Z.colorRamp]||R["heartbeat-red"]})(),oe={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function K(R,Z){return Number.isFinite(Z)?Z-1<=R?`${R}`:`${R}–${Z-1}`:`${R}+ · heartbeat zone`}function W(R){const ce=oe.binThresholds.map(xe=>xe/oe.heartbeatThreshold).map(xe=>Math.max(Tu,Math.round(xe*R)));return T(ce,R)}function T(R,Z){const ce=[];for(const xe of R){const Te=Math.max(xe,ce.length?ce[ce.length-1]+1:Tu);TeOe>0).sort((Oe,we)=>Oe-we);if(ce.length<8)return null;const xe=Oe=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Oe*ce.length)))],Te=xe(1-Z)+1,Fe=[.25,.5,.75].map(Oe=>xe(Oe));return{threshold:Te,edges:T(Fe,Te)}}function M(R){var Oe;if(Array.isArray((Oe=r.map)==null?void 0:Oe.bins)&&r.map.bins.length)return r.map.bins;const Z=r.map||{};let ce=Number(Z.heartbeatThreshold)>0?Number(Z.heartbeatThreshold):oe.heartbeatThreshold,xe=null;if(Z.heartbeatMode==="quantile"){const we=B(R||[],Number(Z.heartbeatQuantile)>0?Number(Z.heartbeatQuantile):oe.quantile);we&&(ce=we.threshold,xe=we.edges)}xe||(xe=Array.isArray(Z.binThresholds)&&Z.binThresholds.length?[...new Set(Z.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-ft):Number(Z.heartbeatThreshold)>0?W(ce):oe.binThresholds);const Te=[...xe,ce,1/0].slice(0,q.length);for(;Te.length{const Ut={upTo:we,c:q[ft],l:K(Fe,we)};return Fe=we,Ut})}const P=le(()=>M([...v.value.values()])),Y=((Mu=r.map)==null?void 0:Mu.noDataColor)||"#f3f3f1";function ie(R){if(!R)return Y;const Z=P.value;for(const ce of Z)if(R{const Oe=parseInt(ce.slice(Fe*2,Fe*2+2),16),we=parseInt(xe.slice(Fe*2,Fe*2+2),16);return Math.round(Lu*Oe+(1-Lu)*we)};return"#"+[0,1,2].map(Fe=>Te(Fe).toString(16).padStart(2,"0")).join("")}const $e=le(()=>P.value.map(R=>({c:be(R.c),l:R.l}))),Ne=((Ou=r.map)==null?void 0:Ou.selectedColor)||"#1a237e";function Ee(){const R=v.value,Z=[],ce=[];R.forEach((Oe,we)=>{Z.push(we,ie(Oe)),ce.push(we)});const xe=Z.length?["match",["get","iso_3166_1_alpha_3"],...Z,Y]:Y,Fe=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Oe=>[Oe,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Fe}}function ke(){return Object.prototype.hasOwnProperty.call(s,N0)}const me=((Du=r.map)==null?void 0:Du.pinColor)||"#ef6c00",pe=((ju=r.map)==null?void 0:ju.pinStrokeColor)||"#ffffff";function ye(){return ke()?Hr({colorSource:"properties"}):me}function b(){const R=w.value;if(!R||!R.getLayer("rd-choropleth"))return;const{fillColor:Z,fillOpacity:ce}=Ee();R.setPaintProperty("rd-choropleth","fill-color",Z),R.setPaintProperty("rd-choropleth","fill-opacity",ce);const xe=R.getSource("rd-bubbles");xe&&xe.setData(k()),R.getLayer("rd-bubble-layer")&&R.setPaintProperty("rd-bubble-layer","circle-color",ye())}function C(R){const Z=R==null?void 0:R.people_praying,ce=Z&&typeof Z=="object"?Z.value:Z;return Number(ce)||0}function k(){return{type:"FeatureCollection",features:i.value.filter(R=>Number(R.latitude)&&Number(R.longitude)).map(R=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(R.longitude),Number(R.latitude)]},properties:{pop:Number(R.population)||0,slug:R.slug||"",name:R.name||"",peoplePraying:C(R)}}))}}function G(){var ce;const R=o==null?void 0:o.selectionSet,Z=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!R||!R.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Z.filter(xe=>R.has(xe.slug)&&Number(xe.latitude)&&Number(xe.longitude)).map(xe=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(xe.longitude),Number(xe.latitude)]},properties:{slug:xe.slug||"",name:xe.name||""}}))}}function X(){const R=w.value;if(!R)return;const Z=R.getSource("rd-bubble-selected");Z&&Z.setData(G())}function ne(){var xe;const R=w.value;if(!R||S)return;S=!0,R.getSource("rd-countries")||R.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Z,fillOpacity:ce}=Ee();R.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Z,"fill-opacity":ce,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),R.addSource("rd-bubbles",{type:"geojson",data:k()}),R.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":pe,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),R.addSource("rd-bubble-selected",{type:"geojson",data:G()}),R.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ne,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ne,"circle-stroke-opacity":.95}}),R.on("click","rd-choropleth",z),R.on("click","rd-bubble-layer",j),R.on("mouseenter","rd-choropleth",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-choropleth",()=>{R.getCanvas().style.cursor=""}),R.on("mouseenter","rd-bubble-layer",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-bubble-layer",()=>{R.getCanvas().style.cursor=""});try{window.__rdashMap=R,window.__rdashClickAt=(Te,Fe)=>{const Oe=R.project([Te,Fe]),we=R.queryRenderedFeatures(Oe,{layers:["rd-choropleth"]});return we&&we[0]?(z({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Te,Fe)=>{const Oe=R.project([Te,Fe]),we=R.queryRenderedFeatures([[Oe.x-7,Oe.y-7],[Oe.x+7,Oe.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(j({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}he(),o&&o.on("select",X),X(),o&&o.on("focusRow",({slug:Te}={})=>{var we;if(!Te)return;const Fe=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(ft=>ft.slug===Te),Oe=w.value;if(Oe&&Fe&&Number(Fe.latitude)&&Number(Fe.longitude))try{Oe.flyTo({center:[Number(Fe.longitude),Number(Fe.latitude)],zoom:5.5,duration:1200})}catch{}})}function z(R){const Z=w.value;if(Z&&R.point){const Fe=Z.queryRenderedFeatures([[R.point.x-5,R.point.y-5],[R.point.x+5,R.point.y+5]],{layers:["rd-bubble-layer"]});if(Fe&&Fe.length)return}const ce=R.features&&R.features[0];if(!ce||!o)return;const xe=ce.properties&&ce.properties.iso_3166_1_alpha_3,Te=m.value.get(xe);Te&&(o.setFilter(c,s[c]===Te?null:Te),o.emit("mapFocus",{facet:c,value:Te}))}function j(R){const Z=R.features&&R.features[0];if(!Z||!o)return;const ce=Z.properties&&Z.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:Z.properties&&Z.properties.name}))}function d(R){var ce;let Z=R&&R.parentNode;for(;Z;){if(Z.nodeType===1){const xe=getComputedStyle(Z);if(/auto|scroll/.test(xe.overflowY)&&Z.scrollHeight>Z.clientHeight+4)return Z}if(Z=Z.parentElement||((ce=Z.parentNode)==null?void 0:ce.host)||(Z.parentNode!==Z?Z.parentNode:null),Z&&Z.nodeType===9)break}return null}function h(R){if(!(!R||!R.scrollZoom))try{R.scrollZoom.enable()}catch{}}mt(async()=>{await y();const R=w.value;if(!R)return;R.isStyleLoaded()?ne():R.on("load",ne),h(R);const Z=()=>h(R);let ce=null;try{ce=new ResizeObserver(Z);const xe=R.getContainer&&R.getContainer()||null;xe&&ce.observe(xe);const Te=xe?d(xe):null;Te&&ce.observe(Te),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",Z),Kt(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",Z)}),R.on("zoom",ee),R.on("zoomend",ee),R.on("resize",ee),ee(),R.on("idle",()=>{!S&&R.isStyleLoaded()&&ne()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(se),$.observe(A.value)),te(),R.on("idle",te),R.on("resize",te),o&&typeof o.on=="function"&&(D=o.on("toggleTable",()=>{se(),setTimeout(se,280)}),I=o.on("layoutResizing",_e))}),Kt(()=>{try{_&&_()}catch{}_=null;try{D&&D()}catch{}D=null;try{I&&I()}catch{}if(I=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}E=null,H&&(cancelAnimationFrame(H),H=0);try{const R=w.value;R&&(R.off("zoom",ee),R.off("zoomend",ee),R.off("resize",ee),R.off("idle",te),R.off("resize",te))}catch{}try{p&&p()}catch{}}),ut([i,L],b);const F=ue(!0),U=ue(!0);function ee(){const R=w.value;if(!R)return;const Z=R.getZoom();F.value=ZR.getMinZoom()+.01}const re=ue(null);let O=null,E=null;function te(){var xe;const R=re.value;if(!R)return;let Z=0;try{const Te=(xe=R.getRootNode)==null?void 0:xe.call(R),Fe=Te&&Te.querySelector?Te.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Fe){const Oe=Fe.getBoundingClientRect(),we=R.getBoundingClientRect();if(Z=Math.max(Oe.height||0,we.bottom-Oe.top),E!==Fe&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}E=Fe,O=new ResizeObserver(te),O.observe(Fe)}}}catch{}const ce=Math.min(Math.max(Math.ceil(Z)||20,20),72);R.style.setProperty("--rd-attrib-clear",ce+"px")}const ae=ue("globe");function he(){const R=w.value;if(R)try{R.setProjection(ae.value)}catch{}}function ve(){ae.value=ae.value==="globe"?"mercator":"globe",he()}function Be(R){const Z=Number(R.longitude),ce=Number(R.latitude);return!Number.isFinite(Z)||!Number.isFinite(ce)||Z===0&&ce===0||ce<-90||ce>90||Z<-180||Z>180?null:[Z,ce]}function qe(R,Z){if(!R.length)return NaN;const ce=Math.min(R.length-1,Math.max(0,Math.round(Z*(R.length-1))));return R[ce]}function st(R){const Z=R.slice().sort((we,ft)=>we-ft),ce=Z.length;if(ce<2)return Z;let xe=-1,Te=0;for(let we=0;wexe&&(xe=Ut,Te=we)}const Fe=(Te+1)%ce,Oe=new Array(ce);for(let we=0;we0&&ftBo[1]).sort((Bo,Jr)=>Bo-Jr),xe=st(Z.map(Bo=>Bo[0])),Te=Z.length>=F0?I0:0,Fe=qe(ce,Te),Oe=qe(ce,1-Te),we=qe(xe,Te),ft=qe(xe,1-Te),Ut=[qe(xe,.5),qe(ce,.5)];return!(ft>we)||!(Oe>Fe)?{bounds:[[Ut[0],Ut[1]],[Ut[0],Ut[1]]],center:Ut}:{bounds:[[we,Fe],[ft,Oe]],center:Ut}}function Pt(){const R=w.value;if(!R)return;if(!Object.keys(s).length){try{R.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Z=et(i.value);if(Z)try{R.fitBounds(Z.bounds,{padding:70,duration:1200,maxZoom:5.5}),R.setCenter(Z.center)}catch{}}let Zn=null;return ut(()=>JSON.stringify(s),()=>{clearTimeout(Zn),Zn=setTimeout(Pt,260)}),At(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -665,11 +664,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(F,Z)=>(V(),J("div",{ref_key:"mapWrap",ref:re,class:"rd-mapwrap","data-sub":"map","data-projection":ae.value},[N("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),Z[1]||(Z[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Z[2]||(Z[2]=N("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Me(E0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:vo(()=>[Me(A0,{map:fe(w),disabled:!R.value},null,8,["map","disabled"]),Me(C0,{map:fe(w),disabled:!U.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ve},de(ae.value==="globe"?"🌐 Globe":"▭ Flat"),1),Z[3]||(Z[3]=N("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),N("div",L0,[Z[0]||(Z[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(V(!0),J(Se,null,Ye($e.value,ce=>(V(),J("div",{key:ce.l,class:"lg-row"},[N("span",{class:"lg-sw",style:it({background:ce.c})},null,4),N("span",null,de(ce.l),1)]))),128))])],8,T0))}},M0=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",O0=["data-active","aria-expanded"],D0={class:"filter-dropdown__label"},j0=["value","placeholder"],z0={class:"filter-dropdown__options"},U0={key:0,class:"filter-dropdown__no-options"},B0=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],G0={class:"filter-dropdown__count"},Jn=fn({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=ue(!1),s=ue(""),a=ue(-1),l=ue(null),i=ue(null),c=ue(null),u=ue({});function f(I){const H=I.ownerDocument,Q=H.createElement("div");Q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(I.parentElement||I.getRootNode().body||H.body).appendChild(Q);const _e=Q.getBoundingClientRect();return Q.remove(),{x:_e.left,y:_e.top}}function m(){const I=c.value;if(!I)return;const H=I.getBoundingClientRect(),Q=window.innerWidth,se=window.innerHeight,_e=320,q=4,oe=8,K=Math.round(Math.min(H.width,Q-oe*2)),W=H.right>oe&&H.leftQ-oe?T=Math.round(Math.max(H.right-K,oe)):T=Math.round(Math.max(H.left,oe)):T=Math.round(Math.min(Math.max(H.left,oe),Q-K-oe));const B=se-H.bottom,M=B<180&&H.top>B,P=f(I),Y=Math.round(T-P.x);u.value=M?{top:"auto",bottom:`${Math.round(se-H.top+q+P.y)}px`,left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,H.top-q-oe))}px`}:{top:`${Math.round(H.bottom+q-P.y)}px`,bottom:"auto",left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,B-q-oe))}px`}}function v(){r.value&&m()}const A=le(()=>{if(!s.value)return o.options;const I=s.value.toLowerCase();return o.options.filter(H=>H.label.toLowerCase().includes(I))}),x=le(()=>o.options.find(I=>I.value===o.value));function w(I){var Q;const H=((Q=I.composedPath)==null?void 0:Q.call(I))??[];l.value&&!H.includes(l.value)&&p()}function L(){r.value?p():y()}function y(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",w),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),$n(()=>{var I;m(),(I=i.value)==null||I.focus()})}function p(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(I){s.value=I.target.value,a.value=-1}function _(I){const H=A.value;switch(I.key){case"ArrowDown":I.preventDefault(),a.value=Math.min(a.value+1,H.length-1),S();break;case"ArrowUp":I.preventDefault(),a.value=Math.max(a.value-1,0),S();break;case"Enter":{I.preventDefault();const Q=H[a.value];Q&&$(Q);break}case"Escape":I.preventDefault(),p();break}}function S(){$n(()=>{var H;const I=(H=l.value)==null?void 0:H.querySelector(".filter-dropdown__option[data-highlighted]");I==null||I.scrollIntoView({block:"nearest"})})}function $(I){n("filter-change",{name:o.name,value:I.value,label:I.label,type:I.type}),p()}function D(){n("filter-clear",{name:o.name}),p()}return Kt(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(I,H)=>(V(),J("div",{ref_key:"rootRef",ref:l,class:je(["filter-dropdown",{"is-open":r.value}])},[N("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:L},[N("span",D0,[x.value?(V(),J(Se,{key:0},[nt(de(e.label)+": ",1),N("strong",null,de(x.value.label),1)],64)):(V(),J(Se,{key:1},[nt(de(e.label),1)],64))]),H[0]||(H[0]=N("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,O0),r.value?(V(),J("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[N("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,j0),e.value?(V(),J("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:D},"Clear selection")):Ie("",!0),N("div",z0,[A.value.length===0?(V(),J("div",U0,"No options found")):(V(!0),J(Se,{key:1},Ye(A.value,(Q,se)=>(V(),J("div",{key:Q.value,class:"filter-dropdown__option",role:"option","data-highlighted":se===a.value?"":void 0,"data-selected":Q.value===e.value?"":void 0,"aria-selected":Q.value===e.value,onClick:_e=>$(Q),onMouseenter:_e=>a.value=se},[N("span",null,de(Q.label),1),N("span",G0,de(Q.count),1)],40,B0))),128))])],4)):Ie("",!0)],2))}},[["styles",[M0]]]),q0=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",H0={class:"sfh"},V0={key:0,class:"sfh__search-row"},W0=["aria-expanded"],K0=["aria-label"],Y0=["data-active","onClick"],X0={class:"sfh__chip-strip"},J0={class:"sfh__sel-label"},Z0=["aria-label","onClick"],Q0={key:1,class:"sfh__sel-world"},ex=fn({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=y=>!(y===!1||y==="false"||y==="0"||y===0),s=le(()=>r(o.showSearch)),a=le(()=>r(o.showFilters)),l=le(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ue(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),f=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const y=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(_=>_.value===p.value);y.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&y.push({name:p.name,label:p.label});return y});function m(y){const p=(y==null?void 0:y.value)??"";n("update:search",p),n("search",{value:p})}function v(y){n("filter-change",y)}function A(y){n("filter-clear",y)}function x(y){n("toggle",{name:y.name,active:!y.active})}function w(y){n("remove-filter",{name:y})}function L(){n("clear-all")}return(y,p)=>(V(),J("div",H0,[s.value?(V(),J("div",V0,[Me(Sa,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(V(),J("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(de(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=N("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,W0)):Ie("",!0)])):Ie("",!0),a.value&&u.value?(V(),J("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(V(!0),J(Se,null,Ye(e.filters,g=>(V(),wo(Jn,{key:g.name,class:"sfh__dd",label:g.label,name:g.name,options:g.options||[],value:g.value||"",placeholder:g.placeholder||l.value.type_to_search,onFilterChange:v,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(V(!0),J(Se,null,Ye(e.toggles,g=>(V(),J("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},de(g.label),9,Y0))),128))],8,K0)):Ie("",!0),a.value?(V(),J("div",{key:2,class:je(["sfh__chips",{"is-empty":!f.value.length}])},[N("div",X0,[N("span",J0,de(l.value.selected||"Selected"),1),f.value.length?(V(),J(Se,{key:0},[(V(!0),J(Se,null,Ye(f.value,g=>(V(),J("span",{key:g.name,class:"sfh__chip"},[nt(de(g.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,Z0)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:L},de(l.value.clear_all),1)],64)):(V(),J("span",Q0,de(l.value.world||"World"),1))])],2)):Ie("",!0)]))}},[["styles",[q0]]]),tx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Xr="prayer_level",ox={__name:"DashboardResearchFilters",setup(e){const t=Fe("selectionBus",null),o=Fe("dashboardData",null),n=Fe("dashboardConfig",{}),r=le(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const D=$==null?void 0:$.people_praying,I=D&&typeof D=="object"?D.value:D;return Hn[ln({peoplePraying:I??null})]}},l=le(()=>({[Xr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,D])=>[$,D.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Xr,...$.filter(D=>D!==Xr)]}),f=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,D){const I=Object.keys($);return I.length?D.filter(H=>I.every(Q=>{const se=i.value[Q];return se?se(H)===$[Q]:!0})):D}function v($){var _e;const D=i.value[$];if(!D)return[];const I=(_e=l.value[$])==null?void 0:_e.optionLabel,H={};for(const[q,oe]of Object.entries(s))q!==$&&(H[q]=oe);const Q=m(H,r.value),se=new Map;for(const q of Q){const oe=D(q);if(oe==null||oe==="")continue;const K=se.get(oe);K?K.count+=1:se.set(oe,{label:I&&I(q)||oe,count:1})}return Array.from(se.entries()).map(([q,{label:oe,count:K}])=>({value:q,label:oe,count:K})).sort((q,oe)=>String(q.label).localeCompare(String(oe.label)))}const A=le(()=>u.value.map($=>{var D;return{name:$,label:((D=l.value[$])==null?void 0:D.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Fe("dataStore",null),Fe("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var I;const D=s[$];return{name:$,label:`${((I=l.value[$])==null?void 0:I.label)||$}: ${$===Xr?D:x($,D)}`}})),L=le(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function y($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function p($){t==null||t.setFilter($.name,$.value)}function g($){t==null||t.setFilter($.name,null)}function _($){t==null||t.setFilter($.name,null)}function S(){t==null||t.clearFilters()}return At(` +`,"rd-mappanel"),(R,Z)=>(V(),J("div",{ref_key:"mapWrap",ref:re,class:"rd-mapwrap","data-sub":"map","data-projection":ae.value},[N("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),Z[1]||(Z[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Z[2]||(Z[2]=N("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Me(E0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:vo(()=>[Me(A0,{map:fe(w),disabled:!F.value},null,8,["map","disabled"]),Me(C0,{map:fe(w),disabled:!U.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ve},de(ae.value==="globe"?"🌐 Globe":"▭ Flat"),1),Z[3]||(Z[3]=N("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),N("div",L0,[Z[0]||(Z[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(V(!0),J(Se,null,Ye($e.value,ce=>(V(),J("div",{key:ce.l,class:"lg-row"},[N("span",{class:"lg-sw",style:it({background:ce.c})},null,4),N("span",null,de(ce.l),1)]))),128))])],8,T0))}},M0=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",O0=["data-active","aria-expanded"],D0={class:"filter-dropdown__label"},j0=["value","placeholder"],z0={class:"filter-dropdown__options"},U0={key:0,class:"filter-dropdown__no-options"},B0=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],G0={class:"filter-dropdown__count"},Jn=fn({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=ue(!1),s=ue(""),a=ue(-1),l=ue(null),i=ue(null),c=ue(null),u=ue({});function f(I){const H=I.ownerDocument,Q=H.createElement("div");Q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(I.parentElement||I.getRootNode().body||H.body).appendChild(Q);const _e=Q.getBoundingClientRect();return Q.remove(),{x:_e.left,y:_e.top}}function m(){const I=c.value;if(!I)return;const H=I.getBoundingClientRect(),Q=window.innerWidth,se=window.innerHeight,_e=320,q=4,oe=8,K=Math.round(Math.min(H.width,Q-oe*2)),W=H.right>oe&&H.leftQ-oe?T=Math.round(Math.max(H.right-K,oe)):T=Math.round(Math.max(H.left,oe)):T=Math.round(Math.min(Math.max(H.left,oe),Q-K-oe));const B=se-H.bottom,M=B<180&&H.top>B,P=f(I),Y=Math.round(T-P.x);u.value=M?{top:"auto",bottom:`${Math.round(se-H.top+q+P.y)}px`,left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,H.top-q-oe))}px`}:{top:`${Math.round(H.bottom+q-P.y)}px`,bottom:"auto",left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,B-q-oe))}px`}}function v(){r.value&&m()}const A=le(()=>{if(!s.value)return o.options;const I=s.value.toLowerCase();return o.options.filter(H=>H.label.toLowerCase().includes(I))}),x=le(()=>o.options.find(I=>I.value===o.value));function w(I){var Q;const H=((Q=I.composedPath)==null?void 0:Q.call(I))??[];l.value&&!H.includes(l.value)&&p()}function L(){r.value?p():y()}function y(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",w),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),$n(()=>{var I;m(),(I=i.value)==null||I.focus()})}function p(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(I){s.value=I.target.value,a.value=-1}function _(I){const H=A.value;switch(I.key){case"ArrowDown":I.preventDefault(),a.value=Math.min(a.value+1,H.length-1),S();break;case"ArrowUp":I.preventDefault(),a.value=Math.max(a.value-1,0),S();break;case"Enter":{I.preventDefault();const Q=H[a.value];Q&&$(Q);break}case"Escape":I.preventDefault(),p();break}}function S(){$n(()=>{var H;const I=(H=l.value)==null?void 0:H.querySelector(".filter-dropdown__option[data-highlighted]");I==null||I.scrollIntoView({block:"nearest"})})}function $(I){n("filter-change",{name:o.name,value:I.value,label:I.label,type:I.type}),p()}function D(){n("filter-clear",{name:o.name}),p()}return Kt(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(I,H)=>(V(),J("div",{ref_key:"rootRef",ref:l,class:je(["filter-dropdown",{"is-open":r.value}])},[N("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:L},[N("span",D0,[x.value?(V(),J(Se,{key:0},[nt(de(e.label)+": ",1),N("strong",null,de(x.value.label),1)],64)):(V(),J(Se,{key:1},[nt(de(e.label),1)],64))]),H[0]||(H[0]=N("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,O0),r.value?(V(),J("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[N("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,j0),e.value?(V(),J("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:D},"Clear selection")):Ie("",!0),N("div",z0,[A.value.length===0?(V(),J("div",U0,"No options found")):(V(!0),J(Se,{key:1},Ye(A.value,(Q,se)=>(V(),J("div",{key:Q.value,class:"filter-dropdown__option",role:"option","data-highlighted":se===a.value?"":void 0,"data-selected":Q.value===e.value?"":void 0,"aria-selected":Q.value===e.value,onClick:_e=>$(Q),onMouseenter:_e=>a.value=se},[N("span",null,de(Q.label),1),N("span",G0,de(Q.count),1)],40,B0))),128))])],4)):Ie("",!0)],2))}},[["styles",[M0]]]),q0=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",H0={class:"sfh"},V0={key:0,class:"sfh__search-row"},W0=["aria-expanded"],K0=["aria-label"],Y0=["data-active","onClick"],X0={class:"sfh__chip-strip"},J0={class:"sfh__sel-label"},Z0=["aria-label","onClick"],Q0={key:1,class:"sfh__sel-world"},ex=fn({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=y=>!(y===!1||y==="false"||y==="0"||y===0),s=le(()=>r(o.showSearch)),a=le(()=>r(o.showFilters)),l=le(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ue(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),f=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const y=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(_=>_.value===p.value);y.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&y.push({name:p.name,label:p.label});return y});function m(y){const p=(y==null?void 0:y.value)??"";n("update:search",p),n("search",{value:p})}function v(y){n("filter-change",y)}function A(y){n("filter-clear",y)}function x(y){n("toggle",{name:y.name,active:!y.active})}function w(y){n("remove-filter",{name:y})}function L(){n("clear-all")}return(y,p)=>(V(),J("div",H0,[s.value?(V(),J("div",V0,[Me(Sa,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(V(),J("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(de(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=N("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,W0)):Ie("",!0)])):Ie("",!0),a.value&&u.value?(V(),J("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(V(!0),J(Se,null,Ye(e.filters,g=>(V(),wo(Jn,{key:g.name,class:"sfh__dd",label:g.label,name:g.name,options:g.options||[],value:g.value||"",placeholder:g.placeholder||l.value.type_to_search,onFilterChange:v,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(V(!0),J(Se,null,Ye(e.toggles,g=>(V(),J("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},de(g.label),9,Y0))),128))],8,K0)):Ie("",!0),a.value?(V(),J("div",{key:2,class:je(["sfh__chips",{"is-empty":!f.value.length}])},[N("div",X0,[N("span",J0,de(l.value.selected||"Selected"),1),f.value.length?(V(),J(Se,{key:0},[(V(!0),J(Se,null,Ye(f.value,g=>(V(),J("span",{key:g.name,class:"sfh__chip"},[nt(de(g.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,Z0)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:L},de(l.value.clear_all),1)],64)):(V(),J("span",Q0,de(l.value.world||"World"),1))])],2)):Ie("",!0)]))}},[["styles",[q0]]]),tx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Xr="prayer_level",ox={__name:"DashboardResearchFilters",setup(e){const t=Re("selectionBus",null),o=Re("dashboardData",null),n=Re("dashboardConfig",{}),r=le(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const D=$==null?void 0:$.people_praying,I=D&&typeof D=="object"?D.value:D;return Hn[ln({peoplePraying:I??null})]}},l=le(()=>({[Xr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,D])=>[$,D.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Xr,...$.filter(D=>D!==Xr)]}),f=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,D){const I=Object.keys($);return I.length?D.filter(H=>I.every(Q=>{const se=i.value[Q];return se?se(H)===$[Q]:!0})):D}function v($){var _e;const D=i.value[$];if(!D)return[];const I=(_e=l.value[$])==null?void 0:_e.optionLabel,H={};for(const[q,oe]of Object.entries(s))q!==$&&(H[q]=oe);const Q=m(H,r.value),se=new Map;for(const q of Q){const oe=D(q);if(oe==null||oe==="")continue;const K=se.get(oe);K?K.count+=1:se.set(oe,{label:I&&I(q)||oe,count:1})}return Array.from(se.entries()).map(([q,{label:oe,count:K}])=>({value:q,label:oe,count:K})).sort((q,oe)=>String(q.label).localeCompare(String(oe.label)))}const A=le(()=>u.value.map($=>{var D;return{name:$,label:((D=l.value[$])==null?void 0:D.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var I;const D=s[$];return{name:$,label:`${((I=l.value[$])==null?void 0:I.label)||$}: ${$===Xr?D:x($,D)}`}})),L=le(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function y($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function p($){t==null||t.setFilter($.name,$.value)}function g($){t==null||t.setFilter($.name,null)}function _($){t==null||t.setFilter($.name,null)}function S(){t==null||t.clearFilters()}return At(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,D)=>(V(),J("div",tx,[Me(ex,{search:L.value,filters:A.value,"active-chips":w.value,"search-placeholder":f.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:p,onFilterClear:g,onRemoveFilter:_,onClearAll:S},null,8,["search","filters","active-chips","search-placeholder"])]))}},nx={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Pu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},La=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Pa={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Hn[ln({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Qe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Qe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Qe(e.wagf_block)},country_code:{label:"Country",get:e=>Qe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Qe(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Qe(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Qe(e.imb_language_family);if(t)return Gr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&nx[o];return n?Gr(n):""}},primary_language:{label:"Language",get:e=>Qe(e.primary_language)},affinity_bloc:{label:"People",get:e=>La(e.rop1),optionLabel:e=>Qe(e.rop1)},cluster:{label:"Cluster",get:e=>La(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>La(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Qe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Qe(e.engagement_status))||/unengaged/i.test(Qe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Qe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Qe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Qe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Qe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Pu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Pu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Qe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},rx=["data-row-count","data-loading","data-error","data-narrow"],sx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},ax=["data-kpi"],lx={class:"l"},ix={key:0,class:"d","data-kpi-delta":""},cx={class:"rd-cell-map","data-region":"map"},ux=["title"],dx=["title"],fx={class:"rd-cell-table","data-region":"table"},px={class:"rd-rail","data-region":"rail"},gx=["aria-valuenow"],hx=["aria-valuenow"],mx=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],bx=["aria-valuenow"],_x=["data-view"],yx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Fe("profileConfig",ue(null)),n=le(()=>{const me=fe(o);if(!me||typeof me!="object")return Pa;const pe={...Pa,...me};return me.map&&typeof me.map=="object"&&(pe.map={...Pa.map,...me.map}),pe}),r=le(()=>{var me;return((me=fe(o))==null?void 0:me.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=I_(n.value),u=t;ut(()=>{var me;return{filters:{...s.filterSet},q:((me=s.searchTerm)==null?void 0:me.value)||""}},({filters:me,q:pe})=>u("dashboard-filter",{filterSet:me,searchTerm:pe}),{deep:!0});const f=a.total,m=a.loading,v=a.error,{shell:A,isNarrow:x,slimRail:w,slimFacet:L,mobileView:y,SEG:p,tableCollapsed:g,facetCollapsed:_,railCollapsed:S,setView:$,showFacets:D,showMap:I,showTable:H,showCharts:Q}=c,{startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,onResizeKeydown:K,facetW:W,railW:T,tableH:B,mapH:M,shellH:P}=M_({shellRef:A,bus:s,isNarrow:x,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function Y(me){return me.kind==="pct"?me.value:me.kind==="distinct"?me.value||"—":_u(me.value)}const ie=le(()=>{var me;return(me=s.selectionVersion)==null||me.value,s.selectionSet?s.selectionSet.size:0});function be(){i.exportCsvAsync()}function $e(){s.clearSelection()}function Ne(){s.emit("toggleFacet",!_.value)}function Ee(){s.emit("toggleRail",!S.value)}function ke(me){const pe=me.target&&me.target.closest&&me.target.closest("[data-bar-export],[data-bar-clear]");pe&&(pe.hasAttribute("data-bar-export")?be():$e())}return At(` +`,"rd-research-filters"),($,D)=>(V(),J("div",tx,[Me(ex,{search:L.value,filters:A.value,"active-chips":w.value,"search-placeholder":f.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:p,onFilterClear:g,onRemoveFilter:_,onClearAll:S},null,8,["search","filters","active-chips","search-placeholder"])]))}},nx={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Pu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},La=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Pa={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Hn[ln({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Qe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Qe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Qe(e.wagf_block)},country_code:{label:"Country",get:e=>Qe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Qe(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Qe(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Qe(e.imb_language_family);if(t)return Gr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&nx[o];return n?Gr(n):""}},primary_language:{label:"Language",get:e=>Qe(e.primary_language)},affinity_bloc:{label:"People",get:e=>La(e.rop1),optionLabel:e=>Qe(e.rop1)},cluster:{label:"Cluster",get:e=>La(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>La(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Qe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Qe(e.engagement_status))||/unengaged/i.test(Qe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Qe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Qe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Qe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Qe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Pu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Pu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Qe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},rx=["data-row-count","data-loading","data-error","data-narrow"],sx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},ax=["data-kpi"],lx={class:"l"},ix={key:0,class:"d","data-kpi-delta":""},cx={class:"rd-cell-map","data-region":"map"},ux=["title"],dx=["title"],fx={class:"rd-cell-table","data-region":"table"},px={class:"rd-rail","data-region":"rail"},gx=["aria-valuenow"],hx=["aria-valuenow"],mx=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],bx=["aria-valuenow"],_x=["data-view"],yx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Re("profileConfig",ue(null)),n=le(()=>{const me=fe(o);if(!me||typeof me!="object")return Pa;const pe={...Pa,...me};return me.map&&typeof me.map=="object"&&(pe.map={...Pa.map,...me.map}),pe}),r=le(()=>{var me;return((me=fe(o))==null?void 0:me.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=I_(n.value),u=t;ut(()=>{var me;return{filters:{...s.filterSet},q:((me=s.searchTerm)==null?void 0:me.value)||""}},({filters:me,q:pe})=>u("dashboard-filter",{filterSet:me,searchTerm:pe}),{deep:!0});const f=a.total,m=a.loading,v=a.error,{shell:A,isNarrow:x,slimRail:w,slimFacet:L,mobileView:y,SEG:p,tableCollapsed:g,facetCollapsed:_,railCollapsed:S,setView:$,showFacets:D,showMap:I,showTable:H,showCharts:Q}=c,{startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,onResizeKeydown:K,facetW:W,railW:T,tableH:B,mapH:M,shellH:P}=M_({shellRef:A,bus:s,isNarrow:x,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function Y(me){return me.kind==="pct"?me.value:me.kind==="distinct"?me.value||"—":_u(me.value)}const ie=le(()=>{var me;return(me=s.selectionVersion)==null||me.value,s.selectionSet?s.selectionSet.size:0});function be(){i.exportCsvAsync()}function $e(){s.clearSelection()}function Ne(){s.emit("toggleFacet",!_.value)}function Ee(){s.emit("toggleRail",!S.value)}function ke(me){const pe=me.target&&me.target.closest&&me.target.closest("[data-bar-export],[data-bar-clear]");pe&&(pe.hasAttribute("data-bar-export")?be():$e())}return At(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -770,4 +769,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),mt(()=>{const me=A.value&&A.value.getRootNode&&A.value.getRootNode().host;if(!me)return;const pe=ye=>me.setAttribute("data-page-scroll",ye?"true":"false");pe(fe(r)),ut(()=>fe(r),pe)}),(me,pe)=>(V(),J("div",{ref_key:"shell",ref:A,class:je(["rd-shell",{"rd-narrow":fe(x),"rd-slim-rail":fe(w),"rd-slim-facet":fe(L),"rd-table-collapsed":fe(g),"rd-facet-collapsed":fe(_),"rd-rail-collapsed":fe(S),"rd-page-scroll":r.value}]),"data-row-count":fe(f),"data-loading":fe(m)?"1":"0","data-error":fe(v)||"","data-narrow":fe(x)?"1":"0"},[Me(fe(wy)),Me(fe(ox)),N("div",sx,[(V(!0),J(Se,null,Ye(fe(l),ye=>(V(),J("div",{class:"kpi",key:ye.id},[N("span",{class:"n","data-kpi":ye.id},de(ye.kind==="count"&&fe(m)?"…":Y(ye)),9,ax),N("span",lx,de(ye.label),1),ye.delta?(V(),J("span",ix,"↓"+de(fe(_u)(ye.delta)),1)):Ie("",!0)]))),128))]),Tt(Me(fe(jy),null,null,512),[[Mt,fe(D)]]),Tt(N("div",cx,[Me(fe(F0)),fe(x)?Ie("",!0):(V(),J("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:fe(_)?"Show filters":"Hide filters — grow the map",onClick:Ne},de(fe(_)?"▸":"◂"),9,ux)),fe(x)?Ie("",!0):(V(),J("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:fe(S)?"Show charts":"Hide charts — grow the map",onClick:Ee},de(fe(S)?"◂":"▸"),9,dx))],512),[[Mt,fe(I)]]),Tt(N("div",fx,[Me(fe(av))],512),[[Mt,fe(H)]]),Tt(N("aside",px,[Me(fe(Xv)),Me(fe($v))],512),[[Mt,fe(Q)]]),Tt(N("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":fe(W),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:pe[0]||(pe[0]=(...ye)=>fe(se)&&fe(se)(...ye)),onKeydown:pe[1]||(pe[1]=ye=>fe(K)("facet",ye))},null,40,gx),[[Mt,!fe(x)&&!fe(_)]]),Tt(N("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":fe(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:pe[2]||(pe[2]=(...ye)=>fe(_e)&&fe(_e)(...ye)),onKeydown:pe[3]||(pe[3]=ye=>fe(K)("rail",ye))},null,40,hx),[[Mt,!fe(x)&&!fe(S)]]),Tt(N("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?fe(M):parseFloat(fe(B))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:pe[4]||(pe[4]=(...ye)=>fe(q)&&fe(q)(...ye)),onKeydown:pe[5]||(pe[5]=ye=>fe(K)("table",ye))},null,40,mx),[[Mt,!fe(x)&&!fe(g)]]),Tt(N("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":fe(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:pe[6]||(pe[6]=(...ye)=>fe(oe)&&fe(oe)(...ye)),onKeydown:pe[7]||(pe[7]=ye=>fe(K)("shell",ye))},null,40,bx),[[Mt,!fe(x)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:pe[8]||(pe[8]=(...ye)=>fe($)&&fe($)(...ye))},[(V(!0),J(Se,null,Ye(fe(p),ye=>(V(),J("button",{key:ye.k,class:je({on:fe(y)===ye.k}),"data-view-btn":"","data-view":ye.k},de(ye.l),11,_x))),128))]),ie.value?(V(),J("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ke},[N("b",null,de(ie.value)+" selected",1),pe[9]||(pe[9]=N("span",{class:"sp"},null,-1)),pe[10]||(pe[10]=N("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),pe[11]||(pe[11]=N("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ie("",!0)],10,rx))}};function vx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function xx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function wx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));f.length&&(c=f)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function $x(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Sx=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Ex={class:"pgg-root"},Ax={key:0,id:"filters",class:"filters"},Cx={key:0,class:"pgg-search"},Tx=["aria-expanded"],Lx={key:0,class:"filters__toggle-count"},Px={class:"filters__panel"},Nx={class:"filters__panel"},Ix=["data-active"],Rx={key:3,class:"filters__active"},Fx=["onClick"],Mx={class:"pgg-body"},Ox={key:0,class:"repel"},Dx={class:"font-size-sm"},jx={key:1},zx={id:"results",class:"grid uupgs-list"},Ux=["src","alt"],Bx={class:"uupg__header"},Gx=["innerHTML"],qx={key:0,class:"uupg__country"},Hx=["href"],Vx=["innerHTML"],Wx=["innerHTML"],Kx=["innerHTML"],Yx={key:1,class:"uupg__content"},Xx=["href"],Jx={key:0,class:"loading"},Zx={key:1,class:"pgg-empty pgg-failed",role:"status"},Qx={key:2,class:"pgg-empty"},ew=fn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=z=>!(z===!1||z==="false"||z==="0"||z===0),u=le(()=>c(o.showSearch)),f=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ue([]),A=ue([]),x=ue(0),w=ue(1),L=ue(!0),y=ue(!1),p=ue(!0),g=ue({}),_=ue(""),S=ue({}),$=le(()=>u.value?_.value:o.query||""),D=le(()=>{const z={},j=d=>d;return o.wagfRegion&&(z.wagf_region={value:o.wagfRegion,label:j(o.wagfRegion)}),o.wagfBlock&&(z.wagf_block={value:o.wagfBlock,label:j(o.wagfBlock)}),o.rop1&&(z.rop1={value:o.rop1,label:j(o.rop1)}),o.religion&&(z.religion={value:o.religion,label:j(o.religion)}),o.countryCode&&(z.country_code={value:o.countryCode,label:j(o.countryCode)}),o.primaryLanguage&&(z.primary_language={value:o.primaryLanguage,label:j(o.primaryLanguage)}),o.engagementStatus&&(z.engagement_status={value:o.engagementStatus,label:j(o.engagementStatus)}),o.cluster&&(z.imb_reg_of_people_2={value:o.cluster,label:j(o.cluster)}),o.peopleGroup&&(z.imb_reg_of_people_25={value:o.peopleGroup,label:j(o.peopleGroup)}),o.gospelAccess&&(z.imb_gsec={value:o.gospelAccess,label:j(o.gospelAccess)}),z}),I=le(()=>f.value?S.value:D.value),H=le(()=>Object.values(I.value||{}).filter(z=>z&&z.value!==""&&z.value!=null).length),Q=le(()=>Object.keys(I.value).length),se=le(()=>H.value>0||!!($.value||"").trim());function _e(z){return z.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(z,j=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>z(...h),j)}}const oe=q(()=>{L.value=!0,w.value=1,me()},500);function K(z){_.value=(z==null?void 0:z.value)??"",oe()}function W(){p.value=!p.value}function T(z){S.value={...S.value,[z.name]:{value:z.value,label:z.label}},w.value=1,me()}function B(z){M(z.name)}function M(z){const j={...S.value};delete j[z],S.value=j,w.value=1,me()}function P(){S.value={},w.value=1,me()}function Y(){if(S.value.exact)return M("exact");S.value={...S.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,me()}const ie=z=>String(z??"").toLowerCase().replace(/[\s_&-]+/g,"");function be(z,j){if(!z)return!1;const d=ie(j==null?void 0:j.value);return d?ie(z.value)===d||ie(z.label)===d:!1}function $e(z){let j=z;for(const[d,h]of Object.entries(I.value))d==="exact"?j=j:j=j.filter(R=>be(R[d],h));return j}function Ne(){const z=j=>{const d=new Map;for(const h of v.value){const R=h[j];if(!(R!=null&&R.value))continue;const U=d.get(R.value);U?U.count++:d.set(R.value,{label:R.label,count:1})}return Array.from(d.entries()).map(([h,{label:R,count:U}])=>({value:h,label:R,count:U})).sort((h,R)=>h.label.localeCompare(R.label))};g.value={wagf_region:z("wagf_region"),wagf_block:z("wagf_block"),rop1:z("rop1"),religion:z("religion")}}function Ee(){const z=Object.keys(g.value),j={};for(const d of z){const h={};for(const[ee,re]of Object.entries(I.value))ee!==d&&(h[ee]=re);const R=ke(h,v.value),U=new Map;for(const ee of R){const re=ee[d];re!=null&&re.value&&U.set(re.value,(U.get(re.value)??0)+1)}j[d]=(g.value[d]??[]).map(ee=>({...ee,count:U.get(ee.value)??0}))}g.value=j}function ke(z,j){let d=j;for(const[h,R]of Object.entries(z))h!=="exact"&&(d=d.filter(U=>be(U[h],R)));return d}function me(){v.value=v.value.map(U=>(U.matches=[],U.country_label="",U.rop1_label="",U));const j=Object.keys(I.value).length>0?$e(v.value):v.value,d=$.value;if(!d){A.value=j,x.value=A.value.length,L.value=!1,Ee(),b();return}const R=new kx(j,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:I.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);A.value=R.map(U=>{var re;const ee={...U.item};if(!U.matches)return ee;ee.matches=[];for(const O of U.matches){const E=O.key;if(!E)continue;let te="";if(String(E).includes(".")){const[ae,he]=String(E).split(".");te=(re=ee[ae])==null?void 0:re[he]}else te=ee[String(E)];if(te&&typeof te=="string"){let ae=0,he="";if(O.indices.forEach((ve,Be)=>{const qe=ve[0],st=ve[1],et=O.indices.length-1===Be;he+=_e(te.slice(ae,qe))+`${_e(te.slice(qe,st+1))}`+(et?_e(te.slice(st+1)):""),ae=st+1}),String(E).includes("imb_alternate_name"))ee.matches.push({key:i.value.alternate_name??"Also known as",label:he});else if(String(E).includes(".")){const[ve]=String(E).split("."),Be={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};ve==="rop1"?ee.rop1_label=he:ve==="country_code"?ee.country_label=he:ve==="wagf_region"||ee.matches.push({key:Be[ve]??ve,label:he})}else ee[String(E)]=he}}return ee}),x.value=A.value.length,L.value=!1,Ee(),b()}const pe=ko();function ye(){var j,d;const z=((j=pe==null?void 0:pe.vnode)==null?void 0:j.el)||((d=pe==null?void 0:pe.proxy)==null?void 0:d.$el);try{const h=z&&z.getRootNode&&z.getRootNode();if(h&&h.host)return h.host}catch{}return z}function b(){const z={query:$.value,activeFilters:I.value,total:x.value,slugs:A.value.map(d=>d.slug)};n("groups-filtered",z);const j=ye();j&&typeof j.dispatchEvent=="function"&&j.dispatchEvent(new CustomEvent("groups-filtered",{detail:z,bubbles:!0,composed:!0}))}function C(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!L.value&&A.value.length>0:x.value>w.value*o.perPage&&!L.value&&A.value.length>0}function k(){w.value=w.value+1}const G=le(()=>o.morePerPage>0?A.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):A.value.slice(0,w.value*o.perPage)),X=le(()=>C());async function ne(){const z=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;L.value=!0,y.value=!1;try{const j=await fetch(z);if(!j.ok)throw new Error(`HTTP ${j.status}`);const d=await j.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ne(),me()}catch(j){console.error("[people-groups-grid] fetch error:",j),y.value=!0,v.value=[],L.value=!1}}return ut(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,f.value],()=>{w.value=1,me()}),mt(ne),(z,j)=>{var d,h,R,U;return V(),J("div",Ex,[u.value||f.value?(V(),J("div",Ax,[u.value?(V(),J("div",Cx,[Me(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:K},null,8,["model-value","placeholder","aria-label"])])):Ie("",!0),f.value?(V(),J("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:W},[j[0]||(j[0]=N("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+de(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),H.value?(V(),J("span",Lx,de(H.value),1)):Ie("",!0),j[1]||(j[1]=N("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Tx)):Ie("",!0),f.value&&p.value?(V(),J(Se,{key:2},[N("div",Px,[Me(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=I.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=I.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((R=I.value.rop1)==null?void 0:R.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((U=I.value.religion)==null?void 0:U.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"])]),N("div",Nx,[N("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:Y},de(i.value.exact_filter||"Exact"),9,Ix)])],64)):Ie("",!0),f.value&&Q.value>0?(V(),J("div",Rx,[(V(!0),J(Se,null,Ye(I.value,(ee,re)=>(V(),J("span",{key:re,class:"filter-chip"},[nt(de(ee.label)+" ",1),N("button",{class:"filter-chip__remove",type:"button",onClick:O=>M(String(re))},"×",8,Fx)]))),128)),N("button",{class:"filters__clear-all",type:"button",onClick:P},de(i.value.clear_all||"Clear All"),1)])):Ie("",!0)])):Ie("",!0),N("div",Mx,[m.value||se.value?(V(),J("div",Ox,[N("div",Dx,[L.value?(V(),J("span",jx," ")):(V(),J(Se,{key:0},[nt(de(se.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Ie("",!0),N("div",zx,[(V(!0),J(Se,null,Ye(G.value,ee=>(V(),J("div",{key:ee.slug,class:"card uupg__card"},[ee.image_url?(V(),J("img",{key:0,class:"uupg__image",src:ee.image_url,alt:ee.name},null,8,Ux)):Ie("",!0),N("div",Bx,[N("h3",{class:"uupg__name",innerHTML:ee.name},null,8,Gx),ee.country_code?(V(),J("p",qx,[N("a",{class:"uupg__country-link",href:`${l.value}../countries/${fe($x)(ee.country_code.value,ee.country_code.label)}`},[N("span",{innerHTML:ee.country_label?ee.country_label:ee.country_code.label},null,8,Vx)],8,Hx),ee.rop1?(V(),J(Se,{key:0},[j[2]||(j[2]=nt(" (",-1)),N("span",{innerHTML:ee.rop1_label?ee.rop1_label:ee.rop1.label},null,8,Wx),j[3]||(j[3]=nt(")",-1))],64)):Ie("",!0)])):Ie("",!0),ee.matches?(V(!0),J(Se,{key:1},Ye(ee.matches,(re,O)=>(V(),J("p",{key:O,class:"uupg__match"},[N("strong",null,de(re.key),1),j[4]||(j[4]=nt(": ",-1)),N("span",{innerHTML:re.label},null,8,Kx)]))),128)):Ie("",!0)]),ee.location_description?(V(),J("p",Yx,de(ee.location_description),1)):Ie("",!0),N("a",{class:"uupg__more-button",href:`${l.value}${ee.slug}`},de(i.value.full_profile||"Full profile"),9,Xx)]))),128)),L.value?(V(),J("div",Jx,de(i.value.loading||"Loading…"),1)):y.value?(V(),J("div",Zx,de(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):G.value.length?Ie("",!0):(V(),J("div",Qx,de(i.value.no_results||"No people groups match this filter."),1))]),X.value?(V(),J("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},de(i.value.load_more||"Load more"),1)):Ie("",!0)])])}}},[["styles",[Sx]]]),tw=":host{display:block;width:100%}",ow="dashboard-plus-grid/dashboard-plus-grid/index.html",nw=fn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=No({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=hu(null);ro("profileConfig",ue({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+ow}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),wo(d_,{sections:s},{"section-dashboard":vo(()=>[Me(yx,{onDashboardFilter:n})]),"section-grid":vo(()=>[Me(ew,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[tw]]]);Tb({"./affinity-block.js":{default:jb},"./doxa-region.js":{default:Gb}}),Pb();const rw=tp(nw,{configureApp(e){e.use(pp());const t=db();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",rw))})(); +`,"rd-shell-layout"),mt(()=>{const me=A.value&&A.value.getRootNode&&A.value.getRootNode().host;if(!me)return;const pe=ye=>me.setAttribute("data-page-scroll",ye?"true":"false");pe(fe(r)),ut(()=>fe(r),pe)}),(me,pe)=>(V(),J("div",{ref_key:"shell",ref:A,class:je(["rd-shell",{"rd-narrow":fe(x),"rd-slim-rail":fe(w),"rd-slim-facet":fe(L),"rd-table-collapsed":fe(g),"rd-facet-collapsed":fe(_),"rd-rail-collapsed":fe(S),"rd-page-scroll":r.value}]),"data-row-count":fe(f),"data-loading":fe(m)?"1":"0","data-error":fe(v)||"","data-narrow":fe(x)?"1":"0"},[Me(fe(wy)),Me(fe(ox)),N("div",sx,[(V(!0),J(Se,null,Ye(fe(l),ye=>(V(),J("div",{class:"kpi",key:ye.id},[N("span",{class:"n","data-kpi":ye.id},de(ye.kind==="count"&&fe(m)?"…":Y(ye)),9,ax),N("span",lx,de(ye.label),1),ye.delta?(V(),J("span",ix,"↓"+de(fe(_u)(ye.delta)),1)):Ie("",!0)]))),128))]),Tt(Me(fe(jy),null,null,512),[[Mt,fe(D)]]),Tt(N("div",cx,[Me(fe(R0)),fe(x)?Ie("",!0):(V(),J("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:fe(_)?"Show filters":"Hide filters — grow the map",onClick:Ne},de(fe(_)?"▸":"◂"),9,ux)),fe(x)?Ie("",!0):(V(),J("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:fe(S)?"Show charts":"Hide charts — grow the map",onClick:Ee},de(fe(S)?"◂":"▸"),9,dx))],512),[[Mt,fe(I)]]),Tt(N("div",fx,[Me(fe(av))],512),[[Mt,fe(H)]]),Tt(N("aside",px,[Me(fe(Xv)),Me(fe($v))],512),[[Mt,fe(Q)]]),Tt(N("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":fe(W),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:pe[0]||(pe[0]=(...ye)=>fe(se)&&fe(se)(...ye)),onKeydown:pe[1]||(pe[1]=ye=>fe(K)("facet",ye))},null,40,gx),[[Mt,!fe(x)&&!fe(_)]]),Tt(N("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":fe(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:pe[2]||(pe[2]=(...ye)=>fe(_e)&&fe(_e)(...ye)),onKeydown:pe[3]||(pe[3]=ye=>fe(K)("rail",ye))},null,40,hx),[[Mt,!fe(x)&&!fe(S)]]),Tt(N("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?fe(M):parseFloat(fe(B))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:pe[4]||(pe[4]=(...ye)=>fe(q)&&fe(q)(...ye)),onKeydown:pe[5]||(pe[5]=ye=>fe(K)("table",ye))},null,40,mx),[[Mt,!fe(x)&&!fe(g)]]),Tt(N("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":fe(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:pe[6]||(pe[6]=(...ye)=>fe(oe)&&fe(oe)(...ye)),onKeydown:pe[7]||(pe[7]=ye=>fe(K)("shell",ye))},null,40,bx),[[Mt,!fe(x)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:pe[8]||(pe[8]=(...ye)=>fe($)&&fe($)(...ye))},[(V(!0),J(Se,null,Ye(fe(p),ye=>(V(),J("button",{key:ye.k,class:je({on:fe(y)===ye.k}),"data-view-btn":"","data-view":ye.k},de(ye.l),11,_x))),128))]),ie.value?(V(),J("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ke},[N("b",null,de(ie.value)+" selected",1),pe[9]||(pe[9]=N("span",{class:"sp"},null,-1)),pe[10]||(pe[10]=N("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),pe[11]||(pe[11]=N("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ie("",!0)],10,rx))}};function vx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function xx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function wx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));f.length&&(c=f)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function $x(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Sx=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Ex={class:"pgg-root"},Ax={key:0,id:"filters",class:"filters"},Cx={key:0,class:"pgg-search"},Tx=["aria-expanded"],Lx={key:0,class:"filters__toggle-count"},Px={class:"filters__panel"},Nx={class:"filters__panel"},Ix=["data-active"],Fx={key:3,class:"filters__active"},Rx=["onClick"],Mx={class:"pgg-body"},Ox={key:0,class:"repel"},Dx={class:"font-size-sm"},jx={key:1},zx={id:"results",class:"grid uupgs-list"},Ux=["src","alt"],Bx={class:"uupg__header"},Gx=["innerHTML"],qx={key:0,class:"uupg__country"},Hx=["href"],Vx=["innerHTML"],Wx=["innerHTML"],Kx=["innerHTML"],Yx={key:1,class:"uupg__content"},Xx=["href"],Jx={key:0,class:"loading"},Zx={key:1,class:"pgg-empty pgg-failed",role:"status"},Qx={key:2,class:"pgg-empty"},ew=fn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=z=>!(z===!1||z==="false"||z==="0"||z===0),u=le(()=>c(o.showSearch)),f=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ue([]),A=ue([]),x=ue(0),w=ue(1),L=ue(!0),y=ue(!1),p=ue(!0),g=ue({}),_=ue(""),S=ue({}),$=le(()=>u.value?_.value:o.query||""),D=le(()=>{const z={},j=d=>d;return o.wagfRegion&&(z.wagf_region={value:o.wagfRegion,label:j(o.wagfRegion)}),o.wagfBlock&&(z.wagf_block={value:o.wagfBlock,label:j(o.wagfBlock)}),o.rop1&&(z.rop1={value:o.rop1,label:j(o.rop1)}),o.religion&&(z.religion={value:o.religion,label:j(o.religion)}),o.countryCode&&(z.country_code={value:o.countryCode,label:j(o.countryCode)}),o.primaryLanguage&&(z.primary_language={value:o.primaryLanguage,label:j(o.primaryLanguage)}),o.engagementStatus&&(z.engagement_status={value:o.engagementStatus,label:j(o.engagementStatus)}),o.cluster&&(z.imb_reg_of_people_2={value:o.cluster,label:j(o.cluster)}),o.peopleGroup&&(z.imb_reg_of_people_25={value:o.peopleGroup,label:j(o.peopleGroup)}),o.gospelAccess&&(z.imb_gsec={value:o.gospelAccess,label:j(o.gospelAccess)}),z}),I=le(()=>f.value?S.value:D.value),H=le(()=>Object.values(I.value||{}).filter(z=>z&&z.value!==""&&z.value!=null).length),Q=le(()=>Object.keys(I.value).length),se=le(()=>H.value>0||!!($.value||"").trim());function _e(z){return z.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(z,j=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>z(...h),j)}}const oe=q(()=>{L.value=!0,w.value=1,me()},500);function K(z){_.value=(z==null?void 0:z.value)??"",oe()}function W(){p.value=!p.value}function T(z){S.value={...S.value,[z.name]:{value:z.value,label:z.label}},w.value=1,me()}function B(z){M(z.name)}function M(z){const j={...S.value};delete j[z],S.value=j,w.value=1,me()}function P(){S.value={},w.value=1,me()}function Y(){if(S.value.exact)return M("exact");S.value={...S.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,me()}const ie=z=>String(z??"").toLowerCase().replace(/[\s_&-]+/g,"");function be(z,j){if(!z)return!1;const d=ie(j==null?void 0:j.value);return d?ie(z.value)===d||ie(z.label)===d:!1}function $e(z){let j=z;for(const[d,h]of Object.entries(I.value))d==="exact"?j=j:j=j.filter(F=>be(F[d],h));return j}function Ne(){const z=j=>{const d=new Map;for(const h of v.value){const F=h[j];if(!(F!=null&&F.value))continue;const U=d.get(F.value);U?U.count++:d.set(F.value,{label:F.label,count:1})}return Array.from(d.entries()).map(([h,{label:F,count:U}])=>({value:h,label:F,count:U})).sort((h,F)=>h.label.localeCompare(F.label))};g.value={wagf_region:z("wagf_region"),wagf_block:z("wagf_block"),rop1:z("rop1"),religion:z("religion")}}function Ee(){const z=Object.keys(g.value),j={};for(const d of z){const h={};for(const[ee,re]of Object.entries(I.value))ee!==d&&(h[ee]=re);const F=ke(h,v.value),U=new Map;for(const ee of F){const re=ee[d];re!=null&&re.value&&U.set(re.value,(U.get(re.value)??0)+1)}j[d]=(g.value[d]??[]).map(ee=>({...ee,count:U.get(ee.value)??0}))}g.value=j}function ke(z,j){let d=j;for(const[h,F]of Object.entries(z))h!=="exact"&&(d=d.filter(U=>be(U[h],F)));return d}function me(){v.value=v.value.map(U=>(U.matches=[],U.country_label="",U.rop1_label="",U));const j=Object.keys(I.value).length>0?$e(v.value):v.value,d=$.value;if(!d){A.value=j,x.value=A.value.length,L.value=!1,Ee(),b();return}const F=new kx(j,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:I.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);A.value=F.map(U=>{var re;const ee={...U.item};if(!U.matches)return ee;ee.matches=[];for(const O of U.matches){const E=O.key;if(!E)continue;let te="";if(String(E).includes(".")){const[ae,he]=String(E).split(".");te=(re=ee[ae])==null?void 0:re[he]}else te=ee[String(E)];if(te&&typeof te=="string"){let ae=0,he="";if(O.indices.forEach((ve,Be)=>{const qe=ve[0],st=ve[1],et=O.indices.length-1===Be;he+=_e(te.slice(ae,qe))+`${_e(te.slice(qe,st+1))}`+(et?_e(te.slice(st+1)):""),ae=st+1}),String(E).includes("imb_alternate_name"))ee.matches.push({key:i.value.alternate_name??"Also known as",label:he});else if(String(E).includes(".")){const[ve]=String(E).split("."),Be={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};ve==="rop1"?ee.rop1_label=he:ve==="country_code"?ee.country_label=he:ve==="wagf_region"||ee.matches.push({key:Be[ve]??ve,label:he})}else ee[String(E)]=he}}return ee}),x.value=A.value.length,L.value=!1,Ee(),b()}const pe=ko();function ye(){var j,d;const z=((j=pe==null?void 0:pe.vnode)==null?void 0:j.el)||((d=pe==null?void 0:pe.proxy)==null?void 0:d.$el);try{const h=z&&z.getRootNode&&z.getRootNode();if(h&&h.host)return h.host}catch{}return z}function b(){const z={query:$.value,activeFilters:I.value,total:x.value,slugs:A.value.map(d=>d.slug)};n("groups-filtered",z);const j=ye();j&&typeof j.dispatchEvent=="function"&&j.dispatchEvent(new CustomEvent("groups-filtered",{detail:z,bubbles:!0,composed:!0}))}function C(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!L.value&&A.value.length>0:x.value>w.value*o.perPage&&!L.value&&A.value.length>0}function k(){w.value=w.value+1}const G=le(()=>o.morePerPage>0?A.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):A.value.slice(0,w.value*o.perPage)),X=le(()=>C());async function ne(){const z=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;L.value=!0,y.value=!1;try{const j=await fetch(z);if(!j.ok)throw new Error(`HTTP ${j.status}`);const d=await j.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ne(),me()}catch(j){console.error("[people-groups-grid] fetch error:",j),y.value=!0,v.value=[],L.value=!1}}return ut(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,f.value],()=>{w.value=1,me()}),mt(ne),(z,j)=>{var d,h,F,U;return V(),J("div",Ex,[u.value||f.value?(V(),J("div",Ax,[u.value?(V(),J("div",Cx,[Me(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:K},null,8,["model-value","placeholder","aria-label"])])):Ie("",!0),f.value?(V(),J("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:W},[j[0]||(j[0]=N("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+de(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),H.value?(V(),J("span",Lx,de(H.value),1)):Ie("",!0),j[1]||(j[1]=N("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Tx)):Ie("",!0),f.value&&p.value?(V(),J(Se,{key:2},[N("div",Px,[Me(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=I.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=I.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((F=I.value.rop1)==null?void 0:F.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((U=I.value.religion)==null?void 0:U.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"])]),N("div",Nx,[N("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:Y},de(i.value.exact_filter||"Exact"),9,Ix)])],64)):Ie("",!0),f.value&&Q.value>0?(V(),J("div",Fx,[(V(!0),J(Se,null,Ye(I.value,(ee,re)=>(V(),J("span",{key:re,class:"filter-chip"},[nt(de(ee.label)+" ",1),N("button",{class:"filter-chip__remove",type:"button",onClick:O=>M(String(re))},"×",8,Rx)]))),128)),N("button",{class:"filters__clear-all",type:"button",onClick:P},de(i.value.clear_all||"Clear All"),1)])):Ie("",!0)])):Ie("",!0),N("div",Mx,[m.value||se.value?(V(),J("div",Ox,[N("div",Dx,[L.value?(V(),J("span",jx," ")):(V(),J(Se,{key:0},[nt(de(se.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Ie("",!0),N("div",zx,[(V(!0),J(Se,null,Ye(G.value,ee=>(V(),J("div",{key:ee.slug,class:"card uupg__card"},[ee.image_url?(V(),J("img",{key:0,class:"uupg__image",src:ee.image_url,alt:ee.name},null,8,Ux)):Ie("",!0),N("div",Bx,[N("h3",{class:"uupg__name",innerHTML:ee.name},null,8,Gx),ee.country_code?(V(),J("p",qx,[N("a",{class:"uupg__country-link",href:`${l.value}../countries/${fe($x)(ee.country_code.value,ee.country_code.label)}`},[N("span",{innerHTML:ee.country_label?ee.country_label:ee.country_code.label},null,8,Vx)],8,Hx),ee.rop1?(V(),J(Se,{key:0},[j[2]||(j[2]=nt(" (",-1)),N("span",{innerHTML:ee.rop1_label?ee.rop1_label:ee.rop1.label},null,8,Wx),j[3]||(j[3]=nt(")",-1))],64)):Ie("",!0)])):Ie("",!0),ee.matches?(V(!0),J(Se,{key:1},Ye(ee.matches,(re,O)=>(V(),J("p",{key:O,class:"uupg__match"},[N("strong",null,de(re.key),1),j[4]||(j[4]=nt(": ",-1)),N("span",{innerHTML:re.label},null,8,Kx)]))),128)):Ie("",!0)]),ee.location_description?(V(),J("p",Yx,de(ee.location_description),1)):Ie("",!0),N("a",{class:"uupg__more-button",href:`${l.value}${ee.slug}`},de(i.value.full_profile||"Full profile"),9,Xx)]))),128)),L.value?(V(),J("div",Jx,de(i.value.loading||"Loading…"),1)):y.value?(V(),J("div",Zx,de(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):G.value.length?Ie("",!0):(V(),J("div",Qx,de(i.value.no_results||"No people groups match this filter."),1))]),X.value?(V(),J("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},de(i.value.load_more||"Load more"),1)):Ie("",!0)])])}}},[["styles",[Sx]]]),tw=":host{display:block;width:100%}",ow="dashboard-plus-grid/dashboard-plus-grid/index.html",nw=fn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=No({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=hu(null);ro("profileConfig",ue({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+ow}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),wo(d_,{sections:s},{"section-dashboard":vo(()=>[Me(yx,{onDashboardFilter:n})]),"section-grid":vo(()=>[Me(ew,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[tw]]]);Tb({"./affinity-block.js":{default:jb},"./doxa-region.js":{default:Gb}}),Pb();const rw=tp(nw,{configureApp(e){e.use(pp());const t=db();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",rw))})(); diff --git a/public/doxa-maps/research-dashboard/research-dashboard.js b/public/doxa-maps/research-dashboard/research-dashboard.js index 3c3464fed..979f84599 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard.js +++ b/public/doxa-maps/research-dashboard/research-dashboard.js @@ -13,7 +13,7 @@ **/const En=[];let $s=!1;function Qw(e,...t){if($s)return;$s=!0,Vt();const o=En.length?En[En.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=Hd();if(n)Ko(n,o,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${vl(o,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...qd(r)),console.warn(...s)}Wt(),$s=!1}function Hd(){let e=En[En.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function qd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Vd(o))}),t}function Vd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Wd(e.props),s]:[r+s]}function Wd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...xi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function xi(e,t,o){return Ke(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Qe(t)?(t=xi(e,je(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=je(t),o?t:[`${e}=`,t])}function Ko(e,t,o,n){try{return n?e(...n):e()}catch(r){An(r,t,o)}}function Ot(e,t,o,n){if(Te(e)){const r=Ko(e,t,o,n);return r&&qa(r)&&r.catch(s=>{An(s,t,o)}),r}if(Se(e)){const r=[];for(let s=0;s>>1,r=bt[n],s=Cn(r);s=Cn(o)?bt.push(e):bt.splice(Yd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Xd(e){if(!Se(e))xo&&e.id===-1?xo.splice(Xo+1,0,e):e.flags&1||(Yo.push(e),e.flags|=1);else for(let t=0;tCn(o)-Cn(n));if(Yo.length=0,xo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Yt=0;Yt{n._d&&Pr(-1);const s=wr(t),a=lo.length;let i;try{i=e(...r)}finally{for(let l=lo.length;l>a;l--)Gs();wr(s),n._d&&Pr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Pt(e,t){if(ct===null)return e;const o=Rr(ct),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Te(t)?t.call(n&&n.proxy):t}}function Jd(){return!!(uo()||Do)}const Zd=Symbol.for("v-scx"),Qd=()=>Le(Zd);function ef(e,t){return Es(e,null,t)}function dt(e,t,o){return Es(e,t,o)}function Es(e,t,o=Ve){const{immediate:n,deep:r,flush:s,once:a}=o,i=ot({},o),l=t&&n||!t&&s!=="post";let c;if(en){if(s==="sync"){const x=Qd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ht,x.resume=Ht,x.pause=Ht,x}}const u=ft;i.call=(x,S,y)=>Ot(x,u,S,y);let p=!1;s==="post"?i.scheduler=x=>{vt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,S)=>{S?x():Ss(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const m=Gd(e,t,i);return en&&(c?c.push(m):l&&m()),m}function tf(e,t,o){const n=this.proxy,r=Ke(e)?e.includes(".")?Ti(n,e):()=>n[e]:e.bind(n,n);let s;Te(t)?s=t:(s=t.handler,o=t);const a=jn(this),i=Es(r,s.bind(n),o);return a(),i}function Ti(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Oo=e=>e&&(e.disabled||e.disabled===""),of=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,As=(e,t)=>{const o=e&&e.to;return Ke(o)?t?t(o):null:o},nf={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,i,l,c){const{mc:u,pc:p,pbc:m,o:{insert:x,querySelector:S,createText:y,createComment:v,parentNode:A}}=c,_=Oo(t.props);let{dynamicChildren:d}=t;const f=($,M,L)=>{$.shapeFlag&16&&u($.children,M,L,r,s,a,i,l)},g=($=t)=>{const M=Oo($.props),L=$.target=As($.props,S),j=Cs(L,$,y,x);L&&(a!=="svg"&&Pi(L)?a="svg":a!=="mathml"&&Ii(L)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(L),M||(f($,L,j),Tn($,!1)))},k=$=>{const M=()=>{if(ko.get($)===M){if(ko.delete($),Oo($.props)){const L=A($.el)||o;f($,L,$.anchor),Tn($,!0)}g($)}};ko.set($,M),vt(M,s)};if(e==null){const $=t.el=y(""),M=t.anchor=y("");if(x($,o,n),x(M,o,n),of(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,o,M),Tn(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,M=ko.get(e);if(M){M.flags|=8,ko.delete(e),k(t);return}t.targetStart=e.targetStart;const L=t.target=e.target,j=t.targetAnchor=e.targetAnchor,V=Oo(e.props),Q=V?o:L,he=V?$:j;if(a==="svg"||Pi(L)?a="svg":(a==="mathml"||Ii(L))&&(a="mathml"),d?(m(e.dynamicChildren,d,Q,r,s,a,i),Bs(e,t,!0)):l||p(e,t,Q,he,r,s,a,i,!1),_)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=As(t.props,S);B&&(t.target=B,kr(t,B,null,c,0))}else V&&kr(t,L,j,c,1);Tn(t,_)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:m}=e,x=Oo(m),S=s||!x,y=ko.get(e);if(y&&(y.flags|=8,ko.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const o of e)if(o.type!==Xt){t=o;break}}return t}function Mi(e){if(!Er(e))return xr(e.type)&&e.children?af(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Te(o.default))return o.default()}}function Ls(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ls(xr(o.type)&&Mi(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ln(e,t){return Te(e)?ot({name:e.name},t,{setup:e}):e}function Ps(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ni(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const $r=new WeakMap;function Pn(e,t,o,n,r=!1){if(Se(e)){e.forEach((y,v)=>Pn(y,t&&(Se(t)?t[v]:t),o,n,r));return}if(Zo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Rr(n.component):n.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ve?i.refs={}:i.refs,p=i.setupState,m=je(p),x=p===Ve?Ga:y=>Ni(u,y)?!1:Be(m,y),S=(y,v)=>!(v&&Ni(u,v));if(c!=null&&c!==l){if(Ri(t),Ke(c))u[c]=null,x(c)&&(p[c]=null);else if(Qe(c)){const y=t;S(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(Te(l))Ko(l,i,12,[a,u]);else{const y=Ke(l),v=Qe(l);if(y||v){const A=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:S()||!e.k?l.value:u[e.k];if(r)Se(_)&&ls(_,s);else if(Se(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];S(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(S(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{A(),$r.delete(e)};_.id=-1,$r.set(e,_),vt(_,o)}else Ri(e),A()}}}function Ri(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Fi=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function lf(e,t){if(Fi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Fi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Zo=e=>!!e.type.__asyncLoader;function cf(e){Te(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,x()),x=()=>{let S;return c||(S=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,A)=>{l(y,()=>v(m()),()=>A(y),p+1)});throw y}).then(y=>S!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Ln({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(S,y,v){const A=S.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!S.parentNode||A&&!S.isConnected||v()},f=s?()=>{const g=s(d,k=>lf(S,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const S=ft;if(Ps(S),u)return()=>Sr(u,S);const y=g=>{c=null,An(g,S,13,!n)};if(i&&S.suspense||en)return x().then(g=>()=>Sr(g,S)).catch(g=>(y(g),()=>n?Oe(n,{error:g}):null));const v=de(!1),A=de(),_=de(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{S.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!S.isUnmounted&&!v.value&&!A.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),A.value=g}},a)),x().then(()=>{S.isUnmounted||(v.value=!0,S.parent&&Er(S.parent.vnode)&&S.parent.update())}).catch(g=>{if(S.isUnmounted){c=null;return}y(g),A.value=g}),()=>{if(v.value&&u)return Sr(u,S);if(A.value&&n)return Oe(n,{error:A.value});if(o&&!_.value)return Sr(o,S)}}})}function Sr(e,t){const{ref:o,props:n,children:r,ce:s}=t.vnode,a=Oe(e,n,r);return a.ref=o,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function uf(e,t){Oi(e,"a",t)}function df(e,t){Oi(e,"da",t)}function Oi(e,t,o=ft){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&ff(n,t,o,r),r=r.parent}}function ff(e,t,o,n){const r=Ar(t,e,n,!0);Cr(()=>{ls(n[t],r)},o)}function Ar(e,t,o=ft,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Vt();const i=jn(o),l=Ot(t,o,e,a);return i(),Wt(),l});return n?r.unshift(s):r.push(s),s}}const io=e=>(t,o=ft)=>{(!en||e==="sp")&&Ar(e,(...n)=>t(...n),o)},Di=io("bm"),_t=io("m"),pf=io("bu"),gf=io("u"),Dt=io("bum"),Cr=io("um"),hf=io("sp"),mf=io("rtg"),bf=io("rtc");function _f(e,t=ft){Ar("ec",e,t)}const yf="components",ji=Symbol.for("v-ndc");function zi(e){return Ke(e)?vf(yf,e,!1)||e:e||ji}function vf(e,t,o=!0,n=!1){const r=ct||ft;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&n?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function tt(e,t,o,n){let r;const s=o,a=Se(e);if(a||Ke(e)){const i=a&&ro(e);let l=!1,c=!1;i&&(l=!Ct(e),c=so(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Jt(Ie,null,[Oe("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=lo.length;ee();let l;try{const c=a&&Ui(a(o)),u=o.key||s||c&&c.key;l=Jt(Ie,{key:(u&&!Et(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=lo.length;u>i;u--)Gs();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Fn(t)?!(t.type===Xt||t.type===Ie&&!Ui(t.children)):!0)?e:null}const Ms=e=>e?ml(e)?Rr(e):Ms(e.parent):null,In=ot(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ms(e.parent),$root:e=>Ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Vi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ss(e.update)}),$nextTick:e=>e.n||(e.n=Ro.bind(e.proxy)),$watch:e=>tf.bind(e)}),Ns=(e,t)=>e!==Ve&&!e.__isScriptSetup&&Be(e,t),wf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ns(n,t))return a[t]=1,n[t];if(r!==Ve&&Be(r,t))return a[t]=2,r[t];if(Be(s,t))return a[t]=3,s[t];if(o!==Ve&&Be(o,t))return a[t]=4,o[t];Rs&&(a[t]=0)}}const c=In[t];let u,p;if(c)return t==="$attrs"&&mt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ve&&Be(o,t))return a[t]=4,o[t];if(p=l.config.globalProperties,Be(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=o,!0):n!==Ve&&Be(n,t)?(n[t]=o,!0):Be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},i){let l;return!!(o[i]||e!==Ve&&i[0]!=="$"&&Be(e,i)||Ns(t,i)||Be(s,i)||Be(n,i)||Be(In,i)||Be(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Be(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Gi(e){return Se(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Rs=!0;function xf(e){const t=Vi(e),o=e.proxy,n=e.ctx;Rs=!1,t.beforeCreate&&Hi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:x,updated:S,activated:y,deactivated:v,beforeDestroy:A,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:M,serverPrefetch:L,expose:j,inheritAttrs:V,components:Q,directives:he,filters:B}=t;if(c&&kf(c,n,null),a)for(const z in a){const P=a[z];Te(P)&&(n[z]=P.bind(o))}if(r){const z=r.call(o,o);Ue(z)&&(e.data=Mo(z))}if(Rs=!0,s)for(const z in s){const P=s[z],G=Te(P)?P.bind(o,o):Te(P.get)?P.get.bind(o,o):Ht,F=!Te(P)&&Te(P.set)?P.set.bind(o):Ht,I=re({get:G,set:F});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>I.value,set:q=>I.value=q})}if(i)for(const z in i)qi(i[z],n,o,z);if(l){const z=Te(l)?l.call(o):l;Reflect.ownKeys(z).forEach(P=>{ut(P,z[P])})}u&&Hi(u,e,"c");function H(z,P){Se(P)?P.forEach(G=>z(G.bind(o))):P&&z(P.bind(o))}if(H(Di,p),H(_t,m),H(pf,x),H(gf,S),H(uf,y),H(df,v),H(_f,M),H(bf,k),H(mf,$),H(Dt,_),H(Cr,f),H(hf,L),Se(j))if(j.length){const z=e.exposed||(e.exposed={});j.forEach(P=>{Object.defineProperty(z,P,{get:()=>o[P],set:G=>o[P]=G,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ht&&(e.render=g),V!=null&&(e.inheritAttrs=V),Q&&(e.components=Q),he&&(e.directives=he),L&&Ps(e)}function kf(e,t,o=Ht){Se(e)&&(e=Fs(e));for(const n in e){const r=e[n];let s;Ue(r)?"default"in r?s=Le(r.from||n,r.default,!0):s=Le(r.from||n):s=Le(r),Qe(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Hi(e,t,o){Ot(Se(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function qi(e,t,o,n){let r=n.includes(".")?Ti(o,n):()=>o[n];if(Ke(e)){const s=t[e];Te(s)&&dt(r,s)}else if(Te(e))dt(r,e.bind(o));else if(Ue(e))if(Se(e))e.forEach(s=>qi(s,t,o,n));else{const s=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(s)&&dt(r,s,e)}}function Vi(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),Ue(t)&&s.set(t,l),l}function Tr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,o,!0),r&&r.forEach(a=>Tr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=$f[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const $f={data:Wi,props:Ki,emits:Ki,methods:Mn,computed:Mn,beforeCreate:yt,created:yt,beforeMount:yt,mounted:yt,beforeUpdate:yt,updated:yt,beforeDestroy:yt,beforeUnmount:yt,destroyed:yt,unmounted:yt,activated:yt,deactivated:yt,errorCaptured:yt,serverPrefetch:yt,components:Mn,directives:Mn,watch:Ef,provide:Wi,inject:Sf};function Wi(e,t){return t?e?function(){return ot(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function Sf(e,t){return Mn(Fs(e),Fs(t))}function Fs(e){if(Se(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${At(t)}Modifiers`];function Lf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ve;let r=o;const s=t.startsWith("update:"),a=s&&Tf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Ke(u)?u.trim():u)),a.number&&(r=r.map(us)));let i,l=n[i=cs(t)]||n[i=cs(it(t))];!l&&s&&(l=n[i=cs(At(t))]),l&&Ot(l,e,6,r);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ot(c,e,6,r)}}const Pf=new WeakMap;function Xi(e,t,o=!1){const n=o?Pf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!Te(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,ot(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ue(e)&&n.set(e,null),null):(Se(s)?s.forEach(l=>a[l]=null):ot(a,s),Ue(e)&&n.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Be(e,t[0].toLowerCase()+t.slice(1))||Be(e,At(t))||Be(e,t))}function ex(){}function Ji(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:x,ctx:S,inheritAttrs:y}=e,v=wr(e);let A,_;try{if(o.shapeFlag&4){const f=r||n,g=f;A=Zt(c.call(g,f,u,p,x,m,S)),_=i}else{const f=t;A=Zt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:If(i)}}catch(f){lo.length=0,An(f,e,1),A=Oe(Xt)}let d=A;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(or)&&(_=Mf(_,s)),d=Qo(d,_,!1,!0))}if(o.dirs&&(d=Qo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const f=xr(d.type)&&Mi(d)||d;Ls(f,o.transition)}return A=d,wr(v),A}const If=e=>{let t;for(const o in e)(o==="class"||o==="style"||tr(o))&&((t||(t={}))[o]=e[o]);return t},Mf=(e,t)=>{const o={};for(const n in e)(!or(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Nf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Zi(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),ol=e=>Object.getPrototypeOf(e)===el;function Ff(e,t,o,n=!1){const r={},s=tl();e.propsDefaults=Object.create(null),nl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:Nd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Of(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=je(r),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,x]=rl(p,t,!0);ot(a,m),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ue(e)&&n.set(e,qo),qo;if(Se(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",js=e=>Se(e)?e.map(Zt):[Zt(e)],jf=(e,t,o)=>{if(t._n)return t;const n=Jo((...r)=>js(t(...r)),o);return n._c=!1,n},al=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ds(r))continue;const s=e[r];if(Te(s))t[r]=jf(r,s,n);else if(s!=null){const a=js(s);t[r]=()=>a}}},il=(e,t)=>{const o=js(t);e.slots.default=()=>o},ll=(e,t,o)=>{for(const n in t)(o||!Ds(n))&&(e[n]=t[n])},zf=(e,t,o)=>{const n=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(n,t,o),o&&Wa(n,"_",r,!0)):al(t,n)}else t&&il(e,t)},Bf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Ve;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:ll(r,t,o):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Ds(i)&&a[i]==null&&delete r[i]},vt=Vf;function Uf(e){return Gf(e)}function Gf(e,t){const o=cr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:x=Ht,insertStaticContent:S}=e,y=(w,T,E,U=null,W=null,Z=null,ae=void 0,te=null,h=!!T.dynamicChildren)=>{if(w===T)return;w&&!On(w,T)&&(U=Ae(w),q(w,W,Z,!0),w=null),T.patchFlag===-2&&(h=!1,T.dynamicChildren=null);const{type:b,ref:D,shapeFlag:K}=T;switch(b){case Nn:v(w,T,E,U);break;case Xt:A(w,T,E,U);break;case Us:w==null&&_(T,E,U,ae);break;case Ie:Q(w,T,E,U,W,Z,ae,te,h);break;default:K&1?g(w,T,E,U,W,Z,ae,te,h):K&6?he(w,T,E,U,W,Z,ae,te,h):(K&64||K&128)&&b.process(w,T,E,U,W,Z,ae,te,h,ge)}D!=null&&W?Pn(D,w&&w.ref,Z,T||w,!T):D==null&&w&&w.ref!=null&&Pn(w.ref,null,Z,w,!0)},v=(w,T,E,U)=>{if(w==null)n(T.el=i(T.children),E,U);else{const W=T.el=w.el;T.children!==w.children&&c(W,T.children)}},A=(w,T,E,U)=>{w==null?n(T.el=l(T.children||""),E,U):T.el=w.el},_=(w,T,E,U)=>{[w.el,w.anchor]=S(w.children,T,E,U,w.el,w.anchor)},d=({el:w,anchor:T},E,U)=>{let W;for(;w&&w!==T;)W=m(w),n(w,E,U),w=W;n(T,E,U)},f=({el:w,anchor:T})=>{let E;for(;w&&w!==T;)E=m(w),r(w),w=E;r(T)},g=(w,T,E,U,W,Z,ae,te,h)=>{if(T.type==="svg"?ae="svg":T.type==="math"&&(ae="mathml"),w==null)k(T,E,U,W,Z,ae,te,h);else{const b=w.el&&w.el._isVueCE?w.el:null;try{b&&b._beginPatch(),L(w,T,W,Z,ae,te,h)}finally{b&&b._endPatch()}}},k=(w,T,E,U,W,Z,ae,te)=>{let h,b;const{props:D,shapeFlag:K,transition:ie,dirs:se}=w;if(h=w.el=a(w.type,Z,D&&D.is,D),K&8?u(h,w.children):K&16&&M(w.children,h,null,U,W,zs(w,Z),ae,te),se&&Fo(w,null,U,"created"),$(h,w,w.scopeId,ae,U),D){for(const C in D)C!=="value"&&!_n(C)&&s(h,C,null,D[C],Z,U);"value"in D&&s(h,"value",null,D.value,Z),(b=D.onVnodeBeforeMount)&&Qt(b,U,w)}se&&Fo(w,null,U,"beforeMount");const O=Hf(W,ie);O&&ie.beforeEnter(h),n(h,T,E),((b=D&&D.onVnodeMounted)||O||se)&&vt(()=>{try{b&&Qt(b,U,w),O&&ie.enter(h),se&&Fo(w,null,U,"mounted")}finally{}},W)},$=(w,T,E,U,W)=>{if(E&&x(w,E),U)for(let Z=0;Z{for(let b=h;b{const te=T.el=w.el;let{patchFlag:h,dynamicChildren:b,dirs:D}=T;h|=w.patchFlag&16;const K=w.props||Ve,ie=T.props||Ve;let se;if(E&&jo(E,!1),(se=ie.onVnodeBeforeUpdate)&&Qt(se,E,T,w),D&&Fo(T,w,E,"beforeUpdate"),E&&jo(E,!0),b&&(!w.dynamicChildren||w.dynamicChildren.length!==b.length)&&(h=0,ae=!1,b=null),(K.innerHTML&&ie.innerHTML==null||K.textContent&&ie.textContent==null)&&u(te,""),b?j(w.dynamicChildren,b,te,E,U,zs(T,W),Z):ae||P(w,T,te,null,E,U,zs(T,W),Z,!1),h>0){if(h&16)V(te,K,ie,E,W);else if(h&2&&K.class!==ie.class&&s(te,"class",null,ie.class,W),h&4&&s(te,"style",K.style,ie.style,W),h&8){const O=T.dynamicProps;for(let C=0;C{se&&Qt(se,E,T,w),D&&Fo(T,w,E,"updated")},U)},j=(w,T,E,U,W,Z,ae)=>{for(let te=0;te{if(T!==E){if(T!==Ve)for(const Z in T)!_n(Z)&&!(Z in E)&&s(w,Z,T[Z],null,W,U);for(const Z in E){if(_n(Z))continue;const ae=E[Z],te=T[Z];ae!==te&&Z!=="value"&&s(w,Z,te,ae,W,U)}"value"in E&&s(w,"value",T.value,E.value,W)}},Q=(w,T,E,U,W,Z,ae,te,h)=>{const b=T.el=w?w.el:i(""),D=T.anchor=w?w.anchor:i("");let{patchFlag:K,dynamicChildren:ie,slotScopeIds:se}=T;se&&(te=te?te.concat(se):se),w==null?(n(b,E,U),n(D,E,U),M(T.children||[],E,D,W,Z,ae,te,h)):K>0&&K&64&&ie&&w.dynamicChildren&&w.dynamicChildren.length===ie.length?(j(w.dynamicChildren,ie,E,W,Z,ae,te),(T.key!=null||W&&T===W.subTree)&&Bs(w,T,!0)):P(w,T,E,D,W,Z,ae,te,h)},he=(w,T,E,U,W,Z,ae,te,h)=>{T.slotScopeIds=te,w==null?T.shapeFlag&512?W.ctx.activate(T,E,U,ae,h):B(T,E,U,W,Z,ae,h):X(w,T,h)},B=(w,T,E,U,W,Z,ae)=>{const te=w.component=Zf(w,U,W);if(Er(w)&&(te.ctx.renderer=ge),Qf(te,!1,ae),te.asyncDep){if(W&&W.registerDep(te,H,ae),!w.el){const h=te.subTree=Oe(Xt);A(null,h,T,E),w.placeholder=h.el}}else H(te,w,T,E,W,Z,ae)},X=(w,T,E)=>{const U=T.component=w.component;if(Nf(w,T,E))if(U.asyncDep&&!U.asyncResolved){z(U,T,E);return}else U.next=T,U.update();else T.el=w.el,U.vnode=T},H=(w,T,E,U,W,Z,ae)=>{const te=()=>{if(w.isMounted){let{next:K,bu:ie,u:se,parent:O,vnode:C}=w;{const qe=cl(w);if(qe){K&&(K.el=C.el,z(w,K,ae)),qe.asyncDep.then(()=>{vt(()=>{w.isUnmounted||b()},W)});return}}let J=K,oe;jo(w,!1),K?(K.el=C.el,z(w,K,ae)):K=C,ie&&lr(ie),(oe=K.props&&K.props.onVnodeBeforeUpdate)&&Qt(oe,O,K,C),jo(w,!0);const me=Ji(w),ke=w.subTree;w.subTree=me,y(ke,me,p(ke.el),Ae(ke),w,W,Z),K.el=me.el,J===null&&Rf(w,me.el),se&&vt(se,W),(oe=K.props&&K.props.onVnodeUpdated)&&vt(()=>Qt(oe,O,K,C),W)}else{let K;const{el:ie,props:se}=T,{bm:O,m:C,parent:J,root:oe,type:me}=w,ke=Zo(T);jo(w,!1),O&&lr(O),!ke&&(K=se&&se.onVnodeBeforeMount)&&Qt(K,J,T),jo(w,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(me,w.parent?w.parent.type:void 0);const qe=w.subTree=Ji(w);y(null,qe,E,U,w,W,Z),T.el=qe.el}if(C&&vt(C,W),!ke&&(K=se&&se.onVnodeMounted)){const qe=T;vt(()=>Qt(K,J,qe),W)}(T.shapeFlag&256||J&&Zo(J.vnode)&&J.vnode.shapeFlag&256)&&w.a&&vt(w.a,W),w.isMounted=!0,T=E=U=null}};w.scope.on();const h=w.effect=new oi(te);w.scope.off();const b=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>Ss(D),jo(w,!0),b()},z=(w,T,E)=>{T.component=w;const U=w.vnode.props;w.vnode=T,w.next=null,Of(w,T.props,U,E),Bf(w,T.children,E),Vt(),Si(w),Wt()},P=(w,T,E,U,W,Z,ae,te,h=!1)=>{const b=w&&w.children,D=w?w.shapeFlag:0,K=T.children,{patchFlag:ie,shapeFlag:se}=T;if(ie>0){if(ie&128){F(b,K,E,U,W,Z,ae,te,h);return}else if(ie&256){G(b,K,E,U,W,Z,ae,te,h);return}}se&8?(D&16&&Me(b,W,Z),K!==b&&u(E,K)):D&16?se&16?F(b,K,E,U,W,Z,ae,te,h):Me(b,W,Z,!0):(D&8&&u(E,""),se&16&&M(K,E,U,W,Z,ae,te,h))},G=(w,T,E,U,W,Z,ae,te,h)=>{w=w||qo,T=T||qo;const b=w.length,D=T.length,K=Math.min(b,D);let ie;for(ie=0;ieD?Me(w,W,Z,!0,!1,K):M(T,E,U,W,Z,ae,te,h,K)},F=(w,T,E,U,W,Z,ae,te,h)=>{let b=0;const D=T.length;let K=w.length-1,ie=D-1;for(;b<=K&&b<=ie;){const se=w[b],O=T[b]=h?co(T[b]):Zt(T[b]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;b++}for(;b<=K&&b<=ie;){const se=w[K],O=T[ie]=h?co(T[ie]):Zt(T[ie]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;K--,ie--}if(b>K){if(b<=ie){const se=ie+1,O=seie)for(;b<=K;)q(w[b],W,Z,!0),b++;else{const se=b,O=b,C=new Map;for(b=O;b<=ie;b++){const et=T[b]=h?co(T[b]):Zt(T[b]);et.key!=null&&C.set(et.key,b)}let J,oe=0;const me=ie-O+1;let ke=!1,qe=0;const We=new Array(me);for(b=0;b=me){q(et,W,Z,!0);continue}let Nt;if(et.key!=null)Nt=C.get(et.key);else for(J=O;J<=ie;J++)if(We[J-O]===0&&On(et,T[J])){Nt=J;break}Nt===void 0?q(et,W,Z,!0):(We[Nt-O]=b+1,Nt>=qe?qe=Nt:ke=!0,y(et,T[Nt],E,null,W,Z,ae,te,h),oe++)}const kt=ke?qf(We):qo;for(J=kt.length-1,b=me-1;b>=0;b--){const et=O+b,Nt=T[et],Qn=T[et+1],er=et+1{const{el:Z,type:ae,transition:te,children:h,shapeFlag:b}=w;if(b&6){I(w.component.subTree,T,E,U);return}if(b&128){w.suspense.move(T,E,U);return}if(b&64){ae.move(w,T,E,ge);return}if(ae===Ie){n(Z,T,E);for(let K=0;Kte.enter(Z),W));else{const{leave:K,delayLeave:ie,afterLeave:se}=te,O=()=>{w.ctx.isUnmounted?r(Z):n(Z,T,E)},C=()=>{const J=Z._isLeaving||!!Z[Ts];Z._isLeaving&&Z[Ts](!0),te.persisted&&!J?O():K(Z,()=>{O(),se&&se()})};ie?ie(Z,O,C):C()}else n(Z,T,E)},q=(w,T,E,U=!1,W=!1)=>{const{type:Z,props:ae,ref:te,children:h,dynamicChildren:b,shapeFlag:D,patchFlag:K,dirs:ie,cacheIndex:se,memo:O}=w;if(K===-2&&(W=!1),te!=null&&(Vt(),Pn(te,null,E,w,!0),Wt()),se!=null&&(T.renderCache[se]=void 0),D&256){T.ctx.deactivate(w);return}const C=D&1&&ie,J=!Zo(w);let oe;if(J&&(oe=ae&&ae.onVnodeBeforeUnmount)&&Qt(oe,T,w),D&6)$e(w.component,E,U);else{if(D&128){w.suspense.unmount(E,U);return}C&&Fo(w,null,T,"beforeUnmount"),D&64?w.type.remove(w,T,E,ge,U):b&&!b.hasOnce&&(Z!==Ie||K>0&&K&64)?Me(b,T,E,!1,!0):(Z===Ie&&K&384||!W&&D&16)&&Me(h,T,E),U&&ce(w)}const me=O!=null&&se==null;(J&&(oe=ae&&ae.onVnodeUnmounted)||C||me)&&vt(()=>{oe&&Qt(oe,T,w),C&&Fo(w,null,T,"unmounted"),me&&(w.el=null)},E)},ce=w=>{const{type:T,el:E,anchor:U,transition:W}=w;if(T===Ie){be(E,U);return}if(T===Us){f(w);return}const Z=()=>{r(E),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(w.shapeFlag&1&&W&&!W.persisted){const{leave:ae,delayLeave:te}=W,h=()=>ae(E,Z);te?te(w.el,Z,h):h()}else Z()},be=(w,T)=>{let E;for(;w!==T;)E=m(w),r(w),w=E;r(T)},$e=(w,T,E)=>{const{bum:U,scope:W,job:Z,subTree:ae,um:te,m:h,a:b}=w;ul(h),ul(b),U&&lr(U),W.stop(),Z&&(Z.flags|=8,q(ae,w,T,E)),te&&vt(te,T),vt(()=>{w.isUnmounted=!0},T)},Me=(w,T,E,U=!1,W=!1,Z=0)=>{for(let ae=Z;ae{if(w.shapeFlag&6)return Ae(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const T=m(w.anchor||w.el),E=T&&T[Li];return E?m(E):T};let xe=!1;const _e=(w,T,E)=>{let U;w==null?T._vnode&&(q(T._vnode,null,null,!0),U=T._vnode.component):y(T._vnode||null,w,T,null,null,null,E),T._vnode=w,xe||(xe=!0,Si(U),Ei(),xe=!1)},ge={p:y,um:q,m:I,r:ce,mt:B,mc:M,pc:P,pbc:j,n:Ae,o:e};return{render:_e,hydrate:void 0,createApp:Cf(_e)}}function zs({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function jo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Hf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bs(e,t,o=!1){const n=e.children,r=t.children;if(Se(n)&&Se(r))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Vf(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):Xd(e)}const Ie=Symbol.for("v-fgt"),Nn=Symbol.for("v-txt"),Xt=Symbol.for("v-cmt"),Us=Symbol.for("v-stc"),lo=[];let Tt=null;function ee(e=!1){lo.push(Tt=e?null:[])}function Gs(){lo.pop(),Tt=lo[lo.length-1]||null}let Rn=1;function Pr(e,t=!1){Rn+=e,e<0&&Tt&&t&&(Tt.hasOnce=!0)}function pl(e){return e.dynamicChildren=Rn>0?Tt||qo:null,Gs(),Rn>0&&Tt&&Tt.push(e),e}function ne(e,t,o,n,r,s){return pl(R(e,t,o,n,r,s,!0))}function Jt(e,t,o,n,r){return pl(Oe(e,t,o,n,r,!0))}function Fn(e){return e?e.__v_isVNode===!0:!1}function On(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ke(e)||Qe(e)||Te(e)?{i:ct,r:e,k:t,f:!!o}:e:null);function R(e,t=null,o=null,n=0,r=null,s=e===Ie?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Mr(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ke(o)?8:16),Rn>0&&!a&&Tt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Tt.push(l),l}const Oe=Wf;function Wf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===ji)&&(e=Xt),Fn(e)){const i=Qo(e,t,!0);return o&&Mr(i,o),Rn>0&&!s&&Tt&&(i.shapeFlag&6?Tt[Tt.indexOf(e)]=i:Tt.push(i)),i.patchFlag=-2,i}if(sp(e)&&(e=e.__vccOpts),t){t=Kf(t);let{class:i,style:l}=t;i&&!Ke(i)&&(t.class=De(i)),Ue(l)&&(br(l)&&!Se(l)&&(l=ot({},l)),t.style=ht(l))}const a=Ke(e)?1:fl(e)?128:xr(e)?64:Ue(e)?4:Te(e)?2:0;return R(e,t,o,n,r,a,s,!0)}function Kf(e){return e?br(e)||ol(e)?ot({},e):e:null}function Qo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Yf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?o&&s?Se(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qo(e.ssContent),ssFallback:e.ssFallback&&Qo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ls(u,l.clone(u)),u}function nt(e=" ",t=0){return Oe(Nn,null,e,t)}function Ge(e="",t=!1){return t?(ee(),Jt(Xt,null,e)):Oe(Xt,null,e)}function Zt(e){return e==null||typeof e=="boolean"?Oe(Xt):Se(e)?Oe(Ie,null,e.slice()):Fn(e)?co(e):Oe(Nn,null,String(e))}function co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qo(e)}function Mr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Se(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Mr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!ol(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Mr(e,{default:t});return}t={default:t,_ctx:ct},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Yf(...e){const t={};for(let o=0;oft||ct;let Nr,Dn;{const e=cr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>ft=o),Dn=t("__VUE_SSR_SETTERS__",o=>en=o)}const jn=e=>{const t=ft;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},hl=()=>{ft&&ft.scope.off(),Nr(null)};function ml(e){return e.vnode.shapeFlag&4}let en=!1;function Qf(e,t=!1,o=!1){t&&Dn(t);const{props:n,children:r}=e.vnode,s=ml(e);Ff(e,n,s,t),zf(e,r,o||t);const a=s?ep(e,t):void 0;return t&&Dn(!1),a}function ep(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,wf);const{setup:n}=o;if(n){Vt();const r=e.setupContext=n.length>1?op(e):null,s=jn(e),a=Ko(n,e,0,[e.props,r]),i=qa(a);if(Wt(),s(),(i||e.sp)&&!Zo(e)&&Ps(e),i){if(a.then(hl,hl),t)return a.then(l=>{Dn(!0);try{bl(e,l,t)}finally{Dn(!1)}}).catch(l=>{An(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,o){Te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ue(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,o){const n=e.type;e.render||(e.render=n.render||Ht);{const r=jn(e);Vt();try{xf(e)}finally{Wt(),r()}}}const tp={get(e,t){return mt(e,"get",""),e[t]}};function op(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,tp),slots:e.slots,emit:e.emit,expose:t}}function Rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($n(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in In)return In[o](e)},has(t,o){return o in t||o in In}})):e.proxy}const np=/(?:^|[-_])\w/g,rp=e=>e.replace(np,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,o=!1){let n=yl(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?rp(n):o?"App":"Anonymous"}function sp(e){return Te(e)&&"__vccOpts"in e}const re=(e,t)=>Bd(e,t,en);function wl(e,t,o){try{Pr(-1);const n=arguments.length;return n===2?Ue(t)&&!Se(t)?Fn(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Fn(o)&&(o=[o]),Oe(e,t,o))}finally{Pr(1)}}const ap="3.5.42";/** +`],...Vd(o))}),t}function Vd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Wd(e.props),s]:[r+s]}function Wd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...xi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function xi(e,t,o){return Ke(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Qe(t)?(t=xi(e,je(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=je(t),o?t:[`${e}=`,t])}function Ko(e,t,o,n){try{return n?e(...n):e()}catch(r){An(r,t,o)}}function Ot(e,t,o,n){if(Te(e)){const r=Ko(e,t,o,n);return r&&qa(r)&&r.catch(s=>{An(s,t,o)}),r}if(Se(e)){const r=[];for(let s=0;s>>1,r=bt[n],s=Cn(r);s=Cn(o)?bt.push(e):bt.splice(Yd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Xd(e){if(!Se(e))xo&&e.id===-1?xo.splice(Xo+1,0,e):e.flags&1||(Yo.push(e),e.flags|=1);else for(let t=0;tCn(o)-Cn(n));if(Yo.length=0,xo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Yt=0;Yt{n._d&&Pr(-1);const s=wr(t),a=lo.length;let i;try{i=e(...r)}finally{for(let l=lo.length;l>a;l--)Gs();wr(s),n._d&&Pr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Pt(e,t){if(ct===null)return e;const o=Rr(ct),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Te(t)?t.call(n&&n.proxy):t}}function Jd(){return!!(uo()||Do)}const Zd=Symbol.for("v-scx"),Qd=()=>Le(Zd);function ef(e,t){return Es(e,null,t)}function dt(e,t,o){return Es(e,t,o)}function Es(e,t,o=Ve){const{immediate:n,deep:r,flush:s,once:a}=o,i=ot({},o),l=t&&n||!t&&s!=="post";let c;if(en){if(s==="sync"){const x=Qd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ht,x.resume=Ht,x.pause=Ht,x}}const u=ft;i.call=(x,S,y)=>Ot(x,u,S,y);let p=!1;s==="post"?i.scheduler=x=>{vt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,S)=>{S?x():Ss(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const m=Gd(e,t,i);return en&&(c?c.push(m):l&&m()),m}function tf(e,t,o){const n=this.proxy,r=Ke(e)?e.includes(".")?Ti(n,e):()=>n[e]:e.bind(n,n);let s;Te(t)?s=t:(s=t.handler,o=t);const a=jn(this),i=Es(r,s.bind(n),o);return a(),i}function Ti(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Oo=e=>e&&(e.disabled||e.disabled===""),of=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,As=(e,t)=>{const o=e&&e.to;return Ke(o)?t?t(o):null:o},nf={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,i,l,c){const{mc:u,pc:p,pbc:m,o:{insert:x,querySelector:S,createText:y,createComment:v,parentNode:A}}=c,_=Oo(t.props);let{dynamicChildren:d}=t;const f=($,M,L)=>{$.shapeFlag&16&&u($.children,M,L,r,s,a,i,l)},g=($=t)=>{const M=Oo($.props),L=$.target=As($.props,S),j=Cs(L,$,y,x);L&&(a!=="svg"&&Pi(L)?a="svg":a!=="mathml"&&Ii(L)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(L),M||(f($,L,j),Tn($,!1)))},k=$=>{const M=()=>{if(ko.get($)===M){if(ko.delete($),Oo($.props)){const L=A($.el)||o;f($,L,$.anchor),Tn($,!0)}g($)}};ko.set($,M),vt(M,s)};if(e==null){const $=t.el=y(""),M=t.anchor=y("");if(x($,o,n),x(M,o,n),of(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,o,M),Tn(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,M=ko.get(e);if(M){M.flags|=8,ko.delete(e),k(t);return}t.targetStart=e.targetStart;const L=t.target=e.target,j=t.targetAnchor=e.targetAnchor,V=Oo(e.props),Q=V?o:L,me=V?$:j;if(a==="svg"||Pi(L)?a="svg":(a==="mathml"||Ii(L))&&(a="mathml"),d?(m(e.dynamicChildren,d,Q,r,s,a,i),Bs(e,t,!0)):l||p(e,t,Q,me,r,s,a,i,!1),_)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=As(t.props,S);B&&(t.target=B,kr(t,B,null,c,0))}else V&&kr(t,L,j,c,1);Tn(t,_)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:m}=e,x=Oo(m),S=s||!x,y=ko.get(e);if(y&&(y.flags|=8,ko.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const o of e)if(o.type!==Xt){t=o;break}}return t}function Mi(e){if(!Er(e))return xr(e.type)&&e.children?af(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Te(o.default))return o.default()}}function Ls(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ls(xr(o.type)&&Mi(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ln(e,t){return Te(e)?ot({name:e.name},t,{setup:e}):e}function Ps(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ni(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const $r=new WeakMap;function Pn(e,t,o,n,r=!1){if(Se(e)){e.forEach((y,v)=>Pn(y,t&&(Se(t)?t[v]:t),o,n,r));return}if(Zo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Rr(n.component):n.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ve?i.refs={}:i.refs,p=i.setupState,m=je(p),x=p===Ve?Ga:y=>Ni(u,y)?!1:Be(m,y),S=(y,v)=>!(v&&Ni(u,v));if(c!=null&&c!==l){if(Ri(t),Ke(c))u[c]=null,x(c)&&(p[c]=null);else if(Qe(c)){const y=t;S(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(Te(l))Ko(l,i,12,[a,u]);else{const y=Ke(l),v=Qe(l);if(y||v){const A=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:S()||!e.k?l.value:u[e.k];if(r)Se(_)&&ls(_,s);else if(Se(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];S(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(S(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{A(),$r.delete(e)};_.id=-1,$r.set(e,_),vt(_,o)}else Ri(e),A()}}}function Ri(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Fi=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function lf(e,t){if(Fi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Fi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Zo=e=>!!e.type.__asyncLoader;function cf(e){Te(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,x()),x=()=>{let S;return c||(S=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,A)=>{l(y,()=>v(m()),()=>A(y),p+1)});throw y}).then(y=>S!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Ln({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(S,y,v){const A=S.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!S.parentNode||A&&!S.isConnected||v()},f=s?()=>{const g=s(d,k=>lf(S,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const S=ft;if(Ps(S),u)return()=>Sr(u,S);const y=g=>{c=null,An(g,S,13,!n)};if(i&&S.suspense||en)return x().then(g=>()=>Sr(g,S)).catch(g=>(y(g),()=>n?Oe(n,{error:g}):null));const v=de(!1),A=de(),_=de(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{S.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!S.isUnmounted&&!v.value&&!A.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),A.value=g}},a)),x().then(()=>{S.isUnmounted||(v.value=!0,S.parent&&Er(S.parent.vnode)&&S.parent.update())}).catch(g=>{if(S.isUnmounted){c=null;return}y(g),A.value=g}),()=>{if(v.value&&u)return Sr(u,S);if(A.value&&n)return Oe(n,{error:A.value});if(o&&!_.value)return Sr(o,S)}}})}function Sr(e,t){const{ref:o,props:n,children:r,ce:s}=t.vnode,a=Oe(e,n,r);return a.ref=o,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function uf(e,t){Oi(e,"a",t)}function df(e,t){Oi(e,"da",t)}function Oi(e,t,o=ft){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&ff(n,t,o,r),r=r.parent}}function ff(e,t,o,n){const r=Ar(t,e,n,!0);Cr(()=>{ls(n[t],r)},o)}function Ar(e,t,o=ft,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Vt();const i=jn(o),l=Ot(t,o,e,a);return i(),Wt(),l});return n?r.unshift(s):r.push(s),s}}const io=e=>(t,o=ft)=>{(!en||e==="sp")&&Ar(e,(...n)=>t(...n),o)},Di=io("bm"),_t=io("m"),pf=io("bu"),gf=io("u"),Dt=io("bum"),Cr=io("um"),hf=io("sp"),mf=io("rtg"),bf=io("rtc");function _f(e,t=ft){Ar("ec",e,t)}const yf="components",ji=Symbol.for("v-ndc");function zi(e){return Ke(e)?vf(yf,e,!1)||e:e||ji}function vf(e,t,o=!0,n=!1){const r=ct||ft;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&n?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function tt(e,t,o,n){let r;const s=o,a=Se(e);if(a||Ke(e)){const i=a&&ro(e);let l=!1,c=!1;i&&(l=!Ct(e),c=so(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Jt(Ie,null,[Oe("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=lo.length;ee();let l;try{const c=a&&Ui(a(o)),u=o.key||s||c&&c.key;l=Jt(Ie,{key:(u&&!Et(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=lo.length;u>i;u--)Gs();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Fn(t)?!(t.type===Xt||t.type===Ie&&!Ui(t.children)):!0)?e:null}const Ms=e=>e?ml(e)?Rr(e):Ms(e.parent):null,In=ot(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ms(e.parent),$root:e=>Ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Vi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ss(e.update)}),$nextTick:e=>e.n||(e.n=Ro.bind(e.proxy)),$watch:e=>tf.bind(e)}),Ns=(e,t)=>e!==Ve&&!e.__isScriptSetup&&Be(e,t),wf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ns(n,t))return a[t]=1,n[t];if(r!==Ve&&Be(r,t))return a[t]=2,r[t];if(Be(s,t))return a[t]=3,s[t];if(o!==Ve&&Be(o,t))return a[t]=4,o[t];Rs&&(a[t]=0)}}const c=In[t];let u,p;if(c)return t==="$attrs"&&mt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ve&&Be(o,t))return a[t]=4,o[t];if(p=l.config.globalProperties,Be(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=o,!0):n!==Ve&&Be(n,t)?(n[t]=o,!0):Be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},i){let l;return!!(o[i]||e!==Ve&&i[0]!=="$"&&Be(e,i)||Ns(t,i)||Be(s,i)||Be(n,i)||Be(In,i)||Be(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Be(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Gi(e){return Se(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Rs=!0;function xf(e){const t=Vi(e),o=e.proxy,n=e.ctx;Rs=!1,t.beforeCreate&&Hi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:x,updated:S,activated:y,deactivated:v,beforeDestroy:A,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:M,serverPrefetch:L,expose:j,inheritAttrs:V,components:Q,directives:me,filters:B}=t;if(c&&kf(c,n,null),a)for(const z in a){const P=a[z];Te(P)&&(n[z]=P.bind(o))}if(r){const z=r.call(o,o);Ue(z)&&(e.data=Mo(z))}if(Rs=!0,s)for(const z in s){const P=s[z],G=Te(P)?P.bind(o,o):Te(P.get)?P.get.bind(o,o):Ht,F=!Te(P)&&Te(P.set)?P.set.bind(o):Ht,I=re({get:G,set:F});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>I.value,set:q=>I.value=q})}if(i)for(const z in i)qi(i[z],n,o,z);if(l){const z=Te(l)?l.call(o):l;Reflect.ownKeys(z).forEach(P=>{ut(P,z[P])})}u&&Hi(u,e,"c");function H(z,P){Se(P)?P.forEach(G=>z(G.bind(o))):P&&z(P.bind(o))}if(H(Di,p),H(_t,m),H(pf,x),H(gf,S),H(uf,y),H(df,v),H(_f,M),H(bf,k),H(mf,$),H(Dt,_),H(Cr,f),H(hf,L),Se(j))if(j.length){const z=e.exposed||(e.exposed={});j.forEach(P=>{Object.defineProperty(z,P,{get:()=>o[P],set:G=>o[P]=G,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ht&&(e.render=g),V!=null&&(e.inheritAttrs=V),Q&&(e.components=Q),me&&(e.directives=me),L&&Ps(e)}function kf(e,t,o=Ht){Se(e)&&(e=Fs(e));for(const n in e){const r=e[n];let s;Ue(r)?"default"in r?s=Le(r.from||n,r.default,!0):s=Le(r.from||n):s=Le(r),Qe(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Hi(e,t,o){Ot(Se(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function qi(e,t,o,n){let r=n.includes(".")?Ti(o,n):()=>o[n];if(Ke(e)){const s=t[e];Te(s)&&dt(r,s)}else if(Te(e))dt(r,e.bind(o));else if(Ue(e))if(Se(e))e.forEach(s=>qi(s,t,o,n));else{const s=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(s)&&dt(r,s,e)}}function Vi(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),Ue(t)&&s.set(t,l),l}function Tr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,o,!0),r&&r.forEach(a=>Tr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=$f[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const $f={data:Wi,props:Ki,emits:Ki,methods:Mn,computed:Mn,beforeCreate:yt,created:yt,beforeMount:yt,mounted:yt,beforeUpdate:yt,updated:yt,beforeDestroy:yt,beforeUnmount:yt,destroyed:yt,unmounted:yt,activated:yt,deactivated:yt,errorCaptured:yt,serverPrefetch:yt,components:Mn,directives:Mn,watch:Ef,provide:Wi,inject:Sf};function Wi(e,t){return t?e?function(){return ot(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function Sf(e,t){return Mn(Fs(e),Fs(t))}function Fs(e){if(Se(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${At(t)}Modifiers`];function Lf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ve;let r=o;const s=t.startsWith("update:"),a=s&&Tf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Ke(u)?u.trim():u)),a.number&&(r=r.map(us)));let i,l=n[i=cs(t)]||n[i=cs(it(t))];!l&&s&&(l=n[i=cs(At(t))]),l&&Ot(l,e,6,r);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ot(c,e,6,r)}}const Pf=new WeakMap;function Xi(e,t,o=!1){const n=o?Pf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!Te(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,ot(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ue(e)&&n.set(e,null),null):(Se(s)?s.forEach(l=>a[l]=null):ot(a,s),Ue(e)&&n.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Be(e,t[0].toLowerCase()+t.slice(1))||Be(e,At(t))||Be(e,t))}function ex(){}function Ji(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:x,ctx:S,inheritAttrs:y}=e,v=wr(e);let A,_;try{if(o.shapeFlag&4){const f=r||n,g=f;A=Zt(c.call(g,f,u,p,x,m,S)),_=i}else{const f=t;A=Zt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:If(i)}}catch(f){lo.length=0,An(f,e,1),A=Oe(Xt)}let d=A;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(or)&&(_=Mf(_,s)),d=Qo(d,_,!1,!0))}if(o.dirs&&(d=Qo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const f=xr(d.type)&&Mi(d)||d;Ls(f,o.transition)}return A=d,wr(v),A}const If=e=>{let t;for(const o in e)(o==="class"||o==="style"||tr(o))&&((t||(t={}))[o]=e[o]);return t},Mf=(e,t)=>{const o={};for(const n in e)(!or(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Nf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Zi(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),ol=e=>Object.getPrototypeOf(e)===el;function Ff(e,t,o,n=!1){const r={},s=tl();e.propsDefaults=Object.create(null),nl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:Nd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Of(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=je(r),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,x]=rl(p,t,!0);ot(a,m),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ue(e)&&n.set(e,qo),qo;if(Se(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",js=e=>Se(e)?e.map(Zt):[Zt(e)],jf=(e,t,o)=>{if(t._n)return t;const n=Jo((...r)=>js(t(...r)),o);return n._c=!1,n},al=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ds(r))continue;const s=e[r];if(Te(s))t[r]=jf(r,s,n);else if(s!=null){const a=js(s);t[r]=()=>a}}},il=(e,t)=>{const o=js(t);e.slots.default=()=>o},ll=(e,t,o)=>{for(const n in t)(o||!Ds(n))&&(e[n]=t[n])},zf=(e,t,o)=>{const n=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(n,t,o),o&&Wa(n,"_",r,!0)):al(t,n)}else t&&il(e,t)},Bf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Ve;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:ll(r,t,o):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Ds(i)&&a[i]==null&&delete r[i]},vt=Vf;function Uf(e){return Gf(e)}function Gf(e,t){const o=cr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:x=Ht,insertStaticContent:S}=e,y=(w,T,E,U=null,W=null,Z=null,ae=void 0,te=null,h=!!T.dynamicChildren)=>{if(w===T)return;w&&!On(w,T)&&(U=Ae(w),q(w,W,Z,!0),w=null),T.patchFlag===-2&&(h=!1,T.dynamicChildren=null);const{type:b,ref:D,shapeFlag:K}=T;switch(b){case Nn:v(w,T,E,U);break;case Xt:A(w,T,E,U);break;case Us:w==null&&_(T,E,U,ae);break;case Ie:Q(w,T,E,U,W,Z,ae,te,h);break;default:K&1?g(w,T,E,U,W,Z,ae,te,h):K&6?me(w,T,E,U,W,Z,ae,te,h):(K&64||K&128)&&b.process(w,T,E,U,W,Z,ae,te,h,ge)}D!=null&&W?Pn(D,w&&w.ref,Z,T||w,!T):D==null&&w&&w.ref!=null&&Pn(w.ref,null,Z,w,!0)},v=(w,T,E,U)=>{if(w==null)n(T.el=i(T.children),E,U);else{const W=T.el=w.el;T.children!==w.children&&c(W,T.children)}},A=(w,T,E,U)=>{w==null?n(T.el=l(T.children||""),E,U):T.el=w.el},_=(w,T,E,U)=>{[w.el,w.anchor]=S(w.children,T,E,U,w.el,w.anchor)},d=({el:w,anchor:T},E,U)=>{let W;for(;w&&w!==T;)W=m(w),n(w,E,U),w=W;n(T,E,U)},f=({el:w,anchor:T})=>{let E;for(;w&&w!==T;)E=m(w),r(w),w=E;r(T)},g=(w,T,E,U,W,Z,ae,te,h)=>{if(T.type==="svg"?ae="svg":T.type==="math"&&(ae="mathml"),w==null)k(T,E,U,W,Z,ae,te,h);else{const b=w.el&&w.el._isVueCE?w.el:null;try{b&&b._beginPatch(),L(w,T,W,Z,ae,te,h)}finally{b&&b._endPatch()}}},k=(w,T,E,U,W,Z,ae,te)=>{let h,b;const{props:D,shapeFlag:K,transition:ie,dirs:se}=w;if(h=w.el=a(w.type,Z,D&&D.is,D),K&8?u(h,w.children):K&16&&M(w.children,h,null,U,W,zs(w,Z),ae,te),se&&Fo(w,null,U,"created"),$(h,w,w.scopeId,ae,U),D){for(const C in D)C!=="value"&&!_n(C)&&s(h,C,null,D[C],Z,U);"value"in D&&s(h,"value",null,D.value,Z),(b=D.onVnodeBeforeMount)&&Qt(b,U,w)}se&&Fo(w,null,U,"beforeMount");const O=Hf(W,ie);O&&ie.beforeEnter(h),n(h,T,E),((b=D&&D.onVnodeMounted)||O||se)&&vt(()=>{try{b&&Qt(b,U,w),O&&ie.enter(h),se&&Fo(w,null,U,"mounted")}finally{}},W)},$=(w,T,E,U,W)=>{if(E&&x(w,E),U)for(let Z=0;Z{for(let b=h;b{const te=T.el=w.el;let{patchFlag:h,dynamicChildren:b,dirs:D}=T;h|=w.patchFlag&16;const K=w.props||Ve,ie=T.props||Ve;let se;if(E&&jo(E,!1),(se=ie.onVnodeBeforeUpdate)&&Qt(se,E,T,w),D&&Fo(T,w,E,"beforeUpdate"),E&&jo(E,!0),b&&(!w.dynamicChildren||w.dynamicChildren.length!==b.length)&&(h=0,ae=!1,b=null),(K.innerHTML&&ie.innerHTML==null||K.textContent&&ie.textContent==null)&&u(te,""),b?j(w.dynamicChildren,b,te,E,U,zs(T,W),Z):ae||P(w,T,te,null,E,U,zs(T,W),Z,!1),h>0){if(h&16)V(te,K,ie,E,W);else if(h&2&&K.class!==ie.class&&s(te,"class",null,ie.class,W),h&4&&s(te,"style",K.style,ie.style,W),h&8){const O=T.dynamicProps;for(let C=0;C{se&&Qt(se,E,T,w),D&&Fo(T,w,E,"updated")},U)},j=(w,T,E,U,W,Z,ae)=>{for(let te=0;te{if(T!==E){if(T!==Ve)for(const Z in T)!_n(Z)&&!(Z in E)&&s(w,Z,T[Z],null,W,U);for(const Z in E){if(_n(Z))continue;const ae=E[Z],te=T[Z];ae!==te&&Z!=="value"&&s(w,Z,te,ae,W,U)}"value"in E&&s(w,"value",T.value,E.value,W)}},Q=(w,T,E,U,W,Z,ae,te,h)=>{const b=T.el=w?w.el:i(""),D=T.anchor=w?w.anchor:i("");let{patchFlag:K,dynamicChildren:ie,slotScopeIds:se}=T;se&&(te=te?te.concat(se):se),w==null?(n(b,E,U),n(D,E,U),M(T.children||[],E,D,W,Z,ae,te,h)):K>0&&K&64&&ie&&w.dynamicChildren&&w.dynamicChildren.length===ie.length?(j(w.dynamicChildren,ie,E,W,Z,ae,te),(T.key!=null||W&&T===W.subTree)&&Bs(w,T,!0)):P(w,T,E,D,W,Z,ae,te,h)},me=(w,T,E,U,W,Z,ae,te,h)=>{T.slotScopeIds=te,w==null?T.shapeFlag&512?W.ctx.activate(T,E,U,ae,h):B(T,E,U,W,Z,ae,h):X(w,T,h)},B=(w,T,E,U,W,Z,ae)=>{const te=w.component=Zf(w,U,W);if(Er(w)&&(te.ctx.renderer=ge),Qf(te,!1,ae),te.asyncDep){if(W&&W.registerDep(te,H,ae),!w.el){const h=te.subTree=Oe(Xt);A(null,h,T,E),w.placeholder=h.el}}else H(te,w,T,E,W,Z,ae)},X=(w,T,E)=>{const U=T.component=w.component;if(Nf(w,T,E))if(U.asyncDep&&!U.asyncResolved){z(U,T,E);return}else U.next=T,U.update();else T.el=w.el,U.vnode=T},H=(w,T,E,U,W,Z,ae)=>{const te=()=>{if(w.isMounted){let{next:K,bu:ie,u:se,parent:O,vnode:C}=w;{const qe=cl(w);if(qe){K&&(K.el=C.el,z(w,K,ae)),qe.asyncDep.then(()=>{vt(()=>{w.isUnmounted||b()},W)});return}}let J=K,oe;jo(w,!1),K?(K.el=C.el,z(w,K,ae)):K=C,ie&&lr(ie),(oe=K.props&&K.props.onVnodeBeforeUpdate)&&Qt(oe,O,K,C),jo(w,!0);const be=Ji(w),ke=w.subTree;w.subTree=be,y(ke,be,p(ke.el),Ae(ke),w,W,Z),K.el=be.el,J===null&&Rf(w,be.el),se&&vt(se,W),(oe=K.props&&K.props.onVnodeUpdated)&&vt(()=>Qt(oe,O,K,C),W)}else{let K;const{el:ie,props:se}=T,{bm:O,m:C,parent:J,root:oe,type:be}=w,ke=Zo(T);jo(w,!1),O&&lr(O),!ke&&(K=se&&se.onVnodeBeforeMount)&&Qt(K,J,T),jo(w,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(be,w.parent?w.parent.type:void 0);const qe=w.subTree=Ji(w);y(null,qe,E,U,w,W,Z),T.el=qe.el}if(C&&vt(C,W),!ke&&(K=se&&se.onVnodeMounted)){const qe=T;vt(()=>Qt(K,J,qe),W)}(T.shapeFlag&256||J&&Zo(J.vnode)&&J.vnode.shapeFlag&256)&&w.a&&vt(w.a,W),w.isMounted=!0,T=E=U=null}};w.scope.on();const h=w.effect=new oi(te);w.scope.off();const b=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>Ss(D),jo(w,!0),b()},z=(w,T,E)=>{T.component=w;const U=w.vnode.props;w.vnode=T,w.next=null,Of(w,T.props,U,E),Bf(w,T.children,E),Vt(),Si(w),Wt()},P=(w,T,E,U,W,Z,ae,te,h=!1)=>{const b=w&&w.children,D=w?w.shapeFlag:0,K=T.children,{patchFlag:ie,shapeFlag:se}=T;if(ie>0){if(ie&128){F(b,K,E,U,W,Z,ae,te,h);return}else if(ie&256){G(b,K,E,U,W,Z,ae,te,h);return}}se&8?(D&16&&Me(b,W,Z),K!==b&&u(E,K)):D&16?se&16?F(b,K,E,U,W,Z,ae,te,h):Me(b,W,Z,!0):(D&8&&u(E,""),se&16&&M(K,E,U,W,Z,ae,te,h))},G=(w,T,E,U,W,Z,ae,te,h)=>{w=w||qo,T=T||qo;const b=w.length,D=T.length,K=Math.min(b,D);let ie;for(ie=0;ieD?Me(w,W,Z,!0,!1,K):M(T,E,U,W,Z,ae,te,h,K)},F=(w,T,E,U,W,Z,ae,te,h)=>{let b=0;const D=T.length;let K=w.length-1,ie=D-1;for(;b<=K&&b<=ie;){const se=w[b],O=T[b]=h?co(T[b]):Zt(T[b]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;b++}for(;b<=K&&b<=ie;){const se=w[K],O=T[ie]=h?co(T[ie]):Zt(T[ie]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;K--,ie--}if(b>K){if(b<=ie){const se=ie+1,O=seie)for(;b<=K;)q(w[b],W,Z,!0),b++;else{const se=b,O=b,C=new Map;for(b=O;b<=ie;b++){const et=T[b]=h?co(T[b]):Zt(T[b]);et.key!=null&&C.set(et.key,b)}let J,oe=0;const be=ie-O+1;let ke=!1,qe=0;const We=new Array(be);for(b=0;b=be){q(et,W,Z,!0);continue}let Nt;if(et.key!=null)Nt=C.get(et.key);else for(J=O;J<=ie;J++)if(We[J-O]===0&&On(et,T[J])){Nt=J;break}Nt===void 0?q(et,W,Z,!0):(We[Nt-O]=b+1,Nt>=qe?qe=Nt:ke=!0,y(et,T[Nt],E,null,W,Z,ae,te,h),oe++)}const kt=ke?qf(We):qo;for(J=kt.length-1,b=be-1;b>=0;b--){const et=O+b,Nt=T[et],Qn=T[et+1],er=et+1{const{el:Z,type:ae,transition:te,children:h,shapeFlag:b}=w;if(b&6){I(w.component.subTree,T,E,U);return}if(b&128){w.suspense.move(T,E,U);return}if(b&64){ae.move(w,T,E,ge);return}if(ae===Ie){n(Z,T,E);for(let K=0;Kte.enter(Z),W));else{const{leave:K,delayLeave:ie,afterLeave:se}=te,O=()=>{w.ctx.isUnmounted?r(Z):n(Z,T,E)},C=()=>{const J=Z._isLeaving||!!Z[Ts];Z._isLeaving&&Z[Ts](!0),te.persisted&&!J?O():K(Z,()=>{O(),se&&se()})};ie?ie(Z,O,C):C()}else n(Z,T,E)},q=(w,T,E,U=!1,W=!1)=>{const{type:Z,props:ae,ref:te,children:h,dynamicChildren:b,shapeFlag:D,patchFlag:K,dirs:ie,cacheIndex:se,memo:O}=w;if(K===-2&&(W=!1),te!=null&&(Vt(),Pn(te,null,E,w,!0),Wt()),se!=null&&(T.renderCache[se]=void 0),D&256){T.ctx.deactivate(w);return}const C=D&1&&ie,J=!Zo(w);let oe;if(J&&(oe=ae&&ae.onVnodeBeforeUnmount)&&Qt(oe,T,w),D&6)$e(w.component,E,U);else{if(D&128){w.suspense.unmount(E,U);return}C&&Fo(w,null,T,"beforeUnmount"),D&64?w.type.remove(w,T,E,ge,U):b&&!b.hasOnce&&(Z!==Ie||K>0&&K&64)?Me(b,T,E,!1,!0):(Z===Ie&&K&384||!W&&D&16)&&Me(h,T,E),U&&ce(w)}const be=O!=null&&se==null;(J&&(oe=ae&&ae.onVnodeUnmounted)||C||be)&&vt(()=>{oe&&Qt(oe,T,w),C&&Fo(w,null,T,"unmounted"),be&&(w.el=null)},E)},ce=w=>{const{type:T,el:E,anchor:U,transition:W}=w;if(T===Ie){he(E,U);return}if(T===Us){f(w);return}const Z=()=>{r(E),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(w.shapeFlag&1&&W&&!W.persisted){const{leave:ae,delayLeave:te}=W,h=()=>ae(E,Z);te?te(w.el,Z,h):h()}else Z()},he=(w,T)=>{let E;for(;w!==T;)E=m(w),r(w),w=E;r(T)},$e=(w,T,E)=>{const{bum:U,scope:W,job:Z,subTree:ae,um:te,m:h,a:b}=w;ul(h),ul(b),U&&lr(U),W.stop(),Z&&(Z.flags|=8,q(ae,w,T,E)),te&&vt(te,T),vt(()=>{w.isUnmounted=!0},T)},Me=(w,T,E,U=!1,W=!1,Z=0)=>{for(let ae=Z;ae{if(w.shapeFlag&6)return Ae(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const T=m(w.anchor||w.el),E=T&&T[Li];return E?m(E):T};let xe=!1;const _e=(w,T,E)=>{let U;w==null?T._vnode&&(q(T._vnode,null,null,!0),U=T._vnode.component):y(T._vnode||null,w,T,null,null,null,E),T._vnode=w,xe||(xe=!0,Si(U),Ei(),xe=!1)},ge={p:y,um:q,m:I,r:ce,mt:B,mc:M,pc:P,pbc:j,n:Ae,o:e};return{render:_e,hydrate:void 0,createApp:Cf(_e)}}function zs({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function jo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Hf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bs(e,t,o=!1){const n=e.children,r=t.children;if(Se(n)&&Se(r))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Vf(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):Xd(e)}const Ie=Symbol.for("v-fgt"),Nn=Symbol.for("v-txt"),Xt=Symbol.for("v-cmt"),Us=Symbol.for("v-stc"),lo=[];let Tt=null;function ee(e=!1){lo.push(Tt=e?null:[])}function Gs(){lo.pop(),Tt=lo[lo.length-1]||null}let Rn=1;function Pr(e,t=!1){Rn+=e,e<0&&Tt&&t&&(Tt.hasOnce=!0)}function pl(e){return e.dynamicChildren=Rn>0?Tt||qo:null,Gs(),Rn>0&&Tt&&Tt.push(e),e}function ne(e,t,o,n,r,s){return pl(R(e,t,o,n,r,s,!0))}function Jt(e,t,o,n,r){return pl(Oe(e,t,o,n,r,!0))}function Fn(e){return e?e.__v_isVNode===!0:!1}function On(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ke(e)||Qe(e)||Te(e)?{i:ct,r:e,k:t,f:!!o}:e:null);function R(e,t=null,o=null,n=0,r=null,s=e===Ie?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Mr(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ke(o)?8:16),Rn>0&&!a&&Tt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Tt.push(l),l}const Oe=Wf;function Wf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===ji)&&(e=Xt),Fn(e)){const i=Qo(e,t,!0);return o&&Mr(i,o),Rn>0&&!s&&Tt&&(i.shapeFlag&6?Tt[Tt.indexOf(e)]=i:Tt.push(i)),i.patchFlag=-2,i}if(sp(e)&&(e=e.__vccOpts),t){t=Kf(t);let{class:i,style:l}=t;i&&!Ke(i)&&(t.class=De(i)),Ue(l)&&(br(l)&&!Se(l)&&(l=ot({},l)),t.style=ht(l))}const a=Ke(e)?1:fl(e)?128:xr(e)?64:Ue(e)?4:Te(e)?2:0;return R(e,t,o,n,r,a,s,!0)}function Kf(e){return e?br(e)||ol(e)?ot({},e):e:null}function Qo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Yf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?o&&s?Se(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qo(e.ssContent),ssFallback:e.ssFallback&&Qo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ls(u,l.clone(u)),u}function nt(e=" ",t=0){return Oe(Nn,null,e,t)}function Ge(e="",t=!1){return t?(ee(),Jt(Xt,null,e)):Oe(Xt,null,e)}function Zt(e){return e==null||typeof e=="boolean"?Oe(Xt):Se(e)?Oe(Ie,null,e.slice()):Fn(e)?co(e):Oe(Nn,null,String(e))}function co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qo(e)}function Mr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Se(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Mr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!ol(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Mr(e,{default:t});return}t={default:t,_ctx:ct},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Yf(...e){const t={};for(let o=0;oft||ct;let Nr,Dn;{const e=cr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>ft=o),Dn=t("__VUE_SSR_SETTERS__",o=>en=o)}const jn=e=>{const t=ft;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},hl=()=>{ft&&ft.scope.off(),Nr(null)};function ml(e){return e.vnode.shapeFlag&4}let en=!1;function Qf(e,t=!1,o=!1){t&&Dn(t);const{props:n,children:r}=e.vnode,s=ml(e);Ff(e,n,s,t),zf(e,r,o||t);const a=s?ep(e,t):void 0;return t&&Dn(!1),a}function ep(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,wf);const{setup:n}=o;if(n){Vt();const r=e.setupContext=n.length>1?op(e):null,s=jn(e),a=Ko(n,e,0,[e.props,r]),i=qa(a);if(Wt(),s(),(i||e.sp)&&!Zo(e)&&Ps(e),i){if(a.then(hl,hl),t)return a.then(l=>{Dn(!0);try{bl(e,l,t)}finally{Dn(!1)}}).catch(l=>{An(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,o){Te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ue(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,o){const n=e.type;e.render||(e.render=n.render||Ht);{const r=jn(e);Vt();try{xf(e)}finally{Wt(),r()}}}const tp={get(e,t){return mt(e,"get",""),e[t]}};function op(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,tp),slots:e.slots,emit:e.emit,expose:t}}function Rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($n(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in In)return In[o](e)},has(t,o){return o in t||o in In}})):e.proxy}const np=/(?:^|[-_])\w/g,rp=e=>e.replace(np,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,o=!1){let n=yl(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?rp(n):o?"App":"Anonymous"}function sp(e){return Te(e)&&"__vccOpts"in e}const re=(e,t)=>Bd(e,t,en);function wl(e,t,o){try{Pr(-1);const n=arguments.length;return n===2?Ue(t)&&!Se(t)?Fn(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Fn(o)&&(o=[o]),Oe(e,t,o))}finally{Pr(1)}}const ap="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -22,7 +22,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ys(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Un;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Un||(Un={}));function jp(){const e=fs(!0),t=e.run(()=>de({}));let o=[],n=[];const r=$n({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,o,n=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ti()&&hd(r),r}function nn(e,...t){e.slice().forEach(o=>{o(...t)})}const zp=e=>e(),Ul=Symbol(),Xs=Symbol();function Js(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],r=e[o];Ys(r)&&Ys(n)&&e.hasOwnProperty(o)&&!Qe(n)&&!ro(n)?e[o]=Js(r,n):e[o]=n}return e}const Bp=Symbol();function Up(e){return!Ys(e)||!e.hasOwnProperty(Bp)}const{assign:$o}=Object;function Gp(e){return!!(Qe(e)&&e.effect)}function Hp(e,t,o,n){const{state:r,actions:s,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=r?r():{});const u=Od(o.state.value[e]);return $o(u,s,Object.keys(a||{}).reduce((p,m)=>(p[m]=$n(re(()=>{Br(o);const x=o._s.get(e);return a[m].call(x,x)})),p),{}))}return l=Gl(e,c,t,o,n,!0),l}function Gl(e,t,o={},n,r,s){let a;const i=$o({actions:{}},o),l={deep:!0};let c,u,p=[],m=[],x;const S=n.state.value[e];!s&&!S&&(n.state.value[e]={});let y;function v(M){let L;c=u=!1,typeof M=="function"?(M(n.state.value[e]),L={type:Un.patchFunction,storeId:e,events:x}):(Js(n.state.value[e],M),L={type:Un.patchObject,payload:M,storeId:e,events:x});const j=y=Symbol();Ro().then(()=>{y===j&&(c=!0)}),u=!0,nn(p,L,n.state.value[e])}const A=s?function(){const{state:L}=o,j=L?L():{};this.$patch(V=>{$o(V,j)})}:zl;function _(){a.stop(),p=[],m=[],n._s.delete(e)}const d=(M,L="")=>{if(Ul in M)return M[Xs]=L,M;const j=function(){Br(n);const V=Array.from(arguments),Q=[],he=[];function B(z){Q.push(z)}function X(z){he.push(z)}nn(m,{args:V,name:j[Xs],store:g,after:B,onError:X});let H;try{H=M.apply(this&&this.$id===e?this:g,V)}catch(z){throw nn(he,z),z}return H instanceof Promise?H.then(z=>(nn(Q,z),z)).catch(z=>(nn(he,z),Promise.reject(z))):(nn(Q,H),H)};return j[Ul]=!0,j[Xs]=L,j},f={_p:n,$id:e,$onAction:Bl.bind(null,m),$patch:v,$reset:A,$subscribe(M,L={}){const j=Bl(p,M,L.detached,()=>V()),V=a.run(()=>dt(()=>n.state.value[e],Q=>{(L.flush==="sync"?u:c)&&M({storeId:e,type:Un.direct,events:x},Q)},$o({},l,L)));return j},$dispose:_},g=Mo(f);n._s.set(e,g);const $=(n._a&&n._a.runWithContext||zp)(()=>n._e.run(()=>(a=fs()).run(()=>t({action:d}))));for(const M in $){const L=$[M];if(Qe(L)&&!Gp(L)||ro(L))s||(S&&Up(L)&&(Qe(L)?L.value=S[M]:Js(L,S[M])),n.state.value[e][M]=L);else if(typeof L=="function"){const j=d(L,M);$[M]=j,i.actions[M]=L}}return $o(g,$),$o(je(g),$),Object.defineProperty(g,"$state",{get:()=>n.state.value[e],set:M=>{v(L=>{$o(L,M)})}}),n._p.forEach(M=>{$o(g,a.run(()=>M({store:g,app:n._a,pinia:n,options:i})))}),S&&s&&o.hydrate&&o.hydrate(g.$state,S),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Zs(e,t,o){let n,r;const s=typeof t=="function";typeof e=="string"?(n=e,r=s?o:t):(r=e,n=e.id);function a(i,l){const c=Jd();return i=i||(c?Le(jl,null):null),i&&Br(i),i=Dl,i._s.has(n)||(s?Gl(n,t,r,i):Hp(n,r,i)),i._s.get(n)}return a.$id=n,a}const qp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Vp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Wp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Yp={menuComingSoon:"القائمة قادمة قريباً"},Xp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Jp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Zp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Qp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},eg={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},tg={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"},og={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ng={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},rg={menuComingSoon:"Menü folgt in Kürze"},sg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},ag={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ig={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},lg={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},cg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ug={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},dg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},fg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},pg={menuComingSoon:"Menu coming soon"},gg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},hg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},mg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},bg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},_g={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},yg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},vg={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"},wg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},xg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},kg={menuComingSoon:"Menú próximamente"},$g={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Sg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Eg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Ag={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Cg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Tg={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"},Lg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Pg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Ig={menuComingSoon:"Menu bientôt disponible"},Mg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Fg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Og={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Dg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},jg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},zg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Bg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Ug={menuComingSoon:"मेनू शीघ्र आ रहा है"},Gg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Hg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Vg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Wg={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"},Kg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Yg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Xg={menuComingSoon:"Menu in arrivo"},Jg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Zg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Qg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},eh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},th={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"},oh={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},nh={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},rh={menuComingSoon:"Menu em breve"},sh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ah={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ih={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},lh={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},ch={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},uh={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ă"},dh={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},fh={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},ph={menuComingSoon:"Meniu în curând"},gh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},hh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},mh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},bh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},_h={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},yh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},vh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},wh={menuComingSoon:"Меню скоро появится"},xh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},kh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},$h={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Sh={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Eh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ah={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ch={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Th={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Lh={menuComingSoon:"菜单即将推出"},Ph={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ih={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Mh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ys(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Un;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Un||(Un={}));function jp(){const e=fs(!0),t=e.run(()=>de({}));let o=[],n=[];const r=$n({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,o,n=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ti()&&hd(r),r}function nn(e,...t){e.slice().forEach(o=>{o(...t)})}const zp=e=>e(),Ul=Symbol(),Xs=Symbol();function Js(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],r=e[o];Ys(r)&&Ys(n)&&e.hasOwnProperty(o)&&!Qe(n)&&!ro(n)?e[o]=Js(r,n):e[o]=n}return e}const Bp=Symbol();function Up(e){return!Ys(e)||!e.hasOwnProperty(Bp)}const{assign:$o}=Object;function Gp(e){return!!(Qe(e)&&e.effect)}function Hp(e,t,o,n){const{state:r,actions:s,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=r?r():{});const u=Od(o.state.value[e]);return $o(u,s,Object.keys(a||{}).reduce((p,m)=>(p[m]=$n(re(()=>{Br(o);const x=o._s.get(e);return a[m].call(x,x)})),p),{}))}return l=Gl(e,c,t,o,n,!0),l}function Gl(e,t,o={},n,r,s){let a;const i=$o({actions:{}},o),l={deep:!0};let c,u,p=[],m=[],x;const S=n.state.value[e];!s&&!S&&(n.state.value[e]={});let y;function v(M){let L;c=u=!1,typeof M=="function"?(M(n.state.value[e]),L={type:Un.patchFunction,storeId:e,events:x}):(Js(n.state.value[e],M),L={type:Un.patchObject,payload:M,storeId:e,events:x});const j=y=Symbol();Ro().then(()=>{y===j&&(c=!0)}),u=!0,nn(p,L,n.state.value[e])}const A=s?function(){const{state:L}=o,j=L?L():{};this.$patch(V=>{$o(V,j)})}:zl;function _(){a.stop(),p=[],m=[],n._s.delete(e)}const d=(M,L="")=>{if(Ul in M)return M[Xs]=L,M;const j=function(){Br(n);const V=Array.from(arguments),Q=[],me=[];function B(z){Q.push(z)}function X(z){me.push(z)}nn(m,{args:V,name:j[Xs],store:g,after:B,onError:X});let H;try{H=M.apply(this&&this.$id===e?this:g,V)}catch(z){throw nn(me,z),z}return H instanceof Promise?H.then(z=>(nn(Q,z),z)).catch(z=>(nn(me,z),Promise.reject(z))):(nn(Q,H),H)};return j[Ul]=!0,j[Xs]=L,j},f={_p:n,$id:e,$onAction:Bl.bind(null,m),$patch:v,$reset:A,$subscribe(M,L={}){const j=Bl(p,M,L.detached,()=>V()),V=a.run(()=>dt(()=>n.state.value[e],Q=>{(L.flush==="sync"?u:c)&&M({storeId:e,type:Un.direct,events:x},Q)},$o({},l,L)));return j},$dispose:_},g=Mo(f);n._s.set(e,g);const $=(n._a&&n._a.runWithContext||zp)(()=>n._e.run(()=>(a=fs()).run(()=>t({action:d}))));for(const M in $){const L=$[M];if(Qe(L)&&!Gp(L)||ro(L))s||(S&&Up(L)&&(Qe(L)?L.value=S[M]:Js(L,S[M])),n.state.value[e][M]=L);else if(typeof L=="function"){const j=d(L,M);$[M]=j,i.actions[M]=L}}return $o(g,$),$o(je(g),$),Object.defineProperty(g,"$state",{get:()=>n.state.value[e],set:M=>{v(L=>{$o(L,M)})}}),n._p.forEach(M=>{$o(g,a.run(()=>M({store:g,app:n._a,pinia:n,options:i})))}),S&&s&&o.hydrate&&o.hydrate(g.$state,S),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Zs(e,t,o){let n,r;const s=typeof t=="function";typeof e=="string"?(n=e,r=s?o:t):(r=e,n=e.id);function a(i,l){const c=Jd();return i=i||(c?Le(jl,null):null),i&&Br(i),i=Dl,i._s.has(n)||(s?Gl(n,t,r,i):Hp(n,r,i)),i._s.get(n)}return a.$id=n,a}const qp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Vp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Wp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Yp={menuComingSoon:"القائمة قادمة قريباً"},Xp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Jp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Zp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Qp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},eg={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},tg={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"},og={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ng={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},rg={menuComingSoon:"Menü folgt in Kürze"},sg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},ag={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ig={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},lg={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},cg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ug={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},dg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},fg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},pg={menuComingSoon:"Menu coming soon"},gg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},hg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},mg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},bg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},_g={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},yg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},vg={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"},wg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},xg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},kg={menuComingSoon:"Menú próximamente"},$g={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Sg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Eg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Ag={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Cg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Tg={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"},Lg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Pg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Ig={menuComingSoon:"Menu bientôt disponible"},Mg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Fg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Og={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Dg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},jg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},zg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Bg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Ug={menuComingSoon:"मेनू शीघ्र आ रहा है"},Gg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Hg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Vg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Wg={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"},Kg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Yg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Xg={menuComingSoon:"Menu in arrivo"},Jg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Zg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Qg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},eh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},th={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"},oh={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},nh={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},rh={menuComingSoon:"Menu em breve"},sh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ah={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ih={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},lh={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},ch={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},uh={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ă"},dh={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},fh={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},ph={menuComingSoon:"Meniu în curând"},gh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},hh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},mh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},bh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},_h={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},yh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},vh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},wh={menuComingSoon:"Меню скоро появится"},xh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},kh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},$h={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Sh={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Eh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ah={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ch={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Th={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Lh={menuComingSoon:"菜单即将推出"},Ph={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ih={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Mh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -31,16 +31,16 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function Hh(e,t,o){return{line:e,column:t,offset:o}}function Wr(e,t,o){return{start:e,end:t}}const qh=/\{([0-9a-zA-Z]+)\}/g;function Yl(e,...t){return t.length===1&&Vh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(qh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Xl=Object.assign,Jl=e=>typeof e=="string",Vh=e=>e!==null&&typeof e=="object";function Zl(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Qs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Wh={[Qs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Kh(e,t,...o){const n=Yl(Wh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ee={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},Yh={[Ee.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ee.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ee.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ee.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ee.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ee.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ee.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ee.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ee.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ee.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ee.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ee.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ee.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ee.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function rn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Yl((r||Yh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=n,i}function Xh(e){throw e}const go=" ",Jh="\r",wt=` -`,Zh="\u2028",Qh="\u2029";function em(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===Jh&&t[$+1]===wt,i=$=>t[$]===wt,l=$=>t[$]===Qh,c=$=>t[$]===Zh,u=$=>a($)||i($)||l($)||c($),p=()=>o,m=()=>n,x=()=>r,S=()=>s,y=$=>a($)||l($)||c($)?wt:t[$],v=()=>y(o),A=()=>y(o+s);function _(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function d(){return a(o+s)&&s++,s++,t[o+s]}function f(){o=0,n=1,r=1,s=0}function g($=0){s=$}function k(){const $=o+s;for(;$!==o;)_();s=0}return{index:p,line:m,column:x,peekOffset:S,charAt:y,currentChar:v,currentPeek:A,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const Ao=void 0,tm=".",Ql="'",om="tokenizer";function nm(e,t={}){const o=t.location!==!1,n=em(e),r=()=>n.index(),s=()=>Hh(n.line(),n.column(),n.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,b,D,...K){const ie=c();if(b.column+=D,b.offset+=D,u){const se=o?Wr(ie.startLoc,b):null,O=rn(h,se,{domain:om,args:K});u(O)}}function m(h,b,D){h.endLoc=s(),h.currentType=b;const K={type:b};return o&&(K.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(K.value=D),K}const x=h=>m(h,14);function S(h,b){return h.currentChar()===b?(h.next(),b):(p(Ee.EXPECTED_TOKEN,s(),0,b),"")}function y(h){let b="";for(;h.currentPeek()===go||h.currentPeek()===wt;)b+=h.currentPeek(),h.peek();return b}function v(h){const b=y(h);return h.skipToPeek(),b}function A(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function _(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=48&&b<=57}function d(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function f(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()==="-"?h.peek():h.currentPeek(),ie=_(K);return h.resetPeek(),ie}function g(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()===Ql;return h.resetPeek(),K}function k(h,b){const{currentType:D}=b;if(D!==8)return!1;y(h);const K=h.currentPeek()===".";return h.resetPeek(),K}function $(h,b){const{currentType:D}=b;if(D!==9)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function M(h,b){const{currentType:D}=b;if(!(D===8||D===12))return!1;y(h);const K=h.currentPeek()===":";return h.resetPeek(),K}function L(h,b){const{currentType:D}=b;if(D!==10)return!1;const K=()=>{const se=h.currentPeek();return se==="{"?A(h.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===go||!se?!1:se===wt?(h.peek(),K()):Q(h,!1)},ie=K();return h.resetPeek(),ie}function j(h){y(h);const b=h.currentPeek()==="|";return h.resetPeek(),b}function V(h){const b=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:b.length>0}}function Q(h,b=!0){const D=(ie=!1,se="",O=!1)=>{const C=h.currentPeek();return C==="{"?se==="%"?!1:ie:C==="@"||!C?se==="%"?!0:ie:C==="%"?(h.peek(),D(ie,"%",!0)):C==="|"?se==="%"||O?!0:!(se===go||se===wt):C===go?(h.peek(),D(!0,go,O)):C===wt?(h.peek(),D(!0,wt,O)):!0},K=D();return b&&h.resetPeek(),K}function he(h,b){const D=h.currentChar();return D===Ao?Ao:b(D)?(h.next(),D):null}function B(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function X(h){return he(h,B)}function H(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function z(h){return he(h,H)}function P(h){const b=h.charCodeAt(0);return b>=48&&b<=57}function G(h){return he(h,P)}function F(h){const b=h.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function I(h){return he(h,F)}function q(h){let b="",D="";for(;b=G(h);)D+=b;return D}function ce(h){v(h);const b=h.currentChar();return b!=="%"&&p(Ee.EXPECTED_TOKEN,s(),0,b),h.next(),"%"}function be(h){let b="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Q(h))b+=D,h.next();else break;else if(D===go||D===wt)if(Q(h))b+=D,h.next();else{if(j(h))break;b+=D,h.next()}else b+=D,h.next()}return b}function $e(h){v(h);let b="",D="";for(;b=z(h);)D+=b;return h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Me(h){v(h);let b="";return h.currentChar()==="-"?(h.next(),b+=`-${q(h)}`):b+=q(h),h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b}function Ae(h){return h!==Ql&&h!==wt}function xe(h){v(h),S(h,"'");let b="",D="";for(;b=he(h,Ae);)b==="\\"?D+=_e(h):D+=b;const K=h.currentChar();return K===wt||K===Ao?(p(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),K===wt&&(h.next(),S(h,"'")),D):(S(h,"'"),D)}function _e(h){const b=h.currentChar();switch(b){case"\\":case"'":return h.next(),`\\${b}`;case"u":return ge(h,b,4);case"U":return ge(h,b,6);default:return p(Ee.UNKNOWN_ESCAPE_SEQUENCE,s(),0,b),""}}function ge(h,b,D){S(h,b);let K="";for(let ie=0;ie{const K=h.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===go?D:(D+=K,h.next(),b(D))};return b("")}function U(h){v(h);const b=S(h,"|");return v(h),b}function W(h,b){let D=null;switch(h.currentChar()){case"{":return b.braceNest>=1&&p(Ee.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=m(b,2,"{"),v(h),b.braceNest++,D;case"}":return b.braceNest>0&&b.currentType===2&&p(Ee.EMPTY_PLACEHOLDER,s(),0),h.next(),D=m(b,3,"}"),b.braceNest--,b.braceNest>0&&v(h),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),D;case"@":return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=Z(h,b)||x(b),b.braceNest=0,D;default:{let ie=!0,se=!0,O=!0;if(j(h))return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b.braceNest=0,ae(h,b);if(ie=d(h,b))return D=m(b,5,$e(h)),v(h),D;if(se=f(h,b))return D=m(b,6,Me(h)),v(h),D;if(O=g(h,b))return D=m(b,7,xe(h)),v(h),D;if(!ie&&!se&&!O)return D=m(b,13,w(h)),p(Ee.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Z(h,b){const{currentType:D}=b;let K=null;const ie=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(ie===wt||ie===go)&&p(Ee.INVALID_LINKED_FORMAT,s(),0),ie){case"@":return h.next(),K=m(b,8,"@"),b.inLinked=!0,K;case".":return v(h),h.next(),m(b,9,".");case":":return v(h),h.next(),m(b,10,":");default:return j(h)?(K=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,K):k(h,b)||M(h,b)?(v(h),Z(h,b)):$(h,b)?(v(h),m(b,12,T(h))):L(h,b)?(v(h),ie==="{"?W(h,b)||K:m(b,11,E(h))):(D===8&&p(Ee.INVALID_LINKED_FORMAT,s(),0),b.braceNest=0,b.inLinked=!1,ae(h,b))}}function ae(h,b){let D={type:14};if(b.braceNest>0)return W(h,b)||x(b);if(b.inLinked)return Z(h,b)||x(b);switch(h.currentChar()){case"{":return W(h,b)||x(b);case"}":return p(Ee.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),m(b,3,"}");case"@":return Z(h,b)||x(b);default:{if(j(h))return D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;const{isModulo:ie,hasSpace:se}=V(h);if(ie)return se?m(b,0,be(h)):m(b,4,ce(h));if(Q(h))return m(b,0,be(h));break}}return D}function te(){const{currentType:h,offset:b,startLoc:D,endLoc:K}=l;return l.lastType=h,l.lastOffset=b,l.lastStartLoc=D,l.lastEndLoc=K,l.offset=r(),l.startLoc=s(),n.currentChar()===Ao?m(l,14):ae(n,l)}return{nextToken:te,currentOffset:r,currentPosition:s,context:c}}const rm="parser",sm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function am(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function im(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const L=t?Wr(g,M):null,j=rn(f,L,{domain:rm,args:$});o(j)}}function s(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const L=t?Wr(g,M):null;n(Kh(f,L,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(5,k,$);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:M}=k,L=a(4,$,M);return L.key=f,g===!0&&(L.modulo=!0),d.nextToken(),i(L,d.currentOffset(),d.currentPosition()),L}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(9,k,$);return M.value=f.replace(sm,am),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function m(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(8,k,$);return f.type!==12?(r(d,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),M.value="",i(M,k,$),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Bt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function S(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=m(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=p(d,k.value||"");break;default:{r(d,Ee.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),M=a(7,$.offset,$.startLoc);return M.value="",i(M,$.offset,$.startLoc),g.key=M,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let M=null,L=null;do{const Q=M||d.nextToken();switch(M=null,Q.type){case 0:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(l(d,Q.value||""));break;case 6:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(c(d,Q.value||""));break;case 4:L=!0;break;case 5:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(u(d,Q.value||"",!!L)),L&&(s(d,Qs.USE_MODULO_SYNTAX,f.lastStartLoc,0,Bt(Q)),L=null);break;case 7:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(p(d,Q.value||""));break;case 8:{const he=S(d);$.items.push(he.node),M=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const j=f.currentType===1?f.lastOffset:d.currentOffset(),V=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,j,V),$}function v(d,f,g,k){const $=d.context();let M=k.items.length===0;const L=a(1,f,g);L.cases=[],L.cases.push(k);do{const j=y(d);M||(M=j.items.length===0),L.cases.push(j)}while($.currentType!==14);return M&&r(d,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(L,d.currentOffset(),d.currentPosition()),L}function A(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=nm(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=A(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function Bt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function lm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function ec(e,t){for(let o=0;otc(o)),e}function tc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function l(y,v){a.code+=y}function c(y,v=!0){const A=v?n:"";l(r?A+" ".repeat(y):A)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function m(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function gm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),an(e,t.key),t.modifier?(e.push(", "),an(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hm(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Jl(t.mode)?t.mode:"normal",n=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,Zh="\u2028",Qh="\u2029";function em(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===Jh&&t[$+1]===wt,i=$=>t[$]===wt,l=$=>t[$]===Qh,c=$=>t[$]===Zh,u=$=>a($)||i($)||l($)||c($),p=()=>o,m=()=>n,x=()=>r,S=()=>s,y=$=>a($)||l($)||c($)?wt:t[$],v=()=>y(o),A=()=>y(o+s);function _(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function d(){return a(o+s)&&s++,s++,t[o+s]}function f(){o=0,n=1,r=1,s=0}function g($=0){s=$}function k(){const $=o+s;for(;$!==o;)_();s=0}return{index:p,line:m,column:x,peekOffset:S,charAt:y,currentChar:v,currentPeek:A,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const Ao=void 0,tm=".",Ql="'",om="tokenizer";function nm(e,t={}){const o=t.location!==!1,n=em(e),r=()=>n.index(),s=()=>Hh(n.line(),n.column(),n.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,b,D,...K){const ie=c();if(b.column+=D,b.offset+=D,u){const se=o?Wr(ie.startLoc,b):null,O=rn(h,se,{domain:om,args:K});u(O)}}function m(h,b,D){h.endLoc=s(),h.currentType=b;const K={type:b};return o&&(K.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(K.value=D),K}const x=h=>m(h,14);function S(h,b){return h.currentChar()===b?(h.next(),b):(p(Ee.EXPECTED_TOKEN,s(),0,b),"")}function y(h){let b="";for(;h.currentPeek()===go||h.currentPeek()===wt;)b+=h.currentPeek(),h.peek();return b}function v(h){const b=y(h);return h.skipToPeek(),b}function A(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function _(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=48&&b<=57}function d(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function f(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()==="-"?h.peek():h.currentPeek(),ie=_(K);return h.resetPeek(),ie}function g(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()===Ql;return h.resetPeek(),K}function k(h,b){const{currentType:D}=b;if(D!==8)return!1;y(h);const K=h.currentPeek()===".";return h.resetPeek(),K}function $(h,b){const{currentType:D}=b;if(D!==9)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function M(h,b){const{currentType:D}=b;if(!(D===8||D===12))return!1;y(h);const K=h.currentPeek()===":";return h.resetPeek(),K}function L(h,b){const{currentType:D}=b;if(D!==10)return!1;const K=()=>{const se=h.currentPeek();return se==="{"?A(h.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===go||!se?!1:se===wt?(h.peek(),K()):Q(h,!1)},ie=K();return h.resetPeek(),ie}function j(h){y(h);const b=h.currentPeek()==="|";return h.resetPeek(),b}function V(h){const b=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:b.length>0}}function Q(h,b=!0){const D=(ie=!1,se="",O=!1)=>{const C=h.currentPeek();return C==="{"?se==="%"?!1:ie:C==="@"||!C?se==="%"?!0:ie:C==="%"?(h.peek(),D(ie,"%",!0)):C==="|"?se==="%"||O?!0:!(se===go||se===wt):C===go?(h.peek(),D(!0,go,O)):C===wt?(h.peek(),D(!0,wt,O)):!0},K=D();return b&&h.resetPeek(),K}function me(h,b){const D=h.currentChar();return D===Ao?Ao:b(D)?(h.next(),D):null}function B(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function X(h){return me(h,B)}function H(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function z(h){return me(h,H)}function P(h){const b=h.charCodeAt(0);return b>=48&&b<=57}function G(h){return me(h,P)}function F(h){const b=h.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function I(h){return me(h,F)}function q(h){let b="",D="";for(;b=G(h);)D+=b;return D}function ce(h){v(h);const b=h.currentChar();return b!=="%"&&p(Ee.EXPECTED_TOKEN,s(),0,b),h.next(),"%"}function he(h){let b="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Q(h))b+=D,h.next();else break;else if(D===go||D===wt)if(Q(h))b+=D,h.next();else{if(j(h))break;b+=D,h.next()}else b+=D,h.next()}return b}function $e(h){v(h);let b="",D="";for(;b=z(h);)D+=b;return h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Me(h){v(h);let b="";return h.currentChar()==="-"?(h.next(),b+=`-${q(h)}`):b+=q(h),h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b}function Ae(h){return h!==Ql&&h!==wt}function xe(h){v(h),S(h,"'");let b="",D="";for(;b=me(h,Ae);)b==="\\"?D+=_e(h):D+=b;const K=h.currentChar();return K===wt||K===Ao?(p(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),K===wt&&(h.next(),S(h,"'")),D):(S(h,"'"),D)}function _e(h){const b=h.currentChar();switch(b){case"\\":case"'":return h.next(),`\\${b}`;case"u":return ge(h,b,4);case"U":return ge(h,b,6);default:return p(Ee.UNKNOWN_ESCAPE_SEQUENCE,s(),0,b),""}}function ge(h,b,D){S(h,b);let K="";for(let ie=0;ie{const K=h.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===go?D:(D+=K,h.next(),b(D))};return b("")}function U(h){v(h);const b=S(h,"|");return v(h),b}function W(h,b){let D=null;switch(h.currentChar()){case"{":return b.braceNest>=1&&p(Ee.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=m(b,2,"{"),v(h),b.braceNest++,D;case"}":return b.braceNest>0&&b.currentType===2&&p(Ee.EMPTY_PLACEHOLDER,s(),0),h.next(),D=m(b,3,"}"),b.braceNest--,b.braceNest>0&&v(h),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),D;case"@":return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=Z(h,b)||x(b),b.braceNest=0,D;default:{let ie=!0,se=!0,O=!0;if(j(h))return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b.braceNest=0,ae(h,b);if(ie=d(h,b))return D=m(b,5,$e(h)),v(h),D;if(se=f(h,b))return D=m(b,6,Me(h)),v(h),D;if(O=g(h,b))return D=m(b,7,xe(h)),v(h),D;if(!ie&&!se&&!O)return D=m(b,13,w(h)),p(Ee.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Z(h,b){const{currentType:D}=b;let K=null;const ie=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(ie===wt||ie===go)&&p(Ee.INVALID_LINKED_FORMAT,s(),0),ie){case"@":return h.next(),K=m(b,8,"@"),b.inLinked=!0,K;case".":return v(h),h.next(),m(b,9,".");case":":return v(h),h.next(),m(b,10,":");default:return j(h)?(K=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,K):k(h,b)||M(h,b)?(v(h),Z(h,b)):$(h,b)?(v(h),m(b,12,T(h))):L(h,b)?(v(h),ie==="{"?W(h,b)||K:m(b,11,E(h))):(D===8&&p(Ee.INVALID_LINKED_FORMAT,s(),0),b.braceNest=0,b.inLinked=!1,ae(h,b))}}function ae(h,b){let D={type:14};if(b.braceNest>0)return W(h,b)||x(b);if(b.inLinked)return Z(h,b)||x(b);switch(h.currentChar()){case"{":return W(h,b)||x(b);case"}":return p(Ee.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),m(b,3,"}");case"@":return Z(h,b)||x(b);default:{if(j(h))return D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;const{isModulo:ie,hasSpace:se}=V(h);if(ie)return se?m(b,0,he(h)):m(b,4,ce(h));if(Q(h))return m(b,0,he(h));break}}return D}function te(){const{currentType:h,offset:b,startLoc:D,endLoc:K}=l;return l.lastType=h,l.lastOffset=b,l.lastStartLoc=D,l.lastEndLoc=K,l.offset=r(),l.startLoc=s(),n.currentChar()===Ao?m(l,14):ae(n,l)}return{nextToken:te,currentOffset:r,currentPosition:s,context:c}}const rm="parser",sm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function am(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function im(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const L=t?Wr(g,M):null,j=rn(f,L,{domain:rm,args:$});o(j)}}function s(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const L=t?Wr(g,M):null;n(Kh(f,L,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(5,k,$);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:M}=k,L=a(4,$,M);return L.key=f,g===!0&&(L.modulo=!0),d.nextToken(),i(L,d.currentOffset(),d.currentPosition()),L}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(9,k,$);return M.value=f.replace(sm,am),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function m(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(8,k,$);return f.type!==12?(r(d,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),M.value="",i(M,k,$),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Bt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function S(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=m(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=p(d,k.value||"");break;default:{r(d,Ee.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),M=a(7,$.offset,$.startLoc);return M.value="",i(M,$.offset,$.startLoc),g.key=M,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let M=null,L=null;do{const Q=M||d.nextToken();switch(M=null,Q.type){case 0:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(l(d,Q.value||""));break;case 6:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(c(d,Q.value||""));break;case 4:L=!0;break;case 5:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(u(d,Q.value||"",!!L)),L&&(s(d,Qs.USE_MODULO_SYNTAX,f.lastStartLoc,0,Bt(Q)),L=null);break;case 7:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(p(d,Q.value||""));break;case 8:{const me=S(d);$.items.push(me.node),M=me.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const j=f.currentType===1?f.lastOffset:d.currentOffset(),V=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,j,V),$}function v(d,f,g,k){const $=d.context();let M=k.items.length===0;const L=a(1,f,g);L.cases=[],L.cases.push(k);do{const j=y(d);M||(M=j.items.length===0),L.cases.push(j)}while($.currentType!==14);return M&&r(d,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(L,d.currentOffset(),d.currentPosition()),L}function A(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=nm(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=A(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function Bt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function lm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function ec(e,t){for(let o=0;otc(o)),e}function tc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function l(y,v){a.code+=y}function c(y,v=!0){const A=v?n:"";l(r?A+" ".repeat(y):A)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function m(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function gm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),an(e,t.key),t.modifier?(e.push(", "),an(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hm(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Jl(t.mode)?t.mode:"normal",n=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],i=pm(e,{filename:n,breakLineCode:r,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${Zl(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),an(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function ym(e,t={}){const o=Xl({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,i=im(o).parse(e);return n?(s&&um(i),r&&sn(i),{ast:i,code:""}):(cm(i,o),_m(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function vm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function eo(e){return ze(e)&&ta(e)===0&&(zt(e,"b")||zt(e,"body"))}const oc=["b","body"];function wm(e){return Co(e,oc)}const nc=["c","cases"];function xm(e){return Co(e,nc,[])}const rc=["s","static"];function km(e){return Co(e,rc)}const sc=["i","items"];function $m(e){return Co(e,sc,[])}const ac=["t","type"];function ta(e){return Co(e,ac)}const ic=["v","value"];function Kr(e,t){const o=Co(e,ic);if(o!=null)return o;throw Gn(t)}const lc=["m","modifier"];function Sm(e){return Co(e,lc)}const cc=["k","key"];function Em(e){const t=Co(e,cc);if(t)return t;throw Gn(6)}function Co(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=Pm(a),a===!1))return!1;m[1]()}};function x(){const S=e[o+1];if(n===5&&S==="'"||n===6&&S==='"')return o++,i="\\"+S,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&x())){if(l=Lm(s),p=To[n],c=p[l]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const dc=new Map;function Mm(e,t){return ze(e)?e[t]:null}function Nm(e,t){if(!ze(e))return null;let o=dc.get(t);if(o||(o=Im(t),o&&dc.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,Fm=e=>"",Om="text",Dm=e=>e.length===0?"":Gh(e),jm=Uh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function zm(e){const t=rt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(rt(e.named.count)||rt(e.named.n))?rt(e.named.count)?e.named.count:rt(e.named.n)?e.named.n:t:t}function Bm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Um(e={}){const t=e.locale,o=zm(e),n=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:fc,r=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?fc:void 0,s=A=>A[n(o,A.length,r)],a=e.list||[],i=A=>a[A],l=e.named||He();rt(e.pluralIndex)&&Bm(o,l);const c=A=>l[A];function u(A){const _=Xe(e.messages)?e.messages(A):ze(e.messages)?e.messages[A]:!1;return _||(e.parent?e.parent.message(A):Fm)}const p=A=>e.modifiers?e.modifiers[A]:Rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:Dm,x=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:jm,S=Pe(e.processor)&&fe(e.processor.type)?e.processor.type:Om,v={list:i,named:c,plural:s,linked:(A,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?ze(d)?(k=d.modifier||k,g=d.type||g):fe(d)&&(k=d||k):_.length===2&&(fe(d)&&(k=d||k),fe(f)&&(g=f||g));const $=u(A)(v),M=g==="vnode"&&Je($)&&k?$[0]:$;return k?p(k)(M,g):M},message:u,type:S,interpolate:x,normalize:m,values:pt(He(),a,l)};return v}let Hn=null;function Gm(e){Hn=e}function Hm(e,t,o){Hn&&Hn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const qm=Vm("function:translate");function Vm(e){return t=>Hn&&Hn.emit(e,t)}const Wm=Qs.__EXTEND_POINT__,zo=Hr(Wm),Km={FALLBACK_TO_TRANSLATE:zo(),CANNOT_FORMAT_NUMBER:zo(),FALLBACK_TO_NUMBER_FORMAT:zo(),CANNOT_FORMAT_DATE:zo(),FALLBACK_TO_DATE_FORMAT:zo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:zo(),__EXTEND_POINT__:zo()},pc=Ee.__EXTEND_POINT__,Bo=Hr(pc),Ut={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:Bo(),INVALID_ISO_DATE_ARGUMENT:Bo(),NOT_SUPPORT_NON_STRING_MESSAGE:Bo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Bo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Bo(),NOT_SUPPORT_LOCALE_TYPE:Bo(),__EXTEND_POINT__:Bo()};function to(e){return rn(e,null,void 0)}function oa(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(fe(e))return e;if(Xe(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Bh(t))throw to(Ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw to(Ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw to(Ut.NOT_SUPPORT_LOCALE_TYPE)}function Ym(e,t,o){return[...new Set([o,...Je(t)?t:ze(t)?Object.keys(t):fe(t)?[t]:[o]])]}function hc(e,t,o){const n=fe(o)?o:ln,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Je(a);)a=mc(s,a,t);const i=Je(t)||!Pe(t)?t:t.default?t.default:null;a=fe(i)?[i]:i,Je(a)&&mc(s,a,!1),r.__localeChainCache.set(n,s)}return s}function mc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qm(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?_c(e):t==="vnode"&&ze(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function eb(e){wc=e}let xc;function tb(e){xc=e}let kc=null;const ob=e=>{kc=e},nb=()=>kc;let $c=null;const Sc=e=>{$c=e},rb=()=>$c;let Ec=0;function sb(e={}){const t=Xe(e.onWarn)?e.onWarn:Nh,o=fe(e.version)?e.version:Zm,n=fe(e.locale)||Xe(e.locale)?e.locale:ln,r=Xe(n)?ln:n,s=Je(e.fallbackLocale)||Pe(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:ra(r),i=Pe(e.datetimeFormats)?e.datetimeFormats:ra(r),l=Pe(e.numberFormats)?e.numberFormats:ra(r),c=pt(He(),e.modifiers,Qm()),u=e.pluralRules||He(),p=Xe(e.missing)?e.missing:null,m=Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,x=Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,y=!!e.unresolving,v=Xe(e.postTranslation)?e.postTranslation:null,A=Pe(e.processor)?e.processor:null,_=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Xe(e.messageCompiler)?e.messageCompiler:yc,g=Xe(e.messageResolver)?e.messageResolver:wc||Mm,k=Xe(e.localeFallbacker)?e.localeFallbacker:xc||Ym,$=ze(e.fallbackContext)?e.fallbackContext:void 0,M=e,L=ze(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,j=ze(M.__numberFormatters)?M.__numberFormatters:new Map,V=ze(M.__meta)?M.__meta:{};Ec++;const Q={version:o,cid:Ec,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:x,fallbackFormat:S,unresolving:y,postTranslation:v,processor:A,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:V};return Q.datetimeFormats=i,Q.numberFormats=l,Q.__datetimeFormatters=L,Q.__numberFormatters=j,__INTLIFY_PROD_DEVTOOLS__&&Hm(Q,o,V),Q}const ra=e=>({[e]:He()});function sa(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,o,t,r);return fe(i)?i:t}else return t}function qn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function ab(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ib(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nlb(o,e)}function lb(e,t){const o=wm(t);if(o==null)throw Gn(0);if(ta(o)===1){const s=xm(o);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,o)}function Ac(e,t){const o=km(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=$m(t).reduce((r,s)=>[...r,ia(e,s)],[]);return e.normalize(n)}}function ia(e,t){const o=ta(t);switch(o){case 3:return Kr(t,o);case 9:return Kr(t,o);case 4:{const n=t;if(zt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(zt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Gn(o)}case 5:{const n=t;if(zt(n,"i")&&rt(n.i))return e.interpolate(e.list(n.i));if(zt(n,"index")&&rt(n.index))return e.interpolate(e.list(n.index));throw Gn(o)}case 6:{const n=t,r=Sm(n),s=Em(n);return e.linked(ia(e,s),r?ia(e,r):void 0,e.type)}case 7:return Kr(t,o);case 8:return Kr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Cc=e=>e;let cn=He();function Tc(e,t={}){let o=!1;const n=t.onError||Xh;return t.onError=r=>{o=!0,n(r)},{...ym(e,t),detectError:o}}const cb=(e,t)=>{if(!fe(e))throw to(Ut.NOT_SUPPORT_NON_STRING_MESSAGE);{Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:cn[n]=i}};function ub(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=aa(s);return a?i:cn[n]=i}else{const o=e.cacheKey;if(o){const n=cn[o];return n||(cn[o]=aa(e))}else return aa(e)}}const Lc=()=>"",It=e=>Xe(e);function Pc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=la(...t),u=Fe(c.missingWarn)?c.missingWarn:e.missingWarn,p=Fe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Fe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,S=fe(c.default)||Fe(c.default)?Fe(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",y=o||S!=="",v=oa(e,c);m&&db(c);let[A,_,d]=x?[l,v,i[v]||He()]:Ic(e,l,v,a,p,u),f=A,g=l;if(!x&&!(fe(f)||eo(f)||It(f))&&y&&(f=S,g=f),!x&&(!(fe(f)||eo(f)||It(f))||!fe(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},M=It(f)?f:Mc(e,l,_,f,g,$);if(k)return f;const L=gb(e,_,d,c),j=Um(L),V=fb(e,M,j);let Q=n?n(V,l):V;if(m&&fe(Q)&&(Q=jh(Q)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:fe(l)?l:It(f)?f.key:"",locale:_||(It(f)?f.locale:""),format:fe(f)?f:It(f)?f.source:"",message:Q};he.meta=pt({},e.__meta,nb()||{}),qm(he)}return Q}function db(e){Je(e.list)?e.list=e.list.map(t=>fe(t)?ql(t):t):ze(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=ql(e.named[t]))})}function Ic(e,t,o,n,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let p=He(),m,x=null;const S="translate";for(let y=0;yn;return c.locale=o,c.key=t,c}const l=a(n,pb(e,o,r,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function fb(e,t,o){return t(o)}function la(...e){const[t,o,n]=e,r=He();if(!fe(t)&&!rt(t)&&!It(t)&&!eo(t))throw to(Ut.INVALID_ARGUMENT);const s=rt(t)?String(t):(It(t),t);return rt(o)?r.plural=o:fe(o)?r.default=o:Pe(o)&&!Gr(o)?r.named=o:Je(o)&&(r.list=o),rt(n)?r.plural=n:fe(n)?r.default=n:Pe(n)&&pt(r,n),[s,r]}function pb(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Rh(t,o,a)}}function gb(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:x=>{let S=a(o,x);if(S==null&&u){const[,,y]=Ic(u,x,t,i,l,c);S=a(y,x)}if(fe(S)||eo(S)){let y=!1;const A=Mc(e,x,t,S,x,()=>{y=!0});return y?Lc:A}else return It(S)?S:Lc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),rt(n.plural)&&(m.pluralIndex=n.plural),m}function Nc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ca(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.DateTimeFormat(S,p).format(c);let v={},A,_=null;const d="datetime format";for(let k=0;k{Rc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function Fc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ua(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.NumberFormat(S,p).format(c);let v={},A,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}vm();/*! + */function vm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function eo(e){return ze(e)&&ta(e)===0&&(zt(e,"b")||zt(e,"body"))}const oc=["b","body"];function wm(e){return Co(e,oc)}const nc=["c","cases"];function xm(e){return Co(e,nc,[])}const rc=["s","static"];function km(e){return Co(e,rc)}const sc=["i","items"];function $m(e){return Co(e,sc,[])}const ac=["t","type"];function ta(e){return Co(e,ac)}const ic=["v","value"];function Kr(e,t){const o=Co(e,ic);if(o!=null)return o;throw Gn(t)}const lc=["m","modifier"];function Sm(e){return Co(e,lc)}const cc=["k","key"];function Em(e){const t=Co(e,cc);if(t)return t;throw Gn(6)}function Co(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=Pm(a),a===!1))return!1;m[1]()}};function x(){const S=e[o+1];if(n===5&&S==="'"||n===6&&S==='"')return o++,i="\\"+S,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&x())){if(l=Lm(s),p=To[n],c=p[l]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const dc=new Map;function Mm(e,t){return ze(e)?e[t]:null}function Nm(e,t){if(!ze(e))return null;let o=dc.get(t);if(o||(o=Im(t),o&&dc.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,Fm=e=>"",Om="text",Dm=e=>e.length===0?"":Gh(e),jm=Uh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function zm(e){const t=rt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(rt(e.named.count)||rt(e.named.n))?rt(e.named.count)?e.named.count:rt(e.named.n)?e.named.n:t:t}function Bm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Um(e={}){const t=e.locale,o=zm(e),n=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:fc,r=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?fc:void 0,s=A=>A[n(o,A.length,r)],a=e.list||[],i=A=>a[A],l=e.named||He();rt(e.pluralIndex)&&Bm(o,l);const c=A=>l[A];function u(A){const _=Xe(e.messages)?e.messages(A):ze(e.messages)?e.messages[A]:!1;return _||(e.parent?e.parent.message(A):Fm)}const p=A=>e.modifiers?e.modifiers[A]:Rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:Dm,x=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:jm,S=Pe(e.processor)&&fe(e.processor.type)?e.processor.type:Om,v={list:i,named:c,plural:s,linked:(A,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?ze(d)?(k=d.modifier||k,g=d.type||g):fe(d)&&(k=d||k):_.length===2&&(fe(d)&&(k=d||k),fe(f)&&(g=f||g));const $=u(A)(v),M=g==="vnode"&&Je($)&&k?$[0]:$;return k?p(k)(M,g):M},message:u,type:S,interpolate:x,normalize:m,values:pt(He(),a,l)};return v}let Hn=null;function Gm(e){Hn=e}function Hm(e,t,o){Hn&&Hn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const qm=Vm("function:translate");function Vm(e){return t=>Hn&&Hn.emit(e,t)}const Wm=Qs.__EXTEND_POINT__,zo=Hr(Wm),Km={FALLBACK_TO_TRANSLATE:zo(),CANNOT_FORMAT_NUMBER:zo(),FALLBACK_TO_NUMBER_FORMAT:zo(),CANNOT_FORMAT_DATE:zo(),FALLBACK_TO_DATE_FORMAT:zo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:zo(),__EXTEND_POINT__:zo()},pc=Ee.__EXTEND_POINT__,Bo=Hr(pc),Ut={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:Bo(),INVALID_ISO_DATE_ARGUMENT:Bo(),NOT_SUPPORT_NON_STRING_MESSAGE:Bo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Bo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Bo(),NOT_SUPPORT_LOCALE_TYPE:Bo(),__EXTEND_POINT__:Bo()};function to(e){return rn(e,null,void 0)}function oa(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(fe(e))return e;if(Xe(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Bh(t))throw to(Ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw to(Ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw to(Ut.NOT_SUPPORT_LOCALE_TYPE)}function Ym(e,t,o){return[...new Set([o,...Je(t)?t:ze(t)?Object.keys(t):fe(t)?[t]:[o]])]}function hc(e,t,o){const n=fe(o)?o:ln,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Je(a);)a=mc(s,a,t);const i=Je(t)||!Pe(t)?t:t.default?t.default:null;a=fe(i)?[i]:i,Je(a)&&mc(s,a,!1),r.__localeChainCache.set(n,s)}return s}function mc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qm(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?_c(e):t==="vnode"&&ze(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function eb(e){wc=e}let xc;function tb(e){xc=e}let kc=null;const ob=e=>{kc=e},nb=()=>kc;let $c=null;const Sc=e=>{$c=e},rb=()=>$c;let Ec=0;function sb(e={}){const t=Xe(e.onWarn)?e.onWarn:Nh,o=fe(e.version)?e.version:Zm,n=fe(e.locale)||Xe(e.locale)?e.locale:ln,r=Xe(n)?ln:n,s=Je(e.fallbackLocale)||Pe(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:ra(r),i=Pe(e.datetimeFormats)?e.datetimeFormats:ra(r),l=Pe(e.numberFormats)?e.numberFormats:ra(r),c=pt(He(),e.modifiers,Qm()),u=e.pluralRules||He(),p=Xe(e.missing)?e.missing:null,m=Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,x=Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,y=!!e.unresolving,v=Xe(e.postTranslation)?e.postTranslation:null,A=Pe(e.processor)?e.processor:null,_=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Xe(e.messageCompiler)?e.messageCompiler:yc,g=Xe(e.messageResolver)?e.messageResolver:wc||Mm,k=Xe(e.localeFallbacker)?e.localeFallbacker:xc||Ym,$=ze(e.fallbackContext)?e.fallbackContext:void 0,M=e,L=ze(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,j=ze(M.__numberFormatters)?M.__numberFormatters:new Map,V=ze(M.__meta)?M.__meta:{};Ec++;const Q={version:o,cid:Ec,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:x,fallbackFormat:S,unresolving:y,postTranslation:v,processor:A,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:V};return Q.datetimeFormats=i,Q.numberFormats=l,Q.__datetimeFormatters=L,Q.__numberFormatters=j,__INTLIFY_PROD_DEVTOOLS__&&Hm(Q,o,V),Q}const ra=e=>({[e]:He()});function sa(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,o,t,r);return fe(i)?i:t}else return t}function qn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function ab(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ib(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nlb(o,e)}function lb(e,t){const o=wm(t);if(o==null)throw Gn(0);if(ta(o)===1){const s=xm(o);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,o)}function Ac(e,t){const o=km(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=$m(t).reduce((r,s)=>[...r,ia(e,s)],[]);return e.normalize(n)}}function ia(e,t){const o=ta(t);switch(o){case 3:return Kr(t,o);case 9:return Kr(t,o);case 4:{const n=t;if(zt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(zt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Gn(o)}case 5:{const n=t;if(zt(n,"i")&&rt(n.i))return e.interpolate(e.list(n.i));if(zt(n,"index")&&rt(n.index))return e.interpolate(e.list(n.index));throw Gn(o)}case 6:{const n=t,r=Sm(n),s=Em(n);return e.linked(ia(e,s),r?ia(e,r):void 0,e.type)}case 7:return Kr(t,o);case 8:return Kr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Cc=e=>e;let cn=He();function Tc(e,t={}){let o=!1;const n=t.onError||Xh;return t.onError=r=>{o=!0,n(r)},{...ym(e,t),detectError:o}}const cb=(e,t)=>{if(!fe(e))throw to(Ut.NOT_SUPPORT_NON_STRING_MESSAGE);{Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:cn[n]=i}};function ub(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=aa(s);return a?i:cn[n]=i}else{const o=e.cacheKey;if(o){const n=cn[o];return n||(cn[o]=aa(e))}else return aa(e)}}const Lc=()=>"",It=e=>Xe(e);function Pc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=la(...t),u=Fe(c.missingWarn)?c.missingWarn:e.missingWarn,p=Fe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Fe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,S=fe(c.default)||Fe(c.default)?Fe(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",y=o||S!=="",v=oa(e,c);m&&db(c);let[A,_,d]=x?[l,v,i[v]||He()]:Ic(e,l,v,a,p,u),f=A,g=l;if(!x&&!(fe(f)||eo(f)||It(f))&&y&&(f=S,g=f),!x&&(!(fe(f)||eo(f)||It(f))||!fe(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},M=It(f)?f:Mc(e,l,_,f,g,$);if(k)return f;const L=gb(e,_,d,c),j=Um(L),V=fb(e,M,j);let Q=n?n(V,l):V;if(m&&fe(Q)&&(Q=jh(Q)),__INTLIFY_PROD_DEVTOOLS__){const me={timestamp:Date.now(),key:fe(l)?l:It(f)?f.key:"",locale:_||(It(f)?f.locale:""),format:fe(f)?f:It(f)?f.source:"",message:Q};me.meta=pt({},e.__meta,nb()||{}),qm(me)}return Q}function db(e){Je(e.list)?e.list=e.list.map(t=>fe(t)?ql(t):t):ze(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=ql(e.named[t]))})}function Ic(e,t,o,n,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let p=He(),m,x=null;const S="translate";for(let y=0;yn;return c.locale=o,c.key=t,c}const l=a(n,pb(e,o,r,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function fb(e,t,o){return t(o)}function la(...e){const[t,o,n]=e,r=He();if(!fe(t)&&!rt(t)&&!It(t)&&!eo(t))throw to(Ut.INVALID_ARGUMENT);const s=rt(t)?String(t):(It(t),t);return rt(o)?r.plural=o:fe(o)?r.default=o:Pe(o)&&!Gr(o)?r.named=o:Je(o)&&(r.list=o),rt(n)?r.plural=n:fe(n)?r.default=n:Pe(n)&&pt(r,n),[s,r]}function pb(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Rh(t,o,a)}}function gb(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:x=>{let S=a(o,x);if(S==null&&u){const[,,y]=Ic(u,x,t,i,l,c);S=a(y,x)}if(fe(S)||eo(S)){let y=!1;const A=Mc(e,x,t,S,x,()=>{y=!0});return y?Lc:A}else return It(S)?S:Lc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),rt(n.plural)&&(m.pluralIndex=n.plural),m}function Nc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ca(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.DateTimeFormat(S,p).format(c);let v={},A,_=null;const d="datetime format";for(let k=0;k{Rc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function Fc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ua(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.NumberFormat(S,p).format(c);let v={},A,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}vm();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const hb="9.14.5";function mb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(po().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(po().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1)}const bb=Km.__EXTEND_POINT__,ho=Hr(bb);ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho();const zc=Ut.__EXTEND_POINT__,$t=Hr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:$t(),MUST_BE_CALL_SETUP_TOP:$t(),NOT_INSTALLED:$t(),NOT_AVAILABLE_IN_LEGACY_MODE:$t(),REQUIRED_VALUE:$t(),INVALID_VALUE:$t(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:$t(),NOT_INSTALLED_WITH_PROVIDE:$t(),UNEXPECTED_ERROR:$t(),NOT_COMPATIBLE_LEGACY_VUE_I18N:$t(),BRIDGE_SUPPORT_VUE_2_ONLY:$t(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:$t(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:$t(),__EXTEND_POINT__:$t()};function lt(e,...t){return rn(e,null,void 0)}const da=So("__translateVNode"),fa=So("__datetimeParts"),pa=So("__numberParts"),Bc=So("__setPluralRules"),Uc=So("__injectWithOption"),ga=So("__dispose");function Vn(e){if(!ze(e)||eo(e))return e;for(const t in e)if(zt(e,t))if(!t.includes("."))ze(e[t])&&Vn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||He(),Vr(c,a[l])):Vr(c,a)}else fe(i)&&Vr(JSON.parse(i),a)}),r==null&&s)for(const i in a)zt(a,i)&&Vn(a[i]);return a}function Gc(e){return e.type}function Hc(e,t,o){let n=ze(t.messages)?t.messages:He();"__i18nGlobal"in o&&(n=Xr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(ze(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ze(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function qc(e){return Oe(Nn,null,e,0)}const Vc="__INTLIFY_META__",Wc=()=>[],_b=()=>!1;let Kc=0;function Yc(e){return(t,o,n,r)=>e(o,n,uo()||void 0,r)}const yb=()=>{const e=uo();let t=null;return e&&(t=Gc(e)[Vc])?{[Vc]:t}:null};function ha(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Ur?de:Sn,i=!!e.translateExistCompatible;let l=Fe(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:fe(e.locale)?e.locale:ln),u=a(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let S=o?o.missingWarn:Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,y=o?o.fallbackWarn:Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,v=o?o.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,A=!!e.fallbackFormat,_=Xe(e.missing)?e.missing:null,d=Xe(e.missing)?Yc(e.missing):null,f=Xe(e.postTranslation)?e.postTranslation:null,g=o?o.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,L;L=(()=>{r&&Sc(null);const O={version:hb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:M,missing:d===null?void 0:d,missingWarn:S,fallbackWarn:y,fallbackFormat:A,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=x.value,O.__datetimeFormatters=Pe(L)?L.__datetimeFormatters:void 0,O.__numberFormatters=Pe(L)?L.__numberFormatters:void 0;const C=sb(O);return r&&Sc(C),C})(),qn(L,c.value,u.value);function V(){return[c.value,u.value,p.value,m.value,x.value]}const Q=re({get:()=>c.value,set:O=>{c.value=O,L.locale=c.value}}),he=re({get:()=>u.value,set:O=>{u.value=O,L.fallbackLocale=u.value,qn(L,c.value,O)}}),B=re(()=>p.value),X=re(()=>m.value),H=re(()=>x.value);function z(){return Xe(f)?f:null}function P(O){f=O,L.postTranslation=O}function G(){return _}function F(O){O!==null&&(d=Yc(O)),_=O,L.missing=d}const I=(O,C,J,oe,me,ke)=>{V();let qe;try{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=o?rb():void 0),qe=O(L)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=void 0)}if(J!=="translate exists"&&rt(qe)&&qe===Yr||J==="translate exists"&&!qe){const[We,kt]=C();return o&&v?oe(o):me(We)}else{if(ke(qe))return qe;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function q(...O){return I(C=>Reflect.apply(Pc,null,[C,...O]),()=>la(...O),"translate",C=>Reflect.apply(C.t,C,[...O]),C=>C,C=>fe(C))}function ce(...O){const[C,J,oe]=O;if(oe&&!ze(oe))throw lt(at.INVALID_ARGUMENT);return q(C,J,pt({resolvedMessage:!0},oe||{}))}function be(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>Reflect.apply(C.d,C,[...O]),()=>bc,C=>fe(C))}function $e(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>Reflect.apply(C.n,C,[...O]),()=>bc,C=>fe(C))}function Me(O){return O.map(C=>fe(C)||rt(C)||Fe(C)?qc(String(C)):C)}const xe={normalize:Me,interpolate:O=>O,type:"vnode"};function _e(...O){return I(C=>{let J;const oe=C;try{oe.processor=xe,J=Reflect.apply(Pc,null,[oe,...O])}finally{oe.processor=null}return J},()=>la(...O),"translate",C=>C[da](...O),C=>[qc(C)],C=>Je(C))}function ge(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>C[pa](...O),Wc,C=>fe(C)||Je(C))}function ye(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>C[fa](...O),Wc,C=>fe(C)||Je(C))}function w(O){M=O,L.pluralRules=M}function T(O,C){return I(()=>{if(!O)return!1;const J=fe(C)?C:c.value,oe=W(J),me=L.messageResolver(oe,O);return i?me!=null:eo(me)||It(me)||fe(me)},()=>[O],"translate exists",J=>Reflect.apply(J.te,J,[O,C]),_b,J=>Fe(J))}function E(O){let C=null;const J=hc(L,u.value,c.value);for(let oe=0;oe{l&&(c.value=O,L.locale=O,qn(L,c.value,u.value))}),dt(o.fallbackLocale,O=>{l&&(u.value=O,L.fallbackLocale=O,qn(L,c.value,u.value))}));const se={id:Kc,locale:Q,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,qn(L,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:B,get modifiers(){return $},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(O){S=O,L.missingWarn=S},get fallbackWarn(){return y},set fallbackWarn(O){y=O,L.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(O){v=O},get fallbackFormat(){return A},set fallbackFormat(O){A=O,L.fallbackFormat=A},get warnHtmlMessage(){return g},set warnHtmlMessage(O){g=O,L.warnHtmlMessage=O},get escapeParameter(){return k},set escapeParameter(O){k=O,L.escapeParameter=O},t:q,getLocaleMessage:W,setLocaleMessage:Z,mergeLocaleMessage:ae,getPostTranslationHandler:z,setPostTranslationHandler:P,getMissingHandler:G,setMissingHandler:F,[Bc]:w};return se.datetimeFormats=X,se.numberFormats=H,se.rt=ce,se.te=T,se.tm=U,se.d=be,se.n=$e,se.getDateTimeFormat=te,se.setDateTimeFormat=h,se.mergeDateTimeFormat=b,se.getNumberFormat=D,se.setNumberFormat=K,se.mergeNumberFormat=ie,se[Uc]=n,se[da]=_e,se[fa]=ye,se[pa]=ge,se}function vb(e){const t=fe(e.locale)?e.locale:ln,o=fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=Fe(e.silentTranslationWarn)||Eo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Fe(e.silentFallbackWarn)||Eo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Fe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,x=Fe(e.sync)?e.sync:!0;let S=e.messages;if(Pe(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((M,L)=>{const j=M[L]||(M[L]={});return pt(j,k[L]),M},S||{})}const{__i18n:y,__root:v,__injectWithOption:A}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:S,flatJson:f,datetimeFormats:_,numberFormats:d,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:A}}function ma(e={},t){{const o=ha(vb(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Fe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Fe(s)?!s:s},get silentFallbackWarn(){return Fe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Fe(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:Je(i)?u=i:Pe(i)&&(p=i),Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:rt(i)?c.plural=i:Je(i)?u=i:Pe(i)&&(p=i),fe(l)?c.locale=l:Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const ba={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function wb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ie?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},He())}function Xc(e){return Ie}const Jc=Ln({name:"i18n-t",props:pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>rt(e)||!isNaN(e)}},ba),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||un({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(p=>p!=="_"),a=He();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=fe(e.plural)?+e.plural:e.plural);const i=wb(t,s),l=r[da](e.keypath,i,a),c=pt(He(),n),u=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function xb(e){return Je(e)&&!fe(e[0])}function Zc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=He();e.locale&&(a.locale=e.locale),fe(e.format)?a.key=e.format:ze(e.format)&&(fe(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((m,x)=>o.includes(x)?pt(He(),m,{[x]:e.format[x]}):m,He()));const l=n(e.value,a,i);let c=[a.key];Je(l)?c=l.map((m,x)=>{const S=r[m.type],y=S?S({[m.type]:m.value,index:x,parts:l}):[m.value];return xb(y)&&(y[0].key=`${m.type}-${x}`),y}):fe(l)&&(c=[l]);const u=pt(He(),s),p=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Ln({name:"i18n-n",props:pt({value:{type:Number,required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...n)=>o[pa](...n))}}),eu=Ln({name:"i18n-d",props:pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Rc,(...n)=>o[fa](...n))}});function kb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function $b(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=kb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...ou(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=dt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...ou(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(fe(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function ou(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},i=n||{};return fe(o)&&(a.locale=o),rt(r)&&(a.plural=r),rt(s)&&(a.plural=s),[t,i,a]}function Sb(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Fe(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",$b(t))}function Eb(e,t,o){return{beforeCreate(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=nu(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ma(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=nu(e,r);else{this.$i18n=ma({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Hc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function nu(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Bc](t.pluralizationRules||e.pluralizationRules);const o=Xr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Ab=So("global-vue-i18n");function Cb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Fe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Fe(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,i]=Tb(e,o),l=So("");function c(m){return s.get(m)||null}function u(m,x){s.set(m,x)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(x,...S){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,m),Pe(S[0])){const A=S[0];m.__composerExtend=A.__composerExtend,m.__vueI18nExtend=A.__vueI18nExtend}let y=null;!o&&n&&(y=Db(x,m.global)),__VUE_I18N_FULL_INSTALL__&&Sb(x,m,...S),__VUE_I18N_LEGACY_API__&&o&&x.mixin(Eb(i,i.__composer,m));const v=x.unmount;x.unmount=()=>{y&&y(),m.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function un(e={}){const t=uo();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const o=Lb(t),n=Ib(o),r=Gc(t),s=Pb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Fb(t,s,n,e)}if(s==="global")return Hc(n,e,r),n;if(s==="parent"){let l=Mb(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=pt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=ha(l),a.__composerExtend&&(i[ga]=a.__composerExtend(i)),Rb(a,t,i),a.__setInstance(t,i)}return i}function Tb(e,t,o){const n=fs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ma(e)):n.run(()=>ha(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[n,r]}}function Lb(e){{const t=Le(e.isCE?Ab:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Pb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Ib(e){return e.mode==="composition"?e.global:e.global.__composer}function Mb(e,t,o=!1){let n=null;const r=t.root;let s=Nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Uc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function Nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Rb(e,t,o){_t(()=>{},t),Cr(()=>{const n=o;e.__deleteInstance(t);const r=n[ga];r&&(r(),delete n[ga])},t)}function Fb(e,t,o,n={}){const r=t==="local",s=Sn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Fe(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!r||a?o.locale.value:fe(n.locale)?n.locale:ln),l=de(!r||a?o.fallbackLocale.value:fe(n.fallbackLocale)||Je(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=de(Xr(i.value,n)),u=de(Pe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=de(Pe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),m=r?o.missingWarn:Fe(n.missingWarn)||Eo(n.missingWarn)?n.missingWarn:!0,x=r?o.fallbackWarn:Fe(n.fallbackWarn)||Eo(n.fallbackWarn)?n.fallbackWarn:!0,S=r?o.fallbackRoot:Fe(n.fallbackRoot)?n.fallbackRoot:!0,y=!!n.fallbackFormat,v=Xe(n.missing)?n.missing:null,A=Xe(n.postTranslation)?n.postTranslation:null,_=r?o.warnHtmlMessage:Fe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,f=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},g=n.pluralRules||r&&o.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:E=>{s.value&&(s.value.locale.value=E),i.value=E}}),M=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:E=>{s.value&&(s.value.fallbackLocale.value=E),l.value=E}}),L=re(()=>s.value?s.value.messages.value:c.value),j=re(()=>u.value),V=re(()=>p.value);function Q(){return s.value?s.value.getPostTranslationHandler():A}function he(E){s.value&&s.value.setPostTranslationHandler(E)}function B(){return s.value?s.value.getMissingHandler():v}function X(E){s.value&&s.value.setMissingHandler(E)}function H(E){return k(),E()}function z(...E){return s.value?H(()=>Reflect.apply(s.value.t,null,[...E])):H(()=>"")}function P(...E){return s.value?Reflect.apply(s.value.rt,null,[...E]):""}function G(...E){return s.value?H(()=>Reflect.apply(s.value.d,null,[...E])):H(()=>"")}function F(...E){return s.value?H(()=>Reflect.apply(s.value.n,null,[...E])):H(()=>"")}function I(E){return s.value?s.value.tm(E):{}}function q(E,U){return s.value?s.value.te(E,U):!1}function ce(E){return s.value?s.value.getLocaleMessage(E):{}}function be(E,U){s.value&&(s.value.setLocaleMessage(E,U),c.value[E]=U)}function $e(E,U){s.value&&s.value.mergeLocaleMessage(E,U)}function Me(E){return s.value?s.value.getDateTimeFormat(E):{}}function Ae(E,U){s.value&&(s.value.setDateTimeFormat(E,U),u.value[E]=U)}function xe(E,U){s.value&&s.value.mergeDateTimeFormat(E,U)}function _e(E){return s.value?s.value.getNumberFormat(E):{}}function ge(E,U){s.value&&(s.value.setNumberFormat(E,U),p.value[E]=U)}function ye(E,U){s.value&&s.value.mergeNumberFormat(E,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:M,messages:L,datetimeFormats:j,numberFormats:V,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(E){s.value&&(s.value.inheritLocale=E)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackRoot(){return s.value?s.value.fallbackRoot:S},set fallbackRoot(E){s.value&&(s.value.fallbackRoot=E)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(E){s.value&&(s.value.fallbackFormat=E)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(E){s.value&&(s.value.warnHtmlMessage=E)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(E){s.value&&(s.value.escapeParameter=E)},t:z,getPostTranslationHandler:Q,setPostTranslationHandler:he,getMissingHandler:B,setMissingHandler:X,rt:P,d:G,n:F,tm:I,te:q,getLocaleMessage:ce,setLocaleMessage:be,mergeLocaleMessage:$e,getDateTimeFormat:Me,setDateTimeFormat:Ae,mergeDateTimeFormat:xe,getNumberFormat:_e,setNumberFormat:ge,mergeNumberFormat:ye};function T(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{E.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{E.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{E.mergeNumberFormat(U,p.value[U])}),E.escapeParameter=d,E.fallbackFormat=y,E.fallbackRoot=S,E.fallbackWarn=x,E.missingWarn=m,E.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=E.locale.value,l.value=E.fallbackLocale.value,c.value=E.messages.value,u.value=E.datetimeFormats.value,p.value=E.numberFormats.value):r&&T(E)}),w}const Ob=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Db(e,t){const o=Object.create(null);return Ob.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Qe(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(mb(),__INTLIFY_JIT_COMPILATION__?vc(ub):vc(cb),eb(Nm),tb(hc),__INTLIFY_PROD_DEVTOOLS__){const e=po();e.__INTLIFY__=!0,Gm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const jb=Object.assign({"./locales/ar/aria.json":qp,"./locales/ar/buttons.json":Vp,"./locales/ar/detail.json":Wp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Yp,"./locales/ar/options.json":Xp,"./locales/ar/prayerLaps.json":Jp,"./locales/ar/search.json":Zp,"./locales/ar/tabs.json":Qp,"./locales/de/aria.json":eg,"./locales/de/buttons.json":tg,"./locales/de/detail.json":og,"./locales/de/legend.json":ng,"./locales/de/messages.json":rg,"./locales/de/options.json":sg,"./locales/de/prayerLaps.json":ag,"./locales/de/search.json":ig,"./locales/de/tabs.json":lg,"./locales/en/aria.json":cg,"./locales/en/buttons.json":ug,"./locales/en/detail.json":dg,"./locales/en/legend.json":fg,"./locales/en/messages.json":pg,"./locales/en/options.json":gg,"./locales/en/popup.json":hg,"./locales/en/prayerLaps.json":mg,"./locales/en/search.json":bg,"./locales/en/tabs.json":_g,"./locales/es/aria.json":yg,"./locales/es/buttons.json":vg,"./locales/es/detail.json":wg,"./locales/es/legend.json":xg,"./locales/es/messages.json":kg,"./locales/es/options.json":$g,"./locales/es/prayerLaps.json":Sg,"./locales/es/search.json":Eg,"./locales/es/tabs.json":Ag,"./locales/fr/aria.json":Cg,"./locales/fr/buttons.json":Tg,"./locales/fr/detail.json":Lg,"./locales/fr/legend.json":Pg,"./locales/fr/messages.json":Ig,"./locales/fr/options.json":Mg,"./locales/fr/popup.json":Ng,"./locales/fr/prayerLaps.json":Rg,"./locales/fr/search.json":Fg,"./locales/fr/tabs.json":Og,"./locales/hi/aria.json":Dg,"./locales/hi/buttons.json":jg,"./locales/hi/detail.json":zg,"./locales/hi/legend.json":Bg,"./locales/hi/messages.json":Ug,"./locales/hi/options.json":Gg,"./locales/hi/prayerLaps.json":Hg,"./locales/hi/search.json":qg,"./locales/it/aria.json":Vg,"./locales/it/buttons.json":Wg,"./locales/it/detail.json":Kg,"./locales/it/legend.json":Yg,"./locales/it/messages.json":Xg,"./locales/it/options.json":Jg,"./locales/it/prayerLaps.json":Zg,"./locales/it/search.json":Qg,"./locales/pt/aria.json":eh,"./locales/pt/buttons.json":th,"./locales/pt/detail.json":oh,"./locales/pt/legend.json":nh,"./locales/pt/messages.json":rh,"./locales/pt/options.json":sh,"./locales/pt/prayerLaps.json":ah,"./locales/pt/search.json":ih,"./locales/pt/tabs.json":lh,"./locales/ro/aria.json":ch,"./locales/ro/buttons.json":uh,"./locales/ro/detail.json":dh,"./locales/ro/legend.json":fh,"./locales/ro/messages.json":ph,"./locales/ro/options.json":gh,"./locales/ro/prayerLaps.json":hh,"./locales/ro/search.json":mh,"./locales/ru/aria.json":bh,"./locales/ru/buttons.json":_h,"./locales/ru/detail.json":yh,"./locales/ru/legend.json":vh,"./locales/ru/messages.json":wh,"./locales/ru/options.json":xh,"./locales/ru/prayerLaps.json":kh,"./locales/ru/search.json":$h,"./locales/ru/tabs.json":Sh,"./locales/zh/aria.json":Eh,"./locales/zh/buttons.json":Ah,"./locales/zh/detail.json":Ch,"./locales/zh/legend.json":Th,"./locales/zh/messages.json":Lh,"./locales/zh/options.json":Ph,"./locales/zh/prayerLaps.json":Ih,"./locales/zh/search.json":Mh}),Wn={};for(const[e,t]of Object.entries(jb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Wn[n]??(Wn[n]={}),Wn[n][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function zb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Bb(){return Cb({legacy:!1,globalInjection:!0,locale:zb(),fallbackLocale:"en",messages:Wn,missingWarn:!1,fallbackWarn:!1})}function Lt(e,t){const o=t||Ub(e);_t(()=>{var i;const n=uo();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Ub(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=o==null?void 0:o.value)==null?void 0:v.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=de(!1),a=de(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function x(v,A){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===A||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function S(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const A=v.getBoundingClientRect();if(!A.height)return;const _=Math.round(A.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const A=a.value;if(!A||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=A.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);A.style.setProperty("--pin-hint-attrib-clear",d+"px"),S()}return _t(()=>{var d,f,g;const v=uo(),A=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!A||typeof A.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=A.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Ro(()=>{const $=x(k,A),M=a.value;if($&&M&&M.parentElement!==$)try{$.appendChild(M),l=$}catch{}y(A),S();try{const L=a.value&&a.value.offsetParent||null;if(L&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>S()),u.observe(L)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Dt(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Lt(` + */const hb="9.14.5";function mb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(po().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(po().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1)}const bb=Km.__EXTEND_POINT__,ho=Hr(bb);ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho();const zc=Ut.__EXTEND_POINT__,$t=Hr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:$t(),MUST_BE_CALL_SETUP_TOP:$t(),NOT_INSTALLED:$t(),NOT_AVAILABLE_IN_LEGACY_MODE:$t(),REQUIRED_VALUE:$t(),INVALID_VALUE:$t(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:$t(),NOT_INSTALLED_WITH_PROVIDE:$t(),UNEXPECTED_ERROR:$t(),NOT_COMPATIBLE_LEGACY_VUE_I18N:$t(),BRIDGE_SUPPORT_VUE_2_ONLY:$t(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:$t(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:$t(),__EXTEND_POINT__:$t()};function lt(e,...t){return rn(e,null,void 0)}const da=So("__translateVNode"),fa=So("__datetimeParts"),pa=So("__numberParts"),Bc=So("__setPluralRules"),Uc=So("__injectWithOption"),ga=So("__dispose");function Vn(e){if(!ze(e)||eo(e))return e;for(const t in e)if(zt(e,t))if(!t.includes("."))ze(e[t])&&Vn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||He(),Vr(c,a[l])):Vr(c,a)}else fe(i)&&Vr(JSON.parse(i),a)}),r==null&&s)for(const i in a)zt(a,i)&&Vn(a[i]);return a}function Gc(e){return e.type}function Hc(e,t,o){let n=ze(t.messages)?t.messages:He();"__i18nGlobal"in o&&(n=Xr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(ze(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ze(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function qc(e){return Oe(Nn,null,e,0)}const Vc="__INTLIFY_META__",Wc=()=>[],_b=()=>!1;let Kc=0;function Yc(e){return(t,o,n,r)=>e(o,n,uo()||void 0,r)}const yb=()=>{const e=uo();let t=null;return e&&(t=Gc(e)[Vc])?{[Vc]:t}:null};function ha(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Ur?de:Sn,i=!!e.translateExistCompatible;let l=Fe(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:fe(e.locale)?e.locale:ln),u=a(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let S=o?o.missingWarn:Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,y=o?o.fallbackWarn:Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,v=o?o.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,A=!!e.fallbackFormat,_=Xe(e.missing)?e.missing:null,d=Xe(e.missing)?Yc(e.missing):null,f=Xe(e.postTranslation)?e.postTranslation:null,g=o?o.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,L;L=(()=>{r&&Sc(null);const O={version:hb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:M,missing:d===null?void 0:d,missingWarn:S,fallbackWarn:y,fallbackFormat:A,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=x.value,O.__datetimeFormatters=Pe(L)?L.__datetimeFormatters:void 0,O.__numberFormatters=Pe(L)?L.__numberFormatters:void 0;const C=sb(O);return r&&Sc(C),C})(),qn(L,c.value,u.value);function V(){return[c.value,u.value,p.value,m.value,x.value]}const Q=re({get:()=>c.value,set:O=>{c.value=O,L.locale=c.value}}),me=re({get:()=>u.value,set:O=>{u.value=O,L.fallbackLocale=u.value,qn(L,c.value,O)}}),B=re(()=>p.value),X=re(()=>m.value),H=re(()=>x.value);function z(){return Xe(f)?f:null}function P(O){f=O,L.postTranslation=O}function G(){return _}function F(O){O!==null&&(d=Yc(O)),_=O,L.missing=d}const I=(O,C,J,oe,be,ke)=>{V();let qe;try{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=o?rb():void 0),qe=O(L)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=void 0)}if(J!=="translate exists"&&rt(qe)&&qe===Yr||J==="translate exists"&&!qe){const[We,kt]=C();return o&&v?oe(o):be(We)}else{if(ke(qe))return qe;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function q(...O){return I(C=>Reflect.apply(Pc,null,[C,...O]),()=>la(...O),"translate",C=>Reflect.apply(C.t,C,[...O]),C=>C,C=>fe(C))}function ce(...O){const[C,J,oe]=O;if(oe&&!ze(oe))throw lt(at.INVALID_ARGUMENT);return q(C,J,pt({resolvedMessage:!0},oe||{}))}function he(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>Reflect.apply(C.d,C,[...O]),()=>bc,C=>fe(C))}function $e(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>Reflect.apply(C.n,C,[...O]),()=>bc,C=>fe(C))}function Me(O){return O.map(C=>fe(C)||rt(C)||Fe(C)?qc(String(C)):C)}const xe={normalize:Me,interpolate:O=>O,type:"vnode"};function _e(...O){return I(C=>{let J;const oe=C;try{oe.processor=xe,J=Reflect.apply(Pc,null,[oe,...O])}finally{oe.processor=null}return J},()=>la(...O),"translate",C=>C[da](...O),C=>[qc(C)],C=>Je(C))}function ge(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>C[pa](...O),Wc,C=>fe(C)||Je(C))}function ye(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>C[fa](...O),Wc,C=>fe(C)||Je(C))}function w(O){M=O,L.pluralRules=M}function T(O,C){return I(()=>{if(!O)return!1;const J=fe(C)?C:c.value,oe=W(J),be=L.messageResolver(oe,O);return i?be!=null:eo(be)||It(be)||fe(be)},()=>[O],"translate exists",J=>Reflect.apply(J.te,J,[O,C]),_b,J=>Fe(J))}function E(O){let C=null;const J=hc(L,u.value,c.value);for(let oe=0;oe{l&&(c.value=O,L.locale=O,qn(L,c.value,u.value))}),dt(o.fallbackLocale,O=>{l&&(u.value=O,L.fallbackLocale=O,qn(L,c.value,u.value))}));const se={id:Kc,locale:Q,fallbackLocale:me,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,qn(L,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:B,get modifiers(){return $},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(O){S=O,L.missingWarn=S},get fallbackWarn(){return y},set fallbackWarn(O){y=O,L.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(O){v=O},get fallbackFormat(){return A},set fallbackFormat(O){A=O,L.fallbackFormat=A},get warnHtmlMessage(){return g},set warnHtmlMessage(O){g=O,L.warnHtmlMessage=O},get escapeParameter(){return k},set escapeParameter(O){k=O,L.escapeParameter=O},t:q,getLocaleMessage:W,setLocaleMessage:Z,mergeLocaleMessage:ae,getPostTranslationHandler:z,setPostTranslationHandler:P,getMissingHandler:G,setMissingHandler:F,[Bc]:w};return se.datetimeFormats=X,se.numberFormats=H,se.rt=ce,se.te=T,se.tm=U,se.d=he,se.n=$e,se.getDateTimeFormat=te,se.setDateTimeFormat=h,se.mergeDateTimeFormat=b,se.getNumberFormat=D,se.setNumberFormat=K,se.mergeNumberFormat=ie,se[Uc]=n,se[da]=_e,se[fa]=ye,se[pa]=ge,se}function vb(e){const t=fe(e.locale)?e.locale:ln,o=fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=Fe(e.silentTranslationWarn)||Eo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Fe(e.silentFallbackWarn)||Eo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Fe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,x=Fe(e.sync)?e.sync:!0;let S=e.messages;if(Pe(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((M,L)=>{const j=M[L]||(M[L]={});return pt(j,k[L]),M},S||{})}const{__i18n:y,__root:v,__injectWithOption:A}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:S,flatJson:f,datetimeFormats:_,numberFormats:d,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:A}}function ma(e={},t){{const o=ha(vb(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Fe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Fe(s)?!s:s},get silentFallbackWarn(){return Fe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Fe(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:Je(i)?u=i:Pe(i)&&(p=i),Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:rt(i)?c.plural=i:Je(i)?u=i:Pe(i)&&(p=i),fe(l)?c.locale=l:Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const ba={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function wb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ie?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},He())}function Xc(e){return Ie}const Jc=Ln({name:"i18n-t",props:pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>rt(e)||!isNaN(e)}},ba),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||un({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(p=>p!=="_"),a=He();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=fe(e.plural)?+e.plural:e.plural);const i=wb(t,s),l=r[da](e.keypath,i,a),c=pt(He(),n),u=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function xb(e){return Je(e)&&!fe(e[0])}function Zc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=He();e.locale&&(a.locale=e.locale),fe(e.format)?a.key=e.format:ze(e.format)&&(fe(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((m,x)=>o.includes(x)?pt(He(),m,{[x]:e.format[x]}):m,He()));const l=n(e.value,a,i);let c=[a.key];Je(l)?c=l.map((m,x)=>{const S=r[m.type],y=S?S({[m.type]:m.value,index:x,parts:l}):[m.value];return xb(y)&&(y[0].key=`${m.type}-${x}`),y}):fe(l)&&(c=[l]);const u=pt(He(),s),p=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Ln({name:"i18n-n",props:pt({value:{type:Number,required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...n)=>o[pa](...n))}}),eu=Ln({name:"i18n-d",props:pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Rc,(...n)=>o[fa](...n))}});function kb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function $b(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=kb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...ou(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=dt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...ou(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(fe(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function ou(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},i=n||{};return fe(o)&&(a.locale=o),rt(r)&&(a.plural=r),rt(s)&&(a.plural=s),[t,i,a]}function Sb(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Fe(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",$b(t))}function Eb(e,t,o){return{beforeCreate(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=nu(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ma(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=nu(e,r);else{this.$i18n=ma({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Hc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function nu(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Bc](t.pluralizationRules||e.pluralizationRules);const o=Xr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Ab=So("global-vue-i18n");function Cb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Fe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Fe(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,i]=Tb(e,o),l=So("");function c(m){return s.get(m)||null}function u(m,x){s.set(m,x)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(x,...S){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,m),Pe(S[0])){const A=S[0];m.__composerExtend=A.__composerExtend,m.__vueI18nExtend=A.__vueI18nExtend}let y=null;!o&&n&&(y=Db(x,m.global)),__VUE_I18N_FULL_INSTALL__&&Sb(x,m,...S),__VUE_I18N_LEGACY_API__&&o&&x.mixin(Eb(i,i.__composer,m));const v=x.unmount;x.unmount=()=>{y&&y(),m.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function un(e={}){const t=uo();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const o=Lb(t),n=Ib(o),r=Gc(t),s=Pb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Fb(t,s,n,e)}if(s==="global")return Hc(n,e,r),n;if(s==="parent"){let l=Mb(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=pt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=ha(l),a.__composerExtend&&(i[ga]=a.__composerExtend(i)),Rb(a,t,i),a.__setInstance(t,i)}return i}function Tb(e,t,o){const n=fs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ma(e)):n.run(()=>ha(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[n,r]}}function Lb(e){{const t=Le(e.isCE?Ab:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Pb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Ib(e){return e.mode==="composition"?e.global:e.global.__composer}function Mb(e,t,o=!1){let n=null;const r=t.root;let s=Nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Uc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function Nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Rb(e,t,o){_t(()=>{},t),Cr(()=>{const n=o;e.__deleteInstance(t);const r=n[ga];r&&(r(),delete n[ga])},t)}function Fb(e,t,o,n={}){const r=t==="local",s=Sn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Fe(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!r||a?o.locale.value:fe(n.locale)?n.locale:ln),l=de(!r||a?o.fallbackLocale.value:fe(n.fallbackLocale)||Je(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=de(Xr(i.value,n)),u=de(Pe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=de(Pe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),m=r?o.missingWarn:Fe(n.missingWarn)||Eo(n.missingWarn)?n.missingWarn:!0,x=r?o.fallbackWarn:Fe(n.fallbackWarn)||Eo(n.fallbackWarn)?n.fallbackWarn:!0,S=r?o.fallbackRoot:Fe(n.fallbackRoot)?n.fallbackRoot:!0,y=!!n.fallbackFormat,v=Xe(n.missing)?n.missing:null,A=Xe(n.postTranslation)?n.postTranslation:null,_=r?o.warnHtmlMessage:Fe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,f=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},g=n.pluralRules||r&&o.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:E=>{s.value&&(s.value.locale.value=E),i.value=E}}),M=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:E=>{s.value&&(s.value.fallbackLocale.value=E),l.value=E}}),L=re(()=>s.value?s.value.messages.value:c.value),j=re(()=>u.value),V=re(()=>p.value);function Q(){return s.value?s.value.getPostTranslationHandler():A}function me(E){s.value&&s.value.setPostTranslationHandler(E)}function B(){return s.value?s.value.getMissingHandler():v}function X(E){s.value&&s.value.setMissingHandler(E)}function H(E){return k(),E()}function z(...E){return s.value?H(()=>Reflect.apply(s.value.t,null,[...E])):H(()=>"")}function P(...E){return s.value?Reflect.apply(s.value.rt,null,[...E]):""}function G(...E){return s.value?H(()=>Reflect.apply(s.value.d,null,[...E])):H(()=>"")}function F(...E){return s.value?H(()=>Reflect.apply(s.value.n,null,[...E])):H(()=>"")}function I(E){return s.value?s.value.tm(E):{}}function q(E,U){return s.value?s.value.te(E,U):!1}function ce(E){return s.value?s.value.getLocaleMessage(E):{}}function he(E,U){s.value&&(s.value.setLocaleMessage(E,U),c.value[E]=U)}function $e(E,U){s.value&&s.value.mergeLocaleMessage(E,U)}function Me(E){return s.value?s.value.getDateTimeFormat(E):{}}function Ae(E,U){s.value&&(s.value.setDateTimeFormat(E,U),u.value[E]=U)}function xe(E,U){s.value&&s.value.mergeDateTimeFormat(E,U)}function _e(E){return s.value?s.value.getNumberFormat(E):{}}function ge(E,U){s.value&&(s.value.setNumberFormat(E,U),p.value[E]=U)}function ye(E,U){s.value&&s.value.mergeNumberFormat(E,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:M,messages:L,datetimeFormats:j,numberFormats:V,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(E){s.value&&(s.value.inheritLocale=E)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackRoot(){return s.value?s.value.fallbackRoot:S},set fallbackRoot(E){s.value&&(s.value.fallbackRoot=E)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(E){s.value&&(s.value.fallbackFormat=E)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(E){s.value&&(s.value.warnHtmlMessage=E)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(E){s.value&&(s.value.escapeParameter=E)},t:z,getPostTranslationHandler:Q,setPostTranslationHandler:me,getMissingHandler:B,setMissingHandler:X,rt:P,d:G,n:F,tm:I,te:q,getLocaleMessage:ce,setLocaleMessage:he,mergeLocaleMessage:$e,getDateTimeFormat:Me,setDateTimeFormat:Ae,mergeDateTimeFormat:xe,getNumberFormat:_e,setNumberFormat:ge,mergeNumberFormat:ye};function T(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{E.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{E.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{E.mergeNumberFormat(U,p.value[U])}),E.escapeParameter=d,E.fallbackFormat=y,E.fallbackRoot=S,E.fallbackWarn=x,E.missingWarn=m,E.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=E.locale.value,l.value=E.fallbackLocale.value,c.value=E.messages.value,u.value=E.datetimeFormats.value,p.value=E.numberFormats.value):r&&T(E)}),w}const Ob=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Db(e,t){const o=Object.create(null);return Ob.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Qe(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(mb(),__INTLIFY_JIT_COMPILATION__?vc(ub):vc(cb),eb(Nm),tb(hc),__INTLIFY_PROD_DEVTOOLS__){const e=po();e.__INTLIFY__=!0,Gm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const jb=Object.assign({"./locales/ar/aria.json":qp,"./locales/ar/buttons.json":Vp,"./locales/ar/detail.json":Wp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Yp,"./locales/ar/options.json":Xp,"./locales/ar/prayerLaps.json":Jp,"./locales/ar/search.json":Zp,"./locales/ar/tabs.json":Qp,"./locales/de/aria.json":eg,"./locales/de/buttons.json":tg,"./locales/de/detail.json":og,"./locales/de/legend.json":ng,"./locales/de/messages.json":rg,"./locales/de/options.json":sg,"./locales/de/prayerLaps.json":ag,"./locales/de/search.json":ig,"./locales/de/tabs.json":lg,"./locales/en/aria.json":cg,"./locales/en/buttons.json":ug,"./locales/en/detail.json":dg,"./locales/en/legend.json":fg,"./locales/en/messages.json":pg,"./locales/en/options.json":gg,"./locales/en/popup.json":hg,"./locales/en/prayerLaps.json":mg,"./locales/en/search.json":bg,"./locales/en/tabs.json":_g,"./locales/es/aria.json":yg,"./locales/es/buttons.json":vg,"./locales/es/detail.json":wg,"./locales/es/legend.json":xg,"./locales/es/messages.json":kg,"./locales/es/options.json":$g,"./locales/es/prayerLaps.json":Sg,"./locales/es/search.json":Eg,"./locales/es/tabs.json":Ag,"./locales/fr/aria.json":Cg,"./locales/fr/buttons.json":Tg,"./locales/fr/detail.json":Lg,"./locales/fr/legend.json":Pg,"./locales/fr/messages.json":Ig,"./locales/fr/options.json":Mg,"./locales/fr/popup.json":Ng,"./locales/fr/prayerLaps.json":Rg,"./locales/fr/search.json":Fg,"./locales/fr/tabs.json":Og,"./locales/hi/aria.json":Dg,"./locales/hi/buttons.json":jg,"./locales/hi/detail.json":zg,"./locales/hi/legend.json":Bg,"./locales/hi/messages.json":Ug,"./locales/hi/options.json":Gg,"./locales/hi/prayerLaps.json":Hg,"./locales/hi/search.json":qg,"./locales/it/aria.json":Vg,"./locales/it/buttons.json":Wg,"./locales/it/detail.json":Kg,"./locales/it/legend.json":Yg,"./locales/it/messages.json":Xg,"./locales/it/options.json":Jg,"./locales/it/prayerLaps.json":Zg,"./locales/it/search.json":Qg,"./locales/pt/aria.json":eh,"./locales/pt/buttons.json":th,"./locales/pt/detail.json":oh,"./locales/pt/legend.json":nh,"./locales/pt/messages.json":rh,"./locales/pt/options.json":sh,"./locales/pt/prayerLaps.json":ah,"./locales/pt/search.json":ih,"./locales/pt/tabs.json":lh,"./locales/ro/aria.json":ch,"./locales/ro/buttons.json":uh,"./locales/ro/detail.json":dh,"./locales/ro/legend.json":fh,"./locales/ro/messages.json":ph,"./locales/ro/options.json":gh,"./locales/ro/prayerLaps.json":hh,"./locales/ro/search.json":mh,"./locales/ru/aria.json":bh,"./locales/ru/buttons.json":_h,"./locales/ru/detail.json":yh,"./locales/ru/legend.json":vh,"./locales/ru/messages.json":wh,"./locales/ru/options.json":xh,"./locales/ru/prayerLaps.json":kh,"./locales/ru/search.json":$h,"./locales/ru/tabs.json":Sh,"./locales/zh/aria.json":Eh,"./locales/zh/buttons.json":Ah,"./locales/zh/detail.json":Ch,"./locales/zh/legend.json":Th,"./locales/zh/messages.json":Lh,"./locales/zh/options.json":Ph,"./locales/zh/prayerLaps.json":Ih,"./locales/zh/search.json":Mh}),Wn={};for(const[e,t]of Object.entries(jb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Wn[n]??(Wn[n]={}),Wn[n][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function zb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Bb(){return Cb({legacy:!1,globalInjection:!0,locale:zb(),fallbackLocale:"en",messages:Wn,missingWarn:!1,fallbackWarn:!1})}function Lt(e,t){const o=t||Ub(e);_t(()=>{var i;const n=uo();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Ub(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=o==null?void 0:o.value)==null?void 0:v.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=de(!1),a=de(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function x(v,A){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===A||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function S(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const A=v.getBoundingClientRect();if(!A.height)return;const _=Math.round(A.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const A=a.value;if(!A||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=A.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);A.style.setProperty("--pin-hint-attrib-clear",d+"px"),S()}return _t(()=>{var d,f,g;const v=uo(),A=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!A||typeof A.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=A.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Ro(()=>{const $=x(k,A),M=a.value;if($&&M&&M.parentElement!==$)try{$.appendChild(M),l=$}catch{}y(A),S();try{const L=a.value&&a.value.offsetParent||null;if(L&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>S()),u.observe(L)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Dt(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Lt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,11 +69,11 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(v,A)=>s.value?(ee(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:De(["pin-hint",{dark:n.value}]),role:"status"},[R("span",Gb,[A[0]||(A[0]=R("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+pe(r.value)+" ",1),R("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):Ge("",!0)}};let qb=0;const Vb=Zs("ui",{state:()=>({_storeInstanceId:++qb,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Wb=Zs("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Kb=Zs("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=$n({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$n({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Mt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Yb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Xb={class:"profile-loader"},Jb={key:0,class:"profile-error"},Zb={key:1,class:"profile-error"},Qb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const o=e,n=Le("profileConfig",null),r=re(()=>{var k;if(!o.profileConfig)return null;let g;try{g=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=n==null?void 0:n.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||Mt.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),m=Le("appI18n",null);ef(()=>{p.value&&m&&(m.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=m==null?void 0:m.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),S=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Le("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?cf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",S),ut("lang",x);const A=Vb(),_=Wb(),d=Kb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=A.setTheme)==null||f.call(A,g))}catch{}return ut("uiStore",A),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),ne("div",Xb,[r.value?v.value?(ee(),Jt(zi(v.value),{key:2})):(ee(),ne("div",Zb,[R("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),R("strong",null,'"'+pe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),ne("div",Jb,[...k[0]||(k[0]=[R("p",null,[nt("⚠️ "),R("strong",null,"doxa-map"),nt(": missing or invalid "),R("code",null,"profile-config"),nt(" prop.")],-1),R("p",null,[nt("Example: "),R("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Jt(zi(ue(null)),{key:3})):Ge("",!0),v.value&&u.value?(ee(),Jt(Hb,{key:4})):Ge("",!0)]))}},[["styles",[Yb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",mo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},e_=mo,_a={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},t_=_a;function iu(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mo.hasAdoption:mo.notAdopted}function ya({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],mo.hasAdoption,["==",t,1],mo.hasAdoption,mo.notAdopted]}const lu=ya,o_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:e_,ADOPTION_LABELS:t_,LABELS:_a,PALETTE:mo,PROPERTY_KEY:au,applyColor:ya,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:mo,colors:mo,labels:_a,getColor:iu,applyColor:ya,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",bo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},n_=bo,va={notEngaged:"Unengaged",hasEngagement:"Engaged"},r_=va;function uu(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?bo.hasEngagement:bo.notEngaged}function wa({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],bo.hasEngagement,["==",t,1],bo.hasEngagement,bo.notEngaged]}const du=wa,s_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:n_,ENGAGEMENT_LABELS:r_,LABELS:va,PALETTE:bo,PROPERTY_KEY:cu,applyColor:wa,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:bo,colors:bo,labels:va,getColor:uu,applyColor:wa,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),xa="languageFamily",a_="#000000",_o={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},i_=_o;function ka(e){return _o[e]||a_}const l_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(_o))t[e(o)]=o;return t})(),c_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return c_[o]||l_[o]||t}function fu(e){var t;return ka(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function $a(){const e=["match",["get",xa]];return Object.entries(_o).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const pu=$a,u_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:i_,PALETTE:_o,PROPERTY_KEY:xa,applyColor:$a,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:xa,palette:_o,colors:_o,getColor:fu,applyColor:$a,buildColorExpression:pu,getLanguageFamilyColor:ka,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:ka,languageFamilyColors:_o},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Lo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},d_=Lo,Kn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},f_=Kn;function dn(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=Qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Sa(e){return Lo[dn(e)]}function hu(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function mu(e){return dn(e)==="fullPrayer"}function bu(e){return Sa(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Lo.fullPrayer,[">",t,0],Lo.hasPrayer,Lo.noPrayer]}const _u=es,p_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Kn,PALETTE:Lo,PRAYER_COLORS:d_,PRAYER_LABELS:f_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Lo,colors:Lo,labels:Kn,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:dn,getPrayerColor:Sa,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:Sa,getPrayerLevel:dn},Symbol.toStringTag,{value:"Module"})),yu="religion",Ea="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Aa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function vu(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return St[Aa(t)]||Ea}function Ca(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,Ea]}const wu=Ca,g_=Object.assign({"./adoption.js":o_,"./engagement.js":s_,"./language-family.js":u_,"./prayer-progress.js":p_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:St,PROPERTY_KEY:yu,RELIGION_FAMILIES:Uo,applyColor:Ca,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:St,families:Uo,getColor:vu,applyColor:Ca,buildColorExpression:wu,fallback:Ea},getColor:vu,getReligionFamily:Aa},Symbol.toStringTag,{value:"Module"}))}),h_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),m_=e=>e.replace(/-/g,"_").toUpperCase(),yo={...{STATUS:"status",CUSTOM:"custom"}},Ta={};function xu(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=h_(o);yo[m_(o)]=r,Ta[r]=n}}xu(g_);function b_(e){e&&xu(e)}function ts(e){return Ta[e]||Ta[yo.LANGUAGE_FAMILY]}const __="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function y_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(__,null,!0),!0}catch{return!1}}const ku="affinityBlock",fn="#95a5a6",pn={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},La={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},gn=La;Object.entries(pn).reduce((e,[t,o])=>(e[o]=t,e),{});const v_=Object.entries(pn).reduce((e,[t,o])=>(e[o]=gn[t],e),{}),w_=pn;function $u(e){return pn[e]||"Unknown"}function Su(e){return gn[e]||fn}function x_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?gn[e]||fn:v_[e]||fn:fn}function k_(){return Object.entries(pn).map(([e,t])=>({code:e,name:t,color:gn[e]}))}function $_(e){return{code:e,name:pn[e]||"Unknown",color:gn[e]||fn}}function S_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Su(t)}function E_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(gn).forEach(([t,o])=>{e.push(t,o)}),e.push(fn),e}const A_={name:"Affinity Block",propertyKey:ku,palette:La,colors:La,names:w_,getColor:S_,applyColor:Eu,buildColorExpression:Eu,getName:E_,getAffinityBlockName:$u,getAffinityBlockColor:x_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:k_,getAffinityBlockData:$_};function C_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Pa),e}const P_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Ia,aliases:Pu,fallback:Pa,getColor:L_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:T_,getRegionColorBySlug:Lu},I_=Object.assign({"./research-dashboard.vue":()=>rd(()=>Promise.resolve().then(()=>Ww),void 0)});b_({"./affinity-block.js":{default:A_},"./doxa-region.js":{default:P_}}),y_();function M_(){return Cp(Qb,{configureApp(e){e.use(jp()),e.use(Bb()),e.provide("profileModules",I_)}})}const N_=M_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",N_));function R_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function F_(){const e=Mo({}),t=new Set,o=de(0),n=de(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=R_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){n.value=_==null?"":String(_),a("search",n.value)}function m(){o.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),m()}function S(){t.size&&(t.clear(),m())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&m(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&m(),d}function A(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:S,selectMany:y,deselectMany:v,setSelection:A}}function Ma(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}function O_(e={}){const t=de(!1),o=de(null),n=Sn(new Map),r=Sn([]),s=de(null),a=de(0),i=e.source||Mt.activeSource;async function l(){var c,u,p,m;t.value=!0,o.value=null;try{const x=((c=Mt==null?void 0:Mt.sources)==null?void 0:c[i])||{},S=Ma(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),A=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${S}${y}?${v?`fields=${v}&`:""}lang=${A}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of g){const L=M&&(M.slug||M.id);L&&k.set(L,M)}n.value=k,r.value=g,a.value=k.size;const $=((m=x.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${S}${$}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(x){o.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:l,sourceId:i}}const os=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Na({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var X,H,z;const g=s.source||Mt.activeSource,k=((X=Mt==null?void 0:Mt.sources)==null?void 0:X[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:os,M=((H=k.endpoints)==null?void 0:H.bulk)||"/api/people-groups/list",L=((z=k.queryParams)==null?void 0:z.lang)||"en",j=`${Ma()}${M}?fields=${$.join(",")}&lang=${L}`,V=await fetch(j,{cache:"no-store"});if(!V.ok)throw new Error(`export list HTTP ${V.status}`);const Q=await V.json(),he=Array.isArray(Q)?Q:Q.posts||Q.data||Q.results||[],B=new Map;for(const P of he){const G=P&&(P.slug||P.id);G&&B.set(G,P)}return i=B,B})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(n);return g.length?(t.value||[]).filter(k=>g.every($=>{const M=r[$];return M?M(k)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function S(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(S),k=g.reduce((V,Q)=>(Object.keys(Q).forEach(he=>V.add(he)),V),new Set),$=[...os.filter(V=>k.has(V)),...[...k].filter(V=>!os.includes(V))],M=Object.entries(n).map(([V,Q])=>`${V}=${a?a(V,Q):Q}`).join(" | ")||"none",L=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(V=>$.map(Q=>y(V[Q])).join(",")),L].join(`\r +`,"pin-hint"),(v,A)=>s.value?(ee(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:De(["pin-hint",{dark:n.value}]),role:"status"},[R("span",Gb,[A[0]||(A[0]=R("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+pe(r.value)+" ",1),R("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):Ge("",!0)}};let qb=0;const Vb=Zs("ui",{state:()=>({_storeInstanceId:++qb,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Wb=Zs("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Kb=Zs("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=$n({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$n({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Mt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Yb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Xb={class:"profile-loader"},Jb={key:0,class:"profile-error"},Zb={key:1,class:"profile-error"},Qb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const o=e,n=Le("profileConfig",null),r=re(()=>{var k;if(!o.profileConfig)return null;let g;try{g=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=n==null?void 0:n.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||Mt.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),m=Le("appI18n",null);ef(()=>{p.value&&m&&(m.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=m==null?void 0:m.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),S=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Le("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?cf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",S),ut("lang",x);const A=Vb(),_=Wb(),d=Kb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=A.setTheme)==null||f.call(A,g))}catch{}return ut("uiStore",A),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),ne("div",Xb,[r.value?v.value?(ee(),Jt(zi(v.value),{key:2})):(ee(),ne("div",Zb,[R("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),R("strong",null,'"'+pe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),ne("div",Jb,[...k[0]||(k[0]=[R("p",null,[nt("⚠️ "),R("strong",null,"doxa-map"),nt(": missing or invalid "),R("code",null,"profile-config"),nt(" prop.")],-1),R("p",null,[nt("Example: "),R("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Jt(zi(ue(null)),{key:3})):Ge("",!0),v.value&&u.value?(ee(),Jt(Hb,{key:4})):Ge("",!0)]))}},[["styles",[Yb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",mo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},e_=mo,_a={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},t_=_a;function iu(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mo.hasAdoption:mo.notAdopted}function ya({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],mo.hasAdoption,["==",t,1],mo.hasAdoption,mo.notAdopted]}const lu=ya,o_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:e_,ADOPTION_LABELS:t_,LABELS:_a,PALETTE:mo,PROPERTY_KEY:au,applyColor:ya,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:mo,colors:mo,labels:_a,getColor:iu,applyColor:ya,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",bo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},n_=bo,va={notEngaged:"Unengaged",hasEngagement:"Engaged"},r_=va;function uu(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?bo.hasEngagement:bo.notEngaged}function wa({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],bo.hasEngagement,["==",t,1],bo.hasEngagement,bo.notEngaged]}const du=wa,s_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:n_,ENGAGEMENT_LABELS:r_,LABELS:va,PALETTE:bo,PROPERTY_KEY:cu,applyColor:wa,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:bo,colors:bo,labels:va,getColor:uu,applyColor:wa,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),xa="languageFamily",a_="#000000",_o={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},i_=_o;function ka(e){return _o[e]||a_}const l_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(_o))t[e(o)]=o;return t})(),c_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return c_[o]||l_[o]||t}function fu(e){var t;return ka(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function $a(){const e=["match",["get",xa]];return Object.entries(_o).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const pu=$a,u_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:i_,PALETTE:_o,PROPERTY_KEY:xa,applyColor:$a,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:xa,palette:_o,colors:_o,getColor:fu,applyColor:$a,buildColorExpression:pu,getLanguageFamilyColor:ka,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:ka,languageFamilyColors:_o},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Lo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},d_=Lo,Kn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},f_=Kn;function dn(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=Qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Sa(e){return Lo[dn(e)]}function hu(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function mu(e){return dn(e)==="fullPrayer"}function bu(e){return Sa(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Lo.fullPrayer,[">",t,0],Lo.hasPrayer,Lo.noPrayer]}const _u=es,p_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Kn,PALETTE:Lo,PRAYER_COLORS:d_,PRAYER_LABELS:f_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Lo,colors:Lo,labels:Kn,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:dn,getPrayerColor:Sa,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:Sa,getPrayerLevel:dn},Symbol.toStringTag,{value:"Module"})),yu="religion",Ea="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Aa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function vu(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return St[Aa(t)]||Ea}function Ca(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,Ea]}const wu=Ca,g_=Object.assign({"./adoption.js":o_,"./engagement.js":s_,"./language-family.js":u_,"./prayer-progress.js":p_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:St,PROPERTY_KEY:yu,RELIGION_FAMILIES:Uo,applyColor:Ca,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:St,families:Uo,getColor:vu,applyColor:Ca,buildColorExpression:wu,fallback:Ea},getColor:vu,getReligionFamily:Aa},Symbol.toStringTag,{value:"Module"}))}),h_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),m_=e=>e.replace(/-/g,"_").toUpperCase(),yo={...{STATUS:"status",CUSTOM:"custom"}},Ta={};function xu(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=h_(o);yo[m_(o)]=r,Ta[r]=n}}xu(g_);function b_(e){e&&xu(e)}function ts(e){return Ta[e]||Ta[yo.LANGUAGE_FAMILY]}const __="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function y_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(__,null,!0),!0}catch{return!1}}const ku="affinityBlock",fn="#95a5a6",pn={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},La={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},gn=La;Object.entries(pn).reduce((e,[t,o])=>(e[o]=t,e),{});const v_=Object.entries(pn).reduce((e,[t,o])=>(e[o]=gn[t],e),{}),w_=pn;function $u(e){return pn[e]||"Unknown"}function Su(e){return gn[e]||fn}function x_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?gn[e]||fn:v_[e]||fn:fn}function k_(){return Object.entries(pn).map(([e,t])=>({code:e,name:t,color:gn[e]}))}function $_(e){return{code:e,name:pn[e]||"Unknown",color:gn[e]||fn}}function S_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Su(t)}function E_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(gn).forEach(([t,o])=>{e.push(t,o)}),e.push(fn),e}const A_={name:"Affinity Block",propertyKey:ku,palette:La,colors:La,names:w_,getColor:S_,applyColor:Eu,buildColorExpression:Eu,getName:E_,getAffinityBlockName:$u,getAffinityBlockColor:x_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:k_,getAffinityBlockData:$_};function C_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Pa),e}const P_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Ia,aliases:Pu,fallback:Pa,getColor:L_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:T_,getRegionColorBySlug:Lu},I_=Object.assign({"./research-dashboard.vue":()=>rd(()=>Promise.resolve().then(()=>Ww),void 0)});b_({"./affinity-block.js":{default:A_},"./doxa-region.js":{default:P_}}),y_();function M_(){return Cp(Qb,{configureApp(e){e.use(jp()),e.use(Bb()),e.provide("profileModules",I_)}})}const N_=M_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",N_));function R_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function F_(){const e=Mo({}),t=new Set,o=de(0),n=de(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=R_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){n.value=_==null?"":String(_),a("search",n.value)}function m(){o.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),m()}function S(){t.size&&(t.clear(),m())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&m(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&m(),d}function A(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:S,selectMany:y,deselectMany:v,setSelection:A}}function Ma(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}function O_(e={}){const t=de(!1),o=de(null),n=Sn(new Map),r=Sn([]),s=de(null),a=de(0),i=e.source||Mt.activeSource;async function l(){var c,u,p,m;t.value=!0,o.value=null;try{const x=((c=Mt==null?void 0:Mt.sources)==null?void 0:c[i])||{},S=Ma(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),A=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${S}${y}?${v?`fields=${v}&`:""}lang=${A}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of g){const L=M&&(M.slug||M.id);L&&k.set(L,M)}n.value=k,r.value=g,a.value=k.size;const $=((m=x.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${S}${$}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(x){o.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:l,sourceId:i}}const os=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Na({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var X,H,z;const g=s.source||Mt.activeSource,k=((X=Mt==null?void 0:Mt.sources)==null?void 0:X[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:os,M=((H=k.endpoints)==null?void 0:H.bulk)||"/api/people-groups/list",L=((z=k.queryParams)==null?void 0:z.lang)||"en",j=`${Ma()}${M}?fields=${$.join(",")}&lang=${L}`,V=await fetch(j,{cache:"no-store"});if(!V.ok)throw new Error(`export list HTTP ${V.status}`);const Q=await V.json(),me=Array.isArray(Q)?Q:Q.posts||Q.data||Q.results||[],B=new Map;for(const P of me){const G=P&&(P.slug||P.id);G&&B.set(G,P)}return i=B,B})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(n);return g.length?(t.value||[]).filter(k=>g.every($=>{const M=r[$];return M?M(k)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function S(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(S),k=g.reduce((V,Q)=>(Object.keys(Q).forEach(me=>V.add(me)),V),new Set),$=[...os.filter(V=>k.has(V)),...[...k].filter(V=>!os.includes(V))],M=Object.entries(n).map(([V,Q])=>`${V}=${a?a(V,Q):Q}`).join(" | ")||"none",L=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(V=>$.map(Q=>y(V[Q])).join(",")),L].join(`\r `)}const A={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function _(){const g=v(),k=p().length,$=(g.split(`\r `)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=g)}catch{}let M=!1,L=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(g).catch(()=>{}),M=!0)}catch{}try{const j=new Blob([g],{type:"text/csv;charset=utf-8"}),V=URL.createObjectURL(j),Q=document.createElement("a");Q.href=V,Q.download="research-dashboard.csv",Q.style.display="none",document.body.appendChild(Q),Q.click(),L=!0,setTimeout(()=>{try{URL.revokeObjectURL(V),Q.remove()}catch{}},200)}catch{}Object.assign(A,{rows:k,clipboard:M,downloaded:L,fields:$,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:L,fields:$,wide:!!i}}catch{}return{csv:g,rows:k,clipboard:M,downloaded:L,fields:$,wide:!!i}}async function d(){try{await c()}catch{}return _()}function f(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:d,buildCsv:v,pickRows:p,scopeLabel:m,lastExport:A,prefetchExportFields:f,EXPORT_FIELDS:os}}const D_="#6b7280";function j_(){const e=ts(yo.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function z_(e,t){const o=j_();return e&&o[e]?o[e]:D_}function B_(e){return(e==null?void 0:e.properties)||e||{}}function Ra(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function U_(e){var t;return String(e.affinityBlock||Ra((t=e._raw)==null?void 0:t.rop1)||"").trim()}function G_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function H_(e){var t;return String(e.cluster||Ra((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function q_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function V_(e){var t;return String(e.peopleGroup||Ra((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function W_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function K_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function Y_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function X_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function J_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function Z_(e){const t=re(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=B_(i),c=U_(l),u=G_(l)||c||"— Unknown —",p=H_(l),m=q_(l)||p||"— Unknown —",x=V_(l),S=W_(l)||x||"— Unknown —",y=K_(l),v=Y_(l)||y,A=X_(l),_=J_(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=A,d.memberIds.push(y);let f=d.clusters.get(p||"__unknown__");f||(f={code:p,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(p||"__unknown__",f)),f.count+=1,f.pop+=A,f.memberIds.push(y);let g=f.peopleGroups.get(x||"__unknown__");g||(g={code:x,label:S,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(x||"__unknown__",g)),g.count+=1,g.pop+=A,g.memberIds.push(y),g.instances.push({id:y,name:v,country:_,pop:A})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=re(()=>{const s=t.value,a=[];for(const i of s.values()){const l=z_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:o(i.memberIds),children:[]};for(const u of i.clusters.values()){const p={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const x={id:`pg:${i.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:l,count:m.count,pop:m.pop,filter:o(m.memberIds),children:[]};m.instances.sort((S,y)=>y.pop-S.pop||S.country.localeCompare(y.country));for(const S of m.instances)x.children.push({id:`pgic:${S.id}`,label:`${S.country?`${S.name}, ${S.country}`:S.name} (PGIC)`,color:l,count:1,pop:S.pop,filter:["==",["get","uniqueId"],S.id],children:[]});p.children.push(x)}p.children.sort((m,x)=>x.count-m.count||x.pop-m.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:n,highlight:r}}function Yn(e,t,o){const n=re(()=>{const l=t&&o&&t.sources&&t.sources[o];return l&&l.features||[]}),{aggregated:r}=Z_(n),s=re(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=re(()=>{const[l,c,u]=s.value,p=new Map,m=new Map,x=new Map;for(const y of r.value.values()){y.code&&p.set(y.code,y.label);for(const v of y.clusters.values()){v.code&&m.set(v.code,v.label);for(const A of v.peopleGroups.values())A.code&&x.set(A.code,A.label)}}const S={};return l&&(S[l]=p),c&&(S[c]=m),u&&(S[u]=x),S});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Mu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Mt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let r="",s=!1,a=[],i=!0;for(let l=0;l0){if(a.push(r.trim()),r="",i)n.push(...a),i=!1;else if(a.length>1){const p={};n.forEach((m,x)=>{p[m]=a[x]||""}),o.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};n.forEach((c,u)=>{l[c]=a[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=Ma(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${o}${n}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${o} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(n,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Mu;const Nu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Ru=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xn(e){const t=Nu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function Q_(e,t,o,n,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:n[s.field],p=new Set;t.forEach(m=>{const x=u?u(m):m[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function ey(e){const t=de(null),o=de(!1),n=de(!1),r=de(!1),s=de("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=de(!1),c=de(!1),u=de(!1);_t(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;o.value=v<760,n.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Dt(()=>i&&i.disconnect());function p(v){const A=v.target.closest("[data-view]");A&&(s.value=A.getAttribute("data-view"))}const m=re(()=>!o.value||s.value==="facets"),x=re(()=>!o.value||s.value==="map"),S=re(()=>!o.value||s.value==="table"),y=re(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:m,showMap:x,showTable:S,showCharts:y}}function ty(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}dt(()=>({...e.filterSet}),t,{deep:!0}),_t(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function oy(e){var y;const t=F_();t.configureHierarchy(e);const o=O_(e.data),n=Nu(e.facets,v=>v.get),r=Jn(t,Xn(e)),s=re(()=>{var d;const v=o.rows.value||[],A=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!A.length&&!_?v:v.filter(f=>A.every(g=>{const k=n[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>Q_(e.kpis,s.value,o.rows.value||[],n,e)),i=ey(t);ty(t);const l=o.sourceId||Mt.activeSource,c=((y=Mt.sources)==null?void 0:y[l])||{},u=new Mu,p=re(()=>{const v=o.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yn(e,m,l),S=Na({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",o),ut("dashboardConfig",e),ut("dataStore",m),ut("searchSourceId",l),_t(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:S,responsive:i}}const ny={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},ry={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Fu=32,Ou=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),ns=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function sy(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...ny,...e.defaults||{}},i={...ry,...e.clamps||{}},l=de(a.facetW),c=de(a.railW),u=de(a.tableH),p=de(a.mapH),m=de(a.shellH),x=de(!1),S=de(!1),y=de(!1),v=()=>!!ue(n),A=()=>!!ue(r);function _(){const F=t&&t.value;if(!F)return m.value;const I=F.querySelector('[data-region="map"]'),q=F.querySelector('[data-region="table"]');if(!I||!q)return m.value;const ce=I.getBoundingClientRect().height+q.getBoundingClientRect().height;return ce>0?Math.round(ce):m.value}function d(){const F=t&&t.value;F&&(x.value&&(F.style.setProperty("--facet-w",l.value+"px"),F.style.setProperty("--rail-w",c.value+"px"),F.style.setProperty("--table-h",u.value)),S.value&&F.style.setProperty("--rd-map-h",p.value+"px"),y.value&&F.style.setProperty("--rd-shell-h",m.value+"px"))}function f(){const F=t&&t.value;F&&(F.style.removeProperty("--facet-w"),F.style.removeProperty("--rail-w"),F.style.removeProperty("--table-h"),F.style.removeProperty("--rd-map-h"),F.style.removeProperty("--rd-shell-h"))}function g(){try{localStorage.setItem(s,JSON.stringify({facetW:l.value,railW:c.value,tableH:u.value,mapH:p.value,shellH:m.value}))}catch{}}function k(){try{const F=localStorage.getItem(s);if(!F)return!1;const I=JSON.parse(F);return Number.isFinite(I.facetW)&&(l.value=xt(I.facetW,i.facetW)),Number.isFinite(I.railW)&&(c.value=xt(I.railW,i.railW)),I.tableH!=null&&(u.value=xt(ns(I.tableH,ns(a.tableH,34)),i.tableH)+"%"),x.value=!0,Number.isFinite(I.shellH)&&(m.value=xt(I.shellH,i.shellH),y.value=!0),Number.isFinite(I.mapH)&&(p.value=xt(I.mapH,i.mapH),S.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}l.value=a.facetW,c.value=a.railW,u.value=a.tableH,p.value=a.mapH,m.value=a.shellH,x.value=!1,S.value=!1,y.value=!1,f()}const M=de(!1);function L(){if(M.value)return;M.value=!0;const F=t&&t.value;if(F&&F.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function j(){if(!M.value)return;M.value=!1;const F=t&&t.value;if(F&&F.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function V(F,I){if(v())return;const q=t&&t.value;if(!q)return;I.preventDefault();const ce=q.getBoundingClientRect(),be=I.clientX,$e=l.value,Me=c.value,Ae=I.currentTarget,xe=F==="table"&&A(),_e=F==="shell"&&A();let ge=0,ye=i.mapH[1];if(xe){const te=q.querySelector('[data-region="map"]'),h=te?te.getBoundingClientRect():null;ge=h?h.top:I.clientY-p.value,ye=Math.max(i.mapH[0],m.value-(Fu+Ou))}const w=I.clientY,T=_e?_():m.value;try{Ae&&Ae.setPointerCapture&&Ae.setPointerCapture(I.pointerId)}catch{}L();let E=0,U=null;function W(){if(E=0,!U)return;const te=U;if(U=null,F==="facet")l.value=Math.round(xt($e+(te.clientX-be),i.facetW)),x.value=!0;else if(F==="rail")c.value=Math.round(xt(Me-(te.clientX-be),i.railW)),x.value=!0;else if(xe)p.value=Math.round(xt(te.clientY-ge,[i.mapH[0],ye])),S.value=!0;else if(F==="table"){const h=(ce.bottom-te.clientY)/ce.height*100;u.value=Math.round(xt(h,i.tableH))+"%",x.value=!0}else _e&&(m.value=Math.round(xt(T+(te.clientY-w),i.shellH)),y.value=!0);d()}function Z(te){U={clientX:te.clientX,clientY:te.clientY},E||(E=requestAnimationFrame(W))}function ae(te){window.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",ae),window.removeEventListener("pointercancel",ae),E&&(cancelAnimationFrame(E),E=0),W();try{Ae&&Ae.releasePointerCapture&&Ae.releasePointerCapture(te.pointerId)}catch{}g(),j()}window.addEventListener("pointermove",Z),window.addEventListener("pointerup",ae),window.addEventListener("pointercancel",ae)}const Q=F=>V("facet",F),he=F=>V("rail",F),B=F=>V("table",F),X=F=>V("shell",F),H={facet:16,rail:16,table:24,mapH:24,shellH:24};function z(F,I,q){if(!v()){if(F==="facet")l.value=q?I<0?i.facetW[0]:i.facetW[1]:Math.round(xt(l.value+I*H.facet,i.facetW)),x.value=!0;else if(F==="rail")c.value=q?I<0?i.railW[1]:i.railW[0]:Math.round(xt(c.value-I*H.rail,i.railW)),x.value=!0;else if(F==="table"&&A()){const ce=Math.max(i.mapH[0],m.value-(Fu+Ou));p.value=q?I<0?i.mapH[0]:ce:Math.round(xt(p.value+I*H.mapH,[i.mapH[0],ce])),S.value=!0}else if(F==="table"){const ce=q?I<0?i.tableH[0]:i.tableH[1]:xt(ns(u.value,ns(a.tableH,34))-I*H.table/4,i.tableH);u.value=Math.round(ce)+"%",x.value=!0}else F==="shell"&&A()&&(m.value=q?I<0?i.shellH[0]:i.shellH[1]:Math.round(xt(m.value+I*H.shellH,i.shellH)),y.value=!0);d(),g()}}function P(F,I){const q=I.key;let ce=0;if(F==="table"||F==="shell"?q==="ArrowUp"?ce=-1:q==="ArrowDown"&&(ce=1):q==="ArrowLeft"?ce=-1:q==="ArrowRight"&&(ce=1),ce){I.preventDefault(),z(F,ce);return}(q==="Home"||q==="End")&&(I.preventDefault(),z(F,q==="Home"?-1:1,!0))}let G=null;return _t(()=>{k()&&d(),o&&typeof o.on=="function"&&(G=o.on("resetLayout",$))}),Dt(()=>{try{G&&G()}catch{}try{j()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:p,shellH:m,customized:x,resizing:M,startFacetResize:Q,startRailResize:he,startTableResize:B,startShellResize:X,startResize:V,reset:$,applyVars:d,stepResize:z,onResizeKeydown:P}}const ay=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",iy=["value","placeholder","aria-label"],Du=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=re(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const i=a.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(a,i)=>(ee(),ne("div",{class:"search-box",style:ht(r.value)},[i[0]||(i[0]=R("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[R("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),R("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,iy)],4))}},[["styles",[ay]]]),ly=Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href,Fa=e=>String(e||"").trim().replace(/\/+$/,"");function cy(){try{const t=String(ly||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function uy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Fa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Fa(o)}return Fa(cy()||"")}function dy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=uy(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const fy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Lt(` +`&&l++,r||a.length>0){if(a.push(r.trim()),r="",i)n.push(...a),i=!1;else if(a.length>1){const p={};n.forEach((m,x)=>{p[m]=a[x]||""}),o.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};n.forEach((c,u)=>{l[c]=a[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=Ma(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${o}${n}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${o} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(n,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Mu;const Nu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Ru=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xn(e){const t=Nu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function Q_(e,t,o,n,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:n[s.field],p=new Set;t.forEach(m=>{const x=u?u(m):m[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function ey(e){const t=de(null),o=de(!1),n=de(!1),r=de(!1),s=de("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=de(!1),c=de(!1),u=de(!1);_t(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;o.value=v<760,n.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Dt(()=>i&&i.disconnect());function p(v){const A=v.target.closest("[data-view]");A&&(s.value=A.getAttribute("data-view"))}const m=re(()=>!o.value||s.value==="facets"),x=re(()=>!o.value||s.value==="map"),S=re(()=>!o.value||s.value==="table"),y=re(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:m,showMap:x,showTable:S,showCharts:y}}function ty(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}dt(()=>({...e.filterSet}),t,{deep:!0}),_t(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function oy(e){var y;const t=F_();t.configureHierarchy(e);const o=O_(e.data),n=Nu(e.facets,v=>v.get),r=Jn(t,Xn(e)),s=re(()=>{var d;const v=o.rows.value||[],A=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!A.length&&!_?v:v.filter(f=>A.every(g=>{const k=n[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>Q_(e.kpis,s.value,o.rows.value||[],n,e)),i=ey(t);ty(t);const l=o.sourceId||Mt.activeSource,c=((y=Mt.sources)==null?void 0:y[l])||{},u=new Mu,p=re(()=>{const v=o.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yn(e,m,l),S=Na({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",o),ut("dashboardConfig",e),ut("dataStore",m),ut("searchSourceId",l),_t(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:S,responsive:i}}const ny={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},ry={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Fu=32,Ou=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),ns=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function sy(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...ny,...e.defaults||{}},i={...ry,...e.clamps||{}},l=de(a.facetW),c=de(a.railW),u=de(a.tableH),p=de(a.mapH),m=de(a.shellH),x=de(!1),S=de(!1),y=de(!1),v=()=>!!ue(n),A=()=>!!ue(r);function _(){const F=t&&t.value;if(!F)return m.value;const I=parseFloat(getComputedStyle(F).getPropertyValue("--rd-shell-h"));if(Number.isFinite(I)&&I>0)return Math.round(I);const q=F.querySelector('[data-region="map"]'),ce=F.querySelector('[data-region="table"]');if(!q||!ce)return m.value;const he=q.getBoundingClientRect().height+ce.getBoundingClientRect().height;return he>0?Math.round(he):m.value}function d(){const F=t&&t.value;F&&(x.value&&(F.style.setProperty("--facet-w",l.value+"px"),F.style.setProperty("--rail-w",c.value+"px"),F.style.setProperty("--table-h",u.value)),S.value&&F.style.setProperty("--rd-map-h",p.value+"px"),y.value&&F.style.setProperty("--rd-shell-h",m.value+"px"))}function f(){const F=t&&t.value;F&&(F.style.removeProperty("--facet-w"),F.style.removeProperty("--rail-w"),F.style.removeProperty("--table-h"),F.style.removeProperty("--rd-map-h"),F.style.removeProperty("--rd-shell-h"))}function g(){try{localStorage.setItem(s,JSON.stringify({facetW:l.value,railW:c.value,tableH:u.value,mapH:p.value,shellH:m.value}))}catch{}}function k(){try{const F=localStorage.getItem(s);if(!F)return!1;const I=JSON.parse(F);return Number.isFinite(I.facetW)&&(l.value=xt(I.facetW,i.facetW)),Number.isFinite(I.railW)&&(c.value=xt(I.railW,i.railW)),I.tableH!=null&&(u.value=xt(ns(I.tableH,ns(a.tableH,34)),i.tableH)+"%"),x.value=!0,Number.isFinite(I.shellH)&&(m.value=xt(I.shellH,i.shellH),y.value=!0),Number.isFinite(I.mapH)&&(p.value=xt(I.mapH,i.mapH),S.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}l.value=a.facetW,c.value=a.railW,u.value=a.tableH,p.value=a.mapH,m.value=a.shellH,x.value=!1,S.value=!1,y.value=!1,f()}const M=de(!1);function L(){if(M.value)return;M.value=!0;const F=t&&t.value;if(F&&F.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function j(){if(!M.value)return;M.value=!1;const F=t&&t.value;if(F&&F.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function V(F,I){if(v())return;const q=t&&t.value;if(!q)return;I.preventDefault();const ce=q.getBoundingClientRect(),he=I.clientX,$e=l.value,Me=c.value,Ae=I.currentTarget,xe=F==="table"&&A(),_e=F==="shell"&&A();let ge=0,ye=i.mapH[1];if(xe){const te=q.querySelector('[data-region="map"]'),h=te?te.getBoundingClientRect():null;ge=h?h.top:I.clientY-p.value,ye=Math.max(i.mapH[0],m.value-(Fu+Ou))}const w=I.clientY,T=_e?_():m.value;try{Ae&&Ae.setPointerCapture&&Ae.setPointerCapture(I.pointerId)}catch{}L();let E=0,U=null;function W(){if(E=0,!U)return;const te=U;if(U=null,F==="facet")l.value=Math.round(xt($e+(te.clientX-he),i.facetW)),x.value=!0;else if(F==="rail")c.value=Math.round(xt(Me-(te.clientX-he),i.railW)),x.value=!0;else if(xe)p.value=Math.round(xt(te.clientY-ge,[i.mapH[0],ye])),S.value=!0;else if(F==="table"){const h=(ce.bottom-te.clientY)/ce.height*100;u.value=Math.round(xt(h,i.tableH))+"%",x.value=!0}else _e&&(m.value=Math.round(xt(T+(te.clientY-w),i.shellH)),y.value=!0);d()}function Z(te){U={clientX:te.clientX,clientY:te.clientY},E||(E=requestAnimationFrame(W))}function ae(te){window.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",ae),window.removeEventListener("pointercancel",ae),E&&(cancelAnimationFrame(E),E=0),W();try{Ae&&Ae.releasePointerCapture&&Ae.releasePointerCapture(te.pointerId)}catch{}g(),j()}window.addEventListener("pointermove",Z),window.addEventListener("pointerup",ae),window.addEventListener("pointercancel",ae)}const Q=F=>V("facet",F),me=F=>V("rail",F),B=F=>V("table",F),X=F=>V("shell",F),H={facet:16,rail:16,table:24,mapH:24,shellH:24};function z(F,I,q){if(!v()){if(F==="facet")l.value=q?I<0?i.facetW[0]:i.facetW[1]:Math.round(xt(l.value+I*H.facet,i.facetW)),x.value=!0;else if(F==="rail")c.value=q?I<0?i.railW[1]:i.railW[0]:Math.round(xt(c.value-I*H.rail,i.railW)),x.value=!0;else if(F==="table"&&A()){const ce=Math.max(i.mapH[0],m.value-(Fu+Ou));p.value=q?I<0?i.mapH[0]:ce:Math.round(xt(p.value+I*H.mapH,[i.mapH[0],ce])),S.value=!0}else if(F==="table"){const ce=q?I<0?i.tableH[0]:i.tableH[1]:xt(ns(u.value,ns(a.tableH,34))-I*H.table/4,i.tableH);u.value=Math.round(ce)+"%",x.value=!0}else F==="shell"&&A()&&(m.value=q?I<0?i.shellH[0]:i.shellH[1]:Math.round(xt(m.value+I*H.shellH,i.shellH)),y.value=!0);d(),g()}}function P(F,I){const q=I.key;let ce=0;if(F==="table"||F==="shell"?q==="ArrowUp"?ce=-1:q==="ArrowDown"&&(ce=1):q==="ArrowLeft"?ce=-1:q==="ArrowRight"&&(ce=1),ce){I.preventDefault(),z(F,ce);return}(q==="Home"||q==="End")&&(I.preventDefault(),z(F,q==="Home"?-1:1,!0))}let G=null;return _t(()=>{k()&&d(),o&&typeof o.on=="function"&&(G=o.on("resetLayout",$))}),Dt(()=>{try{G&&G()}catch{}try{j()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:p,shellH:m,customized:x,resizing:M,startFacetResize:Q,startRailResize:me,startTableResize:B,startShellResize:X,startResize:V,reset:$,applyVars:d,stepResize:z,onResizeKeydown:P}}const ay=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",iy=["value","placeholder","aria-label"],Du=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=re(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const i=a.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(a,i)=>(ee(),ne("div",{class:"search-box",style:ht(r.value)},[i[0]||(i[0]=R("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[R("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),R("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,iy)],4))}},[["styles",[ay]]]),ly=Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href,Fa=e=>String(e||"").trim().replace(/\/+$/,"");function cy(){try{const t=String(ly||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function uy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Fa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Fa(o)}return Fa(cy()||"")}function dy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=uy(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const fy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Lt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -315,8 +315,7 @@ color:#a0aab8; word-break:break-all; white-space:pre-wrap; - max-height:90px; - overflow-y:auto; + height:auto; -webkit-user-select:all; user-select:all; } @@ -366,7 +365,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=un(),r=e,s=de(null),a=de(!1),i=de(null),l=de(null),c=de("link"),u=de(!1),p=de(!1),m=de("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=Le("profileConfig",null),y=re(()=>dy({embedPath:r.embedPath,profileConfig:ue(S)||null})),v=re(()=>{const j=x[m.value].height;return''});function A(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(j){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(j),!0}catch{}try{const V=document.createElement("textarea");V.value=j,V.setAttribute("readonly",""),V.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(V),V.select();const Q=document.execCommand("copy");return document.body.removeChild(V),Q}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Le("mapToolbar",null),$=de(null);ut("mapToolbar",k||{el:$});const M=!k;function L(j){if(s.value=j||null,!M||!j){j||($.value=null);return}const V=j.offsetParent||j.parentElement;V&&!V.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&V.setAttribute("data-map-area","share-fallback"),$.value=j}return(j,V)=>(ee(),ne("div",{ref:L,class:"share-wrap","data-share-root":""},[Oe(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:ue(t)("buttons.share"),onClick:A},{default:Jo(()=>[...V[2]||(V[2]=[R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[R("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),R("polyline",{points:"16 6 12 2 8 6"}),R("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Oe(_y,{open:a.value,title:ue(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Jo(()=>[R("div",{ref_key:"popoverEl",ref:i,class:De(["share-pop",{light:!e.isDark}])},[R("ul",yy,[(ee(!0),ne(Ie,null,tt(ue(o)("buttons.shareSteps"),(Q,he)=>(ee(),ne("li",{key:he},pe(ue(n)(Q)),1))),128))]),R("div",vy,[R("button",{class:De(["share-tab",{active:c.value==="link"}]),onClick:V[0]||(V[0]=Q=>c.value="link")},"Embed link",2),R("button",{class:De(["share-tab",{active:c.value==="embed"}]),onClick:V[1]||(V[1]=Q=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),ne("div",wy,[R("div",xy,[R("div",ky,pe(y.value),1)]),R("button",{class:De(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),ne("svg",Sy,[...V[4]||(V[4]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",$y,[...V[3]||(V[3]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(u.value?"Copied!":"Copy Link"),1)],2)])):Ge("",!0),c.value==="embed"?(ee(),ne("div",Ey,[V[7]||(V[7]=R("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),R("div",Ay,[(ee(),ne(Ie,null,tt(x,(Q,he)=>R("button",{key:he,class:De(["share-size-pill",{active:m.value===he}]),onClick:B=>m.value=he},pe(Q.label),11,Cy)),64))]),R("div",Ty,pe(v.value),1),R("button",{class:De(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),ne("svg",Py,[...V[6]||(V[6]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",Ly,[...V[5]||(V[5]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(p.value?"Copied!":"Copy Code"),1)],2)])):Ge("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},vo="#c4c8c0",Ze=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,My=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function rs(e,t){const o=ts(e);return o&&o.propertyKey===t?o:null}function Ny(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(i=>t[i]===o);if(r)return r;let s=null,a=0;for(const i of n){const l=t[i];l&&o.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(o)?Aa(o):"U")}function ja(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Ry(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),i=o&&o(s);if(!a||!i)continue;n.has(a)||n.set(a,new Map);const l=n.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of n){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?zu("wagf_region",i):vo)}return r}function Fy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*o,c=e.reduce((p,m)=>p+m.value,0)||1;let u=-Math.PI/2;return e.map((p,m)=>{const x=u,S=u+p.value/c*Math.PI*2;u=S;const y=S-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,A=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(S,i)} L${v(S,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:A,pct:Math.round(p.value/c*100),color:ju(n,p.key,r)}})}function Oy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:ju(t,r.key,o)}))}function ju(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return zu(e,t)}function zu(e,t){if(t==null||t===""||t==="Other")return vo;if(e==="religion"||e==="religion_family"){const o=rs(yo.RELIGION,"religion"),n=o&&o.palette||St,r=o&&o.families||Uo;return n[Ny(t,r)]||vo}if(e==="wagf_region"){const o=rs(yo.DOXA_REGION,"doxaRegion");if(!o)return vo;const n=o.slugColors&&o.slugColors[My(t)];return n||o.aliases&&o.aliases[t]||vo}if(e==="affinity_bloc"){const o=rs(yo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||vo}if(e==="language_family"){const o=rs(yo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||vo}return vo}const Dy={class:"rd-left"},jy={class:"rd-brand"},zy={class:"rd-ttl"},By={class:"rd-filter-search","data-filter-search":""},Uy={key:0,class:"rd-search","data-search":""},Gy=["data-slug"],Hy={class:"nm"},qy={class:"sub"},Vy={key:1,class:"rd-empty"},Wy=["onKeydown"],Ky="research-dashboard/research-dashboard/index.html",Yy={__name:"DashboardTopBar",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=re(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=re(()=>{var d;return((d=o==null?void 0:o.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=n.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){o==null||o.setSearch((d==null?void 0:d.value)??"")}const c=de(""),u=de(!1),p=de(0),m=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!o||(d.slug&&(o.toggleSelect(d.slug),o.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function S(){u.value=!0,p.value=0}function y(d){if(!m.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%m.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+m.value.length)%m.value.length):d.key==="Enter"?(d.preventDefault(),x(m.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(M=>M.slug===g);k&&x(k)}const A=de(null);function _(d){A.value&&!A.value.contains(d.target)&&(u.value=!1)}return _t(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Dt(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Lt(` +`,"share-button");const{t,tm:o,rt:n}=un(),r=e,s=de(null),a=de(!1),i=de(null),l=de(null),c=de("link"),u=de(!1),p=de(!1),m=de("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=Le("profileConfig",null),y=re(()=>dy({embedPath:r.embedPath,profileConfig:ue(S)||null})),v=re(()=>{const j=x[m.value].height;return''});function A(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(j){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(j),!0}catch{}try{const V=document.createElement("textarea");V.value=j,V.setAttribute("readonly",""),V.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(V),V.select();const Q=document.execCommand("copy");return document.body.removeChild(V),Q}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Le("mapToolbar",null),$=de(null);ut("mapToolbar",k||{el:$});const M=!k;function L(j){if(s.value=j||null,!M||!j){j||($.value=null);return}const V=j.offsetParent||j.parentElement;V&&!V.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&V.setAttribute("data-map-area","share-fallback"),$.value=j}return(j,V)=>(ee(),ne("div",{ref:L,class:"share-wrap","data-share-root":""},[Oe(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:ue(t)("buttons.share"),onClick:A},{default:Jo(()=>[...V[2]||(V[2]=[R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[R("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),R("polyline",{points:"16 6 12 2 8 6"}),R("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Oe(_y,{open:a.value,title:ue(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Jo(()=>[R("div",{ref_key:"popoverEl",ref:i,class:De(["share-pop",{light:!e.isDark}])},[R("ul",yy,[(ee(!0),ne(Ie,null,tt(ue(o)("buttons.shareSteps"),(Q,me)=>(ee(),ne("li",{key:me},pe(ue(n)(Q)),1))),128))]),R("div",vy,[R("button",{class:De(["share-tab",{active:c.value==="link"}]),onClick:V[0]||(V[0]=Q=>c.value="link")},"Embed link",2),R("button",{class:De(["share-tab",{active:c.value==="embed"}]),onClick:V[1]||(V[1]=Q=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),ne("div",wy,[R("div",xy,[R("div",ky,pe(y.value),1)]),R("button",{class:De(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),ne("svg",Sy,[...V[4]||(V[4]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",$y,[...V[3]||(V[3]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(u.value?"Copied!":"Copy Link"),1)],2)])):Ge("",!0),c.value==="embed"?(ee(),ne("div",Ey,[V[7]||(V[7]=R("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),R("div",Ay,[(ee(),ne(Ie,null,tt(x,(Q,me)=>R("button",{key:me,class:De(["share-size-pill",{active:m.value===me}]),onClick:B=>m.value=me},pe(Q.label),11,Cy)),64))]),R("div",Ty,pe(v.value),1),R("button",{class:De(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),ne("svg",Py,[...V[6]||(V[6]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",Ly,[...V[5]||(V[5]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(p.value?"Copied!":"Copy Code"),1)],2)])):Ge("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},vo="#c4c8c0",Ze=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,My=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function rs(e,t){const o=ts(e);return o&&o.propertyKey===t?o:null}function Ny(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(i=>t[i]===o);if(r)return r;let s=null,a=0;for(const i of n){const l=t[i];l&&o.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(o)?Aa(o):"U")}function ja(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Ry(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),i=o&&o(s);if(!a||!i)continue;n.has(a)||n.set(a,new Map);const l=n.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of n){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?zu("wagf_region",i):vo)}return r}function Fy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*o,c=e.reduce((p,m)=>p+m.value,0)||1;let u=-Math.PI/2;return e.map((p,m)=>{const x=u,S=u+p.value/c*Math.PI*2;u=S;const y=S-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,A=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(S,i)} L${v(S,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:A,pct:Math.round(p.value/c*100),color:ju(n,p.key,r)}})}function Oy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:ju(t,r.key,o)}))}function ju(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return zu(e,t)}function zu(e,t){if(t==null||t===""||t==="Other")return vo;if(e==="religion"||e==="religion_family"){const o=rs(yo.RELIGION,"religion"),n=o&&o.palette||St,r=o&&o.families||Uo;return n[Ny(t,r)]||vo}if(e==="wagf_region"){const o=rs(yo.DOXA_REGION,"doxaRegion");if(!o)return vo;const n=o.slugColors&&o.slugColors[My(t)];return n||o.aliases&&o.aliases[t]||vo}if(e==="affinity_bloc"){const o=rs(yo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||vo}if(e==="language_family"){const o=rs(yo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||vo}return vo}const Dy={class:"rd-left"},jy={class:"rd-brand"},zy={class:"rd-ttl"},By={class:"rd-filter-search","data-filter-search":""},Uy={key:0,class:"rd-search","data-search":""},Gy=["data-slug"],Hy={class:"nm"},qy={class:"sub"},Vy={key:1,class:"rd-empty"},Wy=["onKeydown"],Ky="research-dashboard/research-dashboard/index.html",Yy={__name:"DashboardTopBar",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=re(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=re(()=>{var d;return((d=o==null?void 0:o.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=n.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){o==null||o.setSearch((d==null?void 0:d.value)??"")}const c=de(""),u=de(!1),p=de(0),m=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!o||(d.slug&&(o.toggleSelect(d.slug),o.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function S(){u.value=!0,p.value=0}function y(d){if(!m.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%m.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+m.value.length)%m.value.length):d.key==="Enter"?(d.preventDefault(),x(m.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(M=>M.slug===g);k&&x(k)}const A=de(null);function _(d){A.value&&!A.value.contains(d.target)&&(u.value=!1)}return _t(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Dt(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Lt(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -408,7 +407,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(d,f)=>(ee(),ne("header",{ref_key:"rootEl",ref:A,class:"rd-topbar","data-region":"topbar"},[R("div",Dy,[R("span",jy,[R("span",zy,[nt(pe(ue(n).title||"Research Dashboard"),1),f[1]||(f[1]=R("span",{class:"dot"},".",-1))])])]),R("div",By,[Oe(Du,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=R("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),ne("div",Uy,[f[2]||(f[2]=R("span",{class:"ic"},"⌕",-1)),Pt(R("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:S,onFocus:S,onKeydown:y},null,544),[[Pp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[m.value.length?(ee(!0),ne(Ie,{key:0},tt(m.value,(g,k)=>(ee(),ne("div",{key:g.slug,class:De(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[R("span",Hy,pe(g.name),1),R("span",qy,pe(ue(Ze)(g.country_code))+" · "+pe(ue(Ze)(g.religion)),1)],10,Gy))),128)):(ee(),ne("div",Vy,"No people groups match “"+pe(c.value.trim())+"”.",1))])):Ge("",!0)])):Ge("",!0),R("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(on(s,["prevent"]),["enter"]),zr(on(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Wy),Oe(Iy,{"embed-path":Ky})],512))}},Po="#c4c8c0";function Xy(e,t){const o=ts(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const Jy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Zy(){const e=re(()=>{const o=ts(yo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Po;if(o==="people"){const a=Xy(yo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Po}if(o==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Jy(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Po}return o==="language"?_o[s||r]||Po:o==="religion"&&St[s]||Po}return{colorFor:t,NEUTRAL:Po}}const Qy={class:"rd-facets","data-region":"facets"},ev={class:"fr-head"},tv={class:"fr-scope","data-scope-count":""},ov=["data-facet-section"],nv=["onClick"],rv={class:"fr-rows"},sv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],av=["data-expand","data-expand-value","aria-expanded","aria-label"],iv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},lv={class:"fr-lbl"},cv={class:"fr-bar"},uv={class:"fr-cnt"},dv={key:3,class:"fr-donly","aria-hidden":"true"},fv={__name:"DashboardFacetRail",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Le("dataStore",null),s=Le("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},i=Object.fromEntries(Object.entries(n.facets||{}).map(([P,G])=>[P,G.get])),l=new Set(Object.entries(n.facets||{}).filter(([,P])=>P&&P.dashboardOnly).map(([P])=>P)),c=Jn(o,Xn(n));function u(P){var q,ce;const G=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],F=Object.keys(a).filter(be=>!P.includes(be)),I=!!(((ce=o==null?void 0:o.searchTerm)==null?void 0:ce.value)||"").trim();return!F.length&&!I?G:G.filter(be=>F.every($e=>{const Me=i[$e];return Me?Me(be)===a[$e]:!0})&&c(be))}const p=new Set(["people","place","language","religion"]),m=Mo(Object.fromEntries((n.facetRail||[]).map(P=>[P.id,p.has(P.id)])));function x(P){m[P]=!m[P]}const S=Mo({}),y=(P,G)=>P+":"+G;function v(P,G){const F=y(P,G);S[F]=!A(P,G)}function A(P,G){const F=y(P,G);return F in S?S[F]:a[P]===G}function _(P,G,F){const I=P.reduce((q,ce)=>Math.max(q,ce.value),0)||1;return P.map(q=>({facet:G,value:q.key,label:q.key,count:q.value,frac:q.value/I,level:F,other:!!q.other,active:!q.other&&a[G]===q.key,dashboardOnly:l.has(G)}))}const d=new Map;function f(P,G,F){if(F)return d.set(P,G.map(xe=>({...xe,count:0,frac:0,active:!1,expanded:!1}))),G;const I=d.get(P);if(!I)return G;const q=xe=>xe.facet+":"+xe.value,ce=new Set(G.map(q));if(!I.filter(xe=>!ce.has(q(xe))).length)return G;const $e=new Map;let Me="";for(const xe of I){const _e=q(xe);if(ce.has(_e)){Me=_e;continue}$e.has(Me)||$e.set(Me,[]),$e.get(Me).push({...xe,zero:!0})}const Ae=[];for(const xe of $e.get("")||[])Ae.push(xe);for(let xe=0;xe_e.level;)Ae.push(G[++xe]);for(const ye of ge)Ae.push(ye)}}return Ae}function g(P,G){return _(ja(u([P]),i[P],G??24),P,0)}function k(P,G){const F=[],I=(q,ce)=>{const be=P[q],$e=(G&&G[q])??(q===P.length-1?40:30);let Me=u(P.slice(q));ce.length&&(Me=Me.filter(xe=>ce.every(([_e,ge])=>{const ye=i[_e];return ye?ye(xe)===ge:!0})));const Ae=_(ja(Me,i[be],$e),be,q);for(const xe of Ae)xe.hasChildren=!xe.other&&q{var F;const P=new Map,G=n.facets&&n.facets.religion_family;if(!G||!G.famKey)return P;for(const I of((F=t==null?void 0:t.rows)==null?void 0:F.value)||[]){const q=G.get(I);q&&!P.has(q)&&P.set(q,G.famKey(I))}return P}),Q=re(()=>{var P;return!Object.keys(a).length&&!(((P=o==null?void 0:o.searchTerm)==null?void 0:P.value)||"").trim()}),he=re(()=>(n.facetRail||[]).map(P=>{let G=P.drill?k(P.drill,P.topN):g(P.facet,P.topN);if(G=f(P.id,G,Q.value),P.tree==="affinity"){const F=M.value;G=G.map(I=>I.other?I:{...I,label:F[I.facet]&&F[I.facet].get(I.value)||I.label})}return G=j(G,P.axis,V.value),{id:P.id,title:P.title,axis:P.axis,rows:$(G)}})),B=re(()=>{var F;const P=((F=t==null?void 0:t.rows)==null?void 0:F.value)||[],G=Object.keys(a);return G.length?P.filter(I=>G.every(q=>{const ce=i[q];return ce?ce(I)===a[q]:!0})).length:P.length});function X(P){const G=P.target;if(!G||!G.closest)return;const F=G.closest("[data-expand]");if(F){const be=F.getAttribute("data-expand"),$e=F.getAttribute("data-expand-value");be&&$e!=null&&(P.stopPropagation(),v(be,$e));return}const I=G.closest("[data-facet]");if(!I||!o)return;const q=I.getAttribute("data-facet"),ce=I.getAttribute("data-value");!q||!ce||o.setFilter(q,a[q]===ce?null:ce)}function H(P){if(P.key!=="Enter"&&P.key!==" "&&P.key!=="Spacebar")return;const G=P.target&&P.target.closest?P.target.closest("[data-facet]"):null;if(!G||!o)return;P.preventDefault();const F=G.getAttribute("data-facet"),I=G.getAttribute("data-value");!F||!I||o.setFilter(F,a[F]===I?null:I)}const z=de(null);return _t(()=>{o&&o.on("mapFocus",({value:P}={})=>{if(!P||!z.value)return;const F=[...z.value.querySelectorAll(".fr-row")].find(I=>I.textContent&&I.textContent.includes(P));F&&(z.value.scrollTop=Math.max(0,F.offsetTop-8))})}),Lt(` +`,"rd-topbar"),(d,f)=>(ee(),ne("header",{ref_key:"rootEl",ref:A,class:"rd-topbar","data-region":"topbar"},[R("div",Dy,[R("span",jy,[R("span",zy,[nt(pe(ue(n).title||"Research Dashboard"),1),f[1]||(f[1]=R("span",{class:"dot"},".",-1))])])]),R("div",By,[Oe(Du,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=R("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),ne("div",Uy,[f[2]||(f[2]=R("span",{class:"ic"},"⌕",-1)),Pt(R("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:S,onFocus:S,onKeydown:y},null,544),[[Pp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[m.value.length?(ee(!0),ne(Ie,{key:0},tt(m.value,(g,k)=>(ee(),ne("div",{key:g.slug,class:De(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[R("span",Hy,pe(g.name),1),R("span",qy,pe(ue(Ze)(g.country_code))+" · "+pe(ue(Ze)(g.religion)),1)],10,Gy))),128)):(ee(),ne("div",Vy,"No people groups match “"+pe(c.value.trim())+"”.",1))])):Ge("",!0)])):Ge("",!0),R("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(on(s,["prevent"]),["enter"]),zr(on(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Wy),Oe(Iy,{"embed-path":Ky})],512))}},Po="#c4c8c0";function Xy(e,t){const o=ts(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const Jy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Zy(){const e=re(()=>{const o=ts(yo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Po;if(o==="people"){const a=Xy(yo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Po}if(o==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Jy(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Po}return o==="language"?_o[s||r]||Po:o==="religion"&&St[s]||Po}return{colorFor:t,NEUTRAL:Po}}const Qy={class:"rd-facets","data-region":"facets"},ev={class:"fr-head"},tv={class:"fr-scope","data-scope-count":""},ov=["data-facet-section"],nv=["onClick"],rv={class:"fr-rows"},sv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],av=["data-expand","data-expand-value","aria-expanded","aria-label"],iv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},lv={class:"fr-lbl"},cv={class:"fr-bar"},uv={class:"fr-cnt"},dv={key:3,class:"fr-donly","aria-hidden":"true"},fv={__name:"DashboardFacetRail",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Le("dataStore",null),s=Le("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},i=Object.fromEntries(Object.entries(n.facets||{}).map(([P,G])=>[P,G.get])),l=new Set(Object.entries(n.facets||{}).filter(([,P])=>P&&P.dashboardOnly).map(([P])=>P)),c=Jn(o,Xn(n));function u(P){var q,ce;const G=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],F=Object.keys(a).filter(he=>!P.includes(he)),I=!!(((ce=o==null?void 0:o.searchTerm)==null?void 0:ce.value)||"").trim();return!F.length&&!I?G:G.filter(he=>F.every($e=>{const Me=i[$e];return Me?Me(he)===a[$e]:!0})&&c(he))}const p=new Set(["people","place","language","religion"]),m=Mo(Object.fromEntries((n.facetRail||[]).map(P=>[P.id,p.has(P.id)])));function x(P){m[P]=!m[P]}const S=Mo({}),y=(P,G)=>P+":"+G;function v(P,G){const F=y(P,G);S[F]=!A(P,G)}function A(P,G){const F=y(P,G);return F in S?S[F]:a[P]===G}function _(P,G,F){const I=P.reduce((q,ce)=>Math.max(q,ce.value),0)||1;return P.map(q=>({facet:G,value:q.key,label:q.key,count:q.value,frac:q.value/I,level:F,other:!!q.other,active:!q.other&&a[G]===q.key,dashboardOnly:l.has(G)}))}const d=new Map;function f(P,G,F){if(F)return d.set(P,G.map(xe=>({...xe,count:0,frac:0,active:!1,expanded:!1}))),G;const I=d.get(P);if(!I)return G;const q=xe=>xe.facet+":"+xe.value,ce=new Set(G.map(q));if(!I.filter(xe=>!ce.has(q(xe))).length)return G;const $e=new Map;let Me="";for(const xe of I){const _e=q(xe);if(ce.has(_e)){Me=_e;continue}$e.has(Me)||$e.set(Me,[]),$e.get(Me).push({...xe,zero:!0})}const Ae=[];for(const xe of $e.get("")||[])Ae.push(xe);for(let xe=0;xe_e.level;)Ae.push(G[++xe]);for(const ye of ge)Ae.push(ye)}}return Ae}function g(P,G){return _(ja(u([P]),i[P],G??24),P,0)}function k(P,G){const F=[],I=(q,ce)=>{const he=P[q],$e=(G&&G[q])??(q===P.length-1?40:30);let Me=u(P.slice(q));ce.length&&(Me=Me.filter(xe=>ce.every(([_e,ge])=>{const ye=i[_e];return ye?ye(xe)===ge:!0})));const Ae=_(ja(Me,i[he],$e),he,q);for(const xe of Ae)xe.hasChildren=!xe.other&&q{var F;const P=new Map,G=n.facets&&n.facets.religion_family;if(!G||!G.famKey)return P;for(const I of((F=t==null?void 0:t.rows)==null?void 0:F.value)||[]){const q=G.get(I);q&&!P.has(q)&&P.set(q,G.famKey(I))}return P}),Q=re(()=>{var P;return!Object.keys(a).length&&!(((P=o==null?void 0:o.searchTerm)==null?void 0:P.value)||"").trim()}),me=re(()=>(n.facetRail||[]).map(P=>{let G=P.drill?k(P.drill,P.topN):g(P.facet,P.topN);if(G=f(P.id,G,Q.value),P.tree==="affinity"){const F=M.value;G=G.map(I=>I.other?I:{...I,label:F[I.facet]&&F[I.facet].get(I.value)||I.label})}return G=j(G,P.axis,V.value),{id:P.id,title:P.title,axis:P.axis,rows:$(G)}})),B=re(()=>{var F;const P=((F=t==null?void 0:t.rows)==null?void 0:F.value)||[],G=Object.keys(a);return G.length?P.filter(I=>G.every(q=>{const ce=i[q];return ce?ce(I)===a[q]:!0})).length:P.length});function X(P){const G=P.target;if(!G||!G.closest)return;const F=G.closest("[data-expand]");if(F){const he=F.getAttribute("data-expand"),$e=F.getAttribute("data-expand-value");he&&$e!=null&&(P.stopPropagation(),v(he,$e));return}const I=G.closest("[data-facet]");if(!I||!o)return;const q=I.getAttribute("data-facet"),ce=I.getAttribute("data-value");!q||!ce||o.setFilter(q,a[q]===ce?null:ce)}function H(P){if(P.key!=="Enter"&&P.key!==" "&&P.key!=="Spacebar")return;const G=P.target&&P.target.closest?P.target.closest("[data-facet]"):null;if(!G||!o)return;P.preventDefault();const F=G.getAttribute("data-facet"),I=G.getAttribute("data-value");!F||!I||o.setFilter(F,a[F]===I?null:I)}const z=de(null);return _t(()=>{o&&o.on("mapFocus",({value:P}={})=>{if(!P||!z.value)return;const F=[...z.value.querySelectorAll(".fr-row")].find(I=>I.textContent&&I.textContent.includes(P));F&&(z.value.scrollTop=Math.max(0,F.offsetTop-8))})}),Lt(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -483,7 +482,7 @@ .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; color:var(--dx-muted, #6d766e); opacity:.75; } -`,"rd-facetrail"),(P,G)=>(ee(),ne("aside",Qy,[R("div",ev,[G[1]||(G[1]=R("div",{class:"fr-title"},"Tree Legend",-1)),R("div",tv,[R("b",null,pe(B.value.toLocaleString("en-US")),1),G[0]||(G[0]=nt(" groups in scope",-1))])]),R("div",{class:"fr-body",ref_key:"railEl",ref:z,onClick:X,onKeydown:H},[(ee(!0),ne(Ie,null,tt(he.value,F=>(ee(),ne("div",{key:F.id,class:"fr-sec","data-facet-section":F.id},[R("div",{class:De(["fr-sech",{closed:!m[F.id]}]),onClick:on(I=>x(F.id),["stop"])},[R("span",null,pe(F.title),1),G[2]||(G[2]=R("span",{class:"chev"},"▾",-1))],10,nv),Pt(R("div",rv,[(ee(!0),ne(Ie,null,tt(F.rows,I=>(ee(),ne("div",{key:I.facet+":"+I.value,class:De(["fr-row",["l"+I.level,{on:I.active,other:I.other,zero:I.zero,inert:I.other||I.zero,"dash-only":I.dashboardOnly}]]),"data-facet":I.other||I.zero?null:I.facet,"data-value":I.other||I.zero?null:I.value,tabindex:I.other||I.zero?null:0,role:I.other||I.zero?null:"button","aria-pressed":I.other||I.zero?null:I.active?"true":"false","aria-label":I.other||I.zero?null:(I.active?"Remove filter ":"Filter by ")+I.label+", "+I.count.toLocaleString("en-US")+" groups"+(I.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:I.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+I.label:null},[(ee(!0),ne(Ie,null,tt(I.trunks,(q,ce)=>(ee(),ne("span",{key:"tr"+ce,class:De(["fr-trunk","fr-trunk-"+q])},null,2))),128)),I.hasChildren?(ee(),ne("button",{key:0,type:"button",class:De(["fr-caret-btn",{open:I.expanded}]),"data-expand":I.facet,"data-expand-value":I.value,"aria-expanded":I.expanded?"true":"false","aria-label":(I.expanded?"Collapse ":"Expand ")+I.label},[...G[3]||(G[3]=[R("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,av)):(ee(),ne("span",iv)),I.swatch?(ee(),ne("span",{key:2,class:"fr-sw",style:ht({background:I.swatch}),"aria-hidden":"true"},null,4)):Ge("",!0),R("span",lv,pe(I.label),1),R("span",cv,[R("i",{style:ht({width:Math.max(4,I.frac*100)+"%"})},null,4)]),R("span",uv,pe(I.count.toLocaleString("en-US")),1),I.dashboardOnly?(ee(),ne("span",dv,"◐")):Ge("",!0)],10,sv))),128))],512),[[jt,m[F.id]]])],8,ov))),128))],544)]))}},pv=["data-sel-count"],gv=["data-collapsed"],hv=["title","aria-expanded"],mv={class:"ct","data-table-count":""},bv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},_v=["aria-pressed"],yv=["aria-pressed"],vv={key:2,class:"rd-toast","data-export-toast":""},wv=["aria-busy","title","onKeydown"],xv={key:0,class:"rd-csv-n"},kv=["data-sort-by","aria-rowcount"],$v={class:"rd-thead",role:"row"},Sv=["title"],Ev=["checked","aria-label"],Av=["title","aria-sort","data-col","onClick"],Cv={class:"ind"},Tv=["data-slug","aria-selected","aria-rowindex"],Lv={class:"rd-td chk",role:"gridcell"},Pv=["checked","aria-label"],Iv={class:"rd-foot",role:"row"},Zn=26,Mv={__name:"DashboardDataTable",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=C=>{if(typeof C=="number")return C;const J=parseFloat(String(C??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=C=>C==null?"":Number(C).toLocaleString("en-US"),a=re(()=>n.columns||[]);function i(C){const J=Number(C&&C.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const l=Object.fromEntries(Object.entries(n.facets||{}).map(([C,J])=>[C,J.get])),c=re(()=>{var C;return((C=t==null?void 0:t.rows)==null?void 0:C.value)||[]}),u=(o==null?void 0:o.filterSet)||{},p=o==null?void 0:o.selectionSet;function m(C,J,oe){const me=l[J];if(!me)return!0;const ke=me(C);return Array.isArray(oe)?oe.includes(ke):ke===oe}const x=Jn(o,Xn(n)),S=re(()=>{var oe;const C=Object.keys(u),J=!!(((oe=o==null?void 0:o.searchTerm)==null?void 0:oe.value)||"").trim();return!C.length&&!J?c.value:c.value.filter(me=>C.every(ke=>m(me,ke,u[ke]))&&x(me))}),y=de([]);function v(C,J){const oe=!!(J&&J.shiftKey),me=y.value.findIndex(ke=>ke.key===C.key);if(me<0)y.value=(oe?[...y.value]:[]).concat({key:C.key,dir:"asc"});else if(y.value[me].dir==="asc"){const ke=[...y.value];ke[me]={key:C.key,dir:"desc"},y.value=ke}else y.value=oe?y.value.filter(ke=>ke.key!==C.key):[]}function A(C){const J=y.value.find(oe=>oe.key===C.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const C=y.value;if(!C.length)return S.value;const J=C.map(oe=>({col:a.value.find(me=>me.key===oe.key),dir:oe.dir==="asc"?1:-1}));return S.value.slice().sort((oe,me)=>{for(const{col:ke,dir:qe}of J){let We=ke.get(oe),kt=ke.get(me);if((We==null||We==="")&&(We=ke.type==="num"?-1/0:""),(kt==null||kt==="")&&(kt=ke.type==="num"?-1/0:""),Wekt)return 1*qe}return 0})}),d=de(!1),f=de(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,M=re(()=>{let C=_.value;if(d.value&&($(),C=C.filter(J=>p&&p.has(J.slug))),f.value){$();const J=[],oe=[];for(const me of C)(p&&p.has(me.slug)?J:oe).push(me);C=J.concat(oe)}return C}),L=de(0),j=de(360),V=de(null);let Q=null;function he(C){L.value=C.target.scrollTop}const B=re(()=>Math.max(0,Math.floor(L.value/Zn)-6)),X=re(()=>Math.ceil(j.value/Zn)+12),H=re(()=>M.value.slice(B.value,B.value+X.value)),z=re(()=>B.value*Zn),P=re(()=>Math.max(0,(M.value.length-(B.value+H.value.length))*Zn));_t(()=>{V.value&&(j.value=V.value.clientHeight||360,Q=new ResizeObserver(()=>{j.value=V.value.clientHeight||j.value}),Q.observe(V.value)),o&&o.on("toggleTable",C=>{W.value=!!C}),o&&o.on("focusRow",({slug:C}={})=>{if(!C||!V.value)return;const J=M.value.findIndex(oe=>oe.slug===C);J>=0&&(V.value.scrollTop=Math.max(0,J*Zn-j.value/2))})}),Dt(()=>{Q&&Q.disconnect(),clearTimeout(ie)});const G=re(()=>($(),p?p.size:0)),F=C=>!!(p&&p.has(C.slug)),I=re(()=>$()),q=de(null),ce=de("select");let be=new Set;function $e(C,J){q.value=C,ce.value=J,be=new Set(p)}function Me(C,J){const oe=M.value,me=oe.findIndex(et=>et.slug===C),ke=oe.findIndex(et=>et.slug===J);if(me<0||ke<0)return[];const[qe,We]=me<=ke?[me,ke]:[ke,me],kt=[];for(let et=qe;et<=We;et++)kt.push(oe[et].slug);return kt}function Ae(C,J){if(!o||!C)return;const oe=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&q.value){const ke=Me(q.value,C);if(!ke.length)return;if(oe){const qe=new Set(be);if(ce.value==="deselect")for(const We of ke)qe.delete(We);else for(const We of ke)qe.add(We);o.setSelection(qe)}else o.setSelection(ke);return}if(oe){const ke=!p.has(C);$e(C,ke?"select":"deselect"),o.toggleSelect(C),be=new Set(p);return}$e(C,"select"),o.setSelection([C]),be=new Set(p)}function xe(C){const J=C.target;if(!J||!J.closest)return;const oe=J.closest(".rd-row");if(!oe||!o)return;const me=oe.getAttribute("data-slug");if(me){if(J.closest(".rd-td.chk")){if(C.shiftKey||C.ctrlKey||C.metaKey){Ae(me,C);return}$e(me,p.has(me)?"deselect":"select"),o.toggleSelect(me),be=new Set(p);return}Ae(me,C)}}function _e(C){C.shiftKey&&C.target&&C.target.closest&&C.target.closest(".rd-row")&&C.preventDefault()}const ge=re(()=>{$();const C=S.value;if(!C.length)return!1;for(const J of C)if(!p.has(J.slug))return!1;return!0}),ye=re(()=>{if($(),ge.value)return!1;for(const C of S.value)if(p.has(C.slug))return!0;return!1});function w(){if(!o)return;const C=S.value.map(J=>J.slug);ge.value?o.deselectMany(C):o.selectMany(C),q.value=null,be=new Set(p)}function T(){o&&o.clearSelection(),q.value=null,be=new Set}const E=de(null);function U(C){E.value=C||null}dt([ye,E],()=>{E.value&&(E.value.indeterminate=ye.value)},{immediate:!0}),dt([y,()=>S.value.length,d,f],()=>{q.value=null}),dt(G,C=>{C||(d.value=!1)});const W=de(!1);function Z(){W.value=!W.value,o&&o.emit("toggleTable",W.value)}const ae=re(()=>S.value.reduce((C,J)=>C+(r(J.population)||0),0)),te=re(()=>S.value.length),{labelFor:h}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),b=t&&o?Na({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:l,dataOpts:n.data,labelFor:h}):null,D=de(""),K=de(!1);let ie=null;async function se(){if(!(!b||K.value)){K.value=!0;try{const C=await b.exportCsvAsync(),J=C.downloaded?"exported":C.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(C.rows)} rows × ${C.fields} fields ${J}`}catch{D.value="✕ Export failed"}finally{K.value=!1,clearTimeout(ie),ie=setTimeout(()=>{D.value=""},3200)}}}function O(){b&&b.prefetchExportFields()}return Lt(` +`,"rd-facetrail"),(P,G)=>(ee(),ne("aside",Qy,[R("div",ev,[G[1]||(G[1]=R("div",{class:"fr-title"},"Tree Legend",-1)),R("div",tv,[R("b",null,pe(B.value.toLocaleString("en-US")),1),G[0]||(G[0]=nt(" groups in scope",-1))])]),R("div",{class:"fr-body",ref_key:"railEl",ref:z,onClick:X,onKeydown:H},[(ee(!0),ne(Ie,null,tt(me.value,F=>(ee(),ne("div",{key:F.id,class:"fr-sec","data-facet-section":F.id},[R("div",{class:De(["fr-sech",{closed:!m[F.id]}]),onClick:on(I=>x(F.id),["stop"])},[R("span",null,pe(F.title),1),G[2]||(G[2]=R("span",{class:"chev"},"▾",-1))],10,nv),Pt(R("div",rv,[(ee(!0),ne(Ie,null,tt(F.rows,I=>(ee(),ne("div",{key:I.facet+":"+I.value,class:De(["fr-row",["l"+I.level,{on:I.active,other:I.other,zero:I.zero,inert:I.other||I.zero,"dash-only":I.dashboardOnly}]]),"data-facet":I.other||I.zero?null:I.facet,"data-value":I.other||I.zero?null:I.value,tabindex:I.other||I.zero?null:0,role:I.other||I.zero?null:"button","aria-pressed":I.other||I.zero?null:I.active?"true":"false","aria-label":I.other||I.zero?null:(I.active?"Remove filter ":"Filter by ")+I.label+", "+I.count.toLocaleString("en-US")+" groups"+(I.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:I.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+I.label:null},[(ee(!0),ne(Ie,null,tt(I.trunks,(q,ce)=>(ee(),ne("span",{key:"tr"+ce,class:De(["fr-trunk","fr-trunk-"+q])},null,2))),128)),I.hasChildren?(ee(),ne("button",{key:0,type:"button",class:De(["fr-caret-btn",{open:I.expanded}]),"data-expand":I.facet,"data-expand-value":I.value,"aria-expanded":I.expanded?"true":"false","aria-label":(I.expanded?"Collapse ":"Expand ")+I.label},[...G[3]||(G[3]=[R("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,av)):(ee(),ne("span",iv)),I.swatch?(ee(),ne("span",{key:2,class:"fr-sw",style:ht({background:I.swatch}),"aria-hidden":"true"},null,4)):Ge("",!0),R("span",lv,pe(I.label),1),R("span",cv,[R("i",{style:ht({width:Math.max(4,I.frac*100)+"%"})},null,4)]),R("span",uv,pe(I.count.toLocaleString("en-US")),1),I.dashboardOnly?(ee(),ne("span",dv,"◐")):Ge("",!0)],10,sv))),128))],512),[[jt,m[F.id]]])],8,ov))),128))],544)]))}},pv=["data-sel-count"],gv=["data-collapsed"],hv=["title","aria-expanded"],mv={class:"ct","data-table-count":""},bv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},_v=["aria-pressed"],yv=["aria-pressed"],vv={key:2,class:"rd-toast","data-export-toast":""},wv=["aria-busy","title","onKeydown"],xv={key:0,class:"rd-csv-n"},kv=["data-sort-by","aria-rowcount"],$v={class:"rd-thead",role:"row"},Sv=["title"],Ev=["checked","aria-label"],Av=["title","aria-sort","data-col","onClick"],Cv={class:"ind"},Tv=["data-slug","aria-selected","aria-rowindex"],Lv={class:"rd-td chk",role:"gridcell"},Pv=["checked","aria-label"],Iv={class:"rd-foot",role:"row"},Zn=26,Mv={__name:"DashboardDataTable",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=C=>{if(typeof C=="number")return C;const J=parseFloat(String(C??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=C=>C==null?"":Number(C).toLocaleString("en-US"),a=re(()=>n.columns||[]);function i(C){const J=Number(C&&C.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const l=Object.fromEntries(Object.entries(n.facets||{}).map(([C,J])=>[C,J.get])),c=re(()=>{var C;return((C=t==null?void 0:t.rows)==null?void 0:C.value)||[]}),u=(o==null?void 0:o.filterSet)||{},p=o==null?void 0:o.selectionSet;function m(C,J,oe){const be=l[J];if(!be)return!0;const ke=be(C);return Array.isArray(oe)?oe.includes(ke):ke===oe}const x=Jn(o,Xn(n)),S=re(()=>{var oe;const C=Object.keys(u),J=!!(((oe=o==null?void 0:o.searchTerm)==null?void 0:oe.value)||"").trim();return!C.length&&!J?c.value:c.value.filter(be=>C.every(ke=>m(be,ke,u[ke]))&&x(be))}),y=de([]);function v(C,J){const oe=!!(J&&J.shiftKey),be=y.value.findIndex(ke=>ke.key===C.key);if(be<0)y.value=(oe?[...y.value]:[]).concat({key:C.key,dir:"asc"});else if(y.value[be].dir==="asc"){const ke=[...y.value];ke[be]={key:C.key,dir:"desc"},y.value=ke}else y.value=oe?y.value.filter(ke=>ke.key!==C.key):[]}function A(C){const J=y.value.find(oe=>oe.key===C.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const C=y.value;if(!C.length)return S.value;const J=C.map(oe=>({col:a.value.find(be=>be.key===oe.key),dir:oe.dir==="asc"?1:-1}));return S.value.slice().sort((oe,be)=>{for(const{col:ke,dir:qe}of J){let We=ke.get(oe),kt=ke.get(be);if((We==null||We==="")&&(We=ke.type==="num"?-1/0:""),(kt==null||kt==="")&&(kt=ke.type==="num"?-1/0:""),Wekt)return 1*qe}return 0})}),d=de(!1),f=de(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,M=re(()=>{let C=_.value;if(d.value&&($(),C=C.filter(J=>p&&p.has(J.slug))),f.value){$();const J=[],oe=[];for(const be of C)(p&&p.has(be.slug)?J:oe).push(be);C=J.concat(oe)}return C}),L=de(0),j=de(360),V=de(null);let Q=null;function me(C){L.value=C.target.scrollTop}const B=re(()=>Math.max(0,Math.floor(L.value/Zn)-6)),X=re(()=>Math.ceil(j.value/Zn)+12),H=re(()=>M.value.slice(B.value,B.value+X.value)),z=re(()=>B.value*Zn),P=re(()=>Math.max(0,(M.value.length-(B.value+H.value.length))*Zn));_t(()=>{V.value&&(j.value=V.value.clientHeight||360,Q=new ResizeObserver(()=>{j.value=V.value.clientHeight||j.value}),Q.observe(V.value)),o&&o.on("toggleTable",C=>{W.value=!!C}),o&&o.on("focusRow",({slug:C}={})=>{if(!C||!V.value)return;const J=M.value.findIndex(oe=>oe.slug===C);J>=0&&(V.value.scrollTop=Math.max(0,J*Zn-j.value/2))})}),Dt(()=>{Q&&Q.disconnect(),clearTimeout(ie)});const G=re(()=>($(),p?p.size:0)),F=C=>!!(p&&p.has(C.slug)),I=re(()=>$()),q=de(null),ce=de("select");let he=new Set;function $e(C,J){q.value=C,ce.value=J,he=new Set(p)}function Me(C,J){const oe=M.value,be=oe.findIndex(et=>et.slug===C),ke=oe.findIndex(et=>et.slug===J);if(be<0||ke<0)return[];const[qe,We]=be<=ke?[be,ke]:[ke,be],kt=[];for(let et=qe;et<=We;et++)kt.push(oe[et].slug);return kt}function Ae(C,J){if(!o||!C)return;const oe=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&q.value){const ke=Me(q.value,C);if(!ke.length)return;if(oe){const qe=new Set(he);if(ce.value==="deselect")for(const We of ke)qe.delete(We);else for(const We of ke)qe.add(We);o.setSelection(qe)}else o.setSelection(ke);return}if(oe){const ke=!p.has(C);$e(C,ke?"select":"deselect"),o.toggleSelect(C),he=new Set(p);return}$e(C,"select"),o.setSelection([C]),he=new Set(p)}function xe(C){const J=C.target;if(!J||!J.closest)return;const oe=J.closest(".rd-row");if(!oe||!o)return;const be=oe.getAttribute("data-slug");if(be){if(J.closest(".rd-td.chk")){if(C.shiftKey||C.ctrlKey||C.metaKey){Ae(be,C);return}$e(be,p.has(be)?"deselect":"select"),o.toggleSelect(be),he=new Set(p);return}Ae(be,C)}}function _e(C){C.shiftKey&&C.target&&C.target.closest&&C.target.closest(".rd-row")&&C.preventDefault()}const ge=re(()=>{$();const C=S.value;if(!C.length)return!1;for(const J of C)if(!p.has(J.slug))return!1;return!0}),ye=re(()=>{if($(),ge.value)return!1;for(const C of S.value)if(p.has(C.slug))return!0;return!1});function w(){if(!o)return;const C=S.value.map(J=>J.slug);ge.value?o.deselectMany(C):o.selectMany(C),q.value=null,he=new Set(p)}function T(){o&&o.clearSelection(),q.value=null,he=new Set}const E=de(null);function U(C){E.value=C||null}dt([ye,E],()=>{E.value&&(E.value.indeterminate=ye.value)},{immediate:!0}),dt([y,()=>S.value.length,d,f],()=>{q.value=null}),dt(G,C=>{C||(d.value=!1)});const W=de(!1);function Z(){W.value=!W.value,o&&o.emit("toggleTable",W.value)}const ae=re(()=>S.value.reduce((C,J)=>C+(r(J.population)||0),0)),te=re(()=>S.value.length),{labelFor:h}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),b=t&&o?Na({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:l,dataOpts:n.data,labelFor:h}):null,D=de(""),K=de(!1);let ie=null;async function se(){if(!(!b||K.value)){K.value=!0;try{const C=await b.exportCsvAsync(),J=C.downloaded?"exported":C.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(C.rows)} rows × ${C.fields} fields ${J}`}catch{D.value="✕ Export failed"}finally{K.value=!1,clearTimeout(ie),ie=setTimeout(()=>{D.value=""},3200)}}}function O(){b&&b.prefetchExportFields()}return Lt(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -531,7 +530,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(C,J)=>(ee(),ne("div",{class:"rd-table-wrap","data-sel-count":G.value},[R("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[R("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:Z},pe(W.value?"▴":"▾"),9,hv),J[0]||(J[0]=R("span",{class:"ttl"},"People Groups",-1)),R("span",mv,pe(s(te.value))+" "+pe(te.value===1?"group":"groups"),1),G.value?(ee(),ne("span",bv,[R("span",null,pe(s(G.value))+" selected",1),R("button",{title:"Clear selection","aria-label":"Clear selection",onClick:T},"✕")])):Ge("",!0),G.value?(ee(),ne(Ie,{key:1},[R("button",{class:De(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,_v),R("button",{class:De(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,yv)],64)):Ge("",!0),J[1]||(J[1]=R("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),ne("span",vv,pe(D.value),1)):Ge("",!0),R("span",{class:De(["rd-csv",{busy:K.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":K.value?"true":"false",title:G.value?`Export the ${G.value} selected people groups — all fields`:`Export these ${s(te.value)} people groups — all fields`,onClick:se,onMouseenter:O,onFocus:O,onKeydown:[zr(on(se,["prevent"]),["enter"]),zr(on(se,["prevent"]),["space"])]},[nt(pe(K.value?"…":"↓")+" Export CSV",1),G.value?(ee(),ne("span",xv,pe(G.value),1)):Ge("",!0)],42,wv)],8,gv),Pt(R("div",{ref_key:"scroller",ref:V,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(oe=>oe.key+":"+oe.dir).join(","),"aria-rowcount":M.value.length+1,onScroll:he,onClick:xe,onMousedown:_e},[R("div",$v,[R("div",{class:"rd-th chk",style:{cursor:"pointer"},title:ge.value?"Deselect all "+s(te.value):"Select all "+s(te.value),onClick:w},[R("input",{type:"checkbox",checked:ge.value,ref:U,"aria-label":ge.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Ev)],8,Sv),(ee(!0),ne(Ie,null,tt(a.value,oe=>(ee(),ne("div",{key:oe.key,class:De(["rd-th",{num:oe.type==="num"}]),style:ht(i(oe)),title:`Sort this table by ${oe.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":A(oe),"data-col":oe.key,onClick:me=>v(oe,me)},[nt(pe(oe.label),1),R("span",Cv,pe(A(oe)==="ascending"?"▲":A(oe)==="descending"?"▼":""),1)],14,Av))),128))]),R("div",{style:ht({height:z.value+"px"})},null,4),(ee(!0),ne(Ie,null,tt(H.value,(oe,me)=>(ee(),ne("div",{key:oe.slug,class:De(["rd-row",{sel:I.value>=0&&F(oe)}]),role:"row","data-slug":oe.slug,"aria-selected":F(oe)?"true":"false","aria-rowindex":B.value+me+2},[R("div",Lv,[R("input",{type:"checkbox",class:"rd-rowchk",checked:F(oe),"aria-label":"Select "+oe.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Pv)]),(ee(!0),ne(Ie,null,tt(a.value,ke=>(ee(),ne("div",{key:ke.key,class:De(["rd-td",{num:ke.type==="num"}]),style:ht(i(ke)),role:"gridcell"},pe(ke.type==="num"?s(ke.get(oe)):ke.get(oe)),7))),128))],10,Tv))),128)),R("div",{style:ht({height:P.value+"px"})},null,4)],40,kv),[[jt,!W.value]]),Pt(R("div",Iv,[J[2]||(J[2]=R("div",{class:"rd-td chk"},null,-1)),(ee(!0),ne(Ie,null,tt(a.value,(oe,me)=>(ee(),ne("div",{key:"f-"+oe.key,class:De(["rd-td",{num:oe.type==="num"}]),style:ht(i(oe))},[me===0?(ee(),ne(Ie,{key:0},[nt("Σ "+pe(s(te.value))+" groups",1)],64)):oe.key==="population"?(ee(),ne(Ie,{key:1},[nt(pe(s(ae.value)),1)],64)):Ge("",!0)],6))),128))],512),[[jt,!W.value]])],8,pv))}},Nv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Rv=["aria-selected","disabled","title","data-tab","onClick"],Fv=["data-chart"],Ov={class:"rd-ct"},Dv={class:"rd-donutwrap"},jv=["aria-label"],zv=["d","fill","data-facet","data-key"],Bv={class:"rd-legend"},Uv=["data-facet","data-key","title"],Gv={class:"rd-lt"},Hv=["data-chart"],qv={class:"rd-ct"},Vv={class:"rd-bars"},Wv=["data-facet","data-key"],Kv={class:"rd-bl"},Yv={class:"rd-bt"},Xv={class:"rd-bv"},Jv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=de("charts"),n=Le("dashboardData",null),r=Le("selectionBus",null),s=Le("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,A])=>[v,A.get])),l=Jn(r,Xn(s));function c(v){var f,g;const A=((f=n==null?void 0:n.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?A:A.filter(k=>_.every($=>{const M=i[$];return M?M(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,A=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!A?null:Ry(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],v,A)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const A=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Ze(k[v.facet])),_=ja(c([v.facet]),A,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?Oy(_,v.facet,d):Fy(_,132,.58,v.facet,d)}})),m=(v,A)=>a[v]===A,x=v=>a[v]!=null;function S(v,A){!A||A==="Other"||!r||r.setFilter(v,a[v]===A?null:A)}function y(v){const A=v.target&&v.target.closest&&v.target.closest("[data-facet]");A&&S(A.getAttribute("data-facet"),A.getAttribute("data-key"))}return Lt(` +`,"rd-datatable"),(C,J)=>(ee(),ne("div",{class:"rd-table-wrap","data-sel-count":G.value},[R("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[R("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:Z},pe(W.value?"▴":"▾"),9,hv),J[0]||(J[0]=R("span",{class:"ttl"},"People Groups",-1)),R("span",mv,pe(s(te.value))+" "+pe(te.value===1?"group":"groups"),1),G.value?(ee(),ne("span",bv,[R("span",null,pe(s(G.value))+" selected",1),R("button",{title:"Clear selection","aria-label":"Clear selection",onClick:T},"✕")])):Ge("",!0),G.value?(ee(),ne(Ie,{key:1},[R("button",{class:De(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,_v),R("button",{class:De(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,yv)],64)):Ge("",!0),J[1]||(J[1]=R("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),ne("span",vv,pe(D.value),1)):Ge("",!0),R("span",{class:De(["rd-csv",{busy:K.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":K.value?"true":"false",title:G.value?`Export the ${G.value} selected people groups — all fields`:`Export these ${s(te.value)} people groups — all fields`,onClick:se,onMouseenter:O,onFocus:O,onKeydown:[zr(on(se,["prevent"]),["enter"]),zr(on(se,["prevent"]),["space"])]},[nt(pe(K.value?"…":"↓")+" Export CSV",1),G.value?(ee(),ne("span",xv,pe(G.value),1)):Ge("",!0)],42,wv)],8,gv),Pt(R("div",{ref_key:"scroller",ref:V,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(oe=>oe.key+":"+oe.dir).join(","),"aria-rowcount":M.value.length+1,onScroll:me,onClick:xe,onMousedown:_e},[R("div",$v,[R("div",{class:"rd-th chk",style:{cursor:"pointer"},title:ge.value?"Deselect all "+s(te.value):"Select all "+s(te.value),onClick:w},[R("input",{type:"checkbox",checked:ge.value,ref:U,"aria-label":ge.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Ev)],8,Sv),(ee(!0),ne(Ie,null,tt(a.value,oe=>(ee(),ne("div",{key:oe.key,class:De(["rd-th",{num:oe.type==="num"}]),style:ht(i(oe)),title:`Sort this table by ${oe.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":A(oe),"data-col":oe.key,onClick:be=>v(oe,be)},[nt(pe(oe.label),1),R("span",Cv,pe(A(oe)==="ascending"?"▲":A(oe)==="descending"?"▼":""),1)],14,Av))),128))]),R("div",{style:ht({height:z.value+"px"})},null,4),(ee(!0),ne(Ie,null,tt(H.value,(oe,be)=>(ee(),ne("div",{key:oe.slug,class:De(["rd-row",{sel:I.value>=0&&F(oe)}]),role:"row","data-slug":oe.slug,"aria-selected":F(oe)?"true":"false","aria-rowindex":B.value+be+2},[R("div",Lv,[R("input",{type:"checkbox",class:"rd-rowchk",checked:F(oe),"aria-label":"Select "+oe.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Pv)]),(ee(!0),ne(Ie,null,tt(a.value,ke=>(ee(),ne("div",{key:ke.key,class:De(["rd-td",{num:ke.type==="num"}]),style:ht(i(ke)),role:"gridcell"},pe(ke.type==="num"?s(ke.get(oe)):ke.get(oe)),7))),128))],10,Tv))),128)),R("div",{style:ht({height:P.value+"px"})},null,4)],40,kv),[[jt,!W.value]]),Pt(R("div",Iv,[J[2]||(J[2]=R("div",{class:"rd-td chk"},null,-1)),(ee(!0),ne(Ie,null,tt(a.value,(oe,be)=>(ee(),ne("div",{key:"f-"+oe.key,class:De(["rd-td",{num:oe.type==="num"}]),style:ht(i(oe))},[be===0?(ee(),ne(Ie,{key:0},[nt("Σ "+pe(s(te.value))+" groups",1)],64)):oe.key==="population"?(ee(),ne(Ie,{key:1},[nt(pe(s(ae.value)),1)],64)):Ge("",!0)],6))),128))],512),[[jt,!W.value]])],8,pv))}},Nv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Rv=["aria-selected","disabled","title","data-tab","onClick"],Fv=["data-chart"],Ov={class:"rd-ct"},Dv={class:"rd-donutwrap"},jv=["aria-label"],zv=["d","fill","data-facet","data-key"],Bv={class:"rd-legend"},Uv=["data-facet","data-key","title"],Gv={class:"rd-lt"},Hv=["data-chart"],qv={class:"rd-ct"},Vv={class:"rd-bars"},Wv=["data-facet","data-key"],Kv={class:"rd-bl"},Yv={class:"rd-bt"},Xv={class:"rd-bv"},Jv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=de("charts"),n=Le("dashboardData",null),r=Le("selectionBus",null),s=Le("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,A])=>[v,A.get])),l=Jn(r,Xn(s));function c(v){var f,g;const A=((f=n==null?void 0:n.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?A:A.filter(k=>_.every($=>{const M=i[$];return M?M(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,A=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!A?null:Ry(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],v,A)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const A=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Ze(k[v.facet])),_=ja(c([v.facet]),A,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?Oy(_,v.facet,d):Fy(_,132,.58,v.facet,d)}})),m=(v,A)=>a[v]===A,x=v=>a[v]!=null;function S(v,A){!A||A==="Other"||!r||r.setFilter(v,a[v]===A?null:A)}function y(v){const A=v.target&&v.target.closest&&v.target.closest("[data-facet]");A&&S(A.getAttribute("data-facet"),A.getAttribute("data-key"))}return Lt(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -619,7 +618,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(f,g)=>(ee(),ne("section",Zv,[R("div",Qv,[g[0]||(g[0]=R("span",null,"Detail",-1)),c.value?(ee(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):Ge("",!0)]),c.value?(ee(),ne(Ie,{key:1},[R("div",t0,[p.value?(ee(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,o0)):(ee(),ne("div",n0,"No photo")),R("div",null,[R("div",r0,pe(c.value.name||"—"),1),R("div",s0,pe(ue(Ze)(c.value.country_code)||"—")+" · "+pe(ue(Ze)(c.value.religion)||"—"),1)])]),R("div",a0,[S.value?(ee(),ne("a",{key:0,class:"rd-act rd-act-pray",href:S.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),R("span",null,pe(v.value),1)],8,i0)):Ge("",!0),y.value?(ee(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:A.value,"data-detail-moreinfo":""},[g[2]||(g[2]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),R("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("span",null,pe(A.value),1)],8,l0)):Ge("",!0)]),R("div",c0,[R("div",u0,[g[3]||(g[3]=R("span",{class:"k"},"Language",-1)),R("span",d0,[nt(pe(ue(Ze)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),ne("span",f0," ("+pe(c.value.imb_language_family)+")",1)):Ge("",!0)])]),R("div",p0,[g[4]||(g[4]=R("span",{class:"k"},"Population",-1)),R("span",g0,pe(u(c.value.population)),1)]),R("div",h0,[g[5]||(g[5]=R("span",{class:"k"},"People praying",-1)),R("span",m0,pe(u(c.value.people_praying)),1)]),R("div",b0,[g[6]||(g[6]=R("span",{class:"k"},"People committed",-1)),R("span",_0,pe(u(c.value.people_committed)),1)]),R("div",y0,[g[7]||(g[7]=R("span",{class:"k"},"Adopted by churches",-1)),R("span",v0,pe(u(c.value.adopted_by_churches)),1)]),R("div",w0,[g[8]||(g[8]=R("span",{class:"k"},"Engagement",-1)),R("span",x0,pe(ue(Ze)(c.value.engagement_status)||"—"),1)])]),R("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),ne("div",e0,"Select a people group to see detail"))]))}},$0="rgba(120, 128, 134, 0.28)",Bu="36px",Uu=()=>{};function S0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Uu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Uu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${$0} ${Bu}, transparent ${Bu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>n.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of n)l.has(_)||a(_)},m=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>m(),S=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||m()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const A=[];for(const _ of n){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),A.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of A)d();for(const d of n)a(d)}}const E0=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function A0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=E0[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const hn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Gu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const C0=hn.mapbox.css,T0="https://tiles.openfreemap.org/styles/liberty";function za(e){var o;const t=((o=hn[e])==null?void 0:o.global)||hn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function L0(e){const t=hn[e]||hn.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(za(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function P0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(i=>setTimeout(i,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function I0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:T0}const M0=85.0511,Hu=-2,N0=0,R0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function F0(e,t,o,n){if(!e||e<=0||!t||t<=0)return N0;const r=Math.log2(e/512),s=qu(n)-qu(M0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Hu,Math.min(i,(o??18)-1))}function O0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:x=R0,maxBounds:S=void 0}){const y=Sn(null),v=de(!1);let A=null,_=null,d=null;const f=r==="maplibre";async function g(){var G;const M=A0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await L0(r);const L=za(r);if(!L){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await P0(e.value,f?hn.maplibre.css:C0),await new Promise(F=>requestAnimationFrame(F));const j=e.value,V=j.clientWidth,Q=j.clientHeight;if(V===0||Q===0){console.error(`[useMapInstance] Container has ZERO dimensions (${V}×${Q}). Map will be invisible. Check that parent elements have CSS sizing.`);let F=j.parentElement,I=0;for(;F&&I<5;)F=F.parentElement,I++}const he=t;f||(L.accessToken=he);const B=()=>typeof window<"u"&&window.innerWidth>=1024,X=(F,I)=>{if(!B())return Hu;const q=F0(F,I,l,x);return typeof i=="number"?Math.max(i,q):q},H=X(j.clientWidth,j.clientHeight);if(f){y.value=new L.Map({container:e.value,style:I0(M),center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const F=typeof n=="function"?n():n;y.value=new L.Map({accessToken:he,container:e.value,style:M,...F?{config:F}:{},center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let F=!1;y.value.on("error",I=>{var be,$e;const q=((be=I==null?void 0:I.error)==null?void 0:be.status)??(I==null?void 0:I.status),ce=String((($e=I==null?void 0:I.error)==null?void 0:$e.url)||(I==null?void 0:I.sourceId)||"");q!==401&&q!==403||F||(F=!0,console.error(`[doxa-maps] Mapbox returned ${q} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ce?` First failing request: ${ce.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=S0(((G=e.value)==null?void 0:G.parentElement)||null,{enabled:m});let z=H,P=null;A=()=>{const F=y.value;if(!F)return;const I=X(j.clientWidth,j.clientHeight);I!==z&&(z=I,F.setMinZoom(I)),F.getZoom(){P=null;const q=y.value;if(!q)return;const ce=X(j.clientWidth,j.clientHeight);if(q.getZoom(){P&&(clearTimeout(P),P=null)},y.value.on("resize",A),typeof window<"u"&&(window.addEventListener("resize",A),window.addEventListener("orientationchange",A)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var F;(F=y.value)==null||F.resize(),y.value&&y.value.setMinZoom(X(j.clientWidth,j.clientHeight)),v.value=!0})})}function k(){if(y.value){if(A&&(y.value.off("resize",A),typeof window<"u"&&(window.removeEventListener("resize",A),window.removeEventListener("orientationchange",A)),A=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const D0={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]}};function j0(e){return D0[e]||null}const mn={center:[20,10],zoom:1.8};function z0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(mn==null?void 0:mn.center)||[20,10],defaultZoom:a=mn==null?void 0:mn.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(B,X,H={x:150,y:0}){const z=t();if(!z)return B;try{const P=z.getCanvas(),G=P.width,F=P.height,I=z.project(B),q=window.devicePixelRatio||1,ce=(H.x||0)*q,be=(H.y||0)*q,$e={x:I.x-ce,y:I.y-be},Me=z.unproject($e);return[Me.lng,Me.lat]}catch{return B}}function c(B,X=[]){const H=t();if(!H)return;let z=null,P=5;const G=X.filter(I=>I.languageFamily===B);if(G.length>0){let I=1/0,q=-1/0,ce=1/0,be=-1/0;if(G.forEach($e=>{$e.longitude&&$e.latitude&&(I=Math.min(I,$e.longitude),q=Math.max(q,$e.longitude),ce=Math.min(ce,$e.latitude),be=Math.max(be,$e.latitude))}),I!==1/0){z=[(I+q)/2,(ce+be)/2];const $e=q-I,Me=be-ce,Ae=Math.max($e,Me);Ae>50?P=2:Ae>20?P=3:Ae>10?P=4:Ae>5?P=5:P=6}}if(!z)return;const F=l(z);H.flyTo({center:F,zoom:P,...i})}function u(B){const X=t();if(!X)return;let H=null,z=4;const P=j0(B);if(P)H=P.center,z=P.zoom||4;else if(r!=null&&r.features){const F=r.features.find(I=>{var q,ce;return((q=I.properties)==null?void 0:q.region)===B||((ce=I.properties)==null?void 0:ce.name)===B});F&&(H=p(F))}if(!H)return;const G=l(H);X.flyTo({center:G,zoom:z,...i})}function p(B){if(!B||!B.geometry)return null;const{type:X,coordinates:H}=B.geometry;let z=[];if(X==="Polygon"?z=H[0]||[]:X==="MultiPolygon"&&H.forEach(F=>{z=z.concat(F[0]||[])}),z.length===0)return null;let P=0,G=0;return z.forEach(F=>{P+=F[0],G+=F[1]}),[P/z.length,G/z.length]}function m(B,X={}){const H=t();if(!H)return;const z={center:B,...i,...X};H.flyTo(z)}function x(B,X){const H=t();if(!H||(B==null?void 0:B.longitude)==null||(B==null?void 0:B.latitude)==null)return;const z=X??Math.min(H.getZoom()+2,8);m([B.longitude,B.latitude],{zoom:z})}function S(B,X={top:40,right:40,bottom:40,left:40},H={}){const z=t();if(!z||!B)return;const P=H.maxZoom??4,G=H.duration??900;z.fitBounds(B,{padding:X,maxZoom:P,duration:G,...i,...H})}function y(){const B=t();B&&B.flyTo({center:s,zoom:a,...i})}const v=80,A=800,_=5,d=5,f=110,g=1.2;function k(B){const X=B.filter(Number.isFinite).slice().sort((w,T)=>w-T),H=X.length;if(!H)return null;let z=-1,P=0;for(let w=0;wz&&(z=E,P=w)}const G=(P+1)%H,F=new Array(H);for(let w=0;w0&&T((w+180)%360+360)%360-180,Me=$e(ce),Ae=24,xe=360/Ae,_e=new Array(Ae).fill(0);for(const w of X){let T=Math.floor(((w+180)%360+360)%360/xe);T>=Ae&&(T=Ae-1),_e[T]++}let ge=0;for(let w=1;w_e[ge]&&(ge=w);return{center:$e(-180+(ge+.5)*xe),minLng:Me,maxLng:Me+(be-ce),span:be-ce}}function $(B){try{const X=B.getContainer&&B.getContainer().clientWidth||0,H=X>0?Math.log2(X/512):g,z=typeof B.getMinZoom=="function"?B.getMinZoom():H;return Math.max(z,H)}catch{return g}}function M(B,X,H,z){B.easeTo({center:[X,(H+z)/2],zoom:$(B),duration:A,essential:!0})}function L(B,X,H){if(H>f)return!0;try{const z=typeof B.cameraForBounds=="function"?B.cameraForBounds(X,{padding:v,maxZoom:_}):null;return z==null?!0:typeof z.zoom=="number"&&z.zoom<=$(B)+.05}catch{return!1}}function j(B,X){if(!Array.isArray(B))return B;switch(B[0]){case"get":return X==null?void 0:X[B[1]];case"literal":return B[1];case"has":return X!=null&&B[1]in X;case"!has":return X==null||!(B[1]in X);case"!":return!j(B[1],X);case"coalesce":{for(let z=1;z2){const G=Number(j(B[2],X));return Number.isFinite(G)?G:0}return NaN}case"to-string":{const z=j(B[1],X);return z==null?"":String(z)}case"to-boolean":return!!j(B[1],X);case"slice":{const z=j(B[1],X),P=j(B[2],X),G=B.length>3?j(B[3],X):void 0;return typeof z!="string"?"":G!=null?z.slice(P,G):z.slice(P)}default:return B}}function V(B,X){if(B===!0)return!0;if(B===!1)return!1;if(!Array.isArray(B))return!!B;const H=B[0];if(H==="all"){for(let z=1;z"||H===">="||H==="<"||H==="<="){const z=typeof B[1]=="string"?X==null?void 0:X[B[1]]:j(B[1],X),P=j(B[2],X);switch(H){case"==":return z===P||z==null&&P==null;case"!=":return!(z===P||z==null&&P==null);case">":return z>P;case">=":return z>=P;case"<":return z{const U=(E==null?void 0:E.properties)||{};return U.region===w||U.name===w||U.id===w});if(T){const E=[];let U=1/0,W=-1/0;const Z=te=>{for(const h of te)Array.isArray(h[0])?Z(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(E.push(h[0]),h[1]W&&(W=h[1]))};(_e=T.geometry)!=null&&_e.coordinates&&Z(T.geometry.coordinates);const ae=k(E);if(ae&&Number.isFinite(U)){const te=[[ae.minLng,U],[ae.maxLng,W]];L(H,te,ae.span)?M(H,ae.center,U,W):H.fitBounds(te,{padding:v,maxZoom:_,duration:A,essential:!0});return}}}const z=X.sourceId??"language-families";if(!H.getSource(z))return;const P=X.matchExpr??B.filter;if(!P)return;const G=Q(H,z);if(!G.length)return;const F=[];let I=1/0,q=-1/0,ce=0,be=0,$e=0;const Me=new Set;for(const ye of G){const w=ye==null?void 0:ye.properties;if(!V(P,w))continue;const T=w==null?void 0:w.uniqueId;if(T!=null){if(Me.has(T))continue;Me.add(T)}const E=(ge=ye.geometry)==null?void 0:ge.coordinates;if(!Array.isArray(E)||E.length<2)continue;const U=E[0],W=E[1];!Number.isFinite(U)||!Number.isFinite(W)||(ce===0&&(be=U,$e=W),F.push(U),Wq&&(q=W),ce++)}if(ce===0)return;if(ce===1){H.flyTo({center:[be,$e],zoom:d,duration:A,essential:!0});return}const Ae=k(F)||{center:0,minLng:0,maxLng:0,span:0},xe=[[Ae.minLng,I],[Ae.maxLng,q]];if(L(H,xe,Ae.span)){M(H,Ae.center,I,q);return}try{H.fitBounds(xe,{padding:v,maxZoom:_,duration:A,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:x,fitBounds:S,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:p}}const B0=150,U0=1200,G0=70,H0=5.5,q0=6,Vu=.01,V0=110,W0=1.45;function K0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function Y0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function X0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const i of e){io&&(o=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:o,span:s}}function J0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=Y0(t.get(l));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=X0(o);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=J0(e.selectionSet,o&&o());if(!c)return;const u=K0()?0:U0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:q0,duration:u,essential:!0});return}if(c.span>V0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:W0,duration:u,essential:!0});return}n.fitBounds(c.bounds,G0,{maxZoom:H0,duration:u,essential:!0})}catch{}}const i=dt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,B0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const Q0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=de(null);return ut("mapToolbar",{el:t}),Lt(` +`,"rd-detaildrawer"),(f,g)=>(ee(),ne("section",Zv,[R("div",Qv,[g[0]||(g[0]=R("span",null,"Detail",-1)),c.value?(ee(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):Ge("",!0)]),c.value?(ee(),ne(Ie,{key:1},[R("div",t0,[p.value?(ee(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,o0)):(ee(),ne("div",n0,"No photo")),R("div",null,[R("div",r0,pe(c.value.name||"—"),1),R("div",s0,pe(ue(Ze)(c.value.country_code)||"—")+" · "+pe(ue(Ze)(c.value.religion)||"—"),1)])]),R("div",a0,[S.value?(ee(),ne("a",{key:0,class:"rd-act rd-act-pray",href:S.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),R("span",null,pe(v.value),1)],8,i0)):Ge("",!0),y.value?(ee(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:A.value,"data-detail-moreinfo":""},[g[2]||(g[2]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),R("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("span",null,pe(A.value),1)],8,l0)):Ge("",!0)]),R("div",c0,[R("div",u0,[g[3]||(g[3]=R("span",{class:"k"},"Language",-1)),R("span",d0,[nt(pe(ue(Ze)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),ne("span",f0," ("+pe(c.value.imb_language_family)+")",1)):Ge("",!0)])]),R("div",p0,[g[4]||(g[4]=R("span",{class:"k"},"Population",-1)),R("span",g0,pe(u(c.value.population)),1)]),R("div",h0,[g[5]||(g[5]=R("span",{class:"k"},"People praying",-1)),R("span",m0,pe(u(c.value.people_praying)),1)]),R("div",b0,[g[6]||(g[6]=R("span",{class:"k"},"People committed",-1)),R("span",_0,pe(u(c.value.people_committed)),1)]),R("div",y0,[g[7]||(g[7]=R("span",{class:"k"},"Adopted by churches",-1)),R("span",v0,pe(u(c.value.adopted_by_churches)),1)]),R("div",w0,[g[8]||(g[8]=R("span",{class:"k"},"Engagement",-1)),R("span",x0,pe(ue(Ze)(c.value.engagement_status)||"—"),1)])]),R("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),ne("div",e0,"Select a people group to see detail"))]))}},$0="rgba(120, 128, 134, 0.28)",Bu="36px",Uu=()=>{};function S0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Uu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Uu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${$0} ${Bu}, transparent ${Bu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>n.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of n)l.has(_)||a(_)},m=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>m(),S=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||m()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const A=[];for(const _ of n){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),A.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of A)d();for(const d of n)a(d)}}const E0=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function A0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=E0[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const hn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Gu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const C0=hn.mapbox.css,T0="https://tiles.openfreemap.org/styles/liberty";function za(e){var o;const t=((o=hn[e])==null?void 0:o.global)||hn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function L0(e){const t=hn[e]||hn.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(za(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function P0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(i=>setTimeout(i,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function I0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:T0}const M0=85.0511,Hu=-2,N0=0,R0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function F0(e,t,o,n){if(!e||e<=0||!t||t<=0)return N0;const r=Math.log2(e/512),s=qu(n)-qu(M0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Hu,Math.min(i,(o??18)-1))}function O0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:x=R0,maxBounds:S=void 0}){const y=Sn(null),v=de(!1);let A=null,_=null,d=null;const f=r==="maplibre";async function g(){var G;const M=A0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await L0(r);const L=za(r);if(!L){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await P0(e.value,f?hn.maplibre.css:C0),await new Promise(F=>requestAnimationFrame(F));const j=e.value,V=j.clientWidth,Q=j.clientHeight;if(V===0||Q===0){console.error(`[useMapInstance] Container has ZERO dimensions (${V}×${Q}). Map will be invisible. Check that parent elements have CSS sizing.`);let F=j.parentElement,I=0;for(;F&&I<5;)F=F.parentElement,I++}const me=t;f||(L.accessToken=me);const B=()=>typeof window<"u"&&window.innerWidth>=1024,X=(F,I)=>{if(!B())return Hu;const q=F0(F,I,l,x);return typeof i=="number"?Math.max(i,q):q},H=X(j.clientWidth,j.clientHeight);if(f){y.value=new L.Map({container:e.value,style:I0(M),center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const F=typeof n=="function"?n():n;y.value=new L.Map({accessToken:me,container:e.value,style:M,...F?{config:F}:{},center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let F=!1;y.value.on("error",I=>{var he,$e;const q=((he=I==null?void 0:I.error)==null?void 0:he.status)??(I==null?void 0:I.status),ce=String((($e=I==null?void 0:I.error)==null?void 0:$e.url)||(I==null?void 0:I.sourceId)||"");q!==401&&q!==403||F||(F=!0,console.error(`[doxa-maps] Mapbox returned ${q} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ce?` First failing request: ${ce.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=S0(((G=e.value)==null?void 0:G.parentElement)||null,{enabled:m});let z=H,P=null;A=()=>{const F=y.value;if(!F)return;const I=X(j.clientWidth,j.clientHeight);I!==z&&(z=I,F.setMinZoom(I)),F.getZoom(){P=null;const q=y.value;if(!q)return;const ce=X(j.clientWidth,j.clientHeight);if(q.getZoom(){P&&(clearTimeout(P),P=null)},y.value.on("resize",A),typeof window<"u"&&(window.addEventListener("resize",A),window.addEventListener("orientationchange",A)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var F;(F=y.value)==null||F.resize(),y.value&&y.value.setMinZoom(X(j.clientWidth,j.clientHeight)),v.value=!0})})}function k(){if(y.value){if(A&&(y.value.off("resize",A),typeof window<"u"&&(window.removeEventListener("resize",A),window.removeEventListener("orientationchange",A)),A=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const D0={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]}};function j0(e){return D0[e]||null}const mn={center:[20,10],zoom:1.8};function z0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(mn==null?void 0:mn.center)||[20,10],defaultZoom:a=mn==null?void 0:mn.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(B,X,H={x:150,y:0}){const z=t();if(!z)return B;try{const P=z.getCanvas(),G=P.width,F=P.height,I=z.project(B),q=window.devicePixelRatio||1,ce=(H.x||0)*q,he=(H.y||0)*q,$e={x:I.x-ce,y:I.y-he},Me=z.unproject($e);return[Me.lng,Me.lat]}catch{return B}}function c(B,X=[]){const H=t();if(!H)return;let z=null,P=5;const G=X.filter(I=>I.languageFamily===B);if(G.length>0){let I=1/0,q=-1/0,ce=1/0,he=-1/0;if(G.forEach($e=>{$e.longitude&&$e.latitude&&(I=Math.min(I,$e.longitude),q=Math.max(q,$e.longitude),ce=Math.min(ce,$e.latitude),he=Math.max(he,$e.latitude))}),I!==1/0){z=[(I+q)/2,(ce+he)/2];const $e=q-I,Me=he-ce,Ae=Math.max($e,Me);Ae>50?P=2:Ae>20?P=3:Ae>10?P=4:Ae>5?P=5:P=6}}if(!z)return;const F=l(z);H.flyTo({center:F,zoom:P,...i})}function u(B){const X=t();if(!X)return;let H=null,z=4;const P=j0(B);if(P)H=P.center,z=P.zoom||4;else if(r!=null&&r.features){const F=r.features.find(I=>{var q,ce;return((q=I.properties)==null?void 0:q.region)===B||((ce=I.properties)==null?void 0:ce.name)===B});F&&(H=p(F))}if(!H)return;const G=l(H);X.flyTo({center:G,zoom:z,...i})}function p(B){if(!B||!B.geometry)return null;const{type:X,coordinates:H}=B.geometry;let z=[];if(X==="Polygon"?z=H[0]||[]:X==="MultiPolygon"&&H.forEach(F=>{z=z.concat(F[0]||[])}),z.length===0)return null;let P=0,G=0;return z.forEach(F=>{P+=F[0],G+=F[1]}),[P/z.length,G/z.length]}function m(B,X={}){const H=t();if(!H)return;const z={center:B,...i,...X};H.flyTo(z)}function x(B,X){const H=t();if(!H||(B==null?void 0:B.longitude)==null||(B==null?void 0:B.latitude)==null)return;const z=X??Math.min(H.getZoom()+2,8);m([B.longitude,B.latitude],{zoom:z})}function S(B,X={top:40,right:40,bottom:40,left:40},H={}){const z=t();if(!z||!B)return;const P=H.maxZoom??4,G=H.duration??900;z.fitBounds(B,{padding:X,maxZoom:P,duration:G,...i,...H})}function y(){const B=t();B&&B.flyTo({center:s,zoom:a,...i})}const v=80,A=800,_=5,d=5,f=110,g=1.2;function k(B){const X=B.filter(Number.isFinite).slice().sort((w,T)=>w-T),H=X.length;if(!H)return null;let z=-1,P=0;for(let w=0;wz&&(z=E,P=w)}const G=(P+1)%H,F=new Array(H);for(let w=0;w0&&T((w+180)%360+360)%360-180,Me=$e(ce),Ae=24,xe=360/Ae,_e=new Array(Ae).fill(0);for(const w of X){let T=Math.floor(((w+180)%360+360)%360/xe);T>=Ae&&(T=Ae-1),_e[T]++}let ge=0;for(let w=1;w_e[ge]&&(ge=w);return{center:$e(-180+(ge+.5)*xe),minLng:Me,maxLng:Me+(he-ce),span:he-ce}}function $(B){try{const X=B.getContainer&&B.getContainer().clientWidth||0,H=X>0?Math.log2(X/512):g,z=typeof B.getMinZoom=="function"?B.getMinZoom():H;return Math.max(z,H)}catch{return g}}function M(B,X,H,z){B.easeTo({center:[X,(H+z)/2],zoom:$(B),duration:A,essential:!0})}function L(B,X,H){if(H>f)return!0;try{const z=typeof B.cameraForBounds=="function"?B.cameraForBounds(X,{padding:v,maxZoom:_}):null;return z==null?!0:typeof z.zoom=="number"&&z.zoom<=$(B)+.05}catch{return!1}}function j(B,X){if(!Array.isArray(B))return B;switch(B[0]){case"get":return X==null?void 0:X[B[1]];case"literal":return B[1];case"has":return X!=null&&B[1]in X;case"!has":return X==null||!(B[1]in X);case"!":return!j(B[1],X);case"coalesce":{for(let z=1;z2){const G=Number(j(B[2],X));return Number.isFinite(G)?G:0}return NaN}case"to-string":{const z=j(B[1],X);return z==null?"":String(z)}case"to-boolean":return!!j(B[1],X);case"slice":{const z=j(B[1],X),P=j(B[2],X),G=B.length>3?j(B[3],X):void 0;return typeof z!="string"?"":G!=null?z.slice(P,G):z.slice(P)}default:return B}}function V(B,X){if(B===!0)return!0;if(B===!1)return!1;if(!Array.isArray(B))return!!B;const H=B[0];if(H==="all"){for(let z=1;z"||H===">="||H==="<"||H==="<="){const z=typeof B[1]=="string"?X==null?void 0:X[B[1]]:j(B[1],X),P=j(B[2],X);switch(H){case"==":return z===P||z==null&&P==null;case"!=":return!(z===P||z==null&&P==null);case">":return z>P;case">=":return z>=P;case"<":return z{const U=(E==null?void 0:E.properties)||{};return U.region===w||U.name===w||U.id===w});if(T){const E=[];let U=1/0,W=-1/0;const Z=te=>{for(const h of te)Array.isArray(h[0])?Z(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(E.push(h[0]),h[1]W&&(W=h[1]))};(_e=T.geometry)!=null&&_e.coordinates&&Z(T.geometry.coordinates);const ae=k(E);if(ae&&Number.isFinite(U)){const te=[[ae.minLng,U],[ae.maxLng,W]];L(H,te,ae.span)?M(H,ae.center,U,W):H.fitBounds(te,{padding:v,maxZoom:_,duration:A,essential:!0});return}}}const z=X.sourceId??"language-families";if(!H.getSource(z))return;const P=X.matchExpr??B.filter;if(!P)return;const G=Q(H,z);if(!G.length)return;const F=[];let I=1/0,q=-1/0,ce=0,he=0,$e=0;const Me=new Set;for(const ye of G){const w=ye==null?void 0:ye.properties;if(!V(P,w))continue;const T=w==null?void 0:w.uniqueId;if(T!=null){if(Me.has(T))continue;Me.add(T)}const E=(ge=ye.geometry)==null?void 0:ge.coordinates;if(!Array.isArray(E)||E.length<2)continue;const U=E[0],W=E[1];!Number.isFinite(U)||!Number.isFinite(W)||(ce===0&&(he=U,$e=W),F.push(U),Wq&&(q=W),ce++)}if(ce===0)return;if(ce===1){H.flyTo({center:[he,$e],zoom:d,duration:A,essential:!0});return}const Ae=k(F)||{center:0,minLng:0,maxLng:0,span:0},xe=[[Ae.minLng,I],[Ae.maxLng,q]];if(L(H,xe,Ae.span)){M(H,Ae.center,I,q);return}try{H.fitBounds(xe,{padding:v,maxZoom:_,duration:A,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:x,fitBounds:S,resetView:y,zoomToLegendRow:me,calculateRegionCenterFromPolygon:p}}const B0=150,U0=1200,G0=70,H0=5.5,q0=6,Vu=.01,V0=110,W0=1.45;function K0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function Y0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function X0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const i of e){io&&(o=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:o,span:s}}function J0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=Y0(t.get(l));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=X0(o);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=J0(e.selectionSet,o&&o());if(!c)return;const u=K0()?0:U0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:q0,duration:u,essential:!0});return}if(c.span>V0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:W0,duration:u,essential:!0});return}n.fitBounds(c.bounds,G0,{maxZoom:H0,duration:u,essential:!0})}catch{}}const i=dt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,B0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const Q0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=de(null);return ut("mapToolbar",{el:t}),Lt(` .map-toolbar { position: absolute; top: 6px; @@ -636,7 +635,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(ee(),ne("div",{ref_key:"toolbarEl",ref:t,class:De(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Is(o.$slots,"default")],2))}},ew={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomIn"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},tw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomOut"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},ow=["data-projection"],nw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Wu=2,rw="#f2f3f0",Ku=.78,sw="prayer_level",aw=.1,iw=12,lw={__name:"DashboardMapPanel",setup(e){var er,Xu,Ju,Zu,Qu,ed,td,od,nd;const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("mapboxToken",de("")),r=Le("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([N,Y])=>[N,Y.get])),i=Jn(o,Xn(r)),l=re(()=>{var ve,Ce;const N=((ve=t==null?void 0:t.rows)==null?void 0:ve.value)||[],Y=Object.keys(s),le=!!(((Ce=o==null?void 0:o.searchTerm)==null?void 0:Ce.value)||"").trim();return!Y.length&&!le?N:N.filter(Ne=>Y.every(Re=>{const we=a[Re];return we?we(Ne)===s[Re]:!0})&&i(Ne))}),c=((er=r.map)==null?void 0:er.geoFacet)||"country_code",u=((Ju=(Xu=r.facets)==null?void 0:Xu[c])==null?void 0:Ju.geoIso)||(N=>{const Y=N[c];return Y&&Y.value?Y.value:null}),p=a[c]||(N=>Ze(N[c])),m=re(()=>{var Y;const N=new Map;for(const le of((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]){const ve=u(le);ve&&N.set(ve,p(le)||ve)}return N}),x=re(()=>{const N=new Map;for(const Y of l.value){const le=u(Y);le&&N.set(le,(N.get(le)||0)+1)}return N}),S=de(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:A,initializeMap:_,destroy:d}=O0({containerRef:S,accessToken:ue(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Zu=r.map)!=null&&Zu.mapStyle||r.mapStyle?{style:((Qu=r.map)==null?void 0:Qu.mapStyle)||r.mapStyle}:{}}),f=z0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=Z0({bus:o,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var N;return(N=t==null?void 0:t.rowStore)==null?void 0:N.value},isEnabled:()=>A.value});let k=!1,$=null,M=null,L=null,j=0,V=!1;function Q(){V||j||(j=requestAnimationFrame(()=>{j=0;const N=v.value;if(N&&typeof N.resize=="function")try{N.resize()}catch{}}))}function he(N){const Y=!!N;if(Y!==V){if(V=Y,V){j&&(cancelAnimationFrame(j),j=0);return}Q(),setTimeout(Q,180)}}const B=(()=>{var Y;const N={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return N[(Y=r.map)==null?void 0:Y.colorRamp]||N["heartbeat-red"]})(),X={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function H(N,Y){return Number.isFinite(Y)?Y-1<=N?`${N}`:`${N}–${Y-1}`:`${N}+ · heartbeat zone`}function z(N){const le=X.binThresholds.map(ve=>ve/X.heartbeatThreshold).map(ve=>Math.max(Wu,Math.round(ve*N)));return P(le,N)}function P(N,Y){const le=[];for(const ve of N){const Ce=Math.max(ve,le.length?le[le.length-1]+1:Wu);CeRe>0).sort((Re,we)=>Re-we);if(le.length<8)return null;const ve=Re=>le[Math.min(le.length-1,Math.max(0,Math.floor(Re*le.length)))],Ce=ve(1-Y)+1,Ne=[.25,.5,.75].map(Re=>ve(Re));return{threshold:Ce,edges:P(Ne,Ce)}}function F(N){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const Y=r.map||{};let le=Number(Y.heartbeatThreshold)>0?Number(Y.heartbeatThreshold):X.heartbeatThreshold,ve=null;if(Y.heartbeatMode==="quantile"){const we=G(N||[],Number(Y.heartbeatQuantile)>0?Number(Y.heartbeatQuantile):X.quantile);we&&(le=we.threshold,ve=we.edges)}ve||(ve=Array.isArray(Y.binThresholds)&&Y.binThresholds.length?[...new Set(Y.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-gt):Number(Y.heartbeatThreshold)>0?z(le):X.binThresholds);const Ce=[...ve,le,1/0].slice(0,B.length);for(;Ce.length{const Gt={upTo:we,c:B[gt],l:H(Ne,we)};return Ne=we,Gt})}const I=re(()=>F([...x.value.values()])),q=((ed=r.map)==null?void 0:ed.noDataColor)||"#f3f3f1";function ce(N){if(!N)return q;const Y=I.value;for(const le of Y)if(N{const Re=parseInt(le.slice(Ne*2,Ne*2+2),16),we=parseInt(ve.slice(Ne*2,Ne*2+2),16);return Math.round(Ku*Re+(1-Ku)*we)};return"#"+[0,1,2].map(Ne=>Ce(Ne).toString(16).padStart(2,"0")).join("")}const $e=re(()=>I.value.map(N=>({c:be(N.c),l:N.l}))),Me=((td=r.map)==null?void 0:td.selectedColor)||"#1a237e";function Ae(){const N=x.value,Y=[],le=[];N.forEach((Re,we)=>{Y.push(we,ce(Re)),le.push(we)});const ve=Y.length?["match",["get","iso_3166_1_alpha_3"],...Y,q]:q,Ne=Object.keys(s).length>0&&le.length?["match",["get","iso_3166_1_alpha_3"],...le.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:ve,fillOpacity:Ne}}function xe(){return Object.prototype.hasOwnProperty.call(s,sw)}const _e=((od=r.map)==null?void 0:od.pinColor)||"#ef6c00",ge=((nd=r.map)==null?void 0:nd.pinStrokeColor)||"#ffffff";function ye(){return xe()?es({colorSource:"properties"}):_e}function w(){const N=v.value;if(!N||!N.getLayer("rd-choropleth"))return;const{fillColor:Y,fillOpacity:le}=Ae();N.setPaintProperty("rd-choropleth","fill-color",Y),N.setPaintProperty("rd-choropleth","fill-opacity",le);const ve=N.getSource("rd-bubbles");ve&&ve.setData(E()),N.getLayer("rd-bubble-layer")&&N.setPaintProperty("rd-bubble-layer","circle-color",ye())}function T(N){const Y=N==null?void 0:N.people_praying,le=Y&&typeof Y=="object"?Y.value:Y;return Number(le)||0}function E(){return{type:"FeatureCollection",features:l.value.filter(N=>Number(N.latitude)&&Number(N.longitude)).map(N=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(N.longitude),Number(N.latitude)]},properties:{pop:Number(N.population)||0,slug:N.slug||"",name:N.name||"",peoplePraying:T(N)}}))}}function U(){var le;const N=o==null?void 0:o.selectionSet,Y=((le=t==null?void 0:t.rows)==null?void 0:le.value)||[];return!N||!N.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Y.filter(ve=>N.has(ve.slug)&&Number(ve.latitude)&&Number(ve.longitude)).map(ve=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ve.longitude),Number(ve.latitude)]},properties:{slug:ve.slug||"",name:ve.name||""}}))}}function W(){const N=v.value;if(!N)return;const Y=N.getSource("rd-bubble-selected");Y&&Y.setData(U())}function Z(){var ve;const N=v.value;if(!N||k)return;k=!0,N.getSource("rd-countries")||N.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Y,fillOpacity:le}=Ae();N.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Y,"fill-opacity":le,"fill-outline-color":((ve=r.map)==null?void 0:ve.outlineColor)||"#6d766e"}}),N.addSource("rd-bubbles",{type:"geojson",data:E()}),N.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":ge,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),N.addSource("rd-bubble-selected",{type:"geojson",data:U()}),N.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Me,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Me,"circle-stroke-opacity":.95}}),N.on("click","rd-choropleth",ae),N.on("click","rd-bubble-layer",te),N.on("mouseenter","rd-choropleth",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-choropleth",()=>{N.getCanvas().style.cursor=""}),N.on("mouseenter","rd-bubble-layer",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-bubble-layer",()=>{N.getCanvas().style.cursor=""});try{window.__rdashMap=N,window.__rdashClickAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return we&&we[0]?(ae({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(te({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}me(),o&&o.on("select",W),W(),o&&o.on("focusRow",({slug:Ce}={})=>{var we;if(!Ce)return;const Ne=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(gt=>gt.slug===Ce),Re=v.value;if(Re&&Ne&&Number(Ne.latitude)&&Number(Ne.longitude))try{Re.flyTo({center:[Number(Ne.longitude),Number(Ne.latitude)],zoom:5.5,duration:1200})}catch{}})}function ae(N){const Y=v.value;if(Y&&N.point){const Ne=Y.queryRenderedFeatures([[N.point.x-5,N.point.y-5],[N.point.x+5,N.point.y+5]],{layers:["rd-bubble-layer"]});if(Ne&&Ne.length)return}const le=N.features&&N.features[0];if(!le||!o)return;const ve=le.properties&&le.properties.iso_3166_1_alpha_3,Ce=m.value.get(ve);Ce&&(o.setFilter(c,s[c]===Ce?null:Ce),o.emit("mapFocus",{facet:c,value:Ce}))}function te(N){const Y=N.features&&N.features[0];if(!Y||!o)return;const le=Y.properties&&Y.properties.slug;le&&(o.toggleSelect(le),o.emit("focusRow",{slug:le,name:Y.properties&&Y.properties.name}))}function h(N){var le;let Y=N&&N.parentNode;for(;Y;){if(Y.nodeType===1){const ve=getComputedStyle(Y);if(/auto|scroll/.test(ve.overflowY)&&Y.scrollHeight>Y.clientHeight+4)return Y}if(Y=Y.parentElement||((le=Y.parentNode)==null?void 0:le.host)||(Y.parentNode!==Y?Y.parentNode:null),Y&&Y.nodeType===9)break}return null}function b(N){if(!(!N||!N.scrollZoom))try{N.scrollZoom.enable()}catch{}}_t(async()=>{await _();const N=v.value;if(!N)return;N.isStyleLoaded()?Z():N.on("load",Z),b(N);const Y=()=>b(N);let le=null;try{le=new ResizeObserver(Y);const ve=N.getContainer&&N.getContainer()||null;ve&&le.observe(ve);const Ce=ve?h(ve):null;Ce&&le.observe(Ce),document.body&&le.observe(document.body)}catch{}window.addEventListener("resize",Y),Dt(()=>{try{le&&le.disconnect()}catch{}window.removeEventListener("resize",Y)}),N.on("zoom",ie),N.on("zoomend",ie),N.on("resize",ie),ie(),N.on("idle",()=>{!k&&N.isStyleLoaded()&&Z()}),typeof ResizeObserver<"u"&&S.value&&($=new ResizeObserver(Q),$.observe(S.value)),J(),N.on("idle",J),N.on("resize",J),o&&typeof o.on=="function"&&(M=o.on("toggleTable",()=>{Q(),setTimeout(Q,280)}),L=o.on("layoutResizing",he))}),Dt(()=>{try{g&&g()}catch{}g=null;try{M&&M()}catch{}M=null;try{L&&L()}catch{}if(L=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}C=null,j&&(cancelAnimationFrame(j),j=0);try{const N=v.value;N&&(N.off("zoom",ie),N.off("zoomend",ie),N.off("resize",ie),N.off("idle",J),N.off("resize",J))}catch{}try{d&&d()}catch{}}),dt([l,A],w);const D=de(!0),K=de(!0);function ie(){const N=v.value;if(!N)return;const Y=N.getZoom();D.value=YN.getMinZoom()+.01}const se=de(null);let O=null,C=null;function J(){var ve;const N=se.value;if(!N)return;let Y=0;try{const Ce=(ve=N.getRootNode)==null?void 0:ve.call(N),Ne=Ce&&Ce.querySelector?Ce.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Ne){const Re=Ne.getBoundingClientRect(),we=N.getBoundingClientRect();if(Y=Math.max(Re.height||0,we.bottom-Re.top),C!==Ne&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}C=Ne,O=new ResizeObserver(J),O.observe(Ne)}}}catch{}const le=Math.min(Math.max(Math.ceil(Y)||20,20),72);N.style.setProperty("--rd-attrib-clear",le+"px")}const oe=de("globe");function me(){const N=v.value;if(N)try{N.setProjection(oe.value)}catch{}}function ke(){oe.value=oe.value==="globe"?"mercator":"globe",me()}function qe(N){const Y=Number(N.longitude),le=Number(N.latitude);return!Number.isFinite(Y)||!Number.isFinite(le)||Y===0&&le===0||le<-90||le>90||Y<-180||Y>180?null:[Y,le]}function We(N,Y){if(!N.length)return NaN;const le=Math.min(N.length-1,Math.max(0,Math.round(Y*(N.length-1))));return N[le]}function kt(N){const Y=N.slice().sort((we,gt)=>we-gt),le=Y.length;if(le<2)return Y;let ve=-1,Ce=0;for(let we=0;weve&&(ve=Gt,Ce=we)}const Ne=(Ce+1)%le,Re=new Array(le);for(let we=0;we0&>Go[1]).sort((Go,as)=>Go-as),ve=kt(Y.map(Go=>Go[0])),Ce=Y.length>=iw?aw:0,Ne=We(le,Ce),Re=We(le,1-Ce),we=We(ve,Ce),gt=We(ve,1-Ce),Gt=[We(ve,.5),We(le,.5)];return!(gt>we)||!(Re>Ne)?{bounds:[[Gt[0],Gt[1]],[Gt[0],Gt[1]]],center:Gt}:{bounds:[[we,Ne],[gt,Re]],center:Gt}}function Nt(){const N=v.value;if(!N)return;if(!Object.keys(s).length){try{N.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Y=et(l.value);if(Y)try{N.fitBounds(Y.bounds,{padding:70,duration:1200,maxZoom:5.5}),N.setCenter(Y.center)}catch{}}let Qn=null;return dt(()=>JSON.stringify(s),()=>{clearTimeout(Qn),Qn=setTimeout(Nt,260)}),Lt(` +`,"map-toolbar"),(o,n)=>(ee(),ne("div",{ref_key:"toolbarEl",ref:t,class:De(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Is(o.$slots,"default")],2))}},ew={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomIn"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},tw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomOut"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},ow=["data-projection"],nw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Wu=2,rw="#f2f3f0",Ku=.78,sw="prayer_level",aw=.1,iw=12,lw={__name:"DashboardMapPanel",setup(e){var er,Xu,Ju,Zu,Qu,ed,td,od,nd;const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("mapboxToken",de("")),r=Le("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([N,Y])=>[N,Y.get])),i=Jn(o,Xn(r)),l=re(()=>{var ve,Ce;const N=((ve=t==null?void 0:t.rows)==null?void 0:ve.value)||[],Y=Object.keys(s),le=!!(((Ce=o==null?void 0:o.searchTerm)==null?void 0:Ce.value)||"").trim();return!Y.length&&!le?N:N.filter(Ne=>Y.every(Re=>{const we=a[Re];return we?we(Ne)===s[Re]:!0})&&i(Ne))}),c=((er=r.map)==null?void 0:er.geoFacet)||"country_code",u=((Ju=(Xu=r.facets)==null?void 0:Xu[c])==null?void 0:Ju.geoIso)||(N=>{const Y=N[c];return Y&&Y.value?Y.value:null}),p=a[c]||(N=>Ze(N[c])),m=re(()=>{var Y;const N=new Map;for(const le of((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]){const ve=u(le);ve&&N.set(ve,p(le)||ve)}return N}),x=re(()=>{const N=new Map;for(const Y of l.value){const le=u(Y);le&&N.set(le,(N.get(le)||0)+1)}return N}),S=de(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:A,initializeMap:_,destroy:d}=O0({containerRef:S,accessToken:ue(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Zu=r.map)!=null&&Zu.mapStyle||r.mapStyle?{style:((Qu=r.map)==null?void 0:Qu.mapStyle)||r.mapStyle}:{}}),f=z0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=Z0({bus:o,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var N;return(N=t==null?void 0:t.rowStore)==null?void 0:N.value},isEnabled:()=>A.value});let k=!1,$=null,M=null,L=null,j=0,V=!1;function Q(){V||j||(j=requestAnimationFrame(()=>{j=0;const N=v.value;if(N&&typeof N.resize=="function")try{N.resize()}catch{}}))}function me(N){const Y=!!N;if(Y!==V){if(V=Y,V){j&&(cancelAnimationFrame(j),j=0);return}Q(),setTimeout(Q,180)}}const B=(()=>{var Y;const N={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return N[(Y=r.map)==null?void 0:Y.colorRamp]||N["heartbeat-red"]})(),X={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function H(N,Y){return Number.isFinite(Y)?Y-1<=N?`${N}`:`${N}–${Y-1}`:`${N}+ · heartbeat zone`}function z(N){const le=X.binThresholds.map(ve=>ve/X.heartbeatThreshold).map(ve=>Math.max(Wu,Math.round(ve*N)));return P(le,N)}function P(N,Y){const le=[];for(const ve of N){const Ce=Math.max(ve,le.length?le[le.length-1]+1:Wu);CeRe>0).sort((Re,we)=>Re-we);if(le.length<8)return null;const ve=Re=>le[Math.min(le.length-1,Math.max(0,Math.floor(Re*le.length)))],Ce=ve(1-Y)+1,Ne=[.25,.5,.75].map(Re=>ve(Re));return{threshold:Ce,edges:P(Ne,Ce)}}function F(N){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const Y=r.map||{};let le=Number(Y.heartbeatThreshold)>0?Number(Y.heartbeatThreshold):X.heartbeatThreshold,ve=null;if(Y.heartbeatMode==="quantile"){const we=G(N||[],Number(Y.heartbeatQuantile)>0?Number(Y.heartbeatQuantile):X.quantile);we&&(le=we.threshold,ve=we.edges)}ve||(ve=Array.isArray(Y.binThresholds)&&Y.binThresholds.length?[...new Set(Y.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-gt):Number(Y.heartbeatThreshold)>0?z(le):X.binThresholds);const Ce=[...ve,le,1/0].slice(0,B.length);for(;Ce.length{const Gt={upTo:we,c:B[gt],l:H(Ne,we)};return Ne=we,Gt})}const I=re(()=>F([...x.value.values()])),q=((ed=r.map)==null?void 0:ed.noDataColor)||"#f3f3f1";function ce(N){if(!N)return q;const Y=I.value;for(const le of Y)if(N{const Re=parseInt(le.slice(Ne*2,Ne*2+2),16),we=parseInt(ve.slice(Ne*2,Ne*2+2),16);return Math.round(Ku*Re+(1-Ku)*we)};return"#"+[0,1,2].map(Ne=>Ce(Ne).toString(16).padStart(2,"0")).join("")}const $e=re(()=>I.value.map(N=>({c:he(N.c),l:N.l}))),Me=((td=r.map)==null?void 0:td.selectedColor)||"#1a237e";function Ae(){const N=x.value,Y=[],le=[];N.forEach((Re,we)=>{Y.push(we,ce(Re)),le.push(we)});const ve=Y.length?["match",["get","iso_3166_1_alpha_3"],...Y,q]:q,Ne=Object.keys(s).length>0&&le.length?["match",["get","iso_3166_1_alpha_3"],...le.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:ve,fillOpacity:Ne}}function xe(){return Object.prototype.hasOwnProperty.call(s,sw)}const _e=((od=r.map)==null?void 0:od.pinColor)||"#ef6c00",ge=((nd=r.map)==null?void 0:nd.pinStrokeColor)||"#ffffff";function ye(){return xe()?es({colorSource:"properties"}):_e}function w(){const N=v.value;if(!N||!N.getLayer("rd-choropleth"))return;const{fillColor:Y,fillOpacity:le}=Ae();N.setPaintProperty("rd-choropleth","fill-color",Y),N.setPaintProperty("rd-choropleth","fill-opacity",le);const ve=N.getSource("rd-bubbles");ve&&ve.setData(E()),N.getLayer("rd-bubble-layer")&&N.setPaintProperty("rd-bubble-layer","circle-color",ye())}function T(N){const Y=N==null?void 0:N.people_praying,le=Y&&typeof Y=="object"?Y.value:Y;return Number(le)||0}function E(){return{type:"FeatureCollection",features:l.value.filter(N=>Number(N.latitude)&&Number(N.longitude)).map(N=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(N.longitude),Number(N.latitude)]},properties:{pop:Number(N.population)||0,slug:N.slug||"",name:N.name||"",peoplePraying:T(N)}}))}}function U(){var le;const N=o==null?void 0:o.selectionSet,Y=((le=t==null?void 0:t.rows)==null?void 0:le.value)||[];return!N||!N.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Y.filter(ve=>N.has(ve.slug)&&Number(ve.latitude)&&Number(ve.longitude)).map(ve=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ve.longitude),Number(ve.latitude)]},properties:{slug:ve.slug||"",name:ve.name||""}}))}}function W(){const N=v.value;if(!N)return;const Y=N.getSource("rd-bubble-selected");Y&&Y.setData(U())}function Z(){var ve;const N=v.value;if(!N||k)return;k=!0,N.getSource("rd-countries")||N.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Y,fillOpacity:le}=Ae();N.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Y,"fill-opacity":le,"fill-outline-color":((ve=r.map)==null?void 0:ve.outlineColor)||"#6d766e"}}),N.addSource("rd-bubbles",{type:"geojson",data:E()}),N.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":ge,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),N.addSource("rd-bubble-selected",{type:"geojson",data:U()}),N.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Me,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Me,"circle-stroke-opacity":.95}}),N.on("click","rd-choropleth",ae),N.on("click","rd-bubble-layer",te),N.on("mouseenter","rd-choropleth",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-choropleth",()=>{N.getCanvas().style.cursor=""}),N.on("mouseenter","rd-bubble-layer",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-bubble-layer",()=>{N.getCanvas().style.cursor=""});try{window.__rdashMap=N,window.__rdashClickAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return we&&we[0]?(ae({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(te({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}be(),o&&o.on("select",W),W(),o&&o.on("focusRow",({slug:Ce}={})=>{var we;if(!Ce)return;const Ne=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(gt=>gt.slug===Ce),Re=v.value;if(Re&&Ne&&Number(Ne.latitude)&&Number(Ne.longitude))try{Re.flyTo({center:[Number(Ne.longitude),Number(Ne.latitude)],zoom:5.5,duration:1200})}catch{}})}function ae(N){const Y=v.value;if(Y&&N.point){const Ne=Y.queryRenderedFeatures([[N.point.x-5,N.point.y-5],[N.point.x+5,N.point.y+5]],{layers:["rd-bubble-layer"]});if(Ne&&Ne.length)return}const le=N.features&&N.features[0];if(!le||!o)return;const ve=le.properties&&le.properties.iso_3166_1_alpha_3,Ce=m.value.get(ve);Ce&&(o.setFilter(c,s[c]===Ce?null:Ce),o.emit("mapFocus",{facet:c,value:Ce}))}function te(N){const Y=N.features&&N.features[0];if(!Y||!o)return;const le=Y.properties&&Y.properties.slug;le&&(o.toggleSelect(le),o.emit("focusRow",{slug:le,name:Y.properties&&Y.properties.name}))}function h(N){var le;let Y=N&&N.parentNode;for(;Y;){if(Y.nodeType===1){const ve=getComputedStyle(Y);if(/auto|scroll/.test(ve.overflowY)&&Y.scrollHeight>Y.clientHeight+4)return Y}if(Y=Y.parentElement||((le=Y.parentNode)==null?void 0:le.host)||(Y.parentNode!==Y?Y.parentNode:null),Y&&Y.nodeType===9)break}return null}function b(N){if(!(!N||!N.scrollZoom))try{N.scrollZoom.enable()}catch{}}_t(async()=>{await _();const N=v.value;if(!N)return;N.isStyleLoaded()?Z():N.on("load",Z),b(N);const Y=()=>b(N);let le=null;try{le=new ResizeObserver(Y);const ve=N.getContainer&&N.getContainer()||null;ve&&le.observe(ve);const Ce=ve?h(ve):null;Ce&&le.observe(Ce),document.body&&le.observe(document.body)}catch{}window.addEventListener("resize",Y),Dt(()=>{try{le&&le.disconnect()}catch{}window.removeEventListener("resize",Y)}),N.on("zoom",ie),N.on("zoomend",ie),N.on("resize",ie),ie(),N.on("idle",()=>{!k&&N.isStyleLoaded()&&Z()}),typeof ResizeObserver<"u"&&S.value&&($=new ResizeObserver(Q),$.observe(S.value)),J(),N.on("idle",J),N.on("resize",J),o&&typeof o.on=="function"&&(M=o.on("toggleTable",()=>{Q(),setTimeout(Q,280)}),L=o.on("layoutResizing",me))}),Dt(()=>{try{g&&g()}catch{}g=null;try{M&&M()}catch{}M=null;try{L&&L()}catch{}if(L=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}C=null,j&&(cancelAnimationFrame(j),j=0);try{const N=v.value;N&&(N.off("zoom",ie),N.off("zoomend",ie),N.off("resize",ie),N.off("idle",J),N.off("resize",J))}catch{}try{d&&d()}catch{}}),dt([l,A],w);const D=de(!0),K=de(!0);function ie(){const N=v.value;if(!N)return;const Y=N.getZoom();D.value=YN.getMinZoom()+.01}const se=de(null);let O=null,C=null;function J(){var ve;const N=se.value;if(!N)return;let Y=0;try{const Ce=(ve=N.getRootNode)==null?void 0:ve.call(N),Ne=Ce&&Ce.querySelector?Ce.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Ne){const Re=Ne.getBoundingClientRect(),we=N.getBoundingClientRect();if(Y=Math.max(Re.height||0,we.bottom-Re.top),C!==Ne&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}C=Ne,O=new ResizeObserver(J),O.observe(Ne)}}}catch{}const le=Math.min(Math.max(Math.ceil(Y)||20,20),72);N.style.setProperty("--rd-attrib-clear",le+"px")}const oe=de("globe");function be(){const N=v.value;if(N)try{N.setProjection(oe.value)}catch{}}function ke(){oe.value=oe.value==="globe"?"mercator":"globe",be()}function qe(N){const Y=Number(N.longitude),le=Number(N.latitude);return!Number.isFinite(Y)||!Number.isFinite(le)||Y===0&&le===0||le<-90||le>90||Y<-180||Y>180?null:[Y,le]}function We(N,Y){if(!N.length)return NaN;const le=Math.min(N.length-1,Math.max(0,Math.round(Y*(N.length-1))));return N[le]}function kt(N){const Y=N.slice().sort((we,gt)=>we-gt),le=Y.length;if(le<2)return Y;let ve=-1,Ce=0;for(let we=0;weve&&(ve=Gt,Ce=we)}const Ne=(Ce+1)%le,Re=new Array(le);for(let we=0;we0&>Go[1]).sort((Go,as)=>Go-as),ve=kt(Y.map(Go=>Go[0])),Ce=Y.length>=iw?aw:0,Ne=We(le,Ce),Re=We(le,1-Ce),we=We(ve,Ce),gt=We(ve,1-Ce),Gt=[We(ve,.5),We(le,.5)];return!(gt>we)||!(Re>Ne)?{bounds:[[Gt[0],Gt[1]],[Gt[0],Gt[1]]],center:Gt}:{bounds:[[we,Ne],[gt,Re]],center:Gt}}function Nt(){const N=v.value;if(!N)return;if(!Object.keys(s).length){try{N.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Y=et(l.value);if(Y)try{N.fitBounds(Y.bounds,{padding:70,duration:1200,maxZoom:5.5}),N.setCenter(Y.center)}catch{}}let Qn=null;return dt(()=>JSON.stringify(s),()=>{clearTimeout(Qn),Qn=setTimeout(Nt,260)}),Lt(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -667,11 +666,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(N,Y)=>(ee(),ne("div",{ref_key:"mapWrap",ref:se,class:"rd-mapwrap","data-sub":"map","data-projection":oe.value},[R("div",{ref_key:"mapContainer",ref:S,class:"rd-mapc","data-map-canvas":""},null,512),Y[1]||(Y[1]=R("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Y[2]||(Y[2]=R("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Oe(Q0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Jo(()=>[Oe(ew,{map:ue(v),disabled:!D.value},null,8,["map","disabled"]),Oe(tw,{map:ue(v),disabled:!K.value},null,8,["map","disabled"])]),_:1}),R("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ke},pe(oe.value==="globe"?"🌐 Globe":"▭ Flat"),1),Y[3]||(Y[3]=R("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),R("div",nw,[Y[0]||(Y[0]=R("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),ne(Ie,null,tt($e.value,le=>(ee(),ne("div",{key:le.l,class:"lg-row"},[R("span",{class:"lg-sw",style:ht({background:le.c})},null,4),R("span",null,pe(le.l),1)]))),128))])],8,ow))}},cw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",uw=["data-active","aria-expanded"],dw={class:"filter-dropdown__label"},fw=["value","placeholder"],pw={class:"filter-dropdown__options"},gw={key:0,class:"filter-dropdown__no-options"},hw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],mw={class:"filter-dropdown__count"},bw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=de(!1),s=de(""),a=de(-1),i=de(null),l=de(null),c=de(null),u=de({});function p(L){const j=L.ownerDocument,V=j.createElement("div");V.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(L.parentElement||L.getRootNode().body||j.body).appendChild(V);const he=V.getBoundingClientRect();return V.remove(),{x:he.left,y:he.top}}function m(){const L=c.value;if(!L)return;const j=L.getBoundingClientRect(),V=window.innerWidth,Q=window.innerHeight,he=320,B=4,X=8,H=Math.round(Math.min(j.width,V-X*2)),z=j.right>X&&j.leftV-X?P=Math.round(Math.max(j.right-H,X)):P=Math.round(Math.max(j.left,X)):P=Math.round(Math.min(Math.max(j.left,X),V-H-X));const G=Q-j.bottom,F=G<180&&j.top>G,I=p(L),q=Math.round(P-I.x);u.value=F?{top:"auto",bottom:`${Math.round(Q-j.top+B+I.y)}px`,left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(he,j.top-B-X))}px`}:{top:`${Math.round(j.bottom+B-I.y)}px`,bottom:"auto",left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(he,G-B-X))}px`}}function x(){r.value&&m()}const S=re(()=>{if(!s.value)return o.options;const L=s.value.toLowerCase();return o.options.filter(j=>j.label.toLowerCase().includes(L))}),y=re(()=>o.options.find(L=>L.value===o.value));function v(L){var V;const j=((V=L.composedPath)==null?void 0:V.call(L))??[];i.value&&!j.includes(i.value)&&d()}function A(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Ro(()=>{var L;m(),(L=l.value)==null||L.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(L){s.value=L.target.value,a.value=-1}function g(L){const j=S.value;switch(L.key){case"ArrowDown":L.preventDefault(),a.value=Math.min(a.value+1,j.length-1),k();break;case"ArrowUp":L.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{L.preventDefault();const V=j[a.value];V&&$(V);break}case"Escape":L.preventDefault(),d();break}}function k(){Ro(()=>{var j;const L=(j=i.value)==null?void 0:j.querySelector(".filter-dropdown__option[data-highlighted]");L==null||L.scrollIntoView({block:"nearest"})})}function $(L){n("filter-change",{name:o.name,value:L.value,label:L.label,type:L.type}),d()}function M(){n("filter-clear",{name:o.name}),d()}return Dt(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(L,j)=>(ee(),ne("div",{ref_key:"rootRef",ref:i,class:De(["filter-dropdown",{"is-open":r.value}])},[R("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:A},[R("span",dw,[y.value?(ee(),ne(Ie,{key:0},[nt(pe(e.label)+": ",1),R("strong",null,pe(y.value.label),1)],64)):(ee(),ne(Ie,{key:1},[nt(pe(e.label),1)],64))]),j[0]||(j[0]=R("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,uw),r.value?(ee(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:ht(u.value)},[R("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,fw),e.value?(ee(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Ge("",!0),R("div",pw,[S.value.length===0?(ee(),ne("div",gw,"No options found")):(ee(!0),ne(Ie,{key:1},tt(S.value,(V,Q)=>(ee(),ne("div",{key:V.value,class:"filter-dropdown__option",role:"option","data-highlighted":Q===a.value?"":void 0,"data-selected":V.value===e.value?"":void 0,"aria-selected":V.value===e.value,onClick:he=>$(V),onMouseenter:he=>a.value=Q},[R("span",null,pe(V.label),1),R("span",mw,pe(V.count),1)],40,hw))),128))])],4)):Ge("",!0)],2))}},[["styles",[cw]]]),_w=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",yw={class:"sfh"},vw={key:0,class:"sfh__search-row"},ww=["aria-expanded"],xw=["aria-label"],kw=["data-active","onClick"],$w={class:"sfh__chip-strip"},Sw={class:"sfh__sel-label"},Ew=["aria-label","onClick"],Aw={key:1,class:"sfh__sel-world"},Cw=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(o.showSearch)),a=re(()=>r(o.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),l=de(o.startExpanded||!o.collapsible);function c(){l.value=!l.value}const u=re(()=>!o.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const _=[];for(const d of o.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of o.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function m(_){const d=(_==null?void 0:_.value)??"";n("update:search",d),n("search",{value:d})}function x(_){n("filter-change",_)}function S(_){n("filter-clear",_)}function y(_){n("toggle",{name:_.name,active:!_.active})}function v(_){n("remove-filter",{name:_})}function A(){n("clear-all")}return(_,d)=>(ee(),ne("div",yw,[s.value?(ee(),ne("div",vw,[Oe(Du,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(pe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=R("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ww)):Ge("",!0)])):Ge("",!0),a.value&&u.value?(ee(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),ne(Ie,null,tt(e.filters,f=>(ee(),Jt(bw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:S},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),ne(Ie,null,tt(e.toggles,f=>(ee(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},pe(f.label),9,kw))),128))],8,xw)):Ge("",!0),a.value?(ee(),ne("div",{key:2,class:De(["sfh__chips",{"is-empty":!p.value.length}])},[R("div",$w,[R("span",Sw,pe(i.value.selected||"Selected"),1),p.value.length?(ee(),ne(Ie,{key:0},[(ee(!0),ne(Ie,null,tt(p.value,f=>(ee(),ne("span",{key:f.name,class:"sfh__chip"},[nt(pe(f.label)+" ",1),R("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,Ew)]))),128)),R("button",{class:"sfh__clear",type:"button",onClick:A},pe(i.value.clear_all),1)],64)):(ee(),ne("span",Aw,pe(i.value.world||"World"),1))])],2)):Ge("",!0)]))}},[["styles",[_w]]]),Tw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},ss="prayer_level",Lw={__name:"DashboardResearchFilters",setup(e){const t=Le("selectionBus",null),o=Le("dashboardData",null),n=Le("dashboardConfig",{}),r=re(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const M=$==null?void 0:$.people_praying,L=M&&typeof M=="object"?M.value:M;return Kn[dn({peoplePraying:L??null})]}},i=re(()=>({[ss]:a,...n.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,M])=>[$,M.get]))),c=re(()=>n.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[ss,...$.filter(M=>M!==ss)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,M){const L=Object.keys($);return L.length?M.filter(j=>L.every(V=>{const Q=l.value[V];return Q?Q(j)===$[V]:!0})):M}function x($){var he;const M=l.value[$];if(!M)return[];const L=(he=i.value[$])==null?void 0:he.optionLabel,j={};for(const[B,X]of Object.entries(s))B!==$&&(j[B]=X);const V=m(j,r.value),Q=new Map;for(const B of V){const X=M(B);if(X==null||X==="")continue;const H=Q.get(X);H?H.count+=1:Q.set(X,{label:L&&L(B)||X,count:1})}return Array.from(Q.entries()).map(([B,{label:X,count:H}])=>({value:B,label:X,count:H})).sort((B,X)=>String(B.label).localeCompare(String(X.label)))}const S=re(()=>u.value.map($=>{var M;return{name:$,label:((M=i.value[$])==null?void 0:M.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var L;const M=s[$];return{name:$,label:`${((L=i.value[$])==null?void 0:L.label)||$}: ${$===ss?M:y($,M)}`}})),A=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Lt(` +`,"rd-mappanel"),(N,Y)=>(ee(),ne("div",{ref_key:"mapWrap",ref:se,class:"rd-mapwrap","data-sub":"map","data-projection":oe.value},[R("div",{ref_key:"mapContainer",ref:S,class:"rd-mapc","data-map-canvas":""},null,512),Y[1]||(Y[1]=R("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Y[2]||(Y[2]=R("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Oe(Q0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Jo(()=>[Oe(ew,{map:ue(v),disabled:!D.value},null,8,["map","disabled"]),Oe(tw,{map:ue(v),disabled:!K.value},null,8,["map","disabled"])]),_:1}),R("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ke},pe(oe.value==="globe"?"🌐 Globe":"▭ Flat"),1),Y[3]||(Y[3]=R("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),R("div",nw,[Y[0]||(Y[0]=R("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),ne(Ie,null,tt($e.value,le=>(ee(),ne("div",{key:le.l,class:"lg-row"},[R("span",{class:"lg-sw",style:ht({background:le.c})},null,4),R("span",null,pe(le.l),1)]))),128))])],8,ow))}},cw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",uw=["data-active","aria-expanded"],dw={class:"filter-dropdown__label"},fw=["value","placeholder"],pw={class:"filter-dropdown__options"},gw={key:0,class:"filter-dropdown__no-options"},hw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],mw={class:"filter-dropdown__count"},bw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=de(!1),s=de(""),a=de(-1),i=de(null),l=de(null),c=de(null),u=de({});function p(L){const j=L.ownerDocument,V=j.createElement("div");V.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(L.parentElement||L.getRootNode().body||j.body).appendChild(V);const me=V.getBoundingClientRect();return V.remove(),{x:me.left,y:me.top}}function m(){const L=c.value;if(!L)return;const j=L.getBoundingClientRect(),V=window.innerWidth,Q=window.innerHeight,me=320,B=4,X=8,H=Math.round(Math.min(j.width,V-X*2)),z=j.right>X&&j.leftV-X?P=Math.round(Math.max(j.right-H,X)):P=Math.round(Math.max(j.left,X)):P=Math.round(Math.min(Math.max(j.left,X),V-H-X));const G=Q-j.bottom,F=G<180&&j.top>G,I=p(L),q=Math.round(P-I.x);u.value=F?{top:"auto",bottom:`${Math.round(Q-j.top+B+I.y)}px`,left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(me,j.top-B-X))}px`}:{top:`${Math.round(j.bottom+B-I.y)}px`,bottom:"auto",left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(me,G-B-X))}px`}}function x(){r.value&&m()}const S=re(()=>{if(!s.value)return o.options;const L=s.value.toLowerCase();return o.options.filter(j=>j.label.toLowerCase().includes(L))}),y=re(()=>o.options.find(L=>L.value===o.value));function v(L){var V;const j=((V=L.composedPath)==null?void 0:V.call(L))??[];i.value&&!j.includes(i.value)&&d()}function A(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Ro(()=>{var L;m(),(L=l.value)==null||L.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(L){s.value=L.target.value,a.value=-1}function g(L){const j=S.value;switch(L.key){case"ArrowDown":L.preventDefault(),a.value=Math.min(a.value+1,j.length-1),k();break;case"ArrowUp":L.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{L.preventDefault();const V=j[a.value];V&&$(V);break}case"Escape":L.preventDefault(),d();break}}function k(){Ro(()=>{var j;const L=(j=i.value)==null?void 0:j.querySelector(".filter-dropdown__option[data-highlighted]");L==null||L.scrollIntoView({block:"nearest"})})}function $(L){n("filter-change",{name:o.name,value:L.value,label:L.label,type:L.type}),d()}function M(){n("filter-clear",{name:o.name}),d()}return Dt(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(L,j)=>(ee(),ne("div",{ref_key:"rootRef",ref:i,class:De(["filter-dropdown",{"is-open":r.value}])},[R("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:A},[R("span",dw,[y.value?(ee(),ne(Ie,{key:0},[nt(pe(e.label)+": ",1),R("strong",null,pe(y.value.label),1)],64)):(ee(),ne(Ie,{key:1},[nt(pe(e.label),1)],64))]),j[0]||(j[0]=R("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,uw),r.value?(ee(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:ht(u.value)},[R("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,fw),e.value?(ee(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Ge("",!0),R("div",pw,[S.value.length===0?(ee(),ne("div",gw,"No options found")):(ee(!0),ne(Ie,{key:1},tt(S.value,(V,Q)=>(ee(),ne("div",{key:V.value,class:"filter-dropdown__option",role:"option","data-highlighted":Q===a.value?"":void 0,"data-selected":V.value===e.value?"":void 0,"aria-selected":V.value===e.value,onClick:me=>$(V),onMouseenter:me=>a.value=Q},[R("span",null,pe(V.label),1),R("span",mw,pe(V.count),1)],40,hw))),128))])],4)):Ge("",!0)],2))}},[["styles",[cw]]]),_w=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",yw={class:"sfh"},vw={key:0,class:"sfh__search-row"},ww=["aria-expanded"],xw=["aria-label"],kw=["data-active","onClick"],$w={class:"sfh__chip-strip"},Sw={class:"sfh__sel-label"},Ew=["aria-label","onClick"],Aw={key:1,class:"sfh__sel-world"},Cw=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(o.showSearch)),a=re(()=>r(o.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),l=de(o.startExpanded||!o.collapsible);function c(){l.value=!l.value}const u=re(()=>!o.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const _=[];for(const d of o.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of o.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function m(_){const d=(_==null?void 0:_.value)??"";n("update:search",d),n("search",{value:d})}function x(_){n("filter-change",_)}function S(_){n("filter-clear",_)}function y(_){n("toggle",{name:_.name,active:!_.active})}function v(_){n("remove-filter",{name:_})}function A(){n("clear-all")}return(_,d)=>(ee(),ne("div",yw,[s.value?(ee(),ne("div",vw,[Oe(Du,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(pe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=R("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ww)):Ge("",!0)])):Ge("",!0),a.value&&u.value?(ee(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),ne(Ie,null,tt(e.filters,f=>(ee(),Jt(bw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:S},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),ne(Ie,null,tt(e.toggles,f=>(ee(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},pe(f.label),9,kw))),128))],8,xw)):Ge("",!0),a.value?(ee(),ne("div",{key:2,class:De(["sfh__chips",{"is-empty":!p.value.length}])},[R("div",$w,[R("span",Sw,pe(i.value.selected||"Selected"),1),p.value.length?(ee(),ne(Ie,{key:0},[(ee(!0),ne(Ie,null,tt(p.value,f=>(ee(),ne("span",{key:f.name,class:"sfh__chip"},[nt(pe(f.label)+" ",1),R("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,Ew)]))),128)),R("button",{class:"sfh__clear",type:"button",onClick:A},pe(i.value.clear_all),1)],64)):(ee(),ne("span",Aw,pe(i.value.world||"World"),1))])],2)):Ge("",!0)]))}},[["styles",[_w]]]),Tw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},ss="prayer_level",Lw={__name:"DashboardResearchFilters",setup(e){const t=Le("selectionBus",null),o=Le("dashboardData",null),n=Le("dashboardConfig",{}),r=re(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const M=$==null?void 0:$.people_praying,L=M&&typeof M=="object"?M.value:M;return Kn[dn({peoplePraying:L??null})]}},i=re(()=>({[ss]:a,...n.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,M])=>[$,M.get]))),c=re(()=>n.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[ss,...$.filter(M=>M!==ss)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,M){const L=Object.keys($);return L.length?M.filter(j=>L.every(V=>{const Q=l.value[V];return Q?Q(j)===$[V]:!0})):M}function x($){var me;const M=l.value[$];if(!M)return[];const L=(me=i.value[$])==null?void 0:me.optionLabel,j={};for(const[B,X]of Object.entries(s))B!==$&&(j[B]=X);const V=m(j,r.value),Q=new Map;for(const B of V){const X=M(B);if(X==null||X==="")continue;const H=Q.get(X);H?H.count+=1:Q.set(X,{label:L&&L(B)||X,count:1})}return Array.from(Q.entries()).map(([B,{label:X,count:H}])=>({value:B,label:X,count:H})).sort((B,X)=>String(B.label).localeCompare(String(X.label)))}const S=re(()=>u.value.map($=>{var M;return{name:$,label:((M=i.value[$])==null?void 0:M.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var L;const M=s[$];return{name:$,label:`${((L=i.value[$])==null?void 0:L.label)||$}: ${$===ss?M:y($,M)}`}})),A=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Lt(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,M)=>(ee(),ne("div",Tw,[Oe(Cw,{search:A.value,filters:S.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Pw={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Yu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Kn[dn({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Ze(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Ze(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Ze(e.wagf_block)},country_code:{label:"Country",get:e=>Ze(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Ze(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Ze(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Ze(e.imb_language_family);if(t)return Zr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Pw[o];return n?Zr(n):""}},primary_language:{label:"Language",get:e=>Ze(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Ze(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Ze(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Ze(e.engagement_status))||/unengaged/i.test(Ze(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Ze(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Ze(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Ze(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Ze(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Yu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Yu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Ze(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Iw=["data-row-count","data-loading","data-error","data-narrow"],Mw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Nw=["data-kpi"],Rw={class:"l"},Fw={key:0,class:"d","data-kpi-delta":""},Ow={class:"rd-cell-map","data-region":"map"},Dw=["title"],jw=["title"],zw={class:"rd-cell-table","data-region":"table"},Bw={class:"rd-rail","data-region":"rail"},Uw=["aria-valuenow"],Gw=["aria-valuenow"],Hw=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],qw=["aria-valuenow"],Vw=["data-view"],Ww=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Le("profileConfig",de(null)),n=re(()=>{const _e=ue(o);if(!_e||typeof _e!="object")return Ua;const ge={...Ua,..._e};return _e.map&&typeof _e.map=="object"&&(ge.map={...Ua.map,..._e.map}),ge}),r=re(()=>{var _e;return((_e=ue(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=oy(n.value),u=t;dt(()=>{var _e;return{filters:{...s.filterSet},q:((_e=s.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:ge})=>u("dashboard-filter",{filterSet:_e,searchTerm:ge}),{deep:!0});const p=a.total,m=a.loading,x=a.error,{shell:S,isNarrow:y,slimRail:v,slimFacet:A,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:M,showMap:L,showTable:j,showCharts:V}=c,{startFacetResize:Q,startRailResize:he,startTableResize:B,startShellResize:X,onResizeKeydown:H,facetW:z,railW:P,tableH:G,mapH:F,shellH:I}=sy({shellRef:S,bus:s,isNarrow:y,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function q(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":Ru(_e.value)}const ce=re(()=>{var _e;return(_e=s.selectionVersion)==null||_e.value,s.selectionSet?s.selectionSet.size:0});function be(){l.exportCsvAsync()}function $e(){s.clearSelection()}function Me(){s.emit("toggleFacet",!g.value)}function Ae(){s.emit("toggleRail",!k.value)}function xe(_e){const ge=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");ge&&(ge.hasAttribute("data-bar-export")?be():$e())}return Lt(` +`,"rd-research-filters"),($,M)=>(ee(),ne("div",Tw,[Oe(Cw,{search:A.value,filters:S.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Pw={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Yu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Kn[dn({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Ze(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Ze(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Ze(e.wagf_block)},country_code:{label:"Country",get:e=>Ze(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Ze(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Ze(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Ze(e.imb_language_family);if(t)return Zr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Pw[o];return n?Zr(n):""}},primary_language:{label:"Language",get:e=>Ze(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Ze(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Ze(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Ze(e.engagement_status))||/unengaged/i.test(Ze(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Ze(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Ze(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Ze(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Ze(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Yu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Yu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Ze(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Iw=["data-row-count","data-loading","data-error","data-narrow"],Mw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Nw=["data-kpi"],Rw={class:"l"},Fw={key:0,class:"d","data-kpi-delta":""},Ow={class:"rd-cell-map","data-region":"map"},Dw=["title"],jw=["title"],zw={class:"rd-cell-table","data-region":"table"},Bw={class:"rd-rail","data-region":"rail"},Uw=["aria-valuenow"],Gw=["aria-valuenow"],Hw=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],qw=["aria-valuenow"],Vw=["data-view"],Ww=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Le("profileConfig",de(null)),n=re(()=>{const _e=ue(o);if(!_e||typeof _e!="object")return Ua;const ge={...Ua,..._e};return _e.map&&typeof _e.map=="object"&&(ge.map={...Ua.map,..._e.map}),ge}),r=re(()=>{var _e;return((_e=ue(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=oy(n.value),u=t;dt(()=>{var _e;return{filters:{...s.filterSet},q:((_e=s.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:ge})=>u("dashboard-filter",{filterSet:_e,searchTerm:ge}),{deep:!0});const p=a.total,m=a.loading,x=a.error,{shell:S,isNarrow:y,slimRail:v,slimFacet:A,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:M,showMap:L,showTable:j,showCharts:V}=c,{startFacetResize:Q,startRailResize:me,startTableResize:B,startShellResize:X,onResizeKeydown:H,facetW:z,railW:P,tableH:G,mapH:F,shellH:I}=sy({shellRef:S,bus:s,isNarrow:y,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function q(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":Ru(_e.value)}const ce=re(()=>{var _e;return(_e=s.selectionVersion)==null||_e.value,s.selectionSet?s.selectionSet.size:0});function he(){l.exportCsvAsync()}function $e(){s.clearSelection()}function Me(){s.emit("toggleFacet",!g.value)}function Ae(){s.emit("toggleRail",!k.value)}function xe(_e){const ge=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");ge&&(ge.hasAttribute("data-bar-export")?he():$e())}return Lt(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -772,4 +771,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),_t(()=>{const _e=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!_e)return;const ge=ye=>_e.setAttribute("data-page-scroll",ye?"true":"false");ge(ue(r)),dt(()=>ue(r),ge)}),(_e,ge)=>(ee(),ne("div",{ref_key:"shell",ref:S,class:De(["rd-shell",{"rd-narrow":ue(y),"rd-slim-rail":ue(v),"rd-slim-facet":ue(A),"rd-table-collapsed":ue(f),"rd-facet-collapsed":ue(g),"rd-rail-collapsed":ue(k),"rd-page-scroll":r.value}]),"data-row-count":ue(p),"data-loading":ue(m)?"1":"0","data-error":ue(x)||"","data-narrow":ue(y)?"1":"0"},[Oe(ue(Yy)),Oe(ue(Lw)),R("div",Mw,[(ee(!0),ne(Ie,null,tt(ue(i),ye=>(ee(),ne("div",{class:"kpi",key:ye.id},[R("span",{class:"n","data-kpi":ye.id},pe(ye.kind==="count"&&ue(m)?"…":q(ye)),9,Nw),R("span",Rw,pe(ye.label),1),ye.delta?(ee(),ne("span",Fw,"↓"+pe(ue(Ru)(ye.delta)),1)):Ge("",!0)]))),128))]),Pt(Oe(ue(fv),null,null,512),[[jt,ue(M)]]),Pt(R("div",Ow,[Oe(ue(lw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:ue(g)?"Show filters":"Hide filters — grow the map",onClick:Me},pe(ue(g)?"▸":"◂"),9,Dw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:ue(k)?"Show charts":"Hide charts — grow the map",onClick:Ae},pe(ue(k)?"◂":"▸"),9,jw))],512),[[jt,ue(L)]]),Pt(R("div",zw,[Oe(ue(Mv))],512),[[jt,ue(j)]]),Pt(R("aside",Bw,[Oe(ue(k0)),Oe(ue(Jv))],512),[[jt,ue(V)]]),Pt(R("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":ue(z),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:ge[0]||(ge[0]=(...ye)=>ue(Q)&&ue(Q)(...ye)),onKeydown:ge[1]||(ge[1]=ye=>ue(H)("facet",ye))},null,40,Uw),[[jt,!ue(y)&&!ue(g)]]),Pt(R("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":ue(P),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:ge[2]||(ge[2]=(...ye)=>ue(he)&&ue(he)(...ye)),onKeydown:ge[3]||(ge[3]=ye=>ue(H)("rail",ye))},null,40,Gw),[[jt,!ue(y)&&!ue(k)]]),Pt(R("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?ue(F):parseFloat(ue(G))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:ge[4]||(ge[4]=(...ye)=>ue(B)&&ue(B)(...ye)),onKeydown:ge[5]||(ge[5]=ye=>ue(H)("table",ye))},null,40,Hw),[[jt,!ue(y)&&!ue(f)]]),Pt(R("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":ue(I),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:ge[6]||(ge[6]=(...ye)=>ue(X)&&ue(X)(...ye)),onKeydown:ge[7]||(ge[7]=ye=>ue(H)("shell",ye))},null,40,qw),[[jt,!ue(y)&&r.value]]),R("div",{class:"rd-seg","data-segmented":"",onClick:ge[8]||(ge[8]=(...ye)=>ue($)&&ue($)(...ye))},[(ee(!0),ne(Ie,null,tt(ue(d),ye=>(ee(),ne("button",{key:ye.k,class:De({on:ue(_)===ye.k}),"data-view-btn":"","data-view":ye.k},pe(ye.l),11,Vw))),128))]),ce.value?(ee(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:xe},[R("b",null,pe(ce.value)+" selected",1),ge[9]||(ge[9]=R("span",{class:"sp"},null,-1)),ge[10]||(ge[10]=R("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ge[11]||(ge[11]=R("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ge("",!0)],10,Iw))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"rd-shell-layout"),_t(()=>{const _e=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!_e)return;const ge=ye=>_e.setAttribute("data-page-scroll",ye?"true":"false");ge(ue(r)),dt(()=>ue(r),ge)}),(_e,ge)=>(ee(),ne("div",{ref_key:"shell",ref:S,class:De(["rd-shell",{"rd-narrow":ue(y),"rd-slim-rail":ue(v),"rd-slim-facet":ue(A),"rd-table-collapsed":ue(f),"rd-facet-collapsed":ue(g),"rd-rail-collapsed":ue(k),"rd-page-scroll":r.value}]),"data-row-count":ue(p),"data-loading":ue(m)?"1":"0","data-error":ue(x)||"","data-narrow":ue(y)?"1":"0"},[Oe(ue(Yy)),Oe(ue(Lw)),R("div",Mw,[(ee(!0),ne(Ie,null,tt(ue(i),ye=>(ee(),ne("div",{class:"kpi",key:ye.id},[R("span",{class:"n","data-kpi":ye.id},pe(ye.kind==="count"&&ue(m)?"…":q(ye)),9,Nw),R("span",Rw,pe(ye.label),1),ye.delta?(ee(),ne("span",Fw,"↓"+pe(ue(Ru)(ye.delta)),1)):Ge("",!0)]))),128))]),Pt(Oe(ue(fv),null,null,512),[[jt,ue(M)]]),Pt(R("div",Ow,[Oe(ue(lw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:ue(g)?"Show filters":"Hide filters — grow the map",onClick:Me},pe(ue(g)?"▸":"◂"),9,Dw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:ue(k)?"Show charts":"Hide charts — grow the map",onClick:Ae},pe(ue(k)?"◂":"▸"),9,jw))],512),[[jt,ue(L)]]),Pt(R("div",zw,[Oe(ue(Mv))],512),[[jt,ue(j)]]),Pt(R("aside",Bw,[Oe(ue(k0)),Oe(ue(Jv))],512),[[jt,ue(V)]]),Pt(R("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":ue(z),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:ge[0]||(ge[0]=(...ye)=>ue(Q)&&ue(Q)(...ye)),onKeydown:ge[1]||(ge[1]=ye=>ue(H)("facet",ye))},null,40,Uw),[[jt,!ue(y)&&!ue(g)]]),Pt(R("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":ue(P),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:ge[2]||(ge[2]=(...ye)=>ue(me)&&ue(me)(...ye)),onKeydown:ge[3]||(ge[3]=ye=>ue(H)("rail",ye))},null,40,Gw),[[jt,!ue(y)&&!ue(k)]]),Pt(R("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?ue(F):parseFloat(ue(G))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:ge[4]||(ge[4]=(...ye)=>ue(B)&&ue(B)(...ye)),onKeydown:ge[5]||(ge[5]=ye=>ue(H)("table",ye))},null,40,Hw),[[jt,!ue(y)&&!ue(f)]]),Pt(R("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":ue(I),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:ge[6]||(ge[6]=(...ye)=>ue(X)&&ue(X)(...ye)),onKeydown:ge[7]||(ge[7]=ye=>ue(H)("shell",ye))},null,40,qw),[[jt,!ue(y)&&r.value]]),R("div",{class:"rd-seg","data-segmented":"",onClick:ge[8]||(ge[8]=(...ye)=>ue($)&&ue($)(...ye))},[(ee(!0),ne(Ie,null,tt(ue(d),ye=>(ee(),ne("button",{key:ye.k,class:De({on:ue(_)===ye.k}),"data-view-btn":"","data-view":ye.k},pe(ye.l),11,Vw))),128))]),ce.value?(ee(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:xe},[R("b",null,pe(ce.value)+" selected",1),ge[9]||(ge[9]=R("span",{class:"sp"},null,-1)),ge[10]||(ge[10]=R("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ge[11]||(ge[11]=R("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ge("",!0)],10,Iw))}}},Symbol.toStringTag,{value:"Module"}))})();