PageSourceSearch

https://recrutement.strasbourg.eu/public/js/libraries/altcha.i18n.js

js strasbourg.eu collected 2026-09-24 08:39:33 UTC 153,129 bytes, 4,182 lines download raw bytes

1var Ua = Array.isArray, Vn = Array.prototype.indexOf, jn = Array.from, ir = Object.keys, Dt = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, Rn = Object.getOwnPropertyDescriptors, $n = Object.prototype, Sn = Array.prototype, Ga = Object.getPrototypeOf, ja = Object.isExtensible;
2const yt = () => {
3};
4function Wa(e) {
5  for (var t = 0; t < e.length; t++)
6    e[t]();
7}
8function Pn(e, t, r = !1) {
9  return e === void 0 ? r ? (
10    /** @type {() => V} */
11    t()
12  ) : (
13    /** @type {V} */
14    t
15  ) : e;
16}
17const pe = 2, Za = 4, fr = 8, Dr = 16, Re = 32, nt = 64, nr = 128, fe = 256, or = 512, le = 1024, je = 2048, ot = 4096, kt = 8192, dr = 16384, zn = 32768, qr = 65536, Nn = 1 << 19, Ya = 1 << 20, Vr = 1 << 21, zt = Symbol("$state"), Ka = Symbol("legacy props"), Dn = Symbol(""), qn = typeof requestIdleCallback > "u" ? (e) => setTimeout(e, 1) : requestIdleCallback;
18let qt = [], Ht = [];
19function Ja() {
20  var e = qt;
21  qt = [], Wa(e);
22}
23function Xa() {
24  var e = Ht;
25  Ht = [], Wa(e);
26}
27function Hr(e) {
28  qt.length === 0 && queueMicrotask(Ja), qt.push(e);
29}
30function Hn(e) {
31  Ht.length === 0 && qn(Xa), Ht.push(e);
32}
33function On() {
34  qt.length > 0 && Ja(), Ht.length > 0 && Xa();
35}
36function Qa(e) {
37  return e === this.v;
38}
39function ei(e, t) {
40  return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
41}
42function Or(e) {
43  return !ei(e, this.v);
44}
45function Fn(e) {
46  throw new Error("https://svelte.dev/e/effect_in_teardown");
47}
48function Mn() {
49  throw new Error("https://svelte.dev/e/effect_in_unowned_derived");
50}
51function Bn(e) {
52  throw new Error("https://svelte.dev/e/effect_orphan");
53}
54function Un() {
55  throw new Error("https://svelte.dev/e/effect_update_depth_exceeded");
56}
57function Gn() {
58  throw new Error("https://svelte.dev/e/hydration_failed");
59}
60function Wn(e) {
61  throw new Error("https://svelte.dev/e/props_invalid_value");
62}
63function Zn() {
64  throw new Error("https://svelte.dev/e/state_descriptors_fixed");
65}
66function Yn() {
67  throw new Error("https://svelte.dev/e/state_prototype_fixed");
68}
69function Kn() {
70  throw new Error("https://svelte.dev/e/state_unsafe_mutation");
71}
72const Jn = 1, Xn = 4, Qn = 8, eo = 16, to = 1, ro = 2, Fr = "[", ti = "[!", ri = "]", At = {}, oe = Symbol(), ao = "http://www.w3.org/1999/xhtml";
73function ai(e) {
74  throw new Error("https://svelte.dev/e/lifecycle_outside_component");
75}
76let ae = null;
77function Ra(e) {
78  ae = e;
79}
80function ii(e, t = !1, r) {
81  var i = ae = {
82    p: ae,
83    c: null,
84    d: !1,
85    e: null,
86    m: !1,
87    s: e,
88    x: null,
89    l: null
90  };
91  Ur(() => {
92    i.d = !0;
93  });
94}
95function ni(e) {
96  const t = ae;
97  if (t !== null) {
98    e !== void 0 && (t.x = e);
99    const s = t.e;
100    if (s !== null) {
101      var r = V, i = I;
102      t.e = null;
103      try {
104        for (var l = 0; l < s.length; l++) {
105          var o = s[l];
106          Oe(o.effect), Ee(o.reaction), Gr(o.fn);
107        }
108      } finally {
109        Oe(r), Ee(i);
110      }
111    }
112    ae = t.p, t.m = !0;
113  }
114  return e || /** @type {T} */
115  {};
116}
117function oi() {
118  return !0;
119}
120function De(e) {
121  if (typeof e != "object" || e === null || zt in e)
122    return e;
123  const t = Ga(e);
124  if (t !== $n && t !== Sn)
125    return e;
126  var r = /* @__PURE__ */ new Map(), i = Ua(e), l = /* @__PURE__ */ $(0), o = I, s = (u) => {
127    var f = I;
128    Ee(o);
129    var d = u();
130    return Ee(f), d;
131  };
132  return i && r.set("length", /* @__PURE__ */ $(
133    /** @type {any[]} */
134    e.length
135  )), new Proxy(
136    /** @type {any} */
137    e,
138    {
139      defineProperty(u, f, d) {
140        (!("value" in d) || d.configurable === !1 || d.enumerable === !1 || d.writable === !1) && Zn();
141        var p = r.get(f);
142        return p === void 0 ? (p = s(() => /* @__PURE__ */ $(d.value)), r.set(f, p)) : y(
143          p,
144          s(() => De(d.value))
145        ), !0;
146      },
147      deleteProperty(u, f) {
148        var d = r.get(f);
149        if (d === void 0)
150          f in u && (r.set(
151            f,
152            s(() => /* @__PURE__ */ $(oe))
153          ), Er(l));
154        else {
155          if (i && typeof f == "string") {
156            var p = (
157              /** @type {Source<number>} */
158              r.get("length")
159            ), g = Number(f);
160            Number.isInteger(g) && g < p.v && y(p, g);
161          }
162          y(d, oe), Er(l);
163        }
164        return !0;
165      },
166      get(u, f, d) {
167        if (f === zt)
168          return e;
169        var p = r.get(f), g = f in u;
170        if (p === void 0 && (!g || rt(u, f)?.writable) && (p = s(() => /* @__PURE__ */ $(De(g ? u[f] : oe))), r.set(f, p)), p !== void 0) {
171          var m = n(p);
172          return m === oe ? void 0 : m;
173        }
174        return Reflect.get(u, f, d);
175      },
176      getOwnPropertyDescriptor(u, f) {
177        var d = Reflect.getOwnPropertyDescriptor(u, f);
178        if (d && "value" in d) {
179          var p = r.get(f);
180          p && (d.value = n(p));
181        } else if (d === void 0) {
182          var g = r.get(f), m = g?.v;
183          if (g !== void 0 && m !== oe)
184            return {
185              enumerable: !0,
186              configurable: !0,
187              value: m,
188              writable: !0
189            };
190        }
191        return d;
192      },
193      has(u, f) {
194        if (f === zt)
195          return !0;
196        var d = r.get(f), p = d !== void 0 && d.v !== oe || Reflect.has(u, f);
197        if (d !== void 0 || V !== null && (!p || rt(u, f)?.writable)) {
198          d === void 0 && (d = s(() => /* @__PURE__ */ $(p ? De(u[f]) : oe)), r.set(f, d));
199          var g = n(d);
200          if (g === oe)
201            return !1;
202        }
203        return p;
204      },
205      set(u, f, d, p) {
206        var g = r.get(f), m = f in u;
207        if (i && f === "length")
208          for (var k = d; k < /** @type {Source<number>} */
209          g.v; k += 1) {
210            var N = r.get(k + "");
211            N !== void 0 ? y(N, oe) : k in u && (N = s(() => /* @__PURE__ */ $(oe)), r.set(k + "", N));
212          }
213        g === void 0 ? (!m || rt(u, f)?.writable) && (g = s(() => /* @__PURE__ */ $(void 0)), y(
214          g,
215          s(() => De(d))
216        ), r.set(f, g)) : (m = g.v !== oe, y(
217          g,
218          s(() => De(d))
219        ));
220        var D = Reflect.getOwnPropertyDescriptor(u, f);
221        if (D?.set && D.set.call(p, d), !m) {
222          if (i && typeof f == "string") {
223            var H = (
224              /** @type {Source<number>} */
225              r.get("length")
226            ), E = Number(f);
227            Number.isInteger(E) && E >= H.v && y(H, E + 1);
228          }
229          Er(l);
230        }
231        return !0;
232      },
233      ownKeys(u) {
234        n(l);
235        var f = Reflect.ownKeys(u).filter((g) => {
236          var m = r.get(g);
237          return m === void 0 || m.v !== oe;
238        });
239        for (var [d, p] of r)
240          p.v !== oe && !(d in u) && f.push(d);
241        return f;
242      },
243      setPrototypeOf() {
244        Yn();
245      }
246    }
247  );
248}
249function Er(e, t = 1) {
250  y(e, e.v + t);
251}
252// @__NO_SIDE_EFFECTS__
253function hr(e) {
254  var t = pe | je, r = I !== null && (I.f & pe) !== 0 ? (
255    /** @type {Derived} */
256    I
257  ) : null;
258  return V === null || r !== null && (r.f & fe) !== 0 ? t |= fe : V.f |= Ya, {
259    ctx: ae,
260    deps: null,
261    effects: null,
262    equals: Qa,
263    f: t,
264    fn: e,
265    reactions: null,
266    rv: 0,
267    v: (
268      /** @type {V} */
269      null
270    ),
271    wv: 0,
272    parent: r ?? V
273  };
274}
275// @__NO_SIDE_EFFECTS__
276function $t(e) {
277  const t = /* @__PURE__ */ hr(e);
278  return vi(t), t;
279}
280// @__NO_SIDE_EFFECTS__
281function io(e) {
282  const t = /* @__PURE__ */ hr(e);
283  return t.equals = Or, t;
284}
285function li(e) {
286  var t = e.effects;
287  if (t !== null) {
288    e.effects = null;
289    for (var r = 0; r < t.length; r += 1)
290      Fe(
291        /** @type {Effect} */
292        t[r]
293      );
294  }
295}
296function no(e) {
297  for (var t = e.parent; t !== null; ) {
298    if ((t.f & pe) === 0)
299      return (
300        /** @type {Effect} */
301        t
302      );
303    t = t.parent;
304  }
305  return null;
306}
307function si(e) {
308  var t, r = V;
309  Oe(no(e));
310  try {
311    li(e), t = yi(e);
312  } finally {
313    Oe(r);
314  }
315  return t;
316}
317function ci(e) {
318  var t = si(e), r = (qe || (e.f & fe) !== 0) && e.deps !== null ? ot : le;
319  me(e, r), e.equals(t) || (e.v = t, e.wv = pi());
320}
321const Ot = /* @__PURE__ */ new Map();
322function ui(e, t) {
323  var r = {
324    f: 0,
325    // TODO ideally we could skip this altogether, but it causes type errors
326    v: e,
327    reactions: null,
328    equals: Qa,
329    rv: 0,
330    wv: 0
331  };
332  return r;
333}
334// @__NO_SIDE_EFFECTS__
335function $(e, t) {
336  const r = ui(e);
337  return vi(r), r;
338}
339// @__NO_SIDE_EFFECTS__
340function Mr(e, t = !1) {
341  const r = ui(e);
342  return t || (r.equals = Or), r;
343}
344function y(e, t, r = !1) {
345  I !== null && !Le && oi() && (I.f & (pe | Dr)) !== 0 && !Ve?.includes(e) && Kn();
346  let i = r ? De(t) : t;
347  return oo(e, i);
348}
349function oo(e, t) {
350  if (!e.equals(t)) {
351    var r = e.v;
352    Ft ? Ot.set(e, t) : Ot.set(e, r), e.v = t, (e.f & pe) !== 0 && ((e.f & je) !== 0 && si(
353      /** @type {Derived} */
354      e
355    ), me(e, (e.f & fe) === 0 ? le : ot)), e.wv = pi(), fi(e, je), V !== null && (V.f & le) !== 0 && (V.f & (Re | nt)) === 0 && (he === null ? co([e]) : he.push(e));
356  }
357  return t;
358}
359function fi(e, t) {
360  var r = e.reactions;
361  if (r !== null)
362    for (var i = r.length, l = 0; l < i; l++) {
363      var o = r[l], s = o.f;
364      (s & je) === 0 && (me(o, t), (s & (le | fe)) !== 0 && ((s & pe) !== 0 ? fi(
365        /** @type {Derived} */
366        o,
367        ot
368      ) : pr(
369        /** @type {Effect} */
370        o
371      )));
372    }
373}
374function gr(e) {
375  console.warn("https://svelte.dev/e/hydration_mismatch");
376}
377let z = !1;
378function mt(e) {
379  z = e;
380}
381let P;
382function He(e) {
383  if (e === null)
384    throw gr(), At;
385  return P = e;
386}
387function _t() {
388  return He(
389    /** @type {TemplateNode} */
390    /* @__PURE__ */ Me(P)
391  );
392}
393function Z(e) {
394  if (z) {
395    if (/* @__PURE__ */ Me(P) !== null)
396      throw gr(), At;
397    P = e;
398  }
399}
400function lo() {
401  for (var e = 0, t = P; ; ) {
402    if (t.nodeType === 8) {
403      var r = (
404        /** @type {Comment} */
405        t.data
406      );
407      if (r === ri) {
408        if (e === 0) return t;
409        e -= 1;
410      } else (r === Fr || r === ti) && (e += 1);
411    }
412    var i = (
413      /** @type {TemplateNode} */
414      /* @__PURE__ */ Me(t)
415    );
416    t.remove(), t = i;
417  }
418}
419var $a, di, hi, gi;
420function jr() {
421  if ($a === void 0) {
422    $a = window, di = /Firefox/.test(navigator.userAgent);
423    var e = Element.prototype, t = Node.prototype, r = Text.prototype;
424    hi = rt(t, "firstChild").get, gi = rt(t, "nextSibling").get, ja(e) && (e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0), ja(r) && (r.__t = void 0);
425  }
426}
427function vr(e = "") {
428  return document.createTextNode(e);
429}
430// @__NO_SIDE_EFFECTS__
431function ge(e) {
432  return hi.call(e);
433}
434// @__NO_SIDE_EFFECTS__
435function Me(e) {
436  return gi.call(e);
437}
438function Y(e, t) {
439  if (!z)
440    return /* @__PURE__ */ ge(e);
441  var r = (
442    /** @type {TemplateNode} */
443    /* @__PURE__ */ ge(P)
444  );
445  return r === null && (r = P.appendChild(vr())), He(r), r;
446}
447function St(e, t) {
448  if (!z) {
449    var r = (
450      /** @type {DocumentFragment} */
451      /* @__PURE__ */ ge(
452        /** @type {Node} */
453        e
454      )
455    );
456    return r instanceof Comment && r.data === "" ? /* @__PURE__ */ Me(r) : r;
457  }
458  return P;
459}
460function K(e, t = 1, r = !1) {
461  let i = z ? P : e;
462  for (var l; t--; )
463    l = i, i = /** @type {TemplateNode} */
464    /* @__PURE__ */ Me(i);
465  if (!z)
466    return i;
467  var o = i?.nodeType;
468  if (r && o !== 3) {
469    var s = vr();
470    return i === null ? l?.after(s) : i.before(s), He(s), s;
471  }
472  return He(i), /** @type {TemplateNode} */
473  i;
474}
475function so(e) {
476  e.textContent = "";
477}
478let tr = !1, lr = !1, sr = null, at = !1, Ft = !1;
479function Sa(e) {
480  Ft = e;
481}
482let Nt = [];
483let I = null, Le = !1;
484function Ee(e) {
485  I = e;
486}
487let V = null;
488function Oe(e) {
489  V = e;
490}
491let Ve = null;
492function vi(e) {
493  I !== null && I.f & Vr && (Ve === null ? Ve = [e] : Ve.push(e));
494}
495let re = null, ue = 0, he = null;
496function co(e) {
497  he = e;
498}
499let bi = 1, cr = 0, qe = !1;
500function pi() {
501  return ++bi;
502}
503function Mt(e) {
504  var t = e.f;
505  if ((t & je) !== 0)
506    return !0;
507  if ((t & ot) !== 0) {
508    var r = e.deps, i = (t & fe) !== 0;
509    if (r !== null) {
510      var l, o, s = (t & or) !== 0, u = i && V !== null && !qe, f = r.length;
511      if (s || u) {
512        var d = (
513          /** @type {Derived} */
514          e
515        ), p = d.parent;
516        for (l = 0; l < f; l++)
517          o = r[l], (s || !o?.reactions?.includes(d)) && (o.reactions ??= []).push(d);
518        s && (d.f ^= or), u && p !== null && (p.f & fe) === 0 && (d.f ^= fe);
519      }
520      for (l = 0; l < f; l++)
521        if (o = r[l], Mt(
522          /** @type {Derived} */
523          o
524        ) && ci(
525          /** @type {Derived} */
526          o
527        ), o.wv > e.wv)
528          return !0;
529    }
530    (!i || V !== null && !qe) && me(e, le);
531  }
532  return !1;
533}
534function uo(e, t) {
535  for (var r = t; r !== null; ) {
536    if ((r.f & nr) !== 0)
537      try {
538        r.fn(e);
539        return;
540      } catch {
541        r.f ^= nr;
542      }
543    r = r.parent;
544  }
545  throw tr = !1, e;
546}
547function Pa(e) {
548  return (e.f & dr) === 0 && (e.parent === null || (e.parent.f & nr) === 0);
549}
550function br(e, t, r, i) {
551  if (tr) {
552    if (r === null && (tr = !1), Pa(t))
553      throw e;
554    return;
555  }
556  if (r !== null && (tr = !0), uo(e, t), Pa(t))
557    throw e;
558}
559function mi(e, t, r = !0) {
560  var i = e.reactions;
561  if (i !== null)
562    for (var l = 0; l < i.length; l++) {
563      var o = i[l];
564      Ve?.includes(e) || ((o.f & pe) !== 0 ? mi(
565        /** @type {Derived} */
566        o,
567        t,
568        !1
569      ) : t === o && (r ? me(o, je) : (o.f & le) !== 0 && me(o, ot), pr(
570        /** @type {Effect} */
571        o
572      )));
573    }
574}
575function yi(e) {
576  var t = re, r = ue, i = he, l = I, o = qe, s = Ve, u = ae, f = Le, d = e.f;
577  re = /** @type {null | Value[]} */
578  null, ue = 0, he = null, qe = (d & fe) !== 0 && (Le || !at || I === null), I = (d & (Re | nt)) === 0 ? e : null, Ve = null, Ra(e.ctx), Le = !1, cr++, e.f |= Vr;
579  try {
580    var p = (
581      /** @type {Function} */
582      (0, e.fn)()
583    ), g = e.deps;
584    if (re !== null) {
585      var m;
586      if (ur(e, ue), g !== null && ue > 0)
587        for (g.length = ue + re.length, m = 0; m < re.length; m++)
588          g[ue + m] = re[m];
589      else
590        e.deps = g = re;
591      if (!qe)
592        for (m = ue; m < g.length; m++)
593          (g[m].reactions ??= []).push(e);
594    } else g !== null && ue < g.length && (ur(e, ue), g.length = ue);
595    if (oi() && he !== null && !Le && g !== null && (e.f & (pe | ot | je)) === 0)
596      for (m = 0; m < /** @type {Source[]} */
597      he.length; m++)
598        mi(
599          he[m],
600          /** @type {Effect} */
601          e
602        );
603    return l !== null && l !== e && (cr++, he !== null && (i === null ? i = he : i.push(.../** @type {Source[]} */
604    he))), p;
605  } finally {
606    re = t, ue = r, he = i, I = l, qe = o, Ve = s, Ra(u), Le = f, e.f ^= Vr;
607  }
608}
609function fo(e, t) {
610  let r = t.reactions;
611  if (r !== null) {
612    var i = Vn.call(r, e);
613    if (i !== -1) {
614      var l = r.length - 1;
615      l === 0 ? r = t.reactions = null : (r[i] = r[l], r.pop());
616    }
617  }
618  r === null && (t.f & pe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
619  // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
620  // allows us to skip the expensive work of disconnecting and immediately reconnecting it
621  (re === null || !re.includes(t)) && (me(t, ot), (t.f & (fe | or)) === 0 && (t.f ^= or), li(
622    /** @type {Derived} **/
623    t
624  ), ur(
625    /** @type {Derived} **/
626    t,
627    0
628  ));
629}
630function ur(e, t) {
631  var r = e.deps;
632  if (r !== null)
633    for (var i = t; i < r.length; i++)
634      fo(e, r[i]);
635}
636function Br(e) {
637  var t = e.f;
638  if ((t & dr) === 0) {
639    me(e, le);
640    var r = V, i = ae, l = at;
641    V = e, at = !0;
642    try {
643      (t & Dr) !== 0 ? ko(e) : wi(e), _i(e);
644      var o = yi(e);
645      e.teardown = typeof o == "function" ? o : null, e.wv = bi;
646      var s = e.deps, u;
647    } catch (f) {
648      br(f, e, r, i || e.ctx);
649    } finally {
650      at = l, V = r;
651    }
652  }
653}
654function ho() {
655  try {
656    Un();
657  } catch (e) {
658    if (sr !== null)
659      br(e, sr, null);
660    else
661      throw e;
662  }
663}
664function Ai() {
665  var e = at;
666  try {
667    var t = 0;
668    for (at = !0; Nt.length > 0; ) {
669      t++ > 1e3 && ho();
670      var r = Nt, i = r.length;
671      Nt = [];
672      for (var l = 0; l < i; l++) {
673        var o = vo(r[l]);
674        go(o);
675      }
676      Ot.clear();
677    }
678  } finally {
679    lr = !1, at = e, sr = null;
680  }
681}
682function go(e) {
683  var t = e.length;
684  if (t !== 0)
685    for (var r = 0; r < t; r++) {
686      var i = e[r];
687      if ((i.f & (dr | kt)) === 0)
688        try {
689          Mt(i) && (Br(i), i.deps === null && i.first === null && i.nodes_start === null && (i.teardown === null ? Li(i) : i.fn = null));
690        } catch (l) {
691          br(l, i, null, i.ctx);
692        }
693    }
694}
695function pr(e) {
696  lr || (lr = !0, queueMicrotask(Ai));
697  for (var t = sr = e; t.parent !== null; ) {
698    t = t.parent;
699    var r = t.f;
700    if ((r & (nt | Re)) !== 0) {
701      if ((r & le) === 0) return;
702      t.f ^= le;
703    }
704  }
705  Nt.push(t);
706}
707function vo(e) {
708  for (var t = [], r = e; r !== null; ) {
709    var i = r.f, l = (i & (Re | nt)) !== 0, o = l && (i & le) !== 0;
710    if (!o && (i & kt) === 0) {
711      if ((i & Za) !== 0)
712        t.push(r);
713      else if (l)
714        r.f ^= le;
715      else
716        try {
717          Mt(r) && Br(r);
718        } catch (f) {
719          br(f, r, null, r.ctx);
720        }
721      var s = r.first;
722      if (s !== null) {
723        r = s;
724        continue;
725      }
726    }
727    var u = r.parent;
728    for (r = r.next; r === null && u !== null; )
729      r = u.next, u = u.parent;
730  }
731  return t;
732}
733function _(e) {
734  for (var t; ; ) {
735    if (On(), Nt.length === 0)
736      return (
737        /** @type {T} */
738        t
739      );
740    lr = !0, Ai();
741  }
742}
743async function Tr() {
744  await Promise.resolve(), _();
745}
746function n(e) {
747  var t = e.f, r = (t & pe) !== 0;
748  if (I !== null && !Le) {
749    if (!Ve?.includes(e)) {
750      var i = I.deps;
751      e.rv < cr && (e.rv = cr, re === null && i !== null && i[ue] === e ? ue++ : re === null ? re = [e] : (!qe || !re.includes(e)) && re.push(e));
752    }
753  } else if (r && /** @type {Derived} */
754  e.deps === null && /** @type {Derived} */
755  e.effects === null) {
756    var l = (
757      /** @type {Derived} */
758      e
759    ), o = l.parent;
760    o !== null && (o.f & fe) === 0 && (l.f ^= fe);
761  }
762  return r && (l = /** @type {Derived} */
763  e, Mt(l) && ci(l)), Ft && Ot.has(e) ? Ot.get(e) : e.v;
764}
765function it(e) {
766  var t = Le;
767  try {
768    return Le = !0, e();
769  } finally {
770    Le = t;
771  }
772}
773const bo = -7169;
774function me(e, t) {
775  e.f = e.f & bo | t;
776}
777function po(e) {
778  V === null && I === null && Bn(), I !== null && (I.f & fe) !== 0 && V === null && Mn(), Ft && Fn();
779}
780function mo(e, t) {
781  var r = t.last;
782  r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);
783}
784function lt(e, t, r, i = !0) {
785  var l = V, o = {
786    ctx: ae,
787    deps: null,
788    nodes_start: null,
789    nodes_end: null,
790    f: e | je,
791    first: null,
792    fn: t,
793    last: null,
794    next: null,
795    parent: l,
796    prev: null,
797    teardown: null,
798    transitions: null,
799    wv: 0
800  };
801  if (r)
802    try {
803      Br(o), o.f |= zn;
804    } catch (f) {
805      throw Fe(o), f;
806    }
807  else t !== null && pr(o);
808  var s = r && o.deps === null && o.first === null && o.nodes_start === null && o.teardown === null && (o.f & (Ya | nr)) === 0;
809  if (!s && i && (l !== null && mo(o, l), I !== null && (I.f & pe) !== 0)) {
810    var u = (
811      /** @type {Derived} */
812      I
813    );
814    (u.effects ??= []).push(o);
815  }
816  return o;
817}
818function Ur(e) {
819  const t = lt(fr, null, !1);
820  return me(t, le), t.teardown = e, t;
821}
822function Rr(e) {
823  po();
824  var t = V !== null && (V.f & Re) !== 0 && ae !== null && !ae.m;
825  if (t) {
826    var r = (
827      /** @type {ComponentContext} */
828      ae
829    );
830    (r.e ??= []).push({
831      fn: e,
832      effect: V,
833      reaction: I
834    });
835  } else {
836    var i = Gr(e);
837    return i;
838  }
839}
840function yo(e) {
841  const t = lt(nt, e, !0);
842  return () => {
843    Fe(t);
844  };
845}
846function Ao(e) {
847  const t = lt(nt, e, !0);
848  return (r = {}) => new Promise((i) => {
849    r.outro ? Sr(t, () => {
850      Fe(t), i(void 0);
851    }) : (Fe(t), i(void 0));
852  });
853}
854function Gr(e) {
855  return lt(Za, e, !1);
856}
857function Wr(e) {
858  return lt(fr, e, !0);
859}
860function Ce(e, t = [], r = hr) {
861  const i = t.map(r);
862  return ki(() => e(...i.map(n)));
863}
864function ki(e, t = 0) {
865  return lt(fr | Dr | t, e, !0);
866}
867function $r(e, t = !0) {
868  return lt(fr | Re, e, !0, t);
869}
870function _i(e) {
871  var t = e.teardown;
872  if (t !== null) {
873    const r = Ft, i = I;
874    Sa(!0), Ee(null);
875    try {
876      t.call(null);
877    } finally {
878      Sa(r), Ee(i);
879    }
880  }
881}
882function wi(e, t = !1) {
883  var r = e.first;
884  for (e.first = e.last = null; r !== null; ) {
885    var i = r.next;
886    (r.f & nt) !== 0 ? r.parent = null : Fe(r, t), r = i;
887  }
888}
889function ko(e) {
890  for (var t = e.first; t !== null; ) {
891    var r = t.next;
892    (t.f & Re) === 0 && Fe(t), t = r;
893  }
894}
895function Fe(e, t = !0) {
896  var r = !1;
897  (t || (e.f & Nn) !== 0) && e.nodes_start !== null && (Ci(
898    e.nodes_start,
899    /** @type {TemplateNode} */
900    e.nodes_end
901  ), r = !0), wi(e, t && !r), ur(e, 0), me(e, dr);
902  var i = e.transitions;
903  if (i !== null)
904    for (const o of i)
905      o.stop();
906  _i(e);
907  var l = e.parent;
908  l !== null && l.first !== null && Li(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;
909}
910function Ci(e, t) {
911  for (; e !== null; ) {
912    var r = e === t ? null : (
913      /** @type {TemplateNode} */
914      /* @__PURE__ */ Me(e)
915    );
916    e.remove(), e = r;
917  }
918}
919function Li(e) {
920  var t = e.parent, r = e.prev, i = e.next;
921  r !== null && (r.next = i), i !== null && (i.prev = r), t !== null && (t.first === e && (t.first = i), t.last === e && (t.last = r));
922}
923function Sr(e, t) {
924  var r = [];
925  xi(e, r, !0), _o(r, () => {
926    Fe(e), t && t();
927  });
928}
929function _o(e, t) {
930  var r = e.length;
931  if (r > 0) {
932    var i = () => --r || t();
933    for (var l of e)
934      l.out(i);
935  } else
936    t();
937}
938function xi(e, t, r) {
939  if ((e.f & kt) === 0) {
940    if (e.f ^= kt, e.transitions !== null)
941      for (const s of e.transitions)
942        (s.is_global || r) && t.push(s);
943    for (var i = e.first; i !== null; ) {
944      var l = i.next, o = (i.f & qr) !== 0 || (i.f & Re) !== 0;
945      xi(i, t, o ? r : !1), i = l;
946    }
947  }
948}
949function za(e) {
950  Ei(e, !0);
951}
952function Ei(e, t) {
953  if ((e.f & kt) !== 0) {
954    e.f ^= kt, (e.f & le) === 0 && (e.f ^= le), Mt(e) && (me(e, je), pr(e));
955    for (var r = e.first; r !== null; ) {
956      var i = r.next, l = (r.f & qr) !== 0 || (r.f & Re) !== 0;
957      Ei(r, l ? t : !1), r = i;
958    }
959    if (e.transitions !== null)
960      for (const o of e.transitions)
961        (o.is_global || t) && o.in();
962  }
963}
964const wo = ["touchstart", "touchmove"];
965function Co(e) {
966  return wo.includes(e);
967}
968function Lo(e, t) {
969  if (t) {
970    const r = document.body;
971    e.autofocus = !0, Hr(() => {
972      document.activeElement === r && e.focus();
973    });
974  }
975}
976let Na = !1;
977function Ti() {
978  Na || (Na = !0, document.addEventListener(
979    "reset",
980    (e) => {
981      Promise.resolve().then(() => {
982        if (!e.defaultPrevented)
983          for (
984            const t of
985            /**@type {HTMLFormElement} */
986            e.target.elements
987          )
988            t.__on_r?.();
989      });
990    },
991    // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)
992    { capture: !0 }
993  ));
994}
995function Ii(e) {
996  var t = I, r = V;
997  Ee(null), Oe(null);
998  try {
999    return e();
1000  } finally {
1001    Ee(t), Oe(r);
1002  }
1003}
1004function xo(e, t, r, i = r) {
1005  e.addEventListener(t, () => Ii(r));
1006  const l = e.__on_r;
1007  l ? e.__on_r = () => {
1008    l(), i(!0);
1009  } : e.__on_r = () => i(!0), Ti();
1010}
1011const Vi = /* @__PURE__ */ new Set(), Pr = /* @__PURE__ */ new Set();
1012function Eo(e, t, r, i = {}) {
1013  function l(o) {
1014    if (i.capture || Pt.call(t, o), !o.cancelBubble)
1015      return Ii(() => r?.call(this, o));
1016  }
1017  return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? Hr(() => {
1018    t.addEventListener(e, l, i);
1019  }) : t.addEventListener(e, l, i), l;
1020}
1021function Ne(e, t, r, i, l) {
1022  var o = { capture: i, passive: l }, s = Eo(e, t, r, o);
1023  (t === document.body || t === window || t === document) && Ur(() => {
1024    t.removeEventListener(e, s, o);
1025  });
1026}
1027function To(e) {
1028  for (var t = 0; t < e.length; t++)
1029    Vi.add(e[t]);
1030  for (var r of Pr)
1031    r(e);
1032}
1033function Pt(e) {
1034  var t = this, r = (
1035    /** @type {Node} */
1036    t.ownerDocument
1037  ), i = e.type, l = e.composedPath?.() || [], o = (
1038    /** @type {null | Element} */
1039    l[0] || e.target
1040  ), s = 0, u = e.__root;
1041  if (u) {
1042    var f = l.indexOf(u);
1043    if (f !== -1 && (t === document || t === /** @type {any} */
1044    window)) {
1045      e.__root = t;
1046      return;
1047    }
1048    var d = l.indexOf(t);
1049    if (d === -1)
1050      return;
1051    f <= d && (s = f);
1052  }
1053  if (o = /** @type {Element} */
1054  l[s] || e.target, o !== t) {
1055    Dt(e, "currentTarget", {
1056      configurable: !0,
1057      get() {
1058        return o || r;
1059      }
1060    });
1061    var p = I, g = V;
1062    Ee(null), Oe(null);
1063    try {
1064      for (var m, k = []; o !== null; ) {
1065        var N = o.assignedSlot || o.parentNode || /** @type {any} */
1066        o.host || null;
1067        try {
1068          var D = o["__" + i];
1069          if (D != null && (!/** @type {any} */
1070          o.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
1071          // -> the target could not have been disabled because it emits the event in the first place
1072          e.target === o))
1073            if (Ua(D)) {
1074              var [H, ...E] = D;
1075              H.apply(o, [e, ...E]);
1076            } else
1077              D.call(o, e);
1078        } catch (ee) {
1079          m ? k.push(ee) : m = ee;
1080        }
1081        if (e.cancelBubble || N === t || N === null)
1082          break;
1083        o = N;
1084      }
1085      if (m) {
1086        for (let ee of k)
1087          queueMicrotask(() => {
1088            throw ee;
1089          });
1090        throw m;
1091      }
1092    } finally {
1093      e.__root = t, delete e.currentTarget, Ee(p), Oe(g);
1094    }
1095  }
1096}
1097function Zr(e) {
1098  var t = document.createElement("template");
1099  return t.innerHTML = e, t.content;
1100}
1101function xe(e, t) {
1102  var r = (
1103    /** @type {Effect} */
1104    V
1105  );
1106  r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);
1107}
1108// @__NO_SIDE_EFFECTS__
1109function ye(e, t) {
1110  var r = (t & to) !== 0, i = (t & ro) !== 0, l, o = !e.startsWith("<!>");
1111  return () => {
1112    if (z)
1113      return xe(P, null), P;
1114    l === void 0 && (l = Zr(o ? e : "<!>" + e), r || (l = /** @type {Node} */
1115    /* @__PURE__ */ ge(l)));
1116    var s = (
1117      /** @type {TemplateNode} */
1118      i || di ? document.importNode(l, !0) : l.cloneNode(!0)
1119    );
1120    if (r) {
1121      var u = (
1122        /** @type {TemplateNode} */
1123        /* @__PURE__ */ ge(s)
1124      ), f = (
1125        /** @type {TemplateNode} */
1126        s.lastChild
1127      );
1128      xe(u, f);
1129    } else
1130      xe(s, s);
1131    return s;
1132  };
1133}
1134// @__NO_SIDE_EFFECTS__
1135function mr(e, t, r = "svg") {
1136  var i = !e.startsWith("<!>"), l = `<${r}>${i ? e : "<!>" + e}</${r}>`, o;
1137  return () => {
1138    if (z)
1139      return xe(P, null), P;
1140    if (!o) {
1141      var s = (
1142        /** @type {DocumentFragment} */
1143        Zr(l)
1144      ), u = (
1145        /** @type {Element} */
1146        /* @__PURE__ */ ge(s)
1147      );
1148      o = /** @type {Element} */
1149      /* @__PURE__ */ ge(u);
1150    }
1151    var f = (
1152      /** @type {TemplateNode} */
1153      o.cloneNode(!0)
1154    );
1155    return xe(f, f), f;
1156  };
1157}
1158function Xt() {
1159  if (z)
1160    return xe(P, null), P;
1161  var e = document.createDocumentFragment(), t = document.createComment(""), r = vr();
1162  return e.append(t, r), xe(t, r), e;
1163}
1164function M(e, t) {
1165  if (z) {
1166    V.nodes_end = P, _t();
1167    return;
1168  }
1169  e !== null && e.before(
1170    /** @type {Node} */
1171    t
1172  );
1173}
1174function Io(e, t) {
1175  var r = t == null ? "" : typeof t == "object" ? t + "" : t;
1176  r !== (e.__t ??= e.nodeValue) && (e.__t = r, e.nodeValue = r + "");
1177}
1178function ji(e, t) {
1179  return Ri(e, t);
1180}
1181function Vo(e, t) {
1182  jr(), t.intro = t.intro ?? !1;
1183  const r = t.target, i = z, l = P;
1184  try {
1185    for (var o = (
1186      /** @type {TemplateNode} */
1187      /* @__PURE__ */ ge(r)
1188    ); o && (o.nodeType !== 8 || /** @type {Comment} */
1189    o.data !== Fr); )
1190      o = /** @type {TemplateNode} */
1191      /* @__PURE__ */ Me(o);
1192    if (!o)
1193      throw At;
1194    mt(!0), He(
1195      /** @type {Comment} */
1196      o
1197    ), _t();
1198    const s = Ri(e, { ...t, anchor: o });
1199    if (P === null || P.nodeType !== 8 || /** @type {Comment} */
1200    P.data !== ri)
1201      throw gr(), At;
1202    return mt(!1), /**  @type {Exports} */
1203    s;
1204  } catch (s) {
1205    if (s === At)
1206      return t.recover === !1 && Gn(), jr(), so(r), mt(!1), ji(e, t);
1207    throw s;
1208  } finally {
1209    mt(i), He(l);
1210  }
1211}
1212const bt = /* @__PURE__ */ new Map();
1213function Ri(e, { target: t, anchor: r, props: i = {}, events: l, context: o, intro: s = !0 }) {
1214  jr();
1215  var u = /* @__PURE__ */ new Set(), f = (g) => {
1216    for (var m = 0; m < g.length; m++) {
1217      var k = g[m];
1218      if (!u.has(k)) {
1219        u.add(k);
1220        var N = Co(k);
1221        t.addEventListener(k, Pt, { passive: N });
1222        var D = bt.get(k);
1223        D === void 0 ? (document.addEventListener(k, Pt, { passive: N }), bt.set(k, 1)) : bt.set(k, D + 1);
1224      }
1225    }
1226  };
1227  f(jn(Vi)), Pr.add(f);
1228  var d = void 0, p = Ao(() => {
1229    var g = r ?? t.appendChild(vr());
1230    return $r(() => {
1231      if (o) {
1232        ii({});
1233        var m = (
1234          /** @type {ComponentContext} */
1235          ae
1236        );
1237        m.c = o;
1238      }
1239      l && (i.$$events = l), z && xe(
1240        /** @type {TemplateNode} */
1241        g,
1242        null
1243      ), d = e(g, i) || {}, z && (V.nodes_end = P), o && ni();
1244    }), () => {
1245      for (var m of u) {
1246        t.removeEventListener(m, Pt);
1247        var k = (
1248          /** @type {number} */
1249          bt.get(m)
1250        );
1251        --k === 0 ? (document.removeEventListener(m, Pt), bt.delete(m)) : bt.set(m, k);
1252      }
1253      Pr.delete(f), g !== r && g.parentNode?.removeChild(g);
1254    };
1255  });
1256  return zr.set(d, p), d;
1257}
1258let zr = /* @__PURE__ */ new WeakMap();
1259function jo(e, t) {
1260  const r = zr.get(e);
1261  return r ? (zr.delete(e), r(t)) : Promise.resolve();
1262}
1263function J(e, t, [r, i] = [0, 0]) {
1264  z && r === 0 && _t();
1265  var l = e, o = null, s = null, u = oe, f = r > 0 ? qr : 0, d = !1;
1266  const p = (m, k = !0) => {
1267    d = !0, g(k, m);
1268  }, g = (m, k) => {
1269    if (u === (u = m)) return;
1270    let N = !1;
1271    if (z && i !== -1) {
1272      if (r === 0) {
1273        const H = (
1274          /** @type {Comment} */
1275          l.data
1276        );
1277        H === Fr ? i = 0 : H === ti ? i = 1 / 0 : (i = parseInt(H.substring(1)), i !== i && (i = u ? 1 / 0 : -1));
1278      }
1279      const D = i > r;
1280      !!u === D && (l = lo(), He(l), mt(!1), N = !0, i = -1);
1281    }
1282    u ? (o ? za(o) : k && (o = $r(() => k(l))), s && Sr(s, () => {
1283      s = null;
1284    })) : (s ? za(s) : k && (s = $r(() => k(l, [r + 1, i]))), o && Sr(o, () => {
1285      o = null;
1286    })), N && mt(!0);
1287  };
1288  ki(() => {
1289    d = !1, t(p), d || g(null, null);
1290  }, f), z && (l = P);
1291}
1292function tt(e, t, r = !1, i = !1, l = !1) {
1293  var o = e, s = "";
1294  Ce(() => {
1295    var u = (
1296      /** @type {Effect} */
1297      V
1298    );
1299    if (s === (s = t() ?? "")) {
1300      z && _t();
1301      return;
1302    }
1303    if (u.nodes_start !== null && (Ci(
1304      u.nodes_start,
1305      /** @type {TemplateNode} */
1306      u.nodes_end
1307    ), u.nodes_start = u.nodes_end = null), s !== "") {
1308      if (z) {
1309        P.data;
1310        for (var f = _t(), d = f; f !== null && (f.nodeType !== 8 || /** @type {Comment} */
1311        f.data !== ""); )
1312          d = f, f = /** @type {TemplateNode} */
1313          /* @__PURE__ */ Me(f);
1314        if (f === null)
1315          throw gr(), At;
1316        xe(P, d), o = He(f);
1317        return;
1318      }
1319      var p = s + "";
1320      r ? p = `<svg>${p}</svg>` : i && (p = `<math>${p}</math>`);
1321      var g = Zr(p);
1322      if ((r || i) && (g = /** @type {Element} */
1323      /* @__PURE__ */ ge(g)), xe(
1324        /** @type {TemplateNode} */
1325        /* @__PURE__ */ ge(g),
1326        /** @type {TemplateNode} */
1327        g.lastChild
1328      ), r || i)
1329        for (; /* @__PURE__ */ ge(g); )
1330          o.before(
1331            /** @type {Node} */
1332            /* @__PURE__ */ ge(g)
1333          );
1334      else
1335        o.before(g);
1336    }
1337  });
1338}
1339function Ro(e, t, r, i, l) {
1340  z && _t();
1341  var o = t.$$slots?.[r], s = !1;
1342  o === !0 && (o = t.children, s = !0), o === void 0 || o(e, s ? () => i : i);
1343}
1344const Da = [...` 	
1345\r\f \v\uFEFF`];
1346function $o(e, t, r) {
1347  var i = "" + e;
1348  if (r) {
1349    for (var l in r)
1350      if (r[l])
1351        i = i ? i + " " + l : l;
1352      else if (i.length)
1353        for (var o = l.length, s = 0; (s = i.indexOf(l, s)) >= 0; ) {
1354          var u = s + o;
1355          (s === 0 || Da.includes(i[s - 1])) && (u === i.length || Da.includes(i[u])) ? i = (s === 0 ? "" : i.substring(0, s)) + i.substring(u + 1) : s = u;
1356        }
1357  }
1358  return i === "" ? null : i;
1359}
1360function So(e, t, r, i, l, o) {
1361  var s = e.__className;
1362  if (z || s !== r || s === void 0) {
1363    var u = $o(r, i, o);
1364    (!z || u !== e.getAttribute("class")) && (u == null ? e.removeAttribute("class") : e.className = u), e.__className = r;
1365  } else if (o && l !== o)
1366    for (var f in o) {
1367      var d = !!o[f];
1368      (l == null || d !== !!l[f]) && e.classList.toggle(f, d);
1369    }
1370  return o;
1371}
1372const Po = Symbol("is custom element"), zo = Symbol("is html");
1373function qa(e) {
1374  if (z) {
1375    var t = !1, r = () => {
1376      if (!t) {
1377        if (t = !0, e.hasAttribute("value")) {
1378          var i = e.value;
1379          T(e, "value", null), e.value = i;
1380        }
1381        if (e.hasAttribute("checked")) {
1382          var l = e.checked;
1383          T(e, "checked", null), e.checked = l;
1384        }
1385      }
1386    };
1387    e.__on_r = r, Hn(r), Ti();
1388  }
1389}
1390function No(e, t) {
1391  var r = $i(e);
1392  r.value === (r.value = // treat null and undefined the same for the initial value
1393  t ?? void 0) || // @ts-expect-error
1394  // `progress` elements always need their value set when it's `0`
1395  e.value === t && (t !== 0 || e.nodeName !== "PROGRESS") || (e.value = t ?? "");
1396}
1397function T(e, t, r, i) {
1398  var l = $i(e);
1399  z && (l[t] = e.getAttribute(t), t === "src" || t === "srcset" || t === "href" && e.nodeName === "LINK") || l[t] !== (l[t] = r) && (t === "loading" && (e[Dn] = r), r == null ? e.removeAttribute(t) : typeof r != "string" && Do(e).includes(t) ? e[t] = r : e.setAttribute(t, r));
1400}
1401function $i(e) {
1402  return (
1403    /** @type {Record<string | symbol, unknown>} **/
1404    // @ts-expect-error
1405    e.__attributes ??= {
1406      [Po]: e.nodeName.includes("-"),
1407      [zo]: e.namespaceURI === ao
1408    }
1409  );
1410}
1411var Ha = /* @__PURE__ */ new Map();
1412function Do(e) {
1413  var t = Ha.get(e.nodeName);
1414  if (t) return t;
1415  Ha.set(e.nodeName, t = []);
1416  for (var r, i = e, l = Element.prototype; l !== i; ) {
1417    r = Rn(i);
1418    for (var o in r)
1419      r[o].set && t.push(o);
1420    i = Ga(i);
1421  }
1422  return t;
1423}
1424function qo(e, t, r = t) {
1425  xo(e, "change", (i) => {
1426    var l = i ? e.defaultChecked : e.checked;
1427    r(l);
1428  }), // If we are hydrating and the value has since changed,
1429  // then use the update value from the input instead.
1430  (z && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked
1431  it(t) == null) && r(e.checked), Wr(() => {
1432    var i = t();
1433    e.checked = !!i;
1434  });
1435}
1436function Oa(e, t) {
1437  return e === t || e?.[zt] === t;
1438}
1439function Qt(e = {}, t, r, i) {
1440  return Gr(() => {
1441    var l, o;
1442    return Wr(() => {
1443      l = o, o = [], it(() => {
1444        e !== r(...o) && (t(e, ...o), l && Oa(r(...l), e) && t(null, ...l));
1445      });
1446    }), () => {
1447      Hr(() => {
1448        o && Oa(r(...o), e) && t(null, ...o);
1449      });
1450    };
1451  }), e;
1452}
1453let er = !1, Nr = Symbol();
1454function Ho(e, t, r) {
1455  const i = r[t] ??= {
1456    store: null,
1457    source: /* @__PURE__ */ Mr(void 0),
1458    unsubscribe: yt
1459  };
1460  if (i.store !== e && !(Nr in r))
1461    if (i.unsubscribe(), i.store = e ?? null, e == null)
1462      i.source.v = void 0, i.unsubscribe = yt;
1463    else {
1464      var l = !0;
1465      i.unsubscribe = zi(e, (o) => {
1466        l ? i.source.v = o : y(i.source, o);
1467      }), l = !1;
1468    }
1469  return e && Nr in r ? ar(e) : n(i.source);
1470}
1471function Oo() {
1472  const e = {};
1473  function t() {
1474    Ur(() => {
1475      for (var r in e)
1476        e[r].unsubscribe();
1477      Dt(e, Nr, {
1478        enumerable: !1,
1479        value: !0
1480      });
1481    });
1482  }
1483  return [e, t];
1484}
1485function Fo(e) {
1486  var t = er;
1487  try {
1488    return er = !1, [e(), er];
1489  } finally {
1490    er = t;
1491  }
1492}
1493function Fa(e) {
1494  return e.ctx?.d ?? !1;
1495}
1496function w(e, t, r, i) {
1497  var l = (r & Jn) !== 0, o = !0, s = (r & Qn) !== 0, u = (r & eo) !== 0, f = !1, d;
1498  s ? [d, f] = Fo(() => (
1499    /** @type {V} */
1500    e[t]
1501  )) : d = /** @type {V} */
1502  e[t];
1503  var p = zt in e || Ka in e, g = s && (rt(e, t)?.set ?? (p && t in e && ((O) => e[t] = O))) || void 0, m = (
1504    /** @type {V} */
1505    i
1506  ), k = !0, N = !1, D = () => (N = !0, k && (k = !1, u ? m = it(
1507    /** @type {() => V} */
1508    i
1509  ) : m = /** @type {V} */
1510  i), m);
1511  d === void 0 && i !== void 0 && (g && o && Wn(), d = D(), g && g(d));
1512  var H;
1513  if (H = () => {
1514    var O = (
1515      /** @type {V} */
1516      e[t]
1517    );
1518    return O === void 0 ? D() : (k = !0, N = !1, O);
1519  }, (r & Xn) === 0)
1520    return H;
1521  if (g) {
1522    var E = e.$$legacy;
1523    return function(O, se) {
1524      return arguments.length > 0 ? ((!se || E || f) && g(se ? H() : O), O) : H();
1525    };
1526  }
1527  var ee = !1, Te = /* @__PURE__ */ Mr(d), X = /* @__PURE__ */ hr(() => {
1528    var O = H(), se = n(Te);
1529    return ee ? (ee = !1, se) : Te.v = O;
1530  });
1531  return s && n(X), l || (X.equals = Or), function(O, se) {
1532    if (arguments.length > 0) {
1533      const Be = se ? n(X) : s ? De(O) : O;
1534      if (!X.equals(Be)) {
1535        if (ee = !0, y(Te, Be), N && m !== void 0 && (m = Be), Fa(X))
1536          return O;
1537        it(() => n(X));
1538      }
1539      return O;
1540    }
1541    return Fa(X) ? X.v : n(X);
1542  };
1543}
1544function Mo(e) {
1545  return new Bo(e);
1546}
1547class Bo {
1548  /** @type {any} */
1549  #t;
1550  /** @type {Record<string, any>} */
1551  #e;
1552  /**
1553   * @param {ComponentConstructorOptions & {
1554   *  component: any;
1555   * }} options
1556   */
1557  constructor(t) {
1558    var r = /* @__PURE__ */ new Map(), i = (o, s) => {
1559      var u = /* @__PURE__ */ Mr(s);
1560      return r.set(o, u), u;
1561    };
1562    const l = new Proxy(
1563      { ...t.props || {}, $$events: {} },
1564      {
1565        get(o, s) {
vendor: 5,606 bytes, lines 1566-1742
1566          return n(r.get(s) ?? i(s, Reflect.get(o, s)));
1567        },
1568        has(o, s) {
1569          return s === Ka ? !0 : (n(r.get(s) ?? i(s, Reflect.get(o, s))), Reflect.has(o, s));
1570        },
1571        set(o, s, u) {
1572          return y(r.get(s) ?? i(s, u), u), Reflect.set(o, s, u);
1573        }
1574      }
1575    );
1576    this.#e = (t.hydrate ? Vo : ji)(t.component, {
1577      target: t.target,
1578      anchor: t.anchor,
1579      props: l,
1580      context: t.context,
1581      intro: t.intro ?? !1,
1582      recover: t.recover
1583    }), (!t?.props?.$$host || t.sync === !1) && _(), this.#t = l.$$events;
1584    for (const o of Object.keys(this.#e))
1585      o === "$set" || o === "$destroy" || o === "$on" || Dt(this, o, {
1586        get() {
1587          return this.#e[o];
1588        },
1589        /** @param {any} value */
1590        set(s) {
1591          this.#e[o] = s;
1592        },
1593        enumerable: !0
1594      });
1595    this.#e.$set = /** @param {Record<string, any>} next */
1596    (o) => {
1597      Object.assign(l, o);
1598    }, this.#e.$destroy = () => {
1599      jo(this.#e);
1600    };
1601  }
1602  /** @param {Record<string, any>} props */
1603  $set(t) {
1604    this.#e.$set(t);
1605  }
1606  /**
1607   * @param {string} event
1608   * @param {(...args: any[]) => any} callback
1609   * @returns {any}
1610   */
1611  $on(t, r) {
1612    this.#t[t] = this.#t[t] || [];
1613    const i = (...l) => r.call(this, ...l);
1614    return this.#t[t].push(i), () => {
1615      this.#t[t] = this.#t[t].filter(
1616        /** @param {any} fn */
1617        (l) => l !== i
1618      );
1619    };
1620  }
1621  $destroy() {
1622    this.#e.$destroy();
1623  }
1624}
1625let Si;
1626typeof HTMLElement == "function" && (Si = class extends HTMLElement {
1627  /** The Svelte component constructor */
1628  $$ctor;
1629  /** Slots */
1630  $$s;
1631  /** @type {any} The Svelte component instance */
1632  $$c;
1633  /** Whether or not the custom element is connected */
1634  $$cn = !1;
1635  /** @type {Record<string, any>} Component props data */
1636  $$d = {};
1637  /** `true` if currently in the process of reflecting component props back to attributes */
1638  $$r = !1;
1639  /** @type {Record<string, CustomElementPropDefinition>} Props definition (name, reflected, type etc) */
1640  $$p_d = {};
1641  /** @type {Record<string, EventListenerOrEventListenerObject[]>} Event listeners */
1642  $$l = {};
1643  /** @type {Map<EventListenerOrEventListenerObject, Function>} Event listener unsubscribe functions */
1644  $$l_u = /* @__PURE__ */ new Map();
1645  /** @type {any} The managed render effect for reflecting attributes */
1646  $$me;
1647  /**
1648   * @param {*} $$componentCtor
1649   * @param {*} $$slots
1650   * @param {*} use_shadow_dom
1651   */
1652  constructor(e, t, r) {
1653    super(), this.$$ctor = e, this.$$s = t, r && this.attachShadow({ mode: "open" });
1654  }
1655  /**
1656   * @param {string} type
1657   * @param {EventListenerOrEventListenerObject} listener
1658   * @param {boolean | AddEventListenerOptions} [options]
1659   */
1660  addEventListener(e, t, r) {
1661    if (this.$$l[e] = this.$$l[e] || [], this.$$l[e].push(t), this.$$c) {
1662      const i = this.$$c.$on(e, t);
1663      this.$$l_u.set(t, i);
1664    }
1665    super.addEventListener(e, t, r);
1666  }
1667  /**
1668   * @param {string} type
1669   * @param {EventListenerOrEventListenerObject} listener
1670   * @param {boolean | AddEventListenerOptions} [options]
1671   */
1672  removeEventListener(e, t, r) {
1673    if (super.removeEventListener(e, t, r), this.$$c) {
1674      const i = this.$$l_u.get(t);
1675      i && (i(), this.$$l_u.delete(t));
1676    }
1677  }
1678  async connectedCallback() {
1679    if (this.$$cn = !0, !this.$$c) {
1680      let e = function(i) {
1681        return (l) => {
1682          const o = document.createElement("slot");
1683          i !== "default" && (o.name = i), M(l, o);
1684        };
1685      };
1686      if (await Promise.resolve(), !this.$$cn || this.$$c)
1687        return;
1688      const t = {}, r = Uo(this);
1689      for (const i of this.$$s)
1690        i in r && (i === "default" && !this.$$d.children ? (this.$$d.children = e(i), t.default = !0) : t[i] = e(i));
1691      for (const i of this.attributes) {
1692        const l = this.$$g_p(i.name);
1693        l in this.$$d || (this.$$d[l] = rr(l, i.value, this.$$p_d, "toProp"));
1694      }
1695      for (const i in this.$$p_d)
1696        !(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]);
1697      this.$$c = Mo({
1698        component: this.$$ctor,
1699        target: this.shadowRoot || this,
1700        props: {
1701          ...this.$$d,
1702          $$slots: t,
1703          $$host: this
1704        }
1705      }), this.$$me = yo(() => {
1706        Wr(() => {
1707          this.$$r = !0;
1708          for (const i of ir(this.$$c)) {
1709            if (!this.$$p_d[i]?.reflect) continue;
1710            this.$$d[i] = this.$$c[i];
1711            const l = rr(
1712              i,
1713              this.$$d[i],
1714              this.$$p_d,
1715              "toAttribute"
1716            );
1717            l == null ? this.removeAttribute(this.$$p_d[i].attribute || i) : this.setAttribute(this.$$p_d[i].attribute || i, l);
1718          }
1719          this.$$r = !1;
1720        });
1721      });
1722      for (const i in this.$$l)
1723        for (const l of this.$$l[i]) {
1724          const o = this.$$c.$on(i, l);
1725          this.$$l_u.set(l, o);
1726        }
1727      this.$$l = {};
1728    }
1729  }
1730  // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte
1731  // and setting attributes through setAttribute etc, this is helpful
1732  /**
1733   * @param {string} attr
1734   * @param {string} _oldValue
1735   * @param {string} newValue
1736   */
1737  attributeChangedCallback(e, t, r) {
1738    this.$$r || (e = this.$$g_p(e), this.$$d[e] = rr(e, r, this.$$p_d, "toProp"), this.$$c?.$set({ [e]: this.$$d[e] }));
1739  }
1740  disconnectedCallback() {
1741    this.$$cn = !1, Promise.resolve().then(() => {
1742      !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(
1742), this.$$c = void 0);
1743    });
1744  }
1745  /**
1746   * @param {string} attribute_name
1747   */
1748  $$g_p(e) {
1749    return ir(this.$$p_d).find(
1750      (t) => this.$$p_d[t].attribute === e || !this.$$p_d[t].attribute && t.toLowerCase() === e
1751    ) || e;
1752  }
1753});
1754function rr(e, t, r, i) {
1755  const l = r[e]?.type;
1756  if (t = l === "Boolean" && typeof t != "boolean" ? t != null : t, !i || !r[e])
1757    return t;
1758  if (i === "toAttribute")
1759    switch (l) {
1760      case "Object":
1761      case "Array":
1762        return t == null ? null : JSON.stringify(t);
1763      case "Boolean":
1764        return t ? "" : null;
1765      case "Number":
1766        return t ?? null;
1767      default:
1768        return t;
1769    }
1770  else
1771    switch (l) {
1772      case "Object":
1773      case "Array":
1774        return t && JSON.parse(t);
1775      case "Boolean":
1776        return t;
1777      // conversion already handled above
1778      case "Number":
1779        return t != null ? +t : t;
1780      default:
1781        return t;
1782    }
1783}
1784function Uo(e) {
1785  const t = {};
1786  return e.childNodes.forEach((r) => {
1787    t[
1788      /** @type {Element} node */
1789      r.slot || "default"
1790    ] = !0;
1791  }), t;
1792}
1793function Go(e, t, r, i, l, o) {
1794  let s = class extends Si {
1795    constructor() {
1796      super(e, r, l), this.$$p_d = t;
1797    }
1798    static get observedAttributes() {
1799      return ir(t).map(
1800        (u) => (t[u].attribute || u).toLowerCase()
1801      );
1802    }
1803  };
1804  return ir(t).forEach((u) => {
1805    Dt(s.prototype, u, {
1806      get() {
1807        return this.$$c && u in this.$$c ? this.$$c[u] : this.$$d[u];
1808      },
1809      set(f) {
1810        f = rr(u, f, t), this.$$d[u] = f;
1811        var d = this.$$c;
1812        if (d) {
1813          var p = rt(d, u)?.get;
1814          p ? d[u] = f : d.$set({ [u]: f });
1815        }
1816      }
1817    });
1818  }), i.forEach((u) => {
1819    Dt(s.prototype, u, {
1820      get() {
1821        return this.$$c?.[u];
1822      }
1823    });
1824  }), e.element = /** @type {any} */
1825  s, s;
1826}
1827function Pi(e) {
1828  ae === null && ai(), Rr(() => {
1829    const t = it(e);
1830    if (typeof t == "function") return (
1831      /** @type {() => void} */
1832      t
1833    );
1834  });
1835}
1836function Wo(e) {
1837  ae === null && ai(), Pi(() => () => it(e));
1838}
1839function zi(e, t, r) {
1840  if (e == null)
1841    return t(void 0), yt;
1842  const i = it(
1843    () => e.subscribe(
1844      t,
1845      // @ts-expect-error
1846      r
1847    )
1848  );
1849  return i.unsubscribe ? () => i.unsubscribe() : i;
1850}
1851const pt = [];
1852function Zo(e, t = yt) {
1853  let r = null;
1854  const i = /* @__PURE__ */ new Set();
1855  function l(u) {
1856    if (ei(e, u) && (e = u, r)) {
1857      const f = !pt.length;
1858      for (const d of i)
1859        d[1](), pt.push(d, e);
1860      if (f) {
1861        for (let d = 0; d < pt.length; d += 2)
1862          pt[d][0](pt[d + 1]);
1863        pt.length = 0;
1864      }
1865    }
1866  }
1867  function o(u) {
1868    l(u(
1869      /** @type {T} */
1870      e
1871    ));
1872  }
1873  function s(u, f = yt) {
1874    const d = [u, f];
1875    return i.add(d), i.size === 1 && (r = t(l, o) || yt), u(
1876      /** @type {T} */
1877      e
1878    ), () => {
1879      i.delete(d), i.size === 0 && r && (r(), r = null);
1880    };
1881  }
1882  return { set: l, update: o, subscribe: s };
1883}
1884function ar(e) {
1885  let t;
1886  return zi(e, (r) => t = r)(), t;
1887}
1888globalThis.altchaPlugins = globalThis.altchaPlugins || [];
1889globalThis.altchaI18n = globalThis.altchaI18n || {
1890  get: (e) => ar(globalThis.altchaI18n.store)[e],
1891  set: (e, t) => {
1892    Object.assign(ar(globalThis.altchaI18n.store), {
1893      [e]: t
1894    }), globalThis.altchaI18n.store.set(ar(globalThis.altchaI18n.store));
1895  },
1896  store: Zo({})
1897};
1898const Yo = {
1899  ariaLinkLabel: "زور Altcha.org",
1900  enterCode: "أدخل الرمز",
1901  enterCodeAria: "أدخل الرمز الذي تسمعه. اضغط على المسافة لتشغيل الصوت.",
1902  error: "فشل التحقق. حاول مرة أخرى لاحقاً.",
1903  expired: "انتهت صلاحية التحقق. حاول مرة أخرى.",
1904  verificationRequired: "مطلوب التحقق!",
1905  footer: 'محمي بواسطة <a href="https://altcha.org/" target="_blank" aria-label="زور Altcha.org">ALTCHA</a>',
1906  getAudioChallenge: "احصل على تحدي صوتي",
1907  label: "أنا لست روبوتاً",
1908  loading: "جارٍ التحميل...",
1909  reload: "إعادة تحميل",
1910  verify: "تحقق",
1911  verified: "تم التحقق",
1912  verifying: "جارٍ التحقق...",
1913  waitAlert: "جارٍ التحقق... يرجى الانتظار."
1914};
1915globalThis.altchaI18n.set("ar", Yo);
1916const Ko = {
1917  ariaLinkLabel: "Посетете Altcha.org",
1918  enterCode: "Въведете код",
1919  enterCodeAria: "Въведете кода, който чувате. Натиснете Space за възпроизвеждане на аудио.",
1920  error: "Проверката неуспешна. Моля, опитайте по-късно.",
1921  expired: "Времето за проверка изтече. Моля, опитайте отново.",
1922  verificationRequired: "Изисква се проверка!",
1923  footer: 'Защитено от <a href="https://altcha.org/" target="_blank" aria-label="Посетете Altcha.org">ALTCHA</a>',
1924  getAudioChallenge: "Аудио проверка",
1925  label: "Аз не съм робот",
1926  loading: "Зареждане...",
1927  reload: "Презареди",
1928  verify: "Провери",
1929  verified: "Проверено",
1930  verifying: "Проверява се...",
1931  waitAlert: "Проверката е в процес... моля изчакайте."
1932};
1933globalThis.altchaI18n.set("bg", Ko);
1934const Jo = {
1935  ariaLinkLabel: "Наведаць Altcha.org",
1936  enterCode: "Увядзіце код",
1937  enterCodeAria: "Увядзіце код, які вы чуеце. Націсніце прабел, каб прайграць аўдыё.",
1938  error: "Праверка не прайшла. Паспрабуйце пазней.",
1939  expired: "Тэрмін праверкі скончыўся. Паспрабуйце зноў.",
1940  footer: 'Абаронена <a href="https://altcha.org/" target="_blank" aria-label="Наведаць Altcha.org">ALTCHA</a>',
1941  getAudioChallenge: "Атрымаць аўдыё выклік",
1942  label: "Я не робат",
1943  loading: "Загрузка...",
1944  reload: "Перазагрузіць",
1945  verify: "Праверыць",
1946  verificationRequired: "Патрабуецца праверка!",
1947  verified: "Праверана",
1948  verifying: "Правяраем...",
1949  waitAlert: "Праверка... калі ласка, пачакайце."
1950};
1951globalThis.altchaI18n.set("be", Jo);
1952const Xo = {
1953  ariaLinkLabel: "Posjetite Altcha.org",
1954  enterCode: "Unesite kod",
1955  enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
1956  error: "Verifikacija nije uspjela. Pokušajte ponovo kasnije.",
1957  expired: "Verifikacija je istekla. Pokušajte ponovo.",
1958  footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
1959  getAudioChallenge: "Dohvatite audio izazov",
1960  label: "Nisam robot",
1961  loading: "Učitavanje...",
1962  reload: "Ponovno učitaj",
1963  verify: "Verifikuj",
1964  verificationRequired: "Verifikacija je obavezna!",
1965  verified: "Verifikovano",
1966  verifying: "Verifikacija u toku...",
1967  waitAlert: "Verifikacija u toku... molimo vas da sačekate."
1968};
1969globalThis.altchaI18n.set("bs", Xo);
1970const Qo = {
1971  ariaLinkLabel: "Visita Altcha.org",
1972  enterCode: "Introdueix el codi",
1973  enterCodeAria: "Introdueix el codi que escoltes. Prem Espai per reproduir l’àudio.",
1974  error: "Verificació fallida. Torna-ho a provar més tard.",
1975  expired: "Verificació expirada. Torna-ho a provar.",
1976  footer: 'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
1977  getAudioChallenge: "Obtenir un desafiament d’àudio",
1978  label: "No sóc un robot",
1979  loading: "Carregant...",
1980  reload: "Torna a carregar",
1981  verify: "Verificar",
1982  verificationRequired: "Es requereix verificació!",
1983  verified: "Verificat",
1984  verifying: "Verificant...",
1985  waitAlert: "Verificant... si us plau, espera."
1986};
1987globalThis.altchaI18n.set("ca", Qo);
1988const el = {
1989  ariaLinkLabel: "Navštivte Altcha.org",
1990  enterCode: "Zadejte kód",
1991  enterCodeAria: "Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",
1992  error: "Ověření selhalo. Zkuste to prosím později.",
1993  expired: "Ověření vypršelo. Zkuste to prosím znovu.",
1994  verificationRequired: "Vyžaduje se ověření!",
1995  footer: 'Chráněno pomocí <a href="https://altcha.org/" target="_blank" aria-label="Navštivte Altcha.org">ALTCHA</a>',
1996  getAudioChallenge: "Získat audio výzvu",
1997  label: "Nejsem robot",
1998  loading: "Načítání...",
1999  reload: "Znovu načíst",
2000  verify: "Ověřit",
2001  verified: "Ověřeno",
2002  verifying: "Ověřování...",
2003  waitAlert: "Probíhá ověření... prosím počkejte."
2004};
2005globalThis.altchaI18n.set("cs", el);
2006const tl = {
2007  ariaLinkLabel: "Besøg Altcha.org",
2008  enterCode: "Indtast kode",
2009  enterCodeAria: "Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",
2010  error: "Verificering mislykkedes. Prøv venligst igen senere.",
2011  expired: "Verificering udløbet. Prøv venligst igen.",
2012  verificationRequired: "Verificering kræves!",
2013  footer: 'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>',
2014  getAudioChallenge: "Hent lydudfordring",
2015  label: "Jeg er ikke en robot",
2016  loading: "Indlæser...",
2017  reload: "Genindlæs",
2018  verify: "Verificer",
2019  verified: "Verificeret",
2020  verifying: "Verificerer...",
2021  waitAlert: "Verificerer... vent venligst."
2022};
2023globalThis.altchaI18n.set("da", tl);
2024const rl = {
2025  ariaLinkLabel: "Besuche Altcha.org",
2026  enterCode: "Code eingeben",
2027  enterCodeAria: "Geben Sie den Code ein, den Sie hören. Drücken Sie die Leertaste, um die Audio abzuspielen.",
2028  error: "Überprüfung fehlgeschlagen. Bitte versuchen Sie es später erneut.",
2029  expired: "Überprüfung abgelaufen. Bitte versuchen Sie es erneut.",
2030  verificationRequired: "Überprüfung erforderlich!",
2031  footer: 'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>',
2032  getAudioChallenge: "Audio-Herausforderung anfordern",
2033  label: "Ich bin kein Roboter",
2034  loading: "Lade...",
2035  reload: "Neu laden",
2036  verify: "Überprüfen",
2037  verified: "Überprüft",
2038  verifying: "Wird überprüft...",
2039  waitAlert: "Überprüfung läuft... bitte warten."
2040};
2041globalThis.altchaI18n.set("de", rl);
2042const al = {
2043  ariaLinkLabel: "Επισκεφθείτε το Altcha.org",
2044  enterCode: "Εισαγάγετε κωδικό",
2045  enterCodeAria: "Εισαγάγετε τον κωδικό που ακούτε. Πατήστε Space για να παίξετε τον ήχο.",
2046  error: "Η επαλήθευση απέτυχε. Δοκιμάστε ξανά αργότερα.",
2047  expired: "Η επαλήθευση έληξε. Δοκιμάστε ξανά.",
2048  verificationRequired: "Απαιτείται έλεγχος!",
2049  footer: 'Προστατεύεται από το <a href="https://altcha.org/" target="_blank" aria-label="Επισκεφθείτε το Altcha.org">ALTCHA</a>',
2050  getAudioChallenge: "Λήψη ηχητικής δοκιμασίας",
2051  label: "Δεν είμαι ρομπότ",
2052  loading: "Φόρτωση...",
2053  reload: "Επαναφόρτωση",
2054  verify: "Επαλήθευση",
2055  verified: "Επαληθεύτηκε",
2056  verifying: "Γίνεται επαλήθευση...",
2057  waitAlert: "Γίνεται επαλήθευση... παρακαλώ περιμένετε."
2058};
2059globalThis.altchaI18n.set("el", al);
2060const il = {
2061  ariaLinkLabel: "Visitar Altcha.org",
2062  enterCode: "Introduce el código",
2063  enterCodeAria: "Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",
2064  error: "Falló la verificación. Por favor intente nuevamente más tarde.",
2065  expired: "Verificación expirada. Por favor intente nuevamente.",
2066  verificationRequired: "¡Verificación requerida!",
2067  footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
2068  getAudioChallenge: "Obtener un desafío de audio",
2069  label: "No soy un robot",
2070  loading: "Cargando...",
2071  reload: "Recargar",
2072  verify: "Verificar",
2073  verified: "Verificado",
2074  verifying: "Verificando...",
2075  waitAlert: "Verificando... por favor espere."
2076};
2077globalThis.altchaI18n.set("es-es", il);
2078const nl = {
2079  ariaLinkLabel: "Visitar Altcha.org",
2080  enterCode: "Ingresa el código",
2081  enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",
2082  error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.",
2083  expired: "La verificación expiró. Por favor inténtalo de nuevo.",
2084  verificationRequired: "¡Verificación requerida!",
2085  footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
2086  getAudioChallenge: "Obtener un reto de audio",
2087  label: "No soy un robot",
2088  loading: "Cargando...",
2089  reload: "Volver a cargar",
2090  verify: "Verificar",
2091  verified: "Verificado",
2092  verifying: "Verificando...",
2093  waitAlert: "Verificando... por favor espera."
2094};
2095globalThis.altchaI18n.set("es-419", nl);
2096const ol = {
2097  ariaLinkLabel: "Külasta Altcha.org",
2098  enterCode: "Sisesta kood",
2099  enterCodeAria: "Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",
2100  error: "Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",
2101  expired: "Kinnitamine aegus. Proovi uuesti.",
2102  verificationRequired: "Kontroll on vajalik!",
2103  footer: 'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt',
2104  getAudioChallenge: "Hangi heliülesanne",
2105  label: "Ma ei ole robot",
2106  loading: "Laadimine...",
2107  reload: "Laadi uuesti",
2108  verify: "Kinnita",
2109  verified: "Kinnitatud",
2110  verifying: "Kinnitamine...",
2111  waitAlert: "Kinnitamine... palun oota."
2112};
2113globalThis.altchaI18n.set("et", ol);
2114const ll = {
2115  ariaLinkLabel: "Bisitatu Altcha.org",
2116  enterCode: "Sartu kodea",
2117  enterCodeAria: "Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",
2118  error: "Egiaztatzeak huts egin du. Saiatu berriro geroago.",
2119  expired: "Egiaztatzea iraungi da. Saiatu berriro.",
2120  verificationRequired: "Egiaztatzea beharrezkoa da!",
2121  footer: '<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta',
2122  getAudioChallenge: "Jaso audio-erronka bat",
2123  label: "Ez naiz robot bat",
2124  loading: "Kargatzen...",
2125  reload: "Birkargatu",
2126  verify: "Egiaztatu",
2127  verified: "Egiaztatuta",
2128  verifying: "Egiaztatzen...",
2129  waitAlert: "Egiaztatzen... itxaron mesedez."
2130};
2131globalThis.altchaI18n.set("eu", ll);
2132const sl = {
2133  ariaLinkLabel: "بازدید از Altcha.org",
2134  enterCode: "کد را وارد کنید",
2135  enterCodeAria: "کدی که می‌شنوید را وارد کنید. برای پخش صدا Space را فشار دهید.",
2136  error: "احراز هویت ناموفق بود. بعداً دوباره تلاش کنید.",
2137  expired: "احراز هویت منقضی شد. دوباره تلاش کنید.",
2138  footer: 'محافظت شده توسط <a href="https://altcha.org/" target="_blank" aria-label="بازدید از Altcha.org">ALTCHA</a>',
2139  getAudioChallenge: "دریافت چالش صوتی",
2140  label: "من ربات نیستم",
2141  loading: "در حال بارگذاری...",
2142  reload: "بارگذاری مجدد",
2143  verify: "تایید",
2144  verificationRequired: "احراز هویت لازم است!",
2145  verified: "تایید شد",
2146  verifying: "در حال تایید...",
2147  waitAlert: "در حال تایید... لطفا منتظر بمانید."
2148};
2149globalThis.altchaI18n.set("fa", sl);
2150const cl = {
2151  ariaLinkLabel: "Besicht Altcha.org",
2152  enterCode: "Code aginn",
2153  enterCodeAria: "Gitt de Code an deen dir héiert. Dréckt op d'Weltraumtast fir Audio ofzespillen.",
2154  error: "Verifikatioun ass feelgeschloen. Probéiert méi spéit nach emol.",
2155  expired: "Verifikatioun ofgelaf. Probéiert nach emol.",
2156  footer: 'Geschützt vun <a href="https://altcha.org/" target="_blank" aria-label="Besicht Altcha.org">ALTCHA</a>',
2157  getAudioChallenge: "Kritt eng Audio-Herausfuerderung",
2158  label: "Ech sinn keen Robot",
2159  loading: "Lueden...",
2160  reload: "Nei lueden",
2161  verify: "Verifizéieren",
2162  verificationRequired: "Verifikatioun néideg!",
2163  verified: "Verifizéiert",
2164  verifying: "Verifizéieren...",
2165  waitAlert: "Verifizéieren... waart wgl."
2166};
2167globalThis.altchaI18n.set("lb", cl);
2168const ul = {
2169  ariaLinkLabel: "Vieraile sivulla Altcha.org",
2170  enterCode: "Syötä koodi",
2171  enterCodeAria: "Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",
2172  error: "Varmennus epäonnistui. Yritä myöhemmin uudelleen.",
2173  expired: "Varmennus vanhentui. Yritä uudelleen.",
2174  verificationRequired: "Vahvistus vaaditaan!",
2175  footer: 'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla',
2176  getAudioChallenge: "Hae äänitehtävä",
2177  label: "En ole robotti",
2178  loading: "Ladataan...",
2179  reload: "Lataa uudelleen",
2180  verify: "Vahvista",
2181  verified: "Vahvistettu",
2182  verifying: "Vahvistetaan...",
2183  waitAlert: "Vahvistetaan... odota hetki."
2184};
2185globalThis.altchaI18n.set("fi", ul);
2186const fl = {
2187  ariaLinkLabel: "Visitez Altcha.org",
2188  enterCode: "Entrez le code",
2189  enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",
2190  error: "Échec de la vérification. Réessayez plus tard.",
2191  expired: "La vérification a expiré. Réessayez.",
2192  verificationRequired: "Vérification requise !",
2193  footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
2194  getAudioChallenge: "Obtenir un défi audio",
2195  label: "Pas un robot",
2196  loading: "Chargement...",
2197  reload: "Recharger",
2198  verify: "Vérifier",
2199  verified: "Vérifié",
2200  verifying: "Vérification en cours...",
2201  waitAlert: "Vérification en cours... veuillez patienter."
2202};
2203globalThis.altchaI18n.set("fr-ca", fl);
2204const dl = {
2205  ariaLinkLabel: "Visitez Altcha.org",
2206  enterCode: "Entrez le code",
2207  enterCodeAria: "Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",
2208  error: "Échec de la vérification. Essayez à nouveau plus tard.",
2209  expired: "La vérification a expiré. Essayez à nouveau.",
2210  verificationRequired: "Vérification requise !",
2211  footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
2212  getAudioChallenge: "Obtenir un défi audio",
2213  label: "Pas un robot",
2214  loading: "Chargement...",
2215  reload: "Recharger",
2216  verify: "Vérifier",
2217  verified: "Vérifié",
2218  verifying: "Vérification en cours...",
2219  waitAlert: "Vérification en cours... veuillez patienter."
2220};
2221globalThis.altchaI18n.set("fr-fr", dl);
2222const hl = {
2223  ariaLinkLabel: "Tabhair cuairt ar Altcha.org",
2224  enterCode: "Iontráil cód",
2225  enterCodeAria: "Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",
2226  error: "Theip ar an bhfíorú. Bain triail eile as níos déanaí.",
2227  expired: "Tá an fíorú as feidhm. Bain triail eile as.",
2228  verificationRequired: "Fíorú riachtanach!",
2229  footer: 'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>',
2230  getAudioChallenge: "Faigh dúshlán fuaime",
2231  label: "Níl mé i mo róbat",
2232  loading: "Á luchtú...",
2233  reload: "Athluchtaigh",
2234  verify: "Fíoraigh",
2235  verified: "Fíoraithe",
2236  verifying: "Fíorú ar siúl...",
2237  waitAlert: "Fíorú ar siúl... fan go fóill."
2238};
2239globalThis.altchaI18n.set("ga", hl);
2240const gl = {
2241  ariaLinkLabel: "Posjetite Altcha.org",
2242  enterCode: "Unesite kod",
2243  enterCodeAria: "Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",
2244  error: "Provjera nije uspjela. Molimo pokušajte kasnije.",
2245  expired: "Provjera je istekla. Molimo pokušajte ponovo.",
2246  verificationRequired: "Potrebna je provjera!",
2247  footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
2248  getAudioChallenge: "Audio provjera",
2249  label: "Ja nisam robot",
2250  loading: "Učitavanje...",
2251  reload: "Ponovno učitaj",
2252  verify: "Provjeri",
2253  verified: "Provjereno",
2254  verifying: "Provjeravanje...",
2255  waitAlert: "Provjera je u tijeku... molimo pričekajte."
2256};
2257globalThis.altchaI18n.set("hr", gl);
2258const vl = {
2259  ariaLinkLabel: "Látogass el az Altcha.org oldalra",
2260  enterCode: "Írja be a kódot",
2261  enterCodeAria: "Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",
2262  error: "A hitelesítés nem sikerült. Próbáld meg később újra.",
2263  expired: "A hitelesítés lejárt. Próbáld újra.",
2264  verificationRequired: "Ellenőrzés szükséges!",
2265  footer: 'Védve a következő által: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>',
2266  getAudioChallenge: "Hangalapú kihívás kérése",
2267  label: "Nem vagyok robot",
2268  loading: "Betöltés...",
2269  reload: "Újratöltés",
2270  verify: "Ellenőrzés",
2271  verified: "Ellenőrizve",
2272  verifying: "Ellenőrzés folyamatban...",
2273  waitAlert: "Ellenőrzés folyamatban... kérlek várj."
2274};
2275globalThis.altchaI18n.set("hu", vl);
2276const bl = {
2277  ariaLinkLabel: "Heimsækja Altcha.org",
2278  enterCode: "Sláðu inn kóða",
2279  enterCodeAria: "Sláðu inn kóðann sem þú heyrir. Ýttu á Space til að spila hljóðið.",
2280  error: "Staðfesting mistókst. Reyndu aftur síðar.",
2281  expired: "Staðfesting er útrunnin. Reyndu aftur.",
2282  footer: 'Verndað af <a href="https://altcha.org/" target="_blank" aria-label="Heimsækja Altcha.org">ALTCHA</a>',
2283  getAudioChallenge: "Fá hljóðáskorun",
2284  label: "Ég er ekki robot",
2285  loading: "Hleður...",
2286  reload: "Hleð aftur",
2287  verify: "Staðfesta",
2288  verificationRequired: "Staðfesting er nauðsynleg!",
2289  verified: "Staðfest",
2290  verifying: "Að staðfesta...",
2291  waitAlert: "Að staðfesta... vinsamlegast bíða."
2292};
2293globalThis.altchaI18n.set("is", bl);
2294const pl = {
2295  ariaLinkLabel: "Visita Altcha.org",
2296  enterCode: "Inserisci il codice",
2297  enterCodeAria: "Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.",
2298  error: "Verifica fallita. Riprova più tardi.",
2299  expired: "Verifica scaduta. Riprova.",
2300  verificationRequired: "Verifica richiesta!",
2301  footer: 'Protetto da <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
2302  getAudioChallenge: "Ottieni una sfida audio",
2303  label: "Non sono un robot",
2304  loading: "Caricamento...",
2305  reload: "Ricarica",
2306  verify: "Verifica",
2307  verified: "Verificato",
2308  verifying: "Verifica in corso...",
2309  waitAlert: "Verifica in corso... attendere."
2310};
2311globalThis.altchaI18n.set("it", pl);
2312const ml = {
2313  ariaLinkLabel: "Apsilankykite Altcha.org",
2314  enterCode: "Įveskite kodą",
2315  enterCodeAria: "Įveskite girdimą kodą. Paspauskite tarpo klavišą, kad grotumėte garso įrašą.",
2316  error: "Patvirtinimas nepavyko. Bandykite vėliau.",
2317  expired: "Patvirtinimo laikas baigėsi. Bandykite dar kartą.",
2318  verificationRequired: "Reikalingas patvirtinimas!",
2319  footer: 'Apsaugota <a href="https://altcha.org/" target="_blank" aria-label="Apsilankykite Altcha.org">ALTCHA</a>',
2320  getAudioChallenge: "Gauti garso užduotį",
2321  label: "AÅ¡ nesu robotas",
2322  loading: "Įkeliama...",
2323  reload: "Įkelti iš naujo",
2324  verify: "Patvirtinti",
2325  verified: "Patvirtinta",
2326  verifying: "Tikrinama...",
2327  waitAlert: "Tikrinama... prašome palaukti."
2328};
2329globalThis.altchaI18n.set("lt", ml);
2330const yl = {
2331  ariaLinkLabel: "Apmeklējiet Altcha.org",
2332  enterCode: "Ievadiet kodu",
2333  enterCodeAria: "Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiņu, lai atskaņotu audio.",
2334  error: "Verifikācija neizdevās. Mēģiniet vēlāk vēlreiz.",
2335  expired: "Verifikācijas laiks ir beidzies. Mēģiniet vēlreiz.",
2336  verificationRequired: "Nepieciešama verifikācija!",
2337  footer: 'Aizsargāts ar <a href="https://altcha.org/" target="_blank" aria-label="Apmeklējiet Altcha.org">ALTCHA</a>',
2338  getAudioChallenge: "Saņemt audio izaicinājumu",
2339  label: "Es neesmu robots",
2340  loading: "Notiek ielāde...",
2341  reload: "Pārlādēt",
2342  verify: "Verificēt",
2343  verified: "Verificēts",
2344  verifying: "Notiek verifikācija...",
2345  waitAlert: "Notiek verifikācija... lūdzu, uzgaidiet."
2346};
2347globalThis.altchaI18n.set("lv", yl);
2348const Al = {
2349  ariaLinkLabel: "Żur Altcha.org",
2350  enterCode: "Idħol il-kodiċi",
2351  enterCodeAria: "Idħol il-kodiċi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.",
2352  error: "Il-verifika falliet. Erġa’ pprova aktar tard.",
2353  expired: "Il-verifika skadiet. Erġa’ pprova.",
2354  verificationRequired: "Verifika meħtieġa!",
2355  footer: 'Protett minn <a href="https://altcha.org/" target="_blank" aria-label="Żur Altcha.org">ALTCHA</a>',
2356  getAudioChallenge: "Ikseb sfida bl-awdjo",
2357  label: "M’inix robot",
2358  loading: "Qed jitgħabba...",
2359  reload: "Ittella’ mill-ġdid",
2360  verify: "Ivverifika",
2361  verified: "Ivverifikat",
2362  verifying: "Verifika għaddejja...",
2363  waitAlert: "Verifika għaddejja... stenna ftit."
2364};
2365globalThis.altchaI18n.set("mt", Al);
2366const Ni = {
2367  ariaLinkLabel: "Besøk Altcha.org",
2368  enterCode: "Skriv inn kode",
2369  enterCodeAria: "Skriv inn koden du hører. Trykk på Space for å spille av lyden.",
2370  error: "Verifisering mislyktes. Prøv igjen senere.",
2371  expired: "Verifiseringen utløp. Prøv igjen.",
2372  footer: 'Beskyttet av <a href="https://altcha.org/" target="_blank" aria-label="Besøk Altcha.org">ALTCHA</a>',
2373  getAudioChallenge: "FÃ¥ en lydutfordring",
2374  label: "Jeg er ikke en robot",
2375  loading: "Laster...",
2376  reload: "Last på nytt",
2377  verify: "Verifiser",
2378  verificationRequired: "Verifisering kreves!",
2379  verified: "Verifisert",
2380  verifying: "Verifiserer...",
2381  waitAlert: "Verifiserer... vennligst vent."
2382};
2383globalThis.altchaI18n.set("nb", Ni);
2384globalThis.altchaI18n.set("no", Ni);
2385const kl = {
2386  ariaLinkLabel: "Bezoek Altcha.org",
2387  enterCode: "Voer code in",
2388  enterCodeAria: "Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.",
2389  error: "Verificatie mislukt. Probeer het later opnieuw.",
2390  expired: "Verificatie verlopen. Probeer het opnieuw.",
2391  verificationRequired: "Verificatie vereist!",
2392  footer: 'Beschermd door <a href="https://altcha.org/" target="_blank" aria-label="Bezoek Altcha.org">ALTCHA</a>',
2393  getAudioChallenge: "Audio-uitdaging ontvangen",
2394  label: "Ik ben geen robot",
2395  loading: "Laden...",
2396  reload: "Herladen",
2397  verify: "Verifiëren",
2398  verified: "Geverifieerd",
2399  verifying: "Bezig met verifiëren...",
2400  waitAlert: "Bezig met verifiëren... even geduld a.u.b."
2401};
2402globalThis.altchaI18n.set("nl", kl);
2403const _l = {
2404  ariaLinkLabel: "Odwiedź Altcha.org",
2405  enterCode: "Wprowadź kod",
2406  enterCodeAria: "Wpisz kod, który słyszysz. Naciśnij Spację, aby odtworzyć dźwięk.",
2407  error: "Weryfikacja nie powiodła się. Spróbuj ponownie później.",
2408  expired: "Weryfikacja wygasła. Spróbuj ponownie.",
2409  verificationRequired: "Wymagana weryfikacja!",
2410  footer: 'Chronione przez <a href="https://altcha.org/" target="_blank" aria-label="Odwiedź Altcha.org">ALTCHA</a>',
2411  getAudioChallenge: "Pobierz zadanie dźwiękowe",
2412  label: "Nie jestem robotem",
2413  loading: "Ładowanie...",
2414  reload: "Odśwież",
2415  verify: "Zweryfikuj",
2416  verified: "Zweryfikowano",
2417  verifying: "Weryfikacja...",
2418  waitAlert: "Trwa weryfikacja... proszę czekać."
2419};
2420globalThis.altchaI18n.set("pl", _l);
2421const wl = {
2422  ariaLinkLabel: "Visitar Altcha.org",
2423  enterCode: "Introduza o código",
2424  enterCodeAria: "Introduza o código que ouve. Prima Espaço para reproduzir o áudio.",
2425  error: "A verificação falhou. Por favor, tente novamente mais tarde.",
2426  expired: "Verificação expirada. Por favor, tente novamente.",
2427  verificationRequired: "Verificação necessária!",
2428  footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
2429  getAudioChallenge: "Obter desafio de áudio",
2430  label: "Não sou um robô",
2431  loading: "A carregar...",
2432  reload: "Recarregar",
2433  verify: "Verificar",
2434  verified: "Verificado",
2435  verifying: "A verificar...",
2436  waitAlert: "A verificar... por favor aguarde."
2437};
2438globalThis.altchaI18n.set("pt-pt", wl);
2439const Cl = {
2440  ariaLinkLabel: "Visitar Altcha.org",
2441  enterCode: "Digite o código",
2442  enterCodeAria: "Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",
2443  error: "Falha na verificação. Por favor, tente novamente mais tarde.",
2444  expired: "Verificação expirada. Por favor, tente novamente.",
2445  verificationRequired: "Verificação necessária!",
2446  footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
2447  getAudioChallenge: "Obter desafio de áudio",
2448  label: "Eu não sou um robô",
2449  loading: "Carregando...",
2450  reload: "Recarregar",
2451  verify: "Verificar",
2452  verified: "Verificado",
2453  verifying: "Verificando...",
2454  waitAlert: "Verificando... por favor aguarde."
2455};
2456globalThis.altchaI18n.set("pt-br", Cl);
2457const Ll = {
2458  ariaLinkLabel: "Vizitează Altcha.org",
2459  enterCode: "Introduceți codul",
2460  enterCodeAria: "Introduceți codul pe care îl auziți. Apăsați Spațiu pentru a reda audio.",
2461  error: "Verificarea a eșuat. Încearcă din nou mai târziu.",
2462  expired: "Verificarea a expirat. Încearcă din nou.",
2463  verificationRequired: "Verificare necesară!",
2464  footer: 'Protejat de <a href="https://altcha.org/" target="_blank" aria-label="Vizitează Altcha.org">ALTCHA</a>',
2465  getAudioChallenge: "Obține o provocare audio",
2466  label: "Nu sunt un robot",
2467  loading: "Se încarcă...",
2468  reload: "Reîncarcă",
2469  verify: "Verifică",
2470  verified: "Verificat",
2471  verifying: "Se verifică...",
2472  waitAlert: "Se verifică... te rugăm să aștepți."
2473};
2474globalThis.altchaI18n.set("ro", Ll);
2475const xl = {
2476  ariaLinkLabel: "Перейти на Altcha.org",
2477  enterCode: "Введите код",
2478  enterCodeAria: "Введите код, который слышите. Нажмите пробел для воспроизведения аудио.",
2479  error: "Ошибка верификации. Попробуйте позже.",
2480  expired: "Срок действия верификации истек. Попробуйте снова.",
2481  verificationRequired: "Требуется проверка!",
2482  footer: 'Защищено <a href="https://altcha.org/" target="_blank" aria-label="Перейти на Altcha.org">ALTCHA</a>',
2483  getAudioChallenge: "Получить аудио задачу",
2484  label: "Я не робот",
2485  loading: "Загрузка...",
2486  reload: "Перезагрузить",
2487  verify: "Проверить",
2488  verified: "Проверено",
2489  verifying: "Идет проверка...",
2490  waitAlert: "Идет проверка... Пожалуйста, подождите."
2491};
2492globalThis.altchaI18n.set("ru", xl);
2493const El = {
2494  ariaLinkLabel: "Navštívte Altcha.org",
2495  enterCode: "Zadajte kód",
2496  enterCodeAria: "Zadajte kód, ktorý počujete. Stlačením medzerníka prehráte zvuk.",
2497  error: "Verifikácia zlyhala. Skúste to znova neskôr.",
2498  expired: "Verifikácia vypršala. Skúste to znova.",
2499  verificationRequired: "Vyžaduje sa overenie!",
2500  footer: 'Chránené <a href="https://altcha.org/" target="_blank" aria-label="Navštívte Altcha.org">ALTCHA</a>',
2501  getAudioChallenge: "Získať audio výzvu",
2502  label: "Nie som robot",
2503  loading: "Načítava sa...",
2504  reload: "Obnoviť",
2505  verify: "Verifikovať",
2506  verified: "Verifikované",
2507  verifying: "Prebieha verifikácia...",
2508  waitAlert: "Prebieha verifikácia... prosím čakajte."
2509};
2510globalThis.altchaI18n.set("sk", El);
2511const Tl = {
2512  ariaLinkLabel: "Obiščite Altcha.org",
2513  enterCode: "Vnesite kodo",
2514  enterCodeAria: "Vnesite kodo, ki jo slišite. Pritisnite preslednico za predvajanje zvoka.",
2515  error: "Preverjanje ni uspelo. Poskusite znova kasneje.",
2516  expired: "Preverjanje je poteklo. Poskusite znova.",
2517  verificationRequired: "Potrebna je preveritev!",
2518  footer: 'Zaščiteno z <a href="https://altcha.org/" target="_blank" aria-label="Obiščite Altcha.org">ALTCHA</a>',
2519  getAudioChallenge: "Pridobite zvočni izziv",
2520  label: "Nisem robot",
2521  loading: "Nalagam...",
2522  reload: "Ponovno naloži",
2523  verify: "Preveri",
2524  verified: "Preverjeno",
2525  verifying: "Preverjanje...",
2526  waitAlert: "Preverjanje... prosim počakajte."
2527};
2528globalThis.altchaI18n.set("sl", Tl);
2529const Il = {
2530  ariaLinkLabel: "Vizitoni Altcha.org",
2531  enterCode: "Fut kodin",
2532  enterCodeAria: "Fut kodin që dëgjon. Shtypni Hapësirë për të luajtur audio.",
2533  error: "Verifikimi dështoi. Provoni përsëri më vonë.",
2534  expired: "Verifikimi ka skaduar. Provoni përsëri.",
2535  footer: 'I mbrojtur nga <a href="https://altcha.org/" target="_blank" aria-label="Vizitoni Altcha.org">ALTCHA</a>',
2536  getAudioChallenge: "Merr një sfidë audio",
2537  label: "Unë nuk jam një robot",
2538  loading: "Duke u ngarkuar...",
2539  reload: "Ringarko",
2540  verify: "Verifiko",
2541  verificationRequired: "Kërkohet verifikimi!",
2542  verified: "I verifikuar",
2543  verifying: "Duke verifikuar...",
2544  waitAlert: "Duke verifikuar... ju lutem prisni."
2545};
2546globalThis.altchaI18n.set("sq", Il);
2547const Vl = {
2548  ariaLinkLabel: "Posetite Altcha.org",
2549  enterCode: "Unesite kod",
2550  enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
2551  error: "Verifikacija nije uspela. Pokušajte ponovo kasnije.",
2552  expired: "Verifikacija je istekla. Pokušajte ponovo.",
2553  footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posetite Altcha.org">ALTCHA</a>',
2554  getAudioChallenge: "Dohvatite audio izazov",
2555  label: "Nisam robot",
2556  loading: "Učitavanje...",
2557  reload: "Ponovo učitaj",
2558  verify: "Verifikuj",
2559  verificationRequired: "Verifikacija je obavezna!",
2560  verified: "Verifikovano",
2561  verifying: "Verifikacija u toku...",
2562  waitAlert: "Verifikacija u toku... molimo vas da sačekate."
2563};
2564globalThis.altchaI18n.set("sr", Vl);
2565const jl = {
2566  ariaLinkLabel: "Besök Altcha.org",
2567  enterCode: "Ange kod",
2568  enterCodeAria: "Ange koden du hör. Tryck på mellanslag för att spela upp ljudet.",
2569  error: "Verifiering misslyckades. Försök igen senare.",
2570  expired: "Verifieringen har gått ut. Försök igen.",
2571  verificationRequired: "Verifiering krävs!",
2572  footer: 'Skyddad av <a href="https://altcha.org/" target="_blank" aria-label="Besök Altcha.org">ALTCHA</a>',
2573  getAudioChallenge: "FÃ¥ ljudutmaning",
2574  label: "Jag är inte en robot",
2575  loading: "Laddar...",
2576  reload: "Ladda om",
2577  verify: "Verifiera",
2578  verified: "Verifierad",
2579  verifying: "Verifierar...",
2580  waitAlert: "Verifierar... vänligen vänta."
2581};
2582globalThis.altchaI18n.set("sv", jl);
2583const Rl = {
2584  ariaLinkLabel: "Altcha.org'yu ziyaret edin",
2585  enterCode: "Kodu girin",
2586  enterCodeAria: "Duyduğunuz kodu girin. Ses dosyasını oynatmak için Boşluk tuşuna basın.",
2587  error: "Doğrulama başarısız oldu. Lütfen daha sonra tekrar deneyin.",
2588  expired: "Doğrulama süresi doldu. Lütfen tekrar deneyin.",
2589  verificationRequired: "Doğrulama gerekli!",
2590  footer: `ALTCHA tarafından korunuyor <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org'yu ziyaret edin">ALTCHA</a>`,
2591  getAudioChallenge: "Sesli doğrulama al",
2592  label: "Ben robot değilim",
2593  loading: "Yükleniyor...",
2594  reload: "Yeniden yükle",
2595  verify: "Doğrula",
2596  verified: "Doğrulandı",
2597  verifying: "Doğrulama yapılıyor...",
2598  waitAlert: "Doğrulama yapılıyor... lütfen bekleyin."
2599};
2600globalThis.altchaI18n.set("tr", Rl);
2601const $l = {
2602  ariaLinkLabel: "Відвідати Altcha.org",
2603  enterCode: "Введіть код",
2604  enterCodeAria: "Введіть код, який ви чуєте. Натисніть пробіл, щоб відтворити аудіо.",
2605  error: "Перевірка не вдалася. Спробуйте пізніше.",
2606  expired: "Перевірка прострочена. Спробуйте знову.",
2607  verificationRequired: "Потрібна перевірка!",
2608  footer: 'Захищено <a href="https://altcha.org/" target="_blank" aria-label="Відвідати Altcha.org">ALTCHA</a>',
2609  getAudioChallenge: "Отримати аудіо-челлендж",
2610  label: "Я не робот",
2611  loading: "Завантаження...",
2612  reload: "Перезавантажити",
2613  verify: "Перевірити",
2614  verified: "Перевірено",
2615  verifying: "Перевіряється...",
2616  waitAlert: "Перевірка... будь ласка, зачекайте."
2617};
2618globalThis.altchaI18n.set("uk", $l);
2619const Sl = {
2620  ariaLinkLabel: "Besoek Altcha.org",
2621  enterCode: "Voer kode in",
2622  enterCodeAria: "Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",
2623  error: "Verifikasie het misluk. Probeer later weer.",
2624  expired: "Verifikasie het verval. Probeer weer.",
2625  footer: 'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>',
2626  getAudioChallenge: "Kry 'n klankuitdaging",
2627  label: "Ek is nie 'n robot nie",
2628  loading: "Laai...",
2629  reload: "Laai weer",
2630  verify: "Verifieer",
2631  verificationRequired: "Verifikasie is vereis!",
2632  verified: "Geverifieer",
2633  verifying: "Verifieer...",
2634  waitAlert: "Verifieer... wag asseblief."
2635};
2636globalThis.altchaI18n.set("af", Sl);
2637const Pl = {
2638  ariaLinkLabel: "Altcha.org ይጎብኙ",
2639  enterCode: "ኮድ አስገባ",
2640  enterCodeAria: "የሚሰማዎትን ኮድ ያስገቡ። ድምጽ ለመጫወት Space ን ይጫኑ።",
2641  error: "ማረጋገጫ አልተሳካም። በኋላ ላይ እንደገና ይሞክሩ።",
2642  expired: "ማረጋገጫው ጊዜው አልፏል። እንደገና ይሞክሩ።",
2643  footer: 'በ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ይጎብኙ">ALTCHA</a> የተጠበቀ',
2644  getAudioChallenge: "የድምጽ ፈተና ያግኙ",
2645  label: "እኔ ሮቦት አይደለሁም",
2646  loading: "በመጫን ላይ...",
2647  reload: "እንደገና ጫን",
2648  verify: "አረጋግጥ",
2649  verificationRequired: "ማረጋገጫ ያስፈልጋል!",
2650  verified: "ተረጋግጧል",
2651  verifying: "በማረጋገጥ ላይ...",
2652  waitAlert: "በማረጋገጥ ላይ... እባክዎ ይጠብቁ።"
2653};
2654globalThis.altchaI18n.set("am", Pl);
2655const zl = {
2656  ariaLinkLabel: "Tembelea Altcha.org",
2657  enterCode: "Weka nambari",
2658  enterCodeAria: "Weka nambari unayosikia. Bonyeza Space kucheza sauti.",
2659  error: "Uthibitishaji umeshindwa. Jaribu tena baadaye.",
2660  expired: "Uthibitishaji umeisha. Jaribu tena.",
2661  footer: 'Imealindwa na <a href="https://altcha.org/" target="_blank" aria-label="Tembelea Altcha.org">ALTCHA</a>',
2662  getAudioChallenge: "Pata changamoto ya sauti",
2663  label: "Mimi sio roboti",
2664  loading: "Inapakia...",
2665  reload: "Pakia tena",
2666  verify: "Thibitisha",
2667  verificationRequired: "Uthibitishaji unahitajika!",
2668  verified: "Imethibitishwa",
2669  verifying: "Inathibitisha...",
2670  waitAlert: "Inathibitisha... tafadhali subiri."
2671};
2672globalThis.altchaI18n.set("sw", zl);
2673const Nl = {
2674  ariaLinkLabel: "Ṣe abẹwo si Altcha.org",
2675  enterCode: "Tẹ koodu sii",
2676  enterCodeAria: "Tẹ koodu ti o ngbọ sii. Tẹ Space lati ṣe ohun orin.",
2677  error: "Ìdájọ́kòwò kò ṣẹ́ṣe. Gbiyanju lẹẹkansi ni ọjọ́ iwájú.",
2678  expired: "Ìdájọ́kòwò ti pari. Gbiyanju lẹẹkansi.",
2679  footer: 'Ti wa ni ààbò nipasẹ <a href="https://altcha.org/" target="_blank" aria-label="Ṣe abẹwo si Altcha.org">ALTCHA</a>',
2680  getAudioChallenge: "Gba ìjàdú ohùn",
2681  label: "Emi kii ṣe ẹrọ",
2682  loading: "Ó ń gbé sílẹ̀...",
2683  reload: "Tún gbé wọlé",
2684  verify: "Ṣàdájọ́",
2685  verificationRequired: "Ìdájọ́kòwò ni a nílò!",
2686  verified: "A ti dájọ́",
2687  verifying: "Ó ń ṣàdájọ́...",
2688  waitAlert: "Ó ń ṣàdájọ́... ẹ jọ̀ọ́ ẹ duro."
2689};
2690globalThis.altchaI18n.set("yo", Nl);
2691const Dl = {
2692  ariaLinkLabel: "Altcha.org পরিদর্শন করুন",
2693  enterCode: "কোড লিখুন",
2694  enterCodeAria: "আপনি যে কোড শুনতে পান তা লিখুন। অডিও প্লে করতে স্পেস বাটন টিপুন।",
2695  error: "যাচাইকরণ ব্যর্থ হয়েছে। পরে আবার চেষ্টা করুন।",
2696  expired: "যাচাইকরণ সময়সীমা শেষ হয়েছে। আবার চেষ্টা করুন।",
2697  verificationRequired: "যাচাই প্রয়োজন!",
2698  footer: 'দ্বারা সুরক্ষিত <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org পরিদর্শন করুন">ALTCHA</a>',
2699  getAudioChallenge: "অডিও চ্যালেঞ্জ নিন",
2700  label: "আমি রোবট নই",
2701  loading: "লোড হচ্ছে...",
2702  reload: "পুনরায় লোড করুন",
2703  verify: "যাচাই করুন",
2704  verified: "যাচাই করা হয়েছে",
2705  verifying: "যাচাই করা হচ্ছে...",
2706  waitAlert: "যাচাই করা হচ্ছে... দয়া করে অপেক্ষা করুন।"
2707};
2708globalThis.altchaI18n.set("bn", Dl);
2709const ql = {
2710  ariaLinkLabel: "בקר באתר Altcha.org",
2711  enterCode: "הזן קוד",
2712  enterCodeAria: "הזן את הקוד שאתה שומע. לחץ על רווח להפעלת השמע.",
2713  error: "האימות נכשל. נסה שוב מאוחר יותר.",
2714  expired: "תוקף האימות פג. נסה שוב.",
2715  verificationRequired: "נדרש אימות!",
2716  footer: 'מוגן על ידי <a href="https://altcha.org/" target="_blank" aria-label="בקר באתר Altcha.org">ALTCHA</a>',
2717  getAudioChallenge: "קבל אתגר שמע",
2718  label: "אני לא רובוט",
2719  loading: "טוען...",
2720  reload: "טען מחדש",
2721  verify: "אמת",
2722  verified: "אומת",
2723  verifying: "מאמת...",
2724  waitAlert: "מבצע אימות... אנא המתן."
2725};
2726globalThis.altchaI18n.set("he", ql);
2727const Hl = {
2728  ariaLinkLabel: "Altcha.org पर जाएं",
2729  enterCode: "कोड दर्ज करेंं",
2730  enterCodeAria: "आप जो कोड सुनते हैं उसे दर्ज करें। ऑडियो चलाने के लिए स्पेस दबाएं।",
2731  error: "सत्यापन विफल। कृपया बाद में फिर से प्रयास करें।",
2732  expired: "सत्यापन समाप्त हो गया है। कृपया पु
2732नः प्रयास करें।",
2733  verificationRequired: "सत्यापन आवश्यक है!",
2734  footer: 'द्वारा संरक्षित <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org पर जाएं">ALTCHA</a>',
2735  getAudioChallenge: "ऑडियो चुनौती प्राप्त करें",
2736  label: "मैं रोबोट नहीं हूँ",
2737  loading: "लोड हो रहा है...",
2738  reload: "पुनः लोड करें",
2739  verify: "सत्यापित करें",
2740  verified: "सत्यापित",
2741  verifying: "सत्यापित कर रहे हैं...",
2742  waitAlert: "सत्यापित किया जा रहा है... कृपया प्रतीक्षा करें।"
2743};
2744globalThis.altchaI18n.set("hi", Hl);
2745const Ol = {
2746  ariaLinkLabel: "Kunjungi Altcha.org",
2747  enterCode: "Masukkan kode",
2748  enterCodeAria: "Masukkan kode yang Anda dengar. Tekan Spasi untuk memutar audio.",
2749  error: "Verifikasi gagal. Coba lagi nanti.",
2750  expired: "Verifikasi telah kedaluwarsa. Coba lagi.",
2751  verificationRequired: "Verifikasi diperlukan!",
2752  footer: 'Dilindungi oleh <a href="https://altcha.org/" target="_blank" aria-label="Kunjungi Altcha.org">ALTCHA</a>',
2753  getAudioChallenge: "Dapatkan tantangan audio",
2754  label: "Saya bukan robot",
2755  loading: "Memuat...",
2756  reload: "Muat ulang",
2757  verify: "Verifikasi",
2758  verified: "Terverifikasi",
2759  verifying: "Memverifikasi...",
2760  waitAlert: "Memverifikasi... harap tunggu."
2761};
2762globalThis.altchaI18n.set("id", Ol);
2763const Fl = {
2764  ariaLinkLabel: "Altcha.orgを訪問",
2765  enterCode: "コードを入力",
2766  enterCodeAria: "聞こえるコードを入力してください。スペースキーを押して音声を再生します。",
2767  error: "認証に失敗しました。後でもう一度試してください。",
2768  expired: "認証が期限切れです。再試行してください。",
2769  verificationRequired: "認証が必要です!",
2770  footer: '保護されています <a href="https://altcha.org/" target="_blank" aria-label="Altcha.orgを訪問">ALTCHA</a>',
2771  getAudioChallenge: "音声チャレンジを取得",
2772  label: "私はロボットではありません",
2773  loading: "読み込み中...",
2774  reload: "再読み込み",
2775  verify: "確認",
2776  verified: "確認済み",
2777  verifying: "確認中...",
2778  waitAlert: "確認中...少々お待ちください。"
2779};
2780globalThis.altchaI18n.set("ja", Fl);
2781const Ml = {
2782  ariaLinkLabel: "Altcha.org 방문하기",
2783  enterCode: "코드 입력",
2784  enterCodeAria: "들리는 코드를 입력하세요. 스페이스 바를 눌러 오디오를 재생합니다.",
2785  error: "인증 실패. 나중에 다시 시도해주세요.",
2786  expired: "인증이 만료되었습니다. 다시 시도해주세요.",
2787  verificationRequired: "인증이 필요합니다!",
2788  footer: 'ALTCHA에서 보호됨 <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org 방문하기">ALTCHA</a>',
2789  getAudioChallenge: "오디오 챌린지 받기",
2790  label: "저는 로봇이 아닙니다",
2791  loading: "로딩 중...",
2792  reload: "새로 고침",
2793  verify: "확인",
2794  verified: "확인됨",
2795  verifying: "확인 중...",
2796  waitAlert: "확인 중... 잠시만 기다려주세요."
2797};
2798globalThis.altchaI18n.set("ko", Ml);
2799const Bl = {
2800  ariaLinkLabel: "Altcha.org сайтына кіру",
2801  enterCode: "Кодты енгізіңіз",
2802  enterCodeAria: "Естіген кодыңызды енгізіңіз. Аудионы ойнату үшін Бос орынды басыңыз.",
2803  error: "Тексеру сәтсіз аяқталды. Кейінірек қайталаңыз.",
2804  expired: "Тексеру мерзімі аяқталды. Қайталаңыз.",
2805  footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org сайтына кіру">ALTCHA</a> қорғайды',
2806  getAudioChallenge: "Аудио сынақ алу",
2807  label: "Мен робот емеспін",
2808  loading: "Жүктелуде...",
2809  reload: "Қайта жүктеу",
2810  verify: "Тексеру",
2811  verificationRequired: "Тексеру талап етіледі!",
2812  verified: "Тексерілді",
2813  verifying: "Тексеруде...",
2814  waitAlert: "Тексерілуде... күте тұрыңыз."
2815};
2816globalThis.altchaI18n.set("kk", Bl);
2817const Ul = {
2818  ariaLinkLabel: "Altcha.org भेट द्या",
2819  enterCode: "कोड टाकाा",
2820  enterCodeAria: "तुम्ही ऐकत असलेला कोड टाका. ऑडिओ प्ले करण्यासाठी स्पेस दाबा.",
2821  error: "पुष्टीकरण अयशस्वी झाले. कृपया नंतर पुन्हा प्रयत्न करा.",
2822  expired: "पुष्टीकरण कालबाह्य झाले आहे. कृपया पु
2822न्हा प्रयत्न करा.",
2823  verificationRequired: "पडताळणी आवश्यक आहे!",
2824  footer: 'द्वारे संरक्षित <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org भेट द्या">ALTCHA</a>',
2825  getAudioChallenge: "ऑडिओ चॅलेंज मिळवा",
2826  label: "मी रोबोट नाही",
2827  loading: "लोड होत आहे...",
2828  reload: "पुन्हा लोड करा",
2829  verify: "पुष्टीकरण करा",
2830  verified: "पुष्टीकरण झाले",
2831  verifying: "पुष्टीकरण करत आहे...",
2832  waitAlert: "पुष्टीकरण करत आहे... कृपया थोडा वेळ थांबा."
2833};
2834globalThis.altchaI18n.set("mr", Ul);
2835const Gl = {
2836  ariaLinkLabel: "Altcha.org ஐ பார்வையிடவும்",
2837  enterCode: "குறியீட்டை உள்ளிடவும்",
2838  enterCodeAria: "நீங்கள் கேட்கும் கà¯
2838à®±à®¿à®¯à¯€à®Ÿà¯à®Ÿà¯ˆ உள்ளிடவும். ஆடியோவை இயக்க Space ஐ அழுத்தவும்.",
2839  error: "சரிபார்ப்பு தோல்வி. பிறகு மீண்டும் முயற்சிக்கவும்.",
2840  expired: "சரிபார்ப்பு காலாவதியானது. மீண்டும் முயற்சிக்கவும்.",
2841  verificationRequired: "சரிபார்ப்பு தேவை!",
2842  footer: 'மூலமாக பாதுகாக்கப்பட்டவை <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ஐ பார்வையிடவும்">ALTCHA</a>',
2843  getAudioChallenge: "ஒலி சவாலை பெறவும்",
2844  label: "நான் ரோபோடான அல்ல",
2845  loading: "செயலாக்கம்...",
2846  reload: "மீண்டும் புதுப்பிக்கவும்",
2847  verify: "சரிபார்க்கவும்",
2848  verified: "சரிபார்க்கப்பட்டது",
2849  verifying: "சரிபார்க்கப்படுகிறது...",
2850  waitAlert: "சரிபார்க்கப்படுகிறது... தயவுசெய்து காத்திருக்கவும்."
2851};
2852globalThis.altchaI18n.set("ta", Gl);
2853const Wl = {
2854  ariaLinkLabel: "Altcha.org సందర్శించండి",
2855  enterCode: "కోడ్‌ని నమోదు చేయండి",
2856  enterCodeAria: "మీరు విన్న కోడ్‌ని నమోదు చేయండి. ఆడియో ప్లే చేయడానికి స్పేస్‌ను నొక్కండి.",
2857  error: "చెకింగ్ విఫలమైంది. దయచేసి మరల ప్రయత్నించండి.",
2858  expired: "చెకింగ్ కాలం ముగిసింది. దయచేసి మరల ప్రయత్నించండి.",
2859  verificationRequired: "ధృవీకరణ అవసరం!",
2860  footer: 'ఈ సైట్ రక్షించబడింది <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org సందర్శించండి">ALTCHA</a>',
2861  getAudioChallenge: "ఆడియో ఛాలెంజ్ పొందండి",
2862  label: "నేను రోబోట్ కాదు",
2863  loading: "లోడ్ అవుతోంది...",
2864  reload: "మళ్ళీ లోడ్ చేయండి",
2865  verify: "ధ్రువీకరించు",
2866  verified: "ధ్రువీకరించబడింది",
2867  verifying: "ధ్రువీకరణ జరుగుతుంది...",
2868  waitAlert: "ధ్రువీకరణ జరుగుతుంది... దయచేసి వేచి ఉండండి."
2869};
2870globalThis.altchaI18n.set("te", Wl);
2871const Zl = {
2872  ariaLinkLabel: "เยี่ยมชม Altcha.org",
2873  enterCode: "ป้อนรหัส",
2874  enterCodeAria: "ป้อนรหัสที่คุณได้ยิน กด Space เพื่อเล่นเสียง",
2875  error: "การตรวจสอบล้มเหลว กรุณาลองอีกครั้งภายหลัง",
2876  expired: "การตรวจสอบหมดอายุ กรุณาลองใหม่",
2877  verificationRequired: "จำเป็นต้องตรวจสอบ!",
2878  footer: 'ป้องกันโดย <a href="https://altcha.org/" target="_blank" aria-label="เยี่ยมชม Altcha.org">ALTCHA</a>',
2879  getAudioChallenge: "รับการท้าทายเสียง",
2880  label: "ฉันไม่ใช่บอท",
2881  loading: "กำลังโหลด...",
2882  reload: "โหลดใหม่",
2883  verify: "ตรวจสอบ",
2884  verified: "ตรวจสอบแล้ว",
2885  verifying: "กำลังตรวจสอบ...",
2886  waitAlert: "กำลังตรวจสอบ... กรุณารอ"
2887};
2888globalThis.altchaI18n.set("th", Zl);
2889const Yl = {
2890  ariaLinkLabel: "Altcha.org پر جائیں",
2891  enterCode: "کوڈ درج کریں",
2892  enterCodeAria: "جو کوڈ آپ سنتے ہیں وہ درج کریں۔ آڈیو چلانے کے لیے اسپیس دبائی
2892ں۔",
2893  error: "توثیق ناکام ہو گئی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔",
2894  expired: "توثیق کی مدت ختم ہو گئی ہے۔ براہ کرم دوبارہ کوشش کریں۔",
2895  verificationRequired: "تصدیق ضروری ہے!",
2896  footer: 'کے ذریعے محفوظ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org پر جائیں">ALTCHA</a>',
2897  getAudioChallenge: "آڈیو چیلنج حاصل کریں",
2898  label: "میں روبوٹ نہیں ہوں",
2899  loading: "لوڈ ہو رہا ہے...",
2900  reload: "دوبارہ لوڈ کریں",
2901  verify: "توثیق کریں",
2902  verified: "توثیق شدہ",
2903  verifying: "توثیق ہو رہی ہے...",
2904  waitAlert: "توثیق ہو رہی ہے... براہ کرم انتظار کریں۔"
2905};
2906globalThis.altchaI18n.set("ur", Yl);
2907const Kl = {
2908  ariaLinkLabel: "Altcha.org saytiga tashrif buyuring",
2909  enterCode: "Kodni kiriting",
2910  enterCodeAria: "Eshitgan kodingizni kiriting. Audioni ijro etish uchun Bo'sh joy tugmasini bosing.",
2911  error: "Tekshiruv muvaffaqiyatsiz tugadi. Keyinroq qayta urinib ko'ring.",
2912  expired: "Tekshiruv muddati tugadi. Qayta urinib ko'ring.",
2913  footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org saytiga tashrif buyuring">ALTCHA</a> tomonidan himoyalangan',
2914  getAudioChallenge: "Audio sinovni olish",
2915  label: "Men robot emasman",
2916  loading: "Yuklanmoqda...",
2917  reload: "Qayta yuklash",
2918  verify: "Tekshirish",
2919  verificationRequired: "Tekshiruv talab qilinadi!",
2920  verified: "Tekshirildi",
2921  verifying: "Tekshirilmoqda...",
2922  waitAlert: "Tekshirilmoqda... iltimos kuting."
2923};
2924globalThis.altchaI18n.set("uz", Kl);
2925const Jl = {
2926  ariaLinkLabel: "Truy cập Altcha.org",
2927  enterCode: "Nhập mã",
2928  enterCodeAria: "Nhập mã bạn nghe được. Nhấn Phím cách để phát âm thanh.",
2929  error: "Xác minh thất bại. Vui lòng thử lại sau.",
2930  expired: "Xác minh đã hết hạn. Vui lòng thử lại.",
2931  verificationRequired: "Yêu cầu xác minh!",
2932  footer: 'Được bảo vệ bởi <a href="https://altcha.org/" target="_blank" aria-label="Truy cập Altcha.org">ALTCHA</a>',
2933  getAudioChallenge: "Nhận thử thách âm thanh",
2934  label: "Tôi không phải là robot",
2935  loading: "Đang tải...",
2936  reload: "Tải lại",
2937  verify: "Xác minh",
2938  verified: "Đã xác minh",
2939  verifying: "Đang xác minh...",
2940  waitAlert: "Đang xác minh... vui lòng chờ."
2941};
2942globalThis.altchaI18n.set("vi", Jl);
2943const Xl = {
2944  ariaLinkLabel: "访问 Altcha.org",
2945  enterCode: "输入代码",
2946  enterCodeAria: "输入您听到的代码。按空格键播放音频。",
2947  error: "验证失败。稍后再试。",
2948  expired: "验证已过期。请重试。",
2949  verificationRequired: "需要验证!",
2950  footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="访问 Altcha.org">ALTCHA</a> 保护',
2951  getAudioChallenge: "获取音频挑战",
2952  label: "我不是机器人",
2953  loading: "加载中...",
2954  reload: "重新加载",
2955  verify: "验证",
2956  verified: "已验证",
2957  verifying: "正在验证...",
2958  waitAlert: "正在验证... 请稍等。"
2959};
2960globalThis.altchaI18n.set("zh-cn", Xl);
2961const Ql = {
2962  ariaLinkLabel: "訪問 Altcha.org",
2963  enterCode: "輸入代碼",
2964  enterCodeAria: "輸入您聽到的代碼。按空格鍵播放音頻。",
2965  error: "驗證失敗。稍後再試。",
2966  expired: "驗證已過期。請重試。",
2967  verificationRequired: "需要驗證!",
2968  footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="訪問 Altcha.org">ALTCHA</a> 保護',
2969  getAudioChallenge: "獲取音頻挑戰",
2970  label: "我不是機器人",
2971  loading: "載入中...",
2972  reload: "重新載入",
2973  verify: "驗證",
2974  verified: "已驗證",
2975  verifying: "正在驗證...",
2976  waitAlert: "正在驗證... 請稍等。"
2977};
2978globalThis.altchaI18n.set("zh-tw", Ql);
2979const Di = `(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(e,t,r){if(typeof crypto>"u"||!("subtle"in crypto)||!("digest"in crypto.subtle))throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}
2979function w(e,t,r="SHA-256",n=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=l;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function g(e,t=12){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e%256,e=Math.floor(e/256);return r}async function m(e,t="",r=1e6,n=0){const l="AES-GCM",o=new AbortController,a=Date.now(),s=async()=>{for(let i=n;i<=r;i+=1){if(o.signal.aborted||!c||!u)return null;try{const f=await crypto.subtle.decrypt({name:l,iv:g(i)},c,u);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,u=null;try{u=h(e);const i=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",i,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}let y;onmessage=async e=>{const{type:t,payload:r,start:n,max:l}=e.data;let o=null;if(t==="abort")y?.abort(),y=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:s}=r||{};o=await m(s,a,l,n)}else{const{algorithm:a,challenge:s,salt:c}=r||{};o=w(s,c,a,l,n)}y=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();
2980`, Ma = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", Di], { type: "text/javascript;charset=utf-8" });
2981function es(e) {
2982  let t;
2983  try {
2984    if (t = Ma && (self.URL || self.webkitURL).createObjectURL(Ma), !t) throw "";
2985    const r = new Worker(t, {
2986      name: e?.name
2987    });
2988    return r.addEventListener("error", () => {
2989      (self.URL || self.webkitURL).revokeObjectURL(t);
2990    }), r;
2991  } catch {
2992    return new Worker(
2993      "data:text/javascript;charset=utf-8," + encodeURIComponent(Di),
2994      {
2995        name: e?.name
2996      }
2997    );
2998  }
2999}
3000const ts = "5";
3001typeof window < "u" && ((window.__svelte ??= {}).v ??= /* @__PURE__ */ new Set()).add(ts);
3002const qi = new TextEncoder();
3003function rs(e) {
3004  return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, "0")).join("");
3005}
3006async function as(e, t = "SHA-256", r = 1e5) {
3007  const i = Date.now().toString(16);
3008  e || (e = Math.round(Math.random() * r));
3009  const l = await Hi(i, e, t);
3010  return {
3011    algorithm: t,
3012    challenge: l,
3013    salt: i,
3014    signature: ""
3015  };
3016}
3017async function Hi(e, t, r) {
3018  if (typeof crypto > "u" || !("subtle" in crypto) || !("digest" in crypto.subtle))
3019    throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");
3020  return rs(
3021    await crypto.subtle.digest(
3022      r.toUpperCase(),
3023      qi.encode(e + t)
3024    )
3025  );
3026}
3027function is(e, t, r = "SHA-256", i = 1e6, l = 0) {
3028  const o = new AbortController(), s = Date.now();
3029  return {
3030    promise: (async () => {
3031      for (let f = l; f <= i; f += 1) {
3032        if (o.signal.aborted)
3033          return null;
3034        if (await Hi(t, f, r) === e)
3035          return {
3036            number: f,
3037            took: Date.now() - s
3038          };
3039      }
3040      return null;
3041    })(),
3042    controller: o
3043  };
3044}
3045function Ba() {
3046  try {
3047    return Intl.DateTimeFormat().resolvedOptions().timeZone;
3048  } catch {
3049  }
3050}
3051function ns(e) {
3052  const t = atob(e), r = new Uint8Array(t.length);
3053  for (let i = 0; i < t.length; i++)
3054    r[i] = t.charCodeAt(i);
3055  return r;
3056}
3057function os(e, t = 12) {
3058  const r = new Uint8Array(t);
3059  for (let i = 0; i < t; i++)
3060    r[i] = e % 256, e = Math.floor(e / 256);
3061  return r;
3062}
3063async function ls(e, t = "", r = 1e6, i = 0) {
3064  const l = "AES-GCM", o = new AbortController(), s = Date.now(), u = async () => {
3065    for (let p = i; p <= r; p += 1) {
3066      if (o.signal.aborted || !f || !d)
3067        return null;
3068      try {
3069        const g = await crypto.subtle.decrypt(
3070          {
3071            name: l,
3072            iv: os(p)
3073          },
3074          f,
3075          d
3076        );
3077        if (g)
3078          return {
3079            clearText: new TextDecoder().decode(g),
3080            took: Date.now() - s
3081          };
3082      } catch {
3083      }
3084    }
3085    return null;
3086  };
3087  let f = null, d = null;
3088  try {
3089    d = ns(e);
3090    const p = await crypto.subtle.digest(
3091      "SHA-256",
3092      qi.encode(t)
3093    );
3094    f = await crypto.subtle.importKey(
3095      "raw",
3096      p,
3097      l,
3098      !1,
3099      ["decrypt"]
3100    );
3101  } catch {
3102    return {
3103      promise: Promise.reject(),
3104      controller: o
3105    };
3106  }
3107  return {
3108    promise: u(),
3109    controller: o
3110  };
3111}
3112var A = /* @__PURE__ */ ((e) => (e.CODE = "code", e.ERROR = "error", e.VERIFIED = "verified", e.VERIFYING = "verifying", e.UNVERIFIED = "unverified", e.EXPIRED = "expired", e))(A || {}), Q = /* @__PURE__ */ ((e) => (e.ERROR = "error", e.LOADING = "loading", e.PLAYING = "playing", e.PAUSED = "paused", e.READY = "ready", e))(Q || {});
3113const ss = {
3114  ariaLinkLabel: "Visit Altcha.org",
3115  enterCode: "Enter code",
3116  enterCodeAria: "Enter code you hear. Press Space to play audio.",
3117  error: "Verification failed. Try again later.",
3118  expired: "Verification expired. Try again.",
3119  footer: 'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>',
3120  getAudioChallenge: "Get an audio challenge",
3121  label: "I'm not a robot",
3122  loading: "Loading...",
3123  reload: "Reload",
3124  verify: "Verify",
3125  verificationRequired: "Verification required!",
3126  verified: "Verified",
3127  verifying: "Verifying...",
3128  waitAlert: "Verifying... please wait."
3129};
3130globalThis.altchaI18n.set("en", ss);
3131const Ir = (e, t) => {
3132  let r = /* @__PURE__ */ io(() => Pn(t?.(), 24));
3133  var i = ds();
3134  Ce(() => {
3135    T(i, "width", n(r)), T(i, "height", n(r));
3136  }), M(e, i);
3137};
3138function cs(e, t) {
3139  e.code === "Space" && (e.preventDefault(), e.stopImmediatePropagation(), t());
3140}
3141function us(e, t) {
3142  e.preventDefault(), t();
3143}
3144function fs(e, t, r, i, l, o, s, u) {
3145  [
3146    A.UNVERIFIED,
3147    A.ERROR,
3148    A.EXPIRED,
3149    A.CODE
3150  ].includes(n(t)) ? r() !== !1 && n(i)?.reportValidity() === !1 ? y(l, !1) : o() ? s() : u() : y(l, !0);
3151}
3152var ds = /* @__PURE__ */ mr('<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="altcha-spinner"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor"></path></svg>'), hs = /* @__PURE__ */ ye('<input type="hidden">'), gs = /* @__PURE__ */ ye('<div><a target="_blank" class="altcha-logo" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>'), vs = /* @__PURE__ */ mr('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM10.9999 16.0002V18.0002H12.9999V16.0002H10.9999ZM10.9999 9.00017V14.0002H12.9999V9.00017H10.9999Z"></path></svg>'), bs = /* @__PURE__ */ mr('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M15 7C15 6.44772 15.4477 6 16 6C16.5523 6 17 6.44772 17 7V17C17 17.5523 16.5523 18 16 18C15.4477 18 15 17.5523 15 17V7ZM7 7C7 6.44772 7.44772 6 8 6C8.55228 6 9 6.44772 9 7V17C9 17.5523 8.55228 18 8 18C7.44772 18 7 17.5523 7 17V7Z"></path></svg>'), ps = /* @__PURE__ */ mr('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M4 12H7C8.10457 12 9 12.8954 9 14V19C9 20.1046 8.10457 21 7 21H4C2.89543 21 2 20.1046 2 19V12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12V19C22 20.1046 21.1046 21 20 21H17C15.8954 21 15 20.1046 15 19V14C15 12.8954 15.8954 12 17 12H20C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12Z"></path></svg>'), ms = /* @__PURE__ */ ye('<button type="button" class="altcha-code-challenge-audio"><!></button>'), ys = /* @__PURE__ */ ye("<audio hidden autoplay><source></audio>"), As = /* @__PURE__ */ ye('<div class="altcha-code-challenge" role="dialog"><div class="altcha-code-challenge-arrow"></div> <form data-code-challenge-form="1"><img class="altcha-code-challenge-image" alt=""> <input type="text" autocomplete="off" name="code" class="altcha-code-challenge-input" required> <div class="altcha-code-challenge-buttons"><div class="altcha-code-challenge-buttons-left"><!> <button type="button" class="altcha-code-challenge-reload"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2V4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 9.25022 5.38734 6.82447 7.50024 5.38451L7.5 8H9.5V2L3.5 2V4L5.99918 3.99989C3.57075 5.82434 2 8.72873 2 12Z"></path></svg></button></div> <button type="submit" class="altcha-code-challenge-verify"><!> </button></div> <!></form></div>'), ks = /* @__PURE__ */ ye("<div><!></div>"), _s = /* @__PURE__ */ ye("<div><!></div>"), ws = /* @__PURE__ */ ye('<div class="altcha-error"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg> <!></div>'), Cs = /* @__PURE__ */ ye('<div class="altcha-footer"><div><!></div></div>'), Ls = /* @__PURE__ */ ye('<div class="altcha-anchor-arrow"></div>'), xs = /* @__PURE__ */ ye('<!> <div class="altcha"><div class="altcha-main"><div><!> <input type="checkbox"></div> <label class="altcha-label"><!></label> <!> <!> <!></div> <!> <!> <!></div>', 1);
3153function Es(e, t) {
3154  ii(t, !0);
3155  const [r, i] = Oo(), l = () => Ho(Fi, "$altchaI18nStore", r);
3156  let o = w(t, "auto", 7, void 0), s = w(t, "blockspam", 7, void 0), u = w(t, "challengeurl", 7, void 0), f = w(t, "challengejson", 7, void 0), d = w(t, "credentials", 7, void 0), p = w(t, "customfetch", 7, void 0), g = w(t, "debug", 7, !1), m = w(t, "delay", 7, 0), k = w(t, "disableautofocus", 7, !1), N = w(t, "refetchonexpire", 7, !0), D = w(t, "disablerefetchonexpire", 23, () => !N()), H = w(t, "expire", 7, void 0), E = w(t, "floating", 7, void 0), ee = w(t, "floatinganchor", 7, void 0), Te = w(t, "floatingoffset", 7, void 0), X = w(t, "floatingpersist", 7, !1), O = w(t, "hidefooter", 7, !1), se = w(t, "hidelogo", 7, !1), Be = w(t, "id", 7, void 0), Bt = w(t, "language", 7, void 0), Ue = w(t, "name", 7, "altcha"), Ge = w(t, "maxnumber", 7, 1e6), wt = w(t, "mockerror", 7, !1), $e = w(t, "obfuscated", 7, void 0), ve = w(t, "overlay", 7, void 0), Ct = w(t, "overlaycontent", 7, void 0), Ut = w(t, "plugins", 7, void 0), We = w(t, "sentinel", 7, void 0), Ae = w(t, "spamfilter", 7, !1), st = w(t, "strings", 7, void 0), de = w(t, "test", 7, !1), te = w(t, "verifyurl", 7, void 0), ct = w(t, "workers", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), Lt = w(t, "workerurl", 7, void 0);
3157  const { altchaI18n: Oi } = globalThis, Fi = Oi.store, Yr = ["SHA-256", "SHA-384", "SHA-512"], Mi = "https://altcha.org/", Se = (a, c) => {
3158    t.$$host.dispatchEvent(new CustomEvent(a, { detail: c }));
3159  }, Kr = document.documentElement.lang?.split("-")?.[0], yr = /* @__PURE__ */ $t(() => u() && new URL(u(), location.origin).host.endsWith(".altcha.org") && !!u()?.includes("apiKey=ckey_")), Gt = /* @__PURE__ */ $t(() => f() ? ua(f()) : void 0), Bi = /* @__PURE__ */ $t(() => st() ? ua(st()) : {}), S = /* @__PURE__ */ $t(() => ({
3160    ...Qr(l()),
3161    ...n(Bi)
3162  })), Jr = /* @__PURE__ */ $t(() => `${Be() || Ue()}_checkbox_${Math.round(Math.random() * 1e8)}`);
3163  let Ze = /* @__PURE__ */ $(null), xt = /* @__PURE__ */ $(!1), U = /* @__PURE__ */ $(null), L = /* @__PURE__ */ $(De(A.UNVERIFIED)), q = /* @__PURE__ */ $(void 0), Et = /* @__PURE__ */ $(null), Pe = /* @__PURE__ */ $(null), ce = /* @__PURE__ */ $(null), Ar = /* @__PURE__ */ $(null), ut = /* @__PURE__ */ $(null), j = /* @__PURE__ */ $(null), Tt = /* @__PURE__ */ $(null), Ye = /* @__PURE__ */ $(null), ke = null, G = /* @__PURE__ */ $(null), Ke = /* @__PURE__ */ $(!1), ze = [], kr = /* @__PURE__ */ $(!1), _e = /* @__PURE__ */ $(null);
3164  Rr(() => {
3165    an(n(Ye));
3166  }), Rr(() => {
3167    nn(n(L));
3168  }), Wo(() => {
3169    Ui(), y(Tt, null), n(j) && (n(j).removeEventListener("submit", na), n(j).removeEventListener("reset", oa), n(j).removeEventListener("focusin", ia), y(j, null)), ke && (clearTimeout(ke), ke = null), document.removeEventListener("click", ra), document.removeEventListener("scroll", aa), window.removeEventListener("resize", ca);
3170  }), Pi(() => {
3171    x("mounted", "2.2.4"), x("workers", ct()), Yi(), x("plugins", ze.length ? ze.map((a) => a.constructor.pluginName).join(", ") : "none"), de() && x("using test mode"), H() && wr(H()), o() !== void 0 && x("auto", o()), E() !== void 0 && ga(E()), y(j, n(q)?.closest("form"), !0), n(j) && (n(j).addEventListener("submit", na, { capture: !0 }), n(j).addEventListener("reset", oa), (o() === "onfocus" || X() === "focus") && n(j).addEventListener("focusin", ia)), ve() && va(!0), o() === "onload" && ($e() ? It() : Ie()), n(yr) && (O(
3171) || se()) && x("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."), requestAnimationFrame(() => {
3172      Se("load");
3173    });
3174  });
3175  function Wt(a, c) {
3176    return btoa(JSON.stringify({
3177      algorithm: a.algorithm,
3178      challenge: a.challenge,
3179      number: c.number,
3180      salt: a.salt,
3181      signature: a.signature,
3182      test: de() ? !0 : void 0,
3183      took: c.took
3184    }));
3185  }
3186  function Ui() {
3187    for (const a of ze)
3188      a.destroy();
3189  }
3190  function Xr() {
3191    u() && !D() && n(L) === A.VERIFIED ? Ie() : Je(A.EXPIRED, n(S).expired);
3192  }
3193  async function Gi() {
3194    if (wt())
3195      throw x("mocking error"), new Error("Mocked error.");
3196    if (n(Gt))
3197      return x("using provided json data"), fa(n(Gt).salt), n(Gt);
3198    if (de())
3199      return x("generating test challenge", { test: de() }), as(typeof de() != "boolean" ? +de() : void 0);
3200    {
3201      if (!u() && n(j)) {
3202        const v = n(j).getAttribute("action");
3203        v?.includes("/form/") && u(v + "/altcha");
3204      }
3205      if (!u())
3206        throw new Error("Attribute challengeurl not set.");
3207      x("fetching challenge from", u());
3208      const a = {
3209        credentials: typeof d() == "boolean" ? "include" : d(),
3210        headers: Ae() !== !1 ? { "x-altcha-spam-filter": "1" } : {}
3211      }, c = await _r()(u(), a);
3212      if (!c || !(c instanceof Response))
3213        throw new Error("Custom fetch function did not return a response.");
3214      if (c.status !== 200)
3215        throw new Error(`Server responded with ${c.status}.`);
3216      const h = c.headers.get("X-Altcha-Config"), b = await c.json();
3217      if (fa(b.salt), h)
3218        try {
3219          const v = JSON.parse(h);
3220          v && typeof v == "object" && (v.verifyurl && !v.verifyurl.startsWith("fn:") && (v.verifyurl = ta(v.verifyurl)), ma(v));
3221        } catch (v) {
3222          x("unable to configure from X-Altcha-Config", v);
3223        }
3224      return b;
3225    }
3226  }
3227  function Wi(a) {
3228    const c = n(j)?.querySelector(typeof a == "string" ? `input[name="${a}"]` : 'input[type="email"]:not([data-no-spamfilter])');
3229    return c?.value?.slice(c.value.indexOf("@")) || void 0;
3230  }
3231  function _r() {
3232    let a = fetch;
3233    if (p())
3234      if (x("using customfetch"), typeof p() == "string") {
3235        if (a = globalThis[p()] || null, !a)
3236          throw new Error(`Custom fetch function not found: ${p()}`);
3237      } else
3238        a = p();
3239    return a;
3240  }
3241  function Qr(a, c = [
3242    Bt() || "",
3243    document.documentElement.lang || "",
3244    ...navigator.languages
3245  ]) {
3246    const h = Object.keys(a).map((v) => v.toLowerCase()), b = c.reduce(
3247      (v, C) => (C = C.toLowerCase(), v || (a[C] ? C : null) || h.find((R) => C.split("-")[0] === R.split("-")[0]) || null),
3248      null
3249    );
3250    return a[b || "en"];
3251  }
3252  function Zi() {
3253    return Ae() === "ipAddress" ? {
3254      blockedCountries: void 0,
3255      classifier: void 0,
3256      disableRules: void 0,
3257      email: !1,
3258      expectedCountries: void 0,
3259      expectedLanguages: void 0,
3260      fields: !1,
3261      ipAddress: void 0,
3262      text: void 0,
3263      timeZone: void 0
3264    } : typeof Ae() == "object" ? Ae() : {
3265      blockedCountries: void 0,
3266      classifier: void 0,
3267      disableRules: void 0,
3268      email: void 0,
3269      expectedCountries: void 0,
3270      expectedLanguages: void 0,
3271      fields: void 0,
3272      ipAddress: void 0,
3273      text: void 0,
3274      timeZone: void 0
3275    };
3276  }
3277  function ea(a) {
3278    return [
3279      ...n(j)?.querySelectorAll(a?.length ? a.map((h) => `input[name="${h}"]`).join(", ") : 'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])') || []
3280    ].reduce(
3281      (h, b) => {
3282        const v = b.name, C = b.value;
3283        return v && C && (h[v] = /\n/.test(C) ? C.replace(new RegExp("(?<!\\r)\\n", "g"), `\r
3284`) : C), h;
3285      },
3286      {}
3287    );
3288  }
3289  function ta(a, c) {
3290    const h = new URL(u() || location.origin), b = new URL(a, h);
3291    if (b.search || (b.search = h.search), c)
3292      for (const v in c)
3293        c[v] !== void 0 && c[v] !== null && b.searchParams.set(v, c[v]);
3294    return b.toString();
3295  }
3296  function Yi() {
3297    const a = Ut() !== void 0 ? Ut().split(",") : void 0;
3298    for (const c of globalThis.altchaPlugins)
3299      (!a || a.includes(c.pluginName)) && ze.push(new c({
3300        el: n(q),
3301        clarify: It,
3302        dispatch: Se,
3303        getConfiguration: ya,
3304        getFloatingAnchor: Aa,
3305        getState: ka,
3306        log: x,
3307        reset: Je,
3308        solve: pa,
3309        setState: we,
3310        setFloatingAnchor: _a,
3311        verify: Ie
3312      }));
3313  }
3314  function x(...a) {
3315    (g() || a.some((c) => c instanceof Error)) && console[a[0] instanceof Error ? "error" : "log"]("ALTCHA", `[name=${Ue()}]`, ...a);
3316  }
3317  function Ki() {
3318    y(G, Q.PAUSED, !0);
3319  }
3320  function Ji(a) {
3321    y(G, Q.ERROR, !0);
3322  }
3323  function Xi() {
3324    y(G, Q.READY, !0);
3325  }
3326  function Qi() {
3327    y(G, Q.LOADING, !0);
3328  }
3329  function en() {
3330    y(G, Q.PLAYING, !0);
3331  }
3332  function tn() {
3333    y(G, Q.PAUSED, !0);
3334  }
3335  function rn(a) {
3336    if (a.preventDefault(), a.stopPropagation(), n(U)) {
3337      const c = new FormData(a.target), h = String(c.get("code"));
3338      if (te()?.startsWith("fn:")) {
3339        const b = te().replace(/^fn:/, "");
3340        if (x(`calling ${b} function instead of verifyurl`), !(b in globalThis))
3341          throw new Error(`Global function "${b}" is undefined.`);
3342        return globalThis[b]({
3343          challenge: n(U).challenge,
3344          code: h,
3345          solution: n(U).solution
3346        });
3347      }
3348      y(Ke, !0), da(Wt(n(U).challenge, n(U).solution), h).then(({ reason: b, verified: v }) => {
3349        v ? (y(U, null), we(A.VERIFIED), x("verified"), Tr().then(() => {
3350          n(Ar)?.focus(), Se("verified", { payload: n(_e) }), o() === "onsubmit" ? ha(n(Tt)) : ve() && Vt();
3351        })) : (Je(), y(Ye, b || "Verification failed", !0));
3352      }).catch((b) => {
3353        y(U, null), we(A.ERROR, b), x("sentinel verification failed:", b);
3354      }).finally(() => {
3355        y(Ke, !1);
3356      });
3357    }
3358  }
3359  function ra(a) {
3360    const c = a.target;
3361    E() && c && !n(q).contains(c) && (n(L) === A.VERIFIED && X() === !1 || n(L) === A.VERIFIED && X() === "focus" && !n(j)?.matches(":focus-within") || o() === "off" && n(L) === A.UNVERIFIED) && Vt();
3362  }
3363  function aa() {
3364    E() && n(L) !== A.UNVERIFIED && jt();
3365  }
3366  function an(a) {
3367    for (const c of ze)
3368      typeof c.onErrorChange == "function" && c.onErrorChange(n(Ye));
3369  }
3370  function ia(a) {
3371    n(L) === A.UNVERIFIED ? Ie() : E() && X() === "focus" && n(L) === A.VERIFIED && Zt();
3372  }
3373  function na(a) {
3374    a.target?.hasAttribute("data-code-challenge-form") || (y(Tt, a.submitter, !0), n(j) && o() === "onsubmit" ? (n(Tt)?.blur(), n(L) === A.UNVERIFIED ? (a.preventDefault(), a.stopPropagation(), Ie().then(() => {
3375      ha(n(Tt));
3376    })) : n(L) !== A.VERIFIED && (a.preventDefault(), a.stopPropagation(), n(L) === A.VERIFYING && la())) : n(j) && E() && o() === "off" && n(L) === A.UNVERIFIED && (a.preventDefault(), a.stopPropagation(), Zt()));
3377  }
3378  function oa() {
3379    Je();
3380  }
3381  function la() {
3382    n(L) === A.VERIFYING && n(S).waitAlert && alert(n(S).waitAlert);
3383  }
3384  function sa() {
3385    n(Pe) ? n(Pe).paused ? (n(Pe).currentTime = 0, n(Pe).play()) : n(Pe).pause() : (y(kr, !0), requestAnimationFrame(() => {
3386      n(Pe)?.play();
3387    }));
3388  }
3389  function nn(a) {
3390    for (const c of ze)
3391      typeof c.onStateChange == "function" && c.onStateChange(n(L));
3392    E() && n(L) !== A.UNVERIFIED && requestAnimationFrame(() => {
3393      jt();
3394    }), y(xt, n(L) === A.VERIFIED), ve() && n(ce) && (n(L) !== A.UNVERIFIED ? Zt() : Vt());
3395  }
3396  function ca() {
3397    E() && jt();
3398  }
3399  function ua(a) {
3400    return JSON.parse(a);
3401  }
3402  function fa(a) {
3403    const c = new URLSearchParams(a.split("?")?.[1]), h = c.get("expires") || c.get("expire");
3404    if (h) {
3405      const b = new Date(+h * 1e3), v = isNaN(b.getTime()) ? 0 : b.getTime() - Date.now();
3406      v > 0 && wr(v);
3407    } else ke && (clearTimeout(ke), ke = null);
3408  }
3409  async function on(a) {
3410    if (!te())
3411      throw new Error("Attribute verifyurl not set.");
3412    x("requesting server verification from", te());
3413    const c = { payload: a };
3414    if (Ae() !== !1) {
3415      const {
3416        blockedCountries: v,
3417        classifier: C,
3418        disableRules: R,
3419        email: B,
3420        expectedLanguages: F,
3421        expectedCountries: ie,
3422        fields: ne,
3423        ipAddress: Qe,
3424        text: dt,
3425        timeZone: et
3426      } = Zi();
3427      c.blockedCountries = v, c.classifier = C, c.disableRules = R, c.email = B === !1 ? void 0 : Wi(B), c.expectedCountries = ie, c.expectedLanguages = F || (Kr ? [Kr] : void 0), c.fields = ne === !1 ? void 0 : ea(ne), c.ipAddress = Qe === !1 ? void 0 : Qe || "auto", c.text = dt, c.timeZone = et === !1 ? void 0 : et || Ba();
3428    }
3429    const h = await _r()(te(), {
3430      body: JSON.stringify(c),
3431      headers: { "content-type": "application/json" },
3432      method: "POST"
3433    });
3434    if (!h || !(h instanceof Response))
3435      throw new Error("Custom fetch function did not return a response.");
3436    if (h.status !== 200)
3437      throw new Error(`Server responded with ${h.status}.`);
3438    const b = await h.json();
3439    if (b?.payload && y(_e, b.payload, !0), Se("serververification", b), s() && b.classification === "BAD")
3440      throw new Error("SpamFilter returned negative classification.");
3441  }
3442  async function da(a, c) {
3443    if (!te())
3444      throw new Error("Attribute verifyurl not set.");
3445    x("requesting sentinel verification from", te());
3446    const h = { code: c, payload: a };
3447    We() && (h.fields = We().fields ? ea() : void 0, h.timeZone = We().timeZone ? Ba() : void 0);
3448    const b = await _r()(te(), {
3449      body: JSON.stringify(h),
3450      headers: { "content-type": "application/json" },
3451      method: "POST"
3452    });
3453    if (!b || !(b instanceof Response))
3454      throw new Error("Fetch function did not return a response.");
3455    if (b.status !== 200)
3456      throw new Error(`Server responded with ${b.status}.`);
3457    const v = await b.json();
3458    return v?.payload && y(_e, v.payload, !0), Se("sentinelverification", v), v;
3459  }
3460  function ha(a) {
3461    n(j) && "requestSubmit" in n(j) ? n(j).requestSubmit(a) : n(j)?.reportValidity() && (a ? a.click() : n(j).submit());
3462  }
3463  function wr(a) {
3464    x("expire", a), ke && (clearTimeout(ke), ke = null), a < 1 ? Xr() : ke = setTimeout(Xr, a);
3465  }
3466  function ga(a) {
3467    x("floating", a), E() !== a && (n(q).style.left = "", n(q).style.top = ""), E(a === !0 || a === "" ? "auto" : a === !1 || a === "fal
3467se" ? void 0 : E()), E() ? (o() || o("onsubmit"), document.addEventListener("scroll", aa), document.addEventListener("click", ra), window.addEventListener("resize", ca)) : o() === "onsubmit" && o(void 0);
3468  }
3469  function va(a) {
3470    if (x("overlay", a), ve(a), a) {
3471      if (o() || o("onsubmit"), n(ce) && n(q).parentElement && n(ce).replaceWith(n(q).parentElement), n(q)?.parentElement?.parentElement) {
3472        y(ce, document.createElement("div"), !0), n(q).parentElement.parentElement.appendChild(n(ce));
3473        const c = document.createElement("div"), h = document.createElement("button");
3474        h.type = "button", h.innerHTML = "&times;", h.addEventListener("click", (b) => {
3475          b.preventDefault(), Je();
3476        }), n(ce).classList.add("altcha-overlay-backdrop"), h.classList.add("altcha-overlay-close-button"), c.classList.add("altcha-overlay"), n(ce).append(c), c.append(h), Ct() && c.append(...document.querySelectorAll(Ct())), c.append(n(q).parentElement);
3477      }
3478    } else n(ce) && n(q).parentElement && (n(ce).replaceWith(n(q).parentElement), n(q).style.display = "block");
3479  }
3480  function ba(a) {
3481    if (!a.algorithm)
3482      throw new Error("Invalid challenge. Property algorithm is missing.");
3483    if (a.signature === void 0)
3484      throw new Error("Invalid challenge. Property signature is missing.");
3485    if (!Yr.includes(a.algorithm.toUpperCase()))
3486      throw new Error(`Unknown algorithm value. Allowed values: ${Yr.join(", ")}`);
3487    if (!a.challenge || a.challenge.length < 40)
3488      throw new Error("Challenge is too short. Min. 40 chars.");
3489    if (!a.salt || a.salt.length < 10)
3490      throw new Error("Salt is too short. Min. 10 chars.");
3491  }
3492  async function pa(a) {
3493    let c = null, h = null;
3494    if ("Worker" in window) {
3495      try {
3496        c = ln(a, a.maxNumber || a.maxnumber || Ge()), y(Ze, c.controller, !0), h = await c.promise;
3497      } catch (b) {
3498        x(b);
3499      } finally {
3500        y(Ze, null);
3501      }
3502      if (h === null || h?.number !== void 0 || "obfuscated" in a)
3503        return { data: a, solution: h };
3504    }
3505    if ("obfuscated" in a) {
3506      const b = await ls(a.obfuscated, a.key, a.maxNumber || a.maxnumber);
3507      return { data: a, solution: await b.promise };
3508    }
3509    c = is(a.challenge, a.salt, a.algorithm, a.maxNumber || a.maxnumber || Ge()), y(Ze, c.controller, !0);
3510    try {
3511      h = await c.promise;
3512    } catch (b) {
3513      x(b);
3514    } finally {
3515      y(Ze, null);
3516    }
3517    return { data: a, solution: h };
3518  }
3519  function ln(a, c = typeof de() == "number" ? de() : a.maxNumber || a.maxnumber || Ge(), h = Math.ceil(ct())) {
3520    const b = new AbortController(), v = [];
3521    h = Math.min(16, c, Math.max(1, h));
3522    for (let B = 0; B < h; B++)
3523      v.push(altchaCreateWorker(Lt()));
3524    const C = Math.ceil(c / h);
3525    return { promise: (async () => {
3526      const B = await Promise.all(v.map((F, ie) => {
3527        const ne = ie * C;
3528        return b.signal.addEventListener("abort", () => {
3529          F.postMessage({ type: "abort" });
3530        }), new Promise((Qe) => {
3531          F.addEventListener("message", (dt) => {
3532            if (dt.data)
3533              for (const et of v)
3534                et !== F && et.postMessage({ type: "abort" });
3535            Qe(dt.data);
3536          }), F.postMessage({
3537            payload: a,
3538            max: ne + C,
3539            start: ne,
3540            type: "work"
3541          });
3542        });
3543      }));
3544      for (const F of v)
3545        F.terminate();
3546      return B.find((F) => !!F) || null;
3547    })(), controller: b };
3548  }
3549  async function It() {
3550    if (!$e()) {
3551      we(A.ERROR);
3552      return;
3553    }
3554    const a = ze.find((c) => c.constructor.pluginName === "obfuscation");
3555    if (!a || !("clarify" in a)) {
3556      we(A.ERROR), x("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");
3557      return;
3558    }
3559    if ("clarify" in a && typeof a.clarify == "function")
3560      return a.clarify();
3561  }
3562  function ma(a) {
3563    a.obfuscated !== void 0 && $e(a.obfuscated), a.auto !== void 0 && (o(a.auto), o() === "onload" && ($e() ? It() : Ie())), a.blockspam !== void 0 && s(!!a.blockspam), a.customfetch !== void 0 && p(a.customfetch), a.floatinganchor !== void 0 && ee(a.floatinganchor), a.delay !== void 0 && m(a.delay), a.floatingoffset !== void 0 && Te(a.floatingoffset), a.floating !== void 0 && ga(a.floating), a.expire !== void 0 && (wr(a.expire), H(a.expire)), a.challenge && (f(typeof a.challenge == "string" ? a.challenge : JSON.stringify(a.challenge)), ba(n(Gt))), a.challengeurl !== void 0 && u(a.challengeurl), a.debug !== void 0 && g(!!a.debug), a.hidefooter !== void 0 && O(!!a.hidefooter), a.hidelogo !== void 0 && se(!!a.hidelogo), a.language !== void 0 && st(Qr(l(), [a.language])), a.maxnumber !== void 0 && Ge(+a.maxnumber), a.mockerror !== void 0 && wt(!!a.mockerror), a.name !== void 0 && Ue(a.name), a.overlaycontent !== void 0 && Ct(a.overlaycontent), a.overlay !== void 0 && va(a.overlay), a.refetchonexpire !== void 0 && D(!a.refetchonexpire), a.disablerefetchonexpire !== void 0 && D(!a.disablerefetchonexpire), a.sentinel !== void 0 && typeof a.sentinel == "object" && We(a.sentinel), a.spamfilter !== void 0 && Ae(typeof a.spamfilter == "object" ? a.spamfilter : !!a.spamfilter), a.strings && st(typeof a.strings == "string" ? a.strings : JSON.stringify(a.strings)), a.test !== void 0 && de(typeof a.test == "number" ? a.test : !!a.test), a.verifyurl !== void 0 && te(a.verifyurl), a.workers !== void 0 && ct(+a.workers), a.workerurl !== void 0 && Lt(a.workerurl);
3564  }
3565  function ya() {
3566    return {
3567      auto: o(),
3568      blockspam: s(),
3569      challengeurl: u(),
3570      debug: g(),
3571      delay: m(),
3572      disableautofocus: k(),
3573      disablerefetchonexpire: D(),
3574      expire: H(),
3575      floating: E(),
3576      floatinganchor: ee(),
3577      floatingoffset: Te(),
3578      hidefooter: O(),
3579      hidelogo: se(),
3580      name: Ue(),
3581      maxnumber: Ge(),
3582      mockerror: wt(),
3583      obfuscated: $e(),
3584      overlay: ve(),
3585      refetchonexpire: !D(),
3586      spamfilter: Ae(),
3587      strings: n(S),
3588      test: de(),
3589      verifyurl: te(),
3590      workers: ct(),
3591      workerurl: Lt()
3592    };
3593  }
3594  function Aa() {
3595    return n(ut);
3596  }
3597  function sn(a) {
3598    return ze.find((c) => c.constructor.pluginName === a);
3599  }
3600  function ka() {
3601    return n(L);
3602  }
3603  function Vt() {
3604    n(q).style.display = "none", ve() && n(ce) && (n(ce).style.display = "none");
3605  }
3606  function jt(a = 20) {
3607    if (n(q))
3608      if (n(ut) || y(ut, (ee() ? document.querySelector(ee()) : n(j)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])')) || n(j), !0), n(ut)) {
3609        const c = parseInt(Te(), 10) || 12, h = n(ut).getBoundingClientRect(), b = n(q).getBoundingClientRect(), v = document.documentElement.clientHeight, C = document.documentElement.clientWidth, R = E() === "auto" ? h.bottom + b.height + c + a > v : E() === "top", B = Math.max(a, Math.min(C - a - b.width, h.left + h.width / 2 - b.width / 2));
3610        if (R ? n(q).style.top = `${h.top - (b.height + c)}px` : n(q).style.top = `${h.bottom + c}px`, n(q).style.left = `${B}px`, n(q).setAttribute("data-floating", R ? "top" : "bottom"), n(Et)) {
3611          const F = n(Et).getBoundingClientRect();
3612          n(Et).style.left = h.left - B + h.width / 2 - F.width / 2 + "px";
3613        }
3614      } else
3615        x("unable to find floating anchor element");
3616  }
3617  function Je(a = A.UNVERIFIED, c = null) {
3618    n(Ze) && (n(Ze).abort(), y(Ze, null)), y(xt, !1), y(_e, null), y(U, null), y(kr, !1), y(G, null), we(a, c);
3619  }
3620  function _a(a) {
3621    y(ut, a, !0);
3622  }
3623  function we(a, c = null) {
3624    y(L, a, !0), y(Ye, c, !0), Se("statechange", {
3625      payload: n(_e),
3626      state: n(L)
3627    });
3628  }
3629  function Zt() {
3630    n(q).style.display = "block", E() && jt(), ve() && n(ce) && (n(ce).style.display = "flex");
3631  }
3632  async function Ie() {
3633    return Je(A.VERIFYING), await new Promise((a) => setTimeout(a, m() || 0)), Gi().then((a) => (ba(a), x("challenge", a), pa(a))).then(({ data: a, solution: c }) => {
3634      if (x("solution", c), !c || a && "challenge" in a && !("clearText" in c)) {
3635        if (c?.number !== void 0 && "challenge" in a)
3636          if (te() && "codeChallenge" in a)
3637            ["INPUT", "BUTTON", "SELECT", "TEXTAREA"].includes(document.activeElement?.tagName || "") && k() === !1 && document.activeElement.blur(), y(U, { challenge: a, solution: c }, !0);
3638          else {
3639            if (te() && We() !== void 0)
3640              return da(Wt(a, c));
3641            if (te())
3642              return on(Wt(a, c));
3643            y(_e, Wt(a, c), !0), x("payload", n(_e));
3644          }
3645        else if (n(L) !== A.EXPIRED)
3646          throw x("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."), new Error("Unexpected result returned.");
3647      }
3648    }).then(() => {
3649      n(U) ? (we(A.CODE), Tr().then(() => {
3650        Se("code", { codeChallenge: n(U) });
3651      })) : n(_e) && (we(A.VERIFIED), x("verified"), Tr().then(() => {
3652        Se("verified", { payload: n(_e) }), ve() && Vt();
3653      }));
3654    }).catch((a) => {
3655      x(a), we(A.ERROR, a.message);
3656    });
3657  }
3658  var wa = xs(), Ca = St(wa);
3659  Ro(Ca, t, "default", {});
3660  var ft = K(Ca, 2), Cr = Y(ft), Yt = Y(Cr);
3661  let La;
3662  var xa = Y(Yt);
3663  {
3664    var cn = (a) => {
3665      Ir(a);
3666    };
3667    J(xa, (a) => {
3668      n(L) === A.VERIFYING && a(cn);
3669    });
3670  }
3671  var Xe = K(xa, 2);
3672  qa(Xe), Xe.__change = [
3673    fs,
3674    L,
3675    Ae,
3676    j,
3677    xt,
3678    $e,
3679    It,
3680    Ie
3681  ], Qt(Xe, (a) => y(Ar, a), () => n(Ar)), Z(Yt);
3682  var Kt = K(Yt, 2), un = Y(Kt);
3683  {
3684    var fn = (a) => {
3685      var c = Xt(), h = St(c);
3686      tt(h, () => n(S).verified), M(a, c);
3687    }, dn = (a, c) => {
3688      {
3689        var h = (v) => {
3690          var C = Xt(), R = St(C);
3691          tt(R, () => n(S).verifying), M(v, C);
3692        }, b = (v, C) => {
3693          {
3694            var R = (F) => {
3695              var ie = Xt(), ne = St(ie);
3696              tt(ne, () => n(S).verificationRequired), M(F, ie);
3697            }, B = (F) => {
3698              var ie = Xt(), ne = St(ie);
3699              tt(ne, () => n(S).label), M(F, ie);
3700            };
3701            J(
3702              v,
3703              (F) => {
3704                n(L) === A.CODE ? F(R) : F(B, !1);
3705              },
3706              C
3707            );
3708          }
3709        };
3710        J(
3711          a,
3712          (v) => {
3713            n(L) === A.VERIFYING ? v(h) : v(b, !1);
3714          },
3715          c
3716        );
3717      }
3718    };
3719    J(un, (a) => {
3720      n(L) === A.VERIFIED ? a(fn) : a(dn, !1);
3721    });
3722  }
3723  Z(Kt);
3724  var Ea = K(Kt, 2);
3725  {
3726    var hn = (a) => {
3727      var c = hs();
3728      qa(c), Ce(() => {
3729        T(c, "name", Ue()), No(c, n(_e));
3730      }), M(a, c);
3731    };
3732    J(Ea, (a) => {
3733      n(L) === A.VERIFIED && a(hn);
3734    });
3735  }
3736  var Ta = K(Ea, 2);
3737  {
3738    var gn = (a) => {
3739      var c = gs(), h = Y(c);
3740      T(h, "href", Mi), Z(c), Ce(() => T(h, "aria-label", n(S).ariaLinkLabel)), M(a, c);
3741    };
3742    J(Ta, (a) => {
3743      (se() !== !0 || n(yr)) && a(gn);
3744    });
3745  }
3746  var vn = K(Ta, 2);
3747  {
3748    var bn = (a) => {
3749      var c = As(), h = K(Y(c), 2), b = Y(h), v = K(b, 2);
3750      Lo(v, !k()), v.__keydown = [
3751        cs,
3752        sa
3753      ];
3754      var C = K(v, 2), R = Y(C), B = Y(R);
3755      {
3756        var F = (be) => {
3757          var W = ms();
3758          W.__click = sa;
3759          var Jt = Y(W);
3760          {
3761            var Rt = (ht) => {
3762              Ir(ht, () => 20);
3763            }, Cn = (ht, Ln) => {
3764              {
3765                var xn = (gt) => {
3766                  var Lr = vs();
3767                  M(gt, Lr);
3768                }, En = (gt, Lr) => {
3769                  {
3770                    var Tn = (vt) => {
3771                      var xr = bs();
3772                      M(vt, xr);
3773                    }, In = (vt) => {
3774                      var xr = ps();
3775                      M(vt, xr);
3776                    };
3777                    J(
3778                      gt,
3779                      (vt) => {
3780                        n(G) === Q.PLAYING ? vt(Tn) : vt(In, !1);
3781                      },
3782                      Lr
3783                    );
3784                  }
3785                };
3786                J(
3787                  ht,
3788                  (gt) => {
3789                    n(G) === Q.ERROR ? gt(xn) : gt(En, !1);
3790                  },
3791                  Ln
3792                );
3793              }
3794            };
3795            J(Jt, (ht) => {
3796              n(G) === Q.LOADING ? ht(Rt) : ht(Cn, !1);
3797            });
3798          }
3799          Z(W), Ce(() => {
3800            T(W, "title", n(S).getAudioChallenge), W.disabled = n(G) === Q.LOADING || n(G) === Q.ERROR || n(Ke), T(W, "aria-label", n(G) === Q.LOADING ? n(S).loading : n(S).getAudioChallenge);
3801          }), M(be, W);
3802        };
3803        J(B, (be) => {
3804          n(U).challenge.codeChallenge.audio && be(F);
3805        });
3806      }
3807      var ie = K(B, 2);
3808      ie.__click = [us, Ie], Z(R);
3809      var ne = K(R, 2), Qe = Y(ne);
3810      {
3811        var dt = (be) => {
3812          Ir(be, () => 16);
3813        };
3814        J(Qe, (be) => {
3815          n(Ke) && be(dt);
3816        });
3817      }
3818      var et = K(Qe);
3819      Z(ne), Z(C);
3820      var _n = K(C, 2);
3821      {
3822        var wn = (be) => {
3823          var W = ys(), Jt = Y(W);
3824          Z(W), Qt(W, (Rt) => y(Pe, Rt), () => n(Pe)), Ce((Rt) => T(Jt, "src", Rt), [
3825            () => ta(n(U).challenge.codeChallenge.audio, { language: Bt() })
3826          ]), Ne("loadstart", W, Qi), Ne("canplay", W, Xi), Ne("pause", W, tn), Ne("playing", W, en), Ne("ended", W, Ki), Ne("error", Jt, Ji), M(be, W);
3827        };
3828        J(_n, (be) => {
3829          n(U).challenge.codeChallenge.audio && n(kr) && be(wn);
3830        });
3831      }
3832      Z(h), Z(c), Ce(() => {
3833        T(c, "aria-label", n(S).verificationRequired), T(b, "src", n(U).challenge.codeChallenge.image), T(v, "minlength", n(U).challenge.codeChallenge.length || 1), T(v, "maxlength", n(U).challenge.codeChallenge.length), T(v, "placeholder", n(S).enterCode), T(v, "aria-label", n(G) === Q.LOADING ? n(S).loading : n(G) === Q.PLAYING ? "" : n(S).enterCodeAria), T(v, "aria-live", n(G) ? "assertive" : "polite"), T(v, "aria-busy", n(G) === Q.LOADING), v.disabled = n(Ke), T(ie, "aria-label", n(S).reload), T(ie, "title", n(S).reload), ie.disabled = n(Ke), ne.disabled = n(Ke), T(ne, "aria-label", n(S).verify), Io(et, ` ${n(S).verify ?? ""}`);
3834      }), Ne("submit", h, rn, !0), M(a, c);
3835    };
3836    J(vn, (a) => {
3837      n(U)?.challenge.codeChallenge && a(bn);
3838    });
3839  }
3840  Z(Cr);
3841  var Ia = K(Cr, 2);
3842  {
3843    var pn = (a) => {
3844      var c = ws(), h = K(Y(c), 2);
3845      {
3846        var b = (C) => {
3847          var R = ks(), B = Y(R);
3848          tt(B, () => n(S).expired), Z(R), Ce(() => T(R, "title", n(Ye))), M(C, R);
3849        }, v = (C) => {
3850          var R = _s(), B = Y(R);
3851          tt(B, () => n(S).error), Z(R), Ce(() => T(R, "title", n(Ye))), M(C, R);
3852        };
3853        J(h, (C) => {
3854          n(L) === A.EXPIRED ? C(b) : C(v, !1);
3855        });
3856      }
3857      Z(c), M(a, c);
3858    };
3859    J(Ia, (a) => {
3860      (n(Ye) || n(L) === A.EXPIRED) && a(pn);
3861    });
3862  }
3863  var Va = K(Ia, 2);
3864  {
3865    var mn = (a) => {
3866      var c = Cs(), h = Y(c), b = Y(h);
3867      tt(b, () => n(S).footer), Z(h), Z(c), M(a, c);
3868    };
3869    J(Va, (a) => {
3870      n(S).footer && (O() !== !0 || n(yr)) && a(mn);
3871    });
3872  }
3873  var yn = K(Va, 2);
3874  {
3875    var An = (a) => {
3876      var c = Ls();
3877      Qt(c, (h) => y(Et, h), () => n(Et)), M(a, c);
3878    };
3879    J(yn, (a) => {
3880      E() && a(An);
3881    });
3882  }
3883  Z(ft), Qt(ft, (a) => y(q, a), () => n(q)), Ce(
3884    (a) => {
3885      T(ft, "data-state", n(L)), T(ft, "data-floating", E()), T(ft, "data-overlay", ve()), La = So(Yt, 1, "altcha-checkbox", null, La, a), T(Xe, "id", n(Jr)), Xe.required = o() !== "onsubmit" && (!E() || o() !== "off"), T(Kt, "for", n(Jr));
3886    },
3887    [
3888      () => ({
3889        "altcha-checkbox-verifying": n(L) === A.VERIFYING
3890      })
3891    ]
3892  ), Ne("invalid", Xe, la), qo(Xe, () => n(xt), (a) => y(xt, a)), M(e, wa);
3893  var kn = ni({
3894    clarify: It,
3895    configure: ma,
3896    getConfiguration: ya,
3897    getFloatingAnchor: Aa,
3898    getPlugin: sn,
3899    getState: ka,
3900    hide: Vt,
3901    repositionFloating: jt,
3902    reset: Je,
3903    setFloatingAnchor: _a,
3904    setState: we,
3905    show: Zt,
3906    verify: Ie,
3907    get auto() {
3908      return o();
3909    },
3910    set auto(a = void 0) {
3911      o(a), _();
3912    },
3913    get blockspam() {
3914      return s();
3915    },
3916    set blockspam(a = void 0) {
3917      s(a), _();
3918    },
3919    get challengeurl() {
3920      return u();
3921    },
3922    set challengeurl(a = void 0) {
3923      u(a), _();
3924    },
3925    get challengejson() {
3926      return f();
3927    },
3928    set challengejson(a = void 0) {
3929      f(a), _();
3930    },
3931    get credentials() {
3932      return d();
3933    },
3934    set credentials(a = void 0) {
3935      d(a), _();
3936    },
3937    get customfetch() {
3938      return p();
3939    },
3940    set customfetch(a = void 0) {
3941      p(a), _();
3942    },
3943    get debug() {
3944      return g();
3945    },
3946    set debug(a = !1) {
3947      g(a), _();
3948    },
3949    get delay() {
3950      return m();
3951    },
3952    set delay(a = 0) {
3953      m(a), _();
3954    },
3955    get disableautofocus() {
3956      return k();
3957    },
3958    set disableautofocus(a = !1) {
3959      k(a), _();
3960    },
3961    get refetchonexpire() {
3962      return N();
3963    },
3964    set refetchonexpire(a = !0) {
3965      N(a), _();
3966    },
3967    get disablerefetchonexpire() {
3968      return D();
3969    },
3970    set disablerefetchonexpire(a = !N) {
3971      D(a), _();
3972    },
3973    get expire() {
3974      return H();
3975    },
3976    set expire(a = void 0) {
3977      H(a), _();
3978    },
3979    get floating() {
3980      return E();
3981    },
3982    set floating(a = void 0) {
3983      E(a), _();
3984    },
3985    get floatinganchor() {
3986      return ee();
3987    },
3988    set floatinganchor(a = void 0) {
3989      ee(a), _();
3990    },
3991    get floatingoffset() {
3992      return Te();
3993    },
3994    set floatingoffset(a = void 0) {
3995      Te(a), _();
3996    },
3997    get floatingpersist() {
3998      return X();
3999    },
4000    set floatingpersist(a = !1) {
4001      X(a), _();
4002    },
4003    get hidefooter() {
4004      return O();
4005    },
4006    set hidefooter(a = !1) {
4007      O(a), _();
4008    },
4009    get hidelogo() {
4010      return se();
4011    },
4012    set hidelogo(a = !1) {
4013      se(a), _();
4014    },
4015    get id() {
4016      return Be();
4017    },
4018    set id(a = void 0) {
4019      Be(a), _();
4020    },
4021    get language() {
4022      return Bt();
4023    },
4024    set language(a = void 0) {
4025      Bt(a), _();
4026    },
4027    get name() {
4028      return Ue();
4029    },
4030    set name(a = "altcha") {
4031      Ue(a), _();
4032    },
4033    get maxnumber() {
4034      return Ge();
4035    },
4036    set maxnumber(a = 1e6) {
4037      Ge(a), _();
4038    },
4039    get mockerror() {
4040      return wt();
4041    },
4042    set mockerror(a = !1) {
4043      wt(a), _();
4044    },
4045    get obfuscated() {
4046      return $e();
4047    },
4048    set obfuscated(a = void 0) {
4049      $e(a), _();
4050    },
4051    get overlay() {
4052      return ve();
4053    },
4054    set overlay(a = void 0) {
4055      ve(a), _();
4056    },
4057    get overlaycontent() {
4058      return Ct();
4059    },
4060    set overlaycontent(a = void 0) {
4061      Ct(a), _();
4062    },
4063    get plugins() {
4064      return Ut();
4065    },
4066    set plugins(a = void 0) {
4067      Ut(a), _();
4068    },
4069    get sentinel() {
4070      return We();
4071    },
4072    set sentinel(a = void 0) {
4073      We(a), _();
4074    },
4075    get spamfilter() {
4076      return Ae();
4077    },
4078    set spamfilter(a = !1) {
4079      Ae(a), _();
4080    },
4081    get strings() {
4082      return st();
4083    },
4084    set strings(a = void 0) {
4085      st(a), _();
4086    },
4087    get test() {
4088      return de();
4089    },
4090    set test(a = !1) {
4091      de(a), _();
4092    },
4093    get verifyurl() {
4094      return te();
4095    },
4096    set verifyurl(a = void 0) {
4097      te(a), _();
4098    },
4099    get workers() {
4100      return ct();
4101    },
4102    set workers(a = Math.min(16, navigator.hardwareConcurrency || 8)) {
4103      ct(a), _();
4104    },
4105    get workerurl() {
4106      return Lt();
4107    },
4108    set workerurl(a = void 0) {
4109      Lt(a), _();
4110    }
4111  });
4112  return i(), kn;
4113}
4114To(["change", "keydown", "click"]);
4115customElements.define("altcha-widget", Go(
4116  Es,
4117  {
4118    blockspam: { type: "Boolean" },
4119    debug: { type: "Boolean" },
4120    delay: { type: "Number" },
4121    disableautofocus: { type: "Boolean" },
4122    disablerefetchonexpire: { type: "Boolean" },
4123    expire: { type: "Number" },
4124    floatingoffset: { type: "Number" },
4125    hidefooter: { type: "Boolean" },
4126    hidelogo: { type: "Boolean" },
4127    maxnumber: { type: "Number" },
4128    mockerror: { type: "Boolean" },
4129    refetchonexpire: { type: "Boolean" },
4130    test: { type: "Boolean" },
4131    workers: { type: "Number" },
4132    auto: {},
4133    challengeurl: {},
4134    challengejson: {},
4135    credentials: {},
4136    customfetch: {},
4137    floating: {},
4138    floatinganchor: {},
4139    floatingpersist: {},
4140    id: {},
4141    language: {},
4142    name: {},
4143    obfuscated: {},
4144    overlay: {},
4145    overlaycontent: {},
4146    plugins: {},
4147    sentinel: {},
4148    spamfilter: {},
4149    strings: {},
4150    verifyurl: {},
4151    workerurl: {}
4152  },
4153  ["default"],
4154  [
4155    "clarify",
4156    "configure",
4157    "getConfiguration",
4158    "getFloatingAnchor",
4159    "getPlugin",
4160    "getState",
4161    "hide",
4162    "repositionFloating",
4163    "reset",
4164    "setFloatingAnchor",
4165    "setState",
4166    "show",
4167    "verify"
4168  ],
4169  !1
4170));
4171const Ts = '@keyframes overlay-slidein{to{opacity:1;top:50%}}@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0}.altcha-main{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:0;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled,.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}.altcha-overlay{--altcha-color-base:#fff;--altcha-color-text:#000;animation:overlay-slidein .5s forwards;display:flex;flex-direction:column;gap:.5rem;left:50%;width:260px;opacity:0;position:fixed;top:45%;transform:translate(-50%,-50%)}.altcha-overlay-backdrop{background:rgba(0,0,0,.5);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99999999}.altcha-overlay-close-button{align-self:flex-end;background:0 0;border:0;padding:.25rem;cursor:pointer;color:currentColor;font-size:130%;line-height:1;opacity:.7}@media (max-height:450px){.altcha-overlay{top:10%!important;transform:translate(-50%,0)}}';
4172function Is(e, t = "__altcha-css") {
4173  if (!document.getElementById(t)) {
4174    const r = document.createElement("style");
4175    r.id = t, r.textContent = e, document.head.appendChild(r);
4176  }
4177}
4178globalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new es();
4179Is(Ts);
4180export {
4181  Es as Altcha
4182};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.