altcha 2.0.0-beta.9 → 2.0.1

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