react-ecosistema-unp 1.8.0-pre.11 → 1.8.0-pre.13
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.
|
@@ -0,0 +1,1749 @@
|
|
|
1
|
+
var We = Object.defineProperty;
|
|
2
|
+
var Pe = (e, n, t) => n in e ? We(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
|
|
3
|
+
var Y = (e, n, t) => Pe(e, typeof n != "symbol" ? n + "" : n, t);
|
|
4
|
+
var se = "5.0.1";
|
|
5
|
+
function _(e, n) {
|
|
6
|
+
return new Promise((t) => setTimeout(t, e, n));
|
|
7
|
+
}
|
|
8
|
+
function Me() {
|
|
9
|
+
return new Promise((e) => {
|
|
10
|
+
const n = new MessageChannel();
|
|
11
|
+
n.port1.onmessage = () => e(), n.port2.postMessage(null);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function Re(e, n = 1 / 0) {
|
|
15
|
+
const { requestIdleCallback: t } = window;
|
|
16
|
+
return t ? new Promise((o) => t.call(window, () => o(), { timeout: n })) : _(Math.min(e, n));
|
|
17
|
+
}
|
|
18
|
+
function ce(e) {
|
|
19
|
+
return !!e && typeof e.then == "function";
|
|
20
|
+
}
|
|
21
|
+
function O(e, n) {
|
|
22
|
+
try {
|
|
23
|
+
const t = e();
|
|
24
|
+
ce(t) ? t.then((o) => n(!0, o), (o) => n(!1, o)) : n(!0, t);
|
|
25
|
+
} catch (t) {
|
|
26
|
+
n(!1, t);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async function $(e, n, t = 16) {
|
|
30
|
+
const o = Array(e.length);
|
|
31
|
+
let s = Date.now();
|
|
32
|
+
for (let u = 0; u < e.length; ++u) {
|
|
33
|
+
o[u] = n(e[u], u);
|
|
34
|
+
const a = Date.now();
|
|
35
|
+
a >= s + t && (s = a, await Me());
|
|
36
|
+
}
|
|
37
|
+
return o;
|
|
38
|
+
}
|
|
39
|
+
function R(e) {
|
|
40
|
+
return e.then(void 0, () => {
|
|
41
|
+
}), e;
|
|
42
|
+
}
|
|
43
|
+
function Ie(e, n) {
|
|
44
|
+
for (let t = 0, o = e.length; t < o; ++t)
|
|
45
|
+
if (e[t] === n)
|
|
46
|
+
return !0;
|
|
47
|
+
return !1;
|
|
48
|
+
}
|
|
49
|
+
function Ze(e, n) {
|
|
50
|
+
return !Ie(e, n);
|
|
51
|
+
}
|
|
52
|
+
function z(e) {
|
|
53
|
+
return parseInt(e);
|
|
54
|
+
}
|
|
55
|
+
function k(e) {
|
|
56
|
+
return parseFloat(e);
|
|
57
|
+
}
|
|
58
|
+
function V(e, n) {
|
|
59
|
+
return typeof e == "number" && isNaN(e) ? n : e;
|
|
60
|
+
}
|
|
61
|
+
function v(e) {
|
|
62
|
+
return e.reduce((n, t) => n + (t ? 1 : 0), 0);
|
|
63
|
+
}
|
|
64
|
+
function ue(e, n = 1) {
|
|
65
|
+
if (Math.abs(n) >= 1)
|
|
66
|
+
return Math.round(e / n) * n;
|
|
67
|
+
{
|
|
68
|
+
const t = 1 / n;
|
|
69
|
+
return Math.round(e * t) / t;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function Ge(e) {
|
|
73
|
+
var n, t;
|
|
74
|
+
const o = `Unexpected syntax '${e}'`, s = /^\s*([a-z-]*)(.*)$/i.exec(e), u = s[1] || void 0, a = {}, c = /([.:#][\w-]+|\[.+?\])/gi, l = (d, i) => {
|
|
75
|
+
a[d] = a[d] || [], a[d].push(i);
|
|
76
|
+
};
|
|
77
|
+
for (; ; ) {
|
|
78
|
+
const d = c.exec(s[2]);
|
|
79
|
+
if (!d)
|
|
80
|
+
break;
|
|
81
|
+
const i = d[0];
|
|
82
|
+
switch (i[0]) {
|
|
83
|
+
case ".":
|
|
84
|
+
l("class", i.slice(1));
|
|
85
|
+
break;
|
|
86
|
+
case "#":
|
|
87
|
+
l("id", i.slice(1));
|
|
88
|
+
break;
|
|
89
|
+
case "[": {
|
|
90
|
+
const r = /^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(i);
|
|
91
|
+
if (r)
|
|
92
|
+
l(r[1], (t = (n = r[4]) !== null && n !== void 0 ? n : r[5]) !== null && t !== void 0 ? t : "");
|
|
93
|
+
else
|
|
94
|
+
throw new Error(o);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
default:
|
|
98
|
+
throw new Error(o);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return [u, a];
|
|
102
|
+
}
|
|
103
|
+
function Te(e) {
|
|
104
|
+
const n = new Uint8Array(e.length);
|
|
105
|
+
for (let t = 0; t < e.length; t++) {
|
|
106
|
+
const o = e.charCodeAt(t);
|
|
107
|
+
if (o > 127)
|
|
108
|
+
return new TextEncoder().encode(e);
|
|
109
|
+
n[t] = o;
|
|
110
|
+
}
|
|
111
|
+
return n;
|
|
112
|
+
}
|
|
113
|
+
function F(e, n) {
|
|
114
|
+
const t = e[0] >>> 16, o = e[0] & 65535, s = e[1] >>> 16, u = e[1] & 65535, a = n[0] >>> 16, c = n[0] & 65535, l = n[1] >>> 16, d = n[1] & 65535;
|
|
115
|
+
let i = 0, r = 0, p = 0, f = 0;
|
|
116
|
+
f += u + d, p += f >>> 16, f &= 65535, p += s + l, r += p >>> 16, p &= 65535, r += o + c, i += r >>> 16, r &= 65535, i += t + a, i &= 65535, e[0] = i << 16 | r, e[1] = p << 16 | f;
|
|
117
|
+
}
|
|
118
|
+
function L(e, n) {
|
|
119
|
+
const t = e[0] >>> 16, o = e[0] & 65535, s = e[1] >>> 16, u = e[1] & 65535, a = n[0] >>> 16, c = n[0] & 65535, l = n[1] >>> 16, d = n[1] & 65535;
|
|
120
|
+
let i = 0, r = 0, p = 0, f = 0;
|
|
121
|
+
f += u * d, p += f >>> 16, f &= 65535, p += s * d, r += p >>> 16, p &= 65535, p += u * l, r += p >>> 16, p &= 65535, r += o * d, i += r >>> 16, r &= 65535, r += s * l, i += r >>> 16, r &= 65535, r += u * c, i += r >>> 16, r &= 65535, i += t * d + o * l + s * c + u * a, i &= 65535, e[0] = i << 16 | r, e[1] = p << 16 | f;
|
|
122
|
+
}
|
|
123
|
+
function C(e, n) {
|
|
124
|
+
const t = e[0];
|
|
125
|
+
n %= 64, n === 32 ? (e[0] = e[1], e[1] = t) : n < 32 ? (e[0] = t << n | e[1] >>> 32 - n, e[1] = e[1] << n | t >>> 32 - n) : (n -= 32, e[0] = e[1] << n | t >>> 32 - n, e[1] = t << n | e[1] >>> 32 - n);
|
|
126
|
+
}
|
|
127
|
+
function S(e, n) {
|
|
128
|
+
n %= 64, n !== 0 && (n < 32 ? (e[0] = e[1] >>> 32 - n, e[1] = e[1] << n) : (e[0] = e[1] << n - 32, e[1] = 0));
|
|
129
|
+
}
|
|
130
|
+
function y(e, n) {
|
|
131
|
+
e[0] ^= n[0], e[1] ^= n[1];
|
|
132
|
+
}
|
|
133
|
+
const Ae = [4283543511, 3981806797], Ee = [3301882366, 444984403];
|
|
134
|
+
function U(e) {
|
|
135
|
+
const n = [0, e[0] >>> 1];
|
|
136
|
+
y(e, n), L(e, Ae), n[1] = e[0] >>> 1, y(e, n), L(e, Ee), n[1] = e[0] >>> 1, y(e, n);
|
|
137
|
+
}
|
|
138
|
+
const T = [2277735313, 289559509], A = [1291169091, 658871167], Q = [0, 5], _e = [0, 1390208809], Ye = [0, 944331445];
|
|
139
|
+
function Ne(e, n) {
|
|
140
|
+
const t = Te(e);
|
|
141
|
+
n = n || 0;
|
|
142
|
+
const o = [0, t.length], s = o[1] % 16, u = o[1] - s, a = [0, n], c = [0, n], l = [0, 0], d = [0, 0];
|
|
143
|
+
let i;
|
|
144
|
+
for (i = 0; i < u; i = i + 16)
|
|
145
|
+
l[0] = t[i + 4] | t[i + 5] << 8 | t[i + 6] << 16 | t[i + 7] << 24, l[1] = t[i] | t[i + 1] << 8 | t[i + 2] << 16 | t[i + 3] << 24, d[0] = t[i + 12] | t[i + 13] << 8 | t[i + 14] << 16 | t[i + 15] << 24, d[1] = t[i + 8] | t[i + 9] << 8 | t[i + 10] << 16 | t[i + 11] << 24, L(l, T), C(l, 31), L(l, A), y(a, l), C(a, 27), F(a, c), L(a, Q), F(a, _e), L(d, A), C(d, 33), L(d, T), y(c, d), C(c, 31), F(c, a), L(c, Q), F(c, Ye);
|
|
146
|
+
l[0] = 0, l[1] = 0, d[0] = 0, d[1] = 0;
|
|
147
|
+
const r = [0, 0];
|
|
148
|
+
switch (s) {
|
|
149
|
+
case 15:
|
|
150
|
+
r[1] = t[i + 14], S(r, 48), y(d, r);
|
|
151
|
+
// fallthrough
|
|
152
|
+
case 14:
|
|
153
|
+
r[1] = t[i + 13], S(r, 40), y(d, r);
|
|
154
|
+
// fallthrough
|
|
155
|
+
case 13:
|
|
156
|
+
r[1] = t[i + 12], S(r, 32), y(d, r);
|
|
157
|
+
// fallthrough
|
|
158
|
+
case 12:
|
|
159
|
+
r[1] = t[i + 11], S(r, 24), y(d, r);
|
|
160
|
+
// fallthrough
|
|
161
|
+
case 11:
|
|
162
|
+
r[1] = t[i + 10], S(r, 16), y(d, r);
|
|
163
|
+
// fallthrough
|
|
164
|
+
case 10:
|
|
165
|
+
r[1] = t[i + 9], S(r, 8), y(d, r);
|
|
166
|
+
// fallthrough
|
|
167
|
+
case 9:
|
|
168
|
+
r[1] = t[i + 8], y(d, r), L(d, A), C(d, 33), L(d, T), y(c, d);
|
|
169
|
+
// fallthrough
|
|
170
|
+
case 8:
|
|
171
|
+
r[1] = t[i + 7], S(r, 56), y(l, r);
|
|
172
|
+
// fallthrough
|
|
173
|
+
case 7:
|
|
174
|
+
r[1] = t[i + 6], S(r, 48), y(l, r);
|
|
175
|
+
// fallthrough
|
|
176
|
+
case 6:
|
|
177
|
+
r[1] = t[i + 5], S(r, 40), y(l, r);
|
|
178
|
+
// fallthrough
|
|
179
|
+
case 5:
|
|
180
|
+
r[1] = t[i + 4], S(r, 32), y(l, r);
|
|
181
|
+
// fallthrough
|
|
182
|
+
case 4:
|
|
183
|
+
r[1] = t[i + 3], S(r, 24), y(l, r);
|
|
184
|
+
// fallthrough
|
|
185
|
+
case 3:
|
|
186
|
+
r[1] = t[i + 2], S(r, 16), y(l, r);
|
|
187
|
+
// fallthrough
|
|
188
|
+
case 2:
|
|
189
|
+
r[1] = t[i + 1], S(r, 8), y(l, r);
|
|
190
|
+
// fallthrough
|
|
191
|
+
case 1:
|
|
192
|
+
r[1] = t[i], y(l, r), L(l, T), C(l, 31), L(l, A), y(a, l);
|
|
193
|
+
}
|
|
194
|
+
return y(a, o), y(c, o), F(a, c), F(c, a), U(a), U(c), F(a, c), F(c, a), ("00000000" + (a[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (a[1] >>> 0).toString(16)).slice(-8) + ("00000000" + (c[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (c[1] >>> 0).toString(16)).slice(-8);
|
|
195
|
+
}
|
|
196
|
+
function Xe(e) {
|
|
197
|
+
var n;
|
|
198
|
+
return {
|
|
199
|
+
name: e.name,
|
|
200
|
+
message: e.message,
|
|
201
|
+
stack: (n = e.stack) === null || n === void 0 ? void 0 : n.split(`
|
|
202
|
+
`),
|
|
203
|
+
// The fields are not enumerable, so TS is wrong saying that they will be overridden
|
|
204
|
+
...e
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
function je(e) {
|
|
208
|
+
return /^function\s.*?\{\s*\[native code]\s*}$/.test(String(e));
|
|
209
|
+
}
|
|
210
|
+
function He(e) {
|
|
211
|
+
return typeof e != "function";
|
|
212
|
+
}
|
|
213
|
+
function De(e, n) {
|
|
214
|
+
const t = R(new Promise((o) => {
|
|
215
|
+
const s = Date.now();
|
|
216
|
+
O(e.bind(null, n), (...u) => {
|
|
217
|
+
const a = Date.now() - s;
|
|
218
|
+
if (!u[0])
|
|
219
|
+
return o(() => ({ error: u[1], duration: a }));
|
|
220
|
+
const c = u[1];
|
|
221
|
+
if (He(c))
|
|
222
|
+
return o(() => ({ value: c, duration: a }));
|
|
223
|
+
o(() => new Promise((l) => {
|
|
224
|
+
const d = Date.now();
|
|
225
|
+
O(c, (...i) => {
|
|
226
|
+
const r = a + Date.now() - d;
|
|
227
|
+
if (!i[0])
|
|
228
|
+
return l({ error: i[1], duration: r });
|
|
229
|
+
l({ value: i[1], duration: r });
|
|
230
|
+
});
|
|
231
|
+
}));
|
|
232
|
+
});
|
|
233
|
+
}));
|
|
234
|
+
return function() {
|
|
235
|
+
return t.then((s) => s());
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
function ze(e, n, t, o) {
|
|
239
|
+
const s = Object.keys(e).filter((a) => Ze(t, a)), u = R($(s, (a) => De(e[a], n), o));
|
|
240
|
+
return async function() {
|
|
241
|
+
const c = await u, l = await $(c, (r) => R(r()), o), d = await Promise.all(l), i = {};
|
|
242
|
+
for (let r = 0; r < s.length; ++r)
|
|
243
|
+
i[s[r]] = d[r];
|
|
244
|
+
return i;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
function le() {
|
|
248
|
+
const e = window, n = navigator;
|
|
249
|
+
return v([
|
|
250
|
+
"MSCSSMatrix" in e,
|
|
251
|
+
"msSetImmediate" in e,
|
|
252
|
+
"msIndexedDB" in e,
|
|
253
|
+
"msMaxTouchPoints" in n,
|
|
254
|
+
"msPointerEnabled" in n
|
|
255
|
+
]) >= 4;
|
|
256
|
+
}
|
|
257
|
+
function Be() {
|
|
258
|
+
const e = window, n = navigator;
|
|
259
|
+
return v(["msWriteProfilerMark" in e, "MSStream" in e, "msLaunchUri" in n, "msSaveBlob" in n]) >= 3 && !le();
|
|
260
|
+
}
|
|
261
|
+
function I() {
|
|
262
|
+
const e = window, n = navigator;
|
|
263
|
+
return v([
|
|
264
|
+
"webkitPersistentStorage" in n,
|
|
265
|
+
"webkitTemporaryStorage" in n,
|
|
266
|
+
(n.vendor || "").indexOf("Google") === 0,
|
|
267
|
+
"webkitResolveLocalFileSystemURL" in e,
|
|
268
|
+
"BatteryManager" in e,
|
|
269
|
+
"webkitMediaStream" in e,
|
|
270
|
+
"webkitSpeechGrammar" in e
|
|
271
|
+
]) >= 5;
|
|
272
|
+
}
|
|
273
|
+
function x() {
|
|
274
|
+
const e = window, n = navigator;
|
|
275
|
+
return v([
|
|
276
|
+
"ApplePayError" in e,
|
|
277
|
+
"CSSPrimitiveValue" in e,
|
|
278
|
+
"Counter" in e,
|
|
279
|
+
n.vendor.indexOf("Apple") === 0,
|
|
280
|
+
"RGBColor" in e,
|
|
281
|
+
"WebKitMediaKeys" in e
|
|
282
|
+
]) >= 4;
|
|
283
|
+
}
|
|
284
|
+
function B() {
|
|
285
|
+
const e = window, { HTMLElement: n, Document: t } = e;
|
|
286
|
+
return v([
|
|
287
|
+
"safari" in e,
|
|
288
|
+
!("ongestureend" in e),
|
|
289
|
+
!("TouchEvent" in e),
|
|
290
|
+
!("orientation" in e),
|
|
291
|
+
n && !("autocapitalize" in n.prototype),
|
|
292
|
+
t && "pointerLockElement" in t.prototype
|
|
293
|
+
]) >= 4;
|
|
294
|
+
}
|
|
295
|
+
function Z() {
|
|
296
|
+
const e = window;
|
|
297
|
+
return (
|
|
298
|
+
// Filters-out Chrome, Yandex, DuckDuckGo (macOS and iOS), Edge
|
|
299
|
+
je(e.print) && // Doesn't work in Safari < 15.4
|
|
300
|
+
String(e.browser) === "[object WebPageNamespace]"
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
function de() {
|
|
304
|
+
var e, n;
|
|
305
|
+
const t = window;
|
|
306
|
+
return v([
|
|
307
|
+
"buildID" in navigator,
|
|
308
|
+
"MozAppearance" in ((n = (e = document.documentElement) === null || e === void 0 ? void 0 : e.style) !== null && n !== void 0 ? n : {}),
|
|
309
|
+
"onmozfullscreenchange" in t,
|
|
310
|
+
"mozInnerScreenX" in t,
|
|
311
|
+
"CSSMozDocumentRule" in t,
|
|
312
|
+
"CanvasCaptureMediaStream" in t
|
|
313
|
+
]) >= 4;
|
|
314
|
+
}
|
|
315
|
+
function Je() {
|
|
316
|
+
const e = window;
|
|
317
|
+
return v([
|
|
318
|
+
!("MediaSettingsRange" in e),
|
|
319
|
+
"RTCEncodedAudioFrame" in e,
|
|
320
|
+
"" + e.Intl == "[object Intl]",
|
|
321
|
+
"" + e.Reflect == "[object Reflect]"
|
|
322
|
+
]) >= 3;
|
|
323
|
+
}
|
|
324
|
+
function Oe() {
|
|
325
|
+
const e = window, { URLPattern: n } = e;
|
|
326
|
+
return v([
|
|
327
|
+
"union" in Set.prototype,
|
|
328
|
+
"Iterator" in e,
|
|
329
|
+
n && "hasRegExpGroups" in n.prototype,
|
|
330
|
+
"RGB8" in WebGLRenderingContext.prototype
|
|
331
|
+
]) >= 3;
|
|
332
|
+
}
|
|
333
|
+
function $e() {
|
|
334
|
+
const e = window;
|
|
335
|
+
return v([
|
|
336
|
+
"DOMRectList" in e,
|
|
337
|
+
"RTCPeerConnectionIceEvent" in e,
|
|
338
|
+
"SVGGeometryElement" in e,
|
|
339
|
+
"ontransitioncancel" in e
|
|
340
|
+
]) >= 3;
|
|
341
|
+
}
|
|
342
|
+
function G() {
|
|
343
|
+
const e = window, n = navigator, { CSS: t, HTMLButtonElement: o } = e;
|
|
344
|
+
return v([
|
|
345
|
+
!("getStorageUpdates" in n),
|
|
346
|
+
o && "popover" in o.prototype,
|
|
347
|
+
"CSSCounterStyleRule" in e,
|
|
348
|
+
t.supports("font-size-adjust: ex-height 0.5"),
|
|
349
|
+
t.supports("text-transform: full-width")
|
|
350
|
+
]) >= 4;
|
|
351
|
+
}
|
|
352
|
+
function Ue() {
|
|
353
|
+
if (navigator.platform === "iPad")
|
|
354
|
+
return !0;
|
|
355
|
+
const e = screen, n = e.width / e.height;
|
|
356
|
+
return v([
|
|
357
|
+
// Since iOS 13. Doesn't work in Chrome on iPadOS <15, but works in desktop mode.
|
|
358
|
+
"MediaSource" in window,
|
|
359
|
+
// Since iOS 12. Doesn't work in Chrome on iPadOS.
|
|
360
|
+
!!Element.prototype.webkitRequestFullscreen,
|
|
361
|
+
// iPhone 4S that runs iOS 9 matches this, but it is not supported
|
|
362
|
+
// Doesn't work in incognito mode of Safari ≥17 with split screen because of tracking prevention
|
|
363
|
+
n > 0.65 && n < 1.53
|
|
364
|
+
]) >= 2;
|
|
365
|
+
}
|
|
366
|
+
function Qe() {
|
|
367
|
+
const e = document;
|
|
368
|
+
return e.fullscreenElement || e.msFullscreenElement || e.mozFullScreenElement || e.webkitFullscreenElement || null;
|
|
369
|
+
}
|
|
370
|
+
function Ke() {
|
|
371
|
+
const e = document;
|
|
372
|
+
return (e.exitFullscreen || e.msExitFullscreen || e.mozCancelFullScreen || e.webkitExitFullscreen).call(e);
|
|
373
|
+
}
|
|
374
|
+
function J() {
|
|
375
|
+
const e = I(), n = de(), t = window, o = navigator, s = "connection";
|
|
376
|
+
return e ? v([
|
|
377
|
+
!("SharedWorker" in t),
|
|
378
|
+
// `typechange` is deprecated, but it's still present on Android (tested on Chrome Mobile 117)
|
|
379
|
+
// Removal proposal https://bugs.chromium.org/p/chromium/issues/detail?id=699892
|
|
380
|
+
// Note: this expression returns true on ChromeOS, so additional detectors are required to avoid false-positives
|
|
381
|
+
o[s] && "ontypechange" in o[s],
|
|
382
|
+
!("sinkId" in new Audio())
|
|
383
|
+
]) >= 2 : n ? v(["onorientationchange" in t, "orientation" in t, /android/i.test(o.appVersion)]) >= 2 : !1;
|
|
384
|
+
}
|
|
385
|
+
function qe() {
|
|
386
|
+
const e = navigator, n = window, t = Audio.prototype, { visualViewport: o } = n;
|
|
387
|
+
return v([
|
|
388
|
+
"srLatency" in t,
|
|
389
|
+
"srChannelCount" in t,
|
|
390
|
+
"devicePosture" in e,
|
|
391
|
+
o && "segments" in o,
|
|
392
|
+
"getTextInformation" in Image.prototype
|
|
393
|
+
// Not available in Samsung Internet 21
|
|
394
|
+
]) >= 3;
|
|
395
|
+
}
|
|
396
|
+
function en() {
|
|
397
|
+
return on() ? -4 : nn();
|
|
398
|
+
}
|
|
399
|
+
function nn() {
|
|
400
|
+
const e = window, n = e.OfflineAudioContext || e.webkitOfflineAudioContext;
|
|
401
|
+
if (!n)
|
|
402
|
+
return -2;
|
|
403
|
+
if (tn())
|
|
404
|
+
return -1;
|
|
405
|
+
const t = 4500, o = 5e3, s = new n(1, o, 44100), u = s.createOscillator();
|
|
406
|
+
u.type = "triangle", u.frequency.value = 1e4;
|
|
407
|
+
const a = s.createDynamicsCompressor();
|
|
408
|
+
a.threshold.value = -50, a.knee.value = 40, a.ratio.value = 12, a.attack.value = 0, a.release.value = 0.25, u.connect(a), a.connect(s.destination), u.start(0);
|
|
409
|
+
const [c, l] = rn(s), d = R(c.then((i) => an(i.getChannelData(0).subarray(t)), (i) => {
|
|
410
|
+
if (i.name === "timeout" || i.name === "suspended")
|
|
411
|
+
return -3;
|
|
412
|
+
throw i;
|
|
413
|
+
}));
|
|
414
|
+
return () => (l(), d);
|
|
415
|
+
}
|
|
416
|
+
function tn() {
|
|
417
|
+
return x() && !B() && !$e();
|
|
418
|
+
}
|
|
419
|
+
function on() {
|
|
420
|
+
return (
|
|
421
|
+
// Safari ≥17
|
|
422
|
+
x() && G() && Z() || // Samsung Internet ≥26
|
|
423
|
+
I() && qe() && Oe()
|
|
424
|
+
);
|
|
425
|
+
}
|
|
426
|
+
function rn(e) {
|
|
427
|
+
let u = () => {
|
|
428
|
+
};
|
|
429
|
+
return [new Promise((c, l) => {
|
|
430
|
+
let d = !1, i = 0, r = 0;
|
|
431
|
+
e.oncomplete = (g) => c(g.renderedBuffer);
|
|
432
|
+
const p = () => {
|
|
433
|
+
setTimeout(() => l(K(
|
|
434
|
+
"timeout"
|
|
435
|
+
/* InnerErrorName.Timeout */
|
|
436
|
+
)), Math.min(500, r + 5e3 - Date.now()));
|
|
437
|
+
}, f = () => {
|
|
438
|
+
try {
|
|
439
|
+
const g = e.startRendering();
|
|
440
|
+
switch (ce(g) && R(g), e.state) {
|
|
441
|
+
case "running":
|
|
442
|
+
r = Date.now(), d && p();
|
|
443
|
+
break;
|
|
444
|
+
// Sometimes the audio context doesn't start after calling `startRendering` (in addition to the cases where
|
|
445
|
+
// audio context doesn't start at all). A known case is starting an audio context when the browser tab is in
|
|
446
|
+
// background on iPhone. Retries usually help in this case.
|
|
447
|
+
case "suspended":
|
|
448
|
+
document.hidden || i++, d && i >= 3 ? l(K(
|
|
449
|
+
"suspended"
|
|
450
|
+
/* InnerErrorName.Suspended */
|
|
451
|
+
)) : setTimeout(f, 500);
|
|
452
|
+
break;
|
|
453
|
+
}
|
|
454
|
+
} catch (g) {
|
|
455
|
+
l(g);
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
f(), u = () => {
|
|
459
|
+
d || (d = !0, r > 0 && p());
|
|
460
|
+
};
|
|
461
|
+
}), u];
|
|
462
|
+
}
|
|
463
|
+
function an(e) {
|
|
464
|
+
let n = 0;
|
|
465
|
+
for (let t = 0; t < e.length; ++t)
|
|
466
|
+
n += Math.abs(e[t]);
|
|
467
|
+
return n;
|
|
468
|
+
}
|
|
469
|
+
function K(e) {
|
|
470
|
+
const n = new Error(e);
|
|
471
|
+
return n.name = e, n;
|
|
472
|
+
}
|
|
473
|
+
async function fe(e, n, t = 50) {
|
|
474
|
+
var o, s, u;
|
|
475
|
+
const a = document;
|
|
476
|
+
for (; !a.body; )
|
|
477
|
+
await _(t);
|
|
478
|
+
const c = a.createElement("iframe");
|
|
479
|
+
try {
|
|
480
|
+
for (await new Promise((l, d) => {
|
|
481
|
+
let i = !1;
|
|
482
|
+
const r = () => {
|
|
483
|
+
i = !0, l();
|
|
484
|
+
}, p = (b) => {
|
|
485
|
+
i = !0, d(b);
|
|
486
|
+
};
|
|
487
|
+
c.onload = r, c.onerror = p;
|
|
488
|
+
const { style: f } = c;
|
|
489
|
+
f.setProperty("display", "block", "important"), f.position = "absolute", f.top = "0", f.left = "0", f.visibility = "hidden", n && "srcdoc" in c ? c.srcdoc = n : c.src = "about:blank", a.body.appendChild(c);
|
|
490
|
+
const g = () => {
|
|
491
|
+
var b, M;
|
|
492
|
+
i || (((M = (b = c.contentWindow) === null || b === void 0 ? void 0 : b.document) === null || M === void 0 ? void 0 : M.readyState) === "complete" ? r() : setTimeout(g, 10));
|
|
493
|
+
};
|
|
494
|
+
g();
|
|
495
|
+
}); !(!((s = (o = c.contentWindow) === null || o === void 0 ? void 0 : o.document) === null || s === void 0) && s.body); )
|
|
496
|
+
await _(t);
|
|
497
|
+
return await e(c, c.contentWindow);
|
|
498
|
+
} finally {
|
|
499
|
+
(u = c.parentNode) === null || u === void 0 || u.removeChild(c);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
function sn(e) {
|
|
503
|
+
const [n, t] = Ge(e), o = document.createElement(n ?? "div");
|
|
504
|
+
for (const s of Object.keys(t)) {
|
|
505
|
+
const u = t[s].join(" ");
|
|
506
|
+
s === "style" ? cn(o.style, u) : o.setAttribute(s, u);
|
|
507
|
+
}
|
|
508
|
+
return o;
|
|
509
|
+
}
|
|
510
|
+
function cn(e, n) {
|
|
511
|
+
for (const t of n.split(";")) {
|
|
512
|
+
const o = /^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(t);
|
|
513
|
+
if (o) {
|
|
514
|
+
const [, s, u, , a] = o;
|
|
515
|
+
e.setProperty(s, u, a || "");
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
function un() {
|
|
520
|
+
let e = window;
|
|
521
|
+
for (; ; ) {
|
|
522
|
+
const n = e.parent;
|
|
523
|
+
if (!n || n === e)
|
|
524
|
+
return !1;
|
|
525
|
+
try {
|
|
526
|
+
if (n.location.origin !== e.location.origin)
|
|
527
|
+
return !0;
|
|
528
|
+
} catch (t) {
|
|
529
|
+
if (t instanceof Error && t.name === "SecurityError")
|
|
530
|
+
return !0;
|
|
531
|
+
throw t;
|
|
532
|
+
}
|
|
533
|
+
e = n;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
const ln = "mmMwWLliI0O&1", dn = "48px", W = ["monospace", "sans-serif", "serif"], q = [
|
|
537
|
+
// This is android-specific font from "Roboto" family
|
|
538
|
+
"sans-serif-thin",
|
|
539
|
+
"ARNO PRO",
|
|
540
|
+
"Agency FB",
|
|
541
|
+
"Arabic Typesetting",
|
|
542
|
+
"Arial Unicode MS",
|
|
543
|
+
"AvantGarde Bk BT",
|
|
544
|
+
"BankGothic Md BT",
|
|
545
|
+
"Batang",
|
|
546
|
+
"Bitstream Vera Sans Mono",
|
|
547
|
+
"Calibri",
|
|
548
|
+
"Century",
|
|
549
|
+
"Century Gothic",
|
|
550
|
+
"Clarendon",
|
|
551
|
+
"EUROSTILE",
|
|
552
|
+
"Franklin Gothic",
|
|
553
|
+
"Futura Bk BT",
|
|
554
|
+
"Futura Md BT",
|
|
555
|
+
"GOTHAM",
|
|
556
|
+
"Gill Sans",
|
|
557
|
+
"HELV",
|
|
558
|
+
"Haettenschweiler",
|
|
559
|
+
"Helvetica Neue",
|
|
560
|
+
"Humanst521 BT",
|
|
561
|
+
"Leelawadee",
|
|
562
|
+
"Letter Gothic",
|
|
563
|
+
"Levenim MT",
|
|
564
|
+
"Lucida Bright",
|
|
565
|
+
"Lucida Sans",
|
|
566
|
+
"Menlo",
|
|
567
|
+
"MS Mincho",
|
|
568
|
+
"MS Outlook",
|
|
569
|
+
"MS Reference Specialty",
|
|
570
|
+
"MS UI Gothic",
|
|
571
|
+
"MT Extra",
|
|
572
|
+
"MYRIAD PRO",
|
|
573
|
+
"Marlett",
|
|
574
|
+
"Meiryo UI",
|
|
575
|
+
"Microsoft Uighur",
|
|
576
|
+
"Minion Pro",
|
|
577
|
+
"Monotype Corsiva",
|
|
578
|
+
"PMingLiU",
|
|
579
|
+
"Pristina",
|
|
580
|
+
"SCRIPTINA",
|
|
581
|
+
"Segoe UI Light",
|
|
582
|
+
"Serifa",
|
|
583
|
+
"SimHei",
|
|
584
|
+
"Small Fonts",
|
|
585
|
+
"Staccato222 BT",
|
|
586
|
+
"TRAJAN PRO",
|
|
587
|
+
"Univers CE 55 Medium",
|
|
588
|
+
"Vrinda",
|
|
589
|
+
"ZWAdobeF"
|
|
590
|
+
];
|
|
591
|
+
function fn() {
|
|
592
|
+
return fe(async (e, { document: n }) => {
|
|
593
|
+
const t = n.body;
|
|
594
|
+
t.style.fontSize = dn;
|
|
595
|
+
const o = n.createElement("div");
|
|
596
|
+
o.style.setProperty("visibility", "hidden", "important");
|
|
597
|
+
const s = {}, u = {}, a = (f) => {
|
|
598
|
+
const g = n.createElement("span"), { style: b } = g;
|
|
599
|
+
return b.position = "absolute", b.top = "0", b.left = "0", b.fontFamily = f, g.textContent = ln, o.appendChild(g), g;
|
|
600
|
+
}, c = (f, g) => a(`'${f}',${g}`), l = () => W.map(a), d = () => {
|
|
601
|
+
const f = {};
|
|
602
|
+
for (const g of q)
|
|
603
|
+
f[g] = W.map((b) => c(g, b));
|
|
604
|
+
return f;
|
|
605
|
+
}, i = (f) => W.some((g, b) => f[b].offsetWidth !== s[g] || f[b].offsetHeight !== u[g]), r = l(), p = d();
|
|
606
|
+
t.appendChild(o);
|
|
607
|
+
for (let f = 0; f < W.length; f++)
|
|
608
|
+
s[W[f]] = r[f].offsetWidth, u[W[f]] = r[f].offsetHeight;
|
|
609
|
+
return q.filter((f) => i(p[f]));
|
|
610
|
+
});
|
|
611
|
+
}
|
|
612
|
+
function mn() {
|
|
613
|
+
const e = navigator.plugins;
|
|
614
|
+
if (!e)
|
|
615
|
+
return;
|
|
616
|
+
const n = [];
|
|
617
|
+
for (let t = 0; t < e.length; ++t) {
|
|
618
|
+
const o = e[t];
|
|
619
|
+
if (!o)
|
|
620
|
+
continue;
|
|
621
|
+
const s = [];
|
|
622
|
+
for (let u = 0; u < o.length; ++u) {
|
|
623
|
+
const a = o[u];
|
|
624
|
+
s.push({
|
|
625
|
+
type: a.type,
|
|
626
|
+
suffixes: a.suffixes
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
n.push({
|
|
630
|
+
name: o.name,
|
|
631
|
+
description: o.description,
|
|
632
|
+
mimeTypes: s
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
return n;
|
|
636
|
+
}
|
|
637
|
+
function pn() {
|
|
638
|
+
return hn(Ln());
|
|
639
|
+
}
|
|
640
|
+
function hn(e) {
|
|
641
|
+
let n = !1, t, o;
|
|
642
|
+
const [s, u] = gn();
|
|
643
|
+
return yn(s, u) ? (n = bn(u), e ? t = o = "skipped" : [t, o] = wn(s, u)) : t = o = "unsupported", { winding: n, geometry: t, text: o };
|
|
644
|
+
}
|
|
645
|
+
function gn() {
|
|
646
|
+
const e = document.createElement("canvas");
|
|
647
|
+
return e.width = 1, e.height = 1, [e, e.getContext("2d")];
|
|
648
|
+
}
|
|
649
|
+
function yn(e, n) {
|
|
650
|
+
return !!(n && e.toDataURL);
|
|
651
|
+
}
|
|
652
|
+
function bn(e) {
|
|
653
|
+
return e.rect(0, 0, 10, 10), e.rect(2, 2, 6, 6), !e.isPointInPath(5, 5, "evenodd");
|
|
654
|
+
}
|
|
655
|
+
function wn(e, n) {
|
|
656
|
+
vn(e, n);
|
|
657
|
+
const t = N(e), o = N(e);
|
|
658
|
+
return t !== o ? [
|
|
659
|
+
"unstable",
|
|
660
|
+
"unstable"
|
|
661
|
+
/* ImageStatus.Unstable */
|
|
662
|
+
] : (Sn(e, n), [N(e), t]);
|
|
663
|
+
}
|
|
664
|
+
function vn(e, n) {
|
|
665
|
+
e.width = 240, e.height = 60, n.textBaseline = "alphabetic", n.fillStyle = "#f60", n.fillRect(100, 1, 62, 20), n.fillStyle = "#069", n.font = '11pt "Times New Roman"';
|
|
666
|
+
const t = "Cwm fjordbank gly 😃";
|
|
667
|
+
n.fillText(t, 2, 15), n.fillStyle = "rgba(102, 204, 0, 0.2)", n.font = "18pt Arial", n.fillText(t, 4, 45);
|
|
668
|
+
}
|
|
669
|
+
function Sn(e, n) {
|
|
670
|
+
e.width = 122, e.height = 110, n.globalCompositeOperation = "multiply";
|
|
671
|
+
for (const [t, o, s] of [
|
|
672
|
+
["#f2f", 40, 40],
|
|
673
|
+
["#2ff", 80, 40],
|
|
674
|
+
["#ff2", 60, 80]
|
|
675
|
+
])
|
|
676
|
+
n.fillStyle = t, n.beginPath(), n.arc(o, s, 40, 0, Math.PI * 2, !0), n.closePath(), n.fill();
|
|
677
|
+
n.fillStyle = "#f9c", n.arc(60, 60, 60, 0, Math.PI * 2, !0), n.arc(60, 60, 20, 0, Math.PI * 2, !0), n.fill("evenodd");
|
|
678
|
+
}
|
|
679
|
+
function N(e) {
|
|
680
|
+
return e.toDataURL();
|
|
681
|
+
}
|
|
682
|
+
function Ln() {
|
|
683
|
+
return x() && G() && Z();
|
|
684
|
+
}
|
|
685
|
+
function kn() {
|
|
686
|
+
const e = navigator;
|
|
687
|
+
let n = 0, t;
|
|
688
|
+
e.maxTouchPoints !== void 0 ? n = z(e.maxTouchPoints) : e.msMaxTouchPoints !== void 0 && (n = e.msMaxTouchPoints);
|
|
689
|
+
try {
|
|
690
|
+
document.createEvent("TouchEvent"), t = !0;
|
|
691
|
+
} catch {
|
|
692
|
+
t = !1;
|
|
693
|
+
}
|
|
694
|
+
const o = "ontouchstart" in window;
|
|
695
|
+
return {
|
|
696
|
+
maxTouchPoints: n,
|
|
697
|
+
touchEvent: t,
|
|
698
|
+
touchStart: o
|
|
699
|
+
};
|
|
700
|
+
}
|
|
701
|
+
function xn() {
|
|
702
|
+
return navigator.oscpu;
|
|
703
|
+
}
|
|
704
|
+
function Vn() {
|
|
705
|
+
const e = navigator, n = [], t = e.language || e.userLanguage || e.browserLanguage || e.systemLanguage;
|
|
706
|
+
if (t !== void 0 && n.push([t]), Array.isArray(e.languages))
|
|
707
|
+
I() && Je() || n.push(e.languages);
|
|
708
|
+
else if (typeof e.languages == "string") {
|
|
709
|
+
const o = e.languages;
|
|
710
|
+
o && n.push(o.split(","));
|
|
711
|
+
}
|
|
712
|
+
return n;
|
|
713
|
+
}
|
|
714
|
+
function Fn() {
|
|
715
|
+
return window.screen.colorDepth;
|
|
716
|
+
}
|
|
717
|
+
function Cn() {
|
|
718
|
+
return V(k(navigator.deviceMemory), void 0);
|
|
719
|
+
}
|
|
720
|
+
function Wn() {
|
|
721
|
+
if (!(x() && G() && Z()))
|
|
722
|
+
return Pn();
|
|
723
|
+
}
|
|
724
|
+
function Pn() {
|
|
725
|
+
const e = screen, n = (o) => V(z(o), null), t = [n(e.width), n(e.height)];
|
|
726
|
+
return t.sort().reverse(), t;
|
|
727
|
+
}
|
|
728
|
+
const Mn = 2500, Rn = 10;
|
|
729
|
+
let E, X;
|
|
730
|
+
function In() {
|
|
731
|
+
if (X !== void 0)
|
|
732
|
+
return;
|
|
733
|
+
const e = () => {
|
|
734
|
+
const n = H();
|
|
735
|
+
D(n) ? X = setTimeout(e, Mn) : (E = n, X = void 0);
|
|
736
|
+
};
|
|
737
|
+
e();
|
|
738
|
+
}
|
|
739
|
+
function Zn() {
|
|
740
|
+
return In(), async () => {
|
|
741
|
+
let e = H();
|
|
742
|
+
if (D(e)) {
|
|
743
|
+
if (E)
|
|
744
|
+
return [...E];
|
|
745
|
+
Qe() && (await Ke(), e = H());
|
|
746
|
+
}
|
|
747
|
+
return D(e) || (E = e), e;
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
function Gn() {
|
|
751
|
+
if (x() && G() && Z())
|
|
752
|
+
return () => Promise.resolve(void 0);
|
|
753
|
+
const e = Zn();
|
|
754
|
+
return async () => {
|
|
755
|
+
const n = await e(), t = (o) => o === null ? null : ue(o, Rn);
|
|
756
|
+
return [t(n[0]), t(n[1]), t(n[2]), t(n[3])];
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
function H() {
|
|
760
|
+
const e = screen;
|
|
761
|
+
return [
|
|
762
|
+
V(k(e.availTop), null),
|
|
763
|
+
V(k(e.width) - k(e.availWidth) - V(k(e.availLeft), 0), null),
|
|
764
|
+
V(k(e.height) - k(e.availHeight) - V(k(e.availTop), 0), null),
|
|
765
|
+
V(k(e.availLeft), null)
|
|
766
|
+
];
|
|
767
|
+
}
|
|
768
|
+
function D(e) {
|
|
769
|
+
for (let n = 0; n < 4; ++n)
|
|
770
|
+
if (e[n])
|
|
771
|
+
return !1;
|
|
772
|
+
return !0;
|
|
773
|
+
}
|
|
774
|
+
function Tn() {
|
|
775
|
+
return V(z(navigator.hardwareConcurrency), void 0);
|
|
776
|
+
}
|
|
777
|
+
function An() {
|
|
778
|
+
var e;
|
|
779
|
+
const n = (e = window.Intl) === null || e === void 0 ? void 0 : e.DateTimeFormat;
|
|
780
|
+
if (n) {
|
|
781
|
+
const o = new n().resolvedOptions().timeZone;
|
|
782
|
+
if (o)
|
|
783
|
+
return o;
|
|
784
|
+
}
|
|
785
|
+
const t = -En();
|
|
786
|
+
return `UTC${t >= 0 ? "+" : ""}${t}`;
|
|
787
|
+
}
|
|
788
|
+
function En() {
|
|
789
|
+
const e = (/* @__PURE__ */ new Date()).getFullYear();
|
|
790
|
+
return Math.max(
|
|
791
|
+
// `getTimezoneOffset` returns a number as a string in some unidentified cases
|
|
792
|
+
k(new Date(e, 0, 1).getTimezoneOffset()),
|
|
793
|
+
k(new Date(e, 6, 1).getTimezoneOffset())
|
|
794
|
+
);
|
|
795
|
+
}
|
|
796
|
+
function _n() {
|
|
797
|
+
try {
|
|
798
|
+
return !!window.sessionStorage;
|
|
799
|
+
} catch {
|
|
800
|
+
return !0;
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
function Yn() {
|
|
804
|
+
try {
|
|
805
|
+
return !!window.localStorage;
|
|
806
|
+
} catch {
|
|
807
|
+
return !0;
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
function Nn() {
|
|
811
|
+
if (!(le() || Be()))
|
|
812
|
+
try {
|
|
813
|
+
return !!window.indexedDB;
|
|
814
|
+
} catch {
|
|
815
|
+
return !0;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
function Xn() {
|
|
819
|
+
return !!window.openDatabase;
|
|
820
|
+
}
|
|
821
|
+
function jn() {
|
|
822
|
+
return navigator.cpuClass;
|
|
823
|
+
}
|
|
824
|
+
function Hn() {
|
|
825
|
+
const { platform: e } = navigator;
|
|
826
|
+
return e === "MacIntel" && x() && !B() ? Ue() ? "iPad" : "iPhone" : e;
|
|
827
|
+
}
|
|
828
|
+
function Dn() {
|
|
829
|
+
return navigator.vendor || "";
|
|
830
|
+
}
|
|
831
|
+
function zn() {
|
|
832
|
+
const e = [];
|
|
833
|
+
for (const n of [
|
|
834
|
+
// Blink and some browsers on iOS
|
|
835
|
+
"chrome",
|
|
836
|
+
// Safari on macOS
|
|
837
|
+
"safari",
|
|
838
|
+
// Chrome on iOS (checked in 85 on 13 and 87 on 14)
|
|
839
|
+
"__crWeb",
|
|
840
|
+
"__gCrWeb",
|
|
841
|
+
// Yandex Browser on iOS, macOS and Android (checked in 21.2 on iOS 14, macOS and Android)
|
|
842
|
+
"yandex",
|
|
843
|
+
// Yandex Browser on iOS (checked in 21.2 on 14)
|
|
844
|
+
"__yb",
|
|
845
|
+
"__ybro",
|
|
846
|
+
// Firefox on iOS (checked in 32 on 14)
|
|
847
|
+
"__firefox__",
|
|
848
|
+
// Edge on iOS (checked in 46 on 14)
|
|
849
|
+
"__edgeTrackingPreventionStatistics",
|
|
850
|
+
"webkit",
|
|
851
|
+
// Opera Touch on iOS (checked in 2.6 on 14)
|
|
852
|
+
"oprt",
|
|
853
|
+
// Samsung Internet on Android (checked in 11.1)
|
|
854
|
+
"samsungAr",
|
|
855
|
+
// UC Browser on Android (checked in 12.10 and 13.0)
|
|
856
|
+
"ucweb",
|
|
857
|
+
"UCShellJava",
|
|
858
|
+
// Puffin on Android (checked in 9.0)
|
|
859
|
+
"puffinDevice"
|
|
860
|
+
// UC on iOS and Opera on Android have no specific global variables
|
|
861
|
+
// Edge for Android isn't checked
|
|
862
|
+
]) {
|
|
863
|
+
const t = window[n];
|
|
864
|
+
t && typeof t == "object" && e.push(n);
|
|
865
|
+
}
|
|
866
|
+
return e.sort();
|
|
867
|
+
}
|
|
868
|
+
function Bn() {
|
|
869
|
+
const e = document;
|
|
870
|
+
try {
|
|
871
|
+
e.cookie = "cookietest=1; SameSite=Strict;";
|
|
872
|
+
const n = e.cookie.indexOf("cookietest=") !== -1;
|
|
873
|
+
return e.cookie = "cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT", n;
|
|
874
|
+
} catch {
|
|
875
|
+
return !1;
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
function Jn() {
|
|
879
|
+
const e = atob;
|
|
880
|
+
return {
|
|
881
|
+
abpIndo: [
|
|
882
|
+
"#Iklan-Melayang",
|
|
883
|
+
"#Kolom-Iklan-728",
|
|
884
|
+
"#SidebarIklan-wrapper",
|
|
885
|
+
'[title="ALIENBOLA" i]',
|
|
886
|
+
e("I0JveC1CYW5uZXItYWRz")
|
|
887
|
+
],
|
|
888
|
+
abpvn: [".quangcao", "#mobileCatfish", e("LmNsb3NlLWFkcw=="), '[id^="bn_bottom_fixed_"]', "#pmadv"],
|
|
889
|
+
adBlockFinland: [
|
|
890
|
+
".mainostila",
|
|
891
|
+
e("LnNwb25zb3JpdA=="),
|
|
892
|
+
".ylamainos",
|
|
893
|
+
e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),
|
|
894
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")
|
|
895
|
+
],
|
|
896
|
+
adBlockPersian: [
|
|
897
|
+
"#navbar_notice_50",
|
|
898
|
+
".kadr",
|
|
899
|
+
'TABLE[width="140px"]',
|
|
900
|
+
"#divAgahi",
|
|
901
|
+
e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")
|
|
902
|
+
],
|
|
903
|
+
adBlockWarningRemoval: [
|
|
904
|
+
"#adblock-honeypot",
|
|
905
|
+
".adblocker-root",
|
|
906
|
+
".wp_adblock_detect",
|
|
907
|
+
e("LmhlYWRlci1ibG9ja2VkLWFk"),
|
|
908
|
+
e("I2FkX2Jsb2NrZXI=")
|
|
909
|
+
],
|
|
910
|
+
adGuardAnnoyances: [
|
|
911
|
+
".hs-sosyal",
|
|
912
|
+
"#cookieconsentdiv",
|
|
913
|
+
'div[class^="app_gdpr"]',
|
|
914
|
+
".as-oil",
|
|
915
|
+
'[data-cypress="soft-push-notification-modal"]'
|
|
916
|
+
],
|
|
917
|
+
adGuardBase: [
|
|
918
|
+
".BetterJsPopOverlay",
|
|
919
|
+
e("I2FkXzMwMFgyNTA="),
|
|
920
|
+
e("I2Jhbm5lcmZsb2F0MjI="),
|
|
921
|
+
e("I2NhbXBhaWduLWJhbm5lcg=="),
|
|
922
|
+
e("I0FkLUNvbnRlbnQ=")
|
|
923
|
+
],
|
|
924
|
+
adGuardChinese: [
|
|
925
|
+
e("LlppX2FkX2FfSA=="),
|
|
926
|
+
e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),
|
|
927
|
+
"#widget-quan",
|
|
928
|
+
e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),
|
|
929
|
+
e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")
|
|
930
|
+
],
|
|
931
|
+
adGuardFrench: [
|
|
932
|
+
"#pavePub",
|
|
933
|
+
e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),
|
|
934
|
+
".mobile_adhesion",
|
|
935
|
+
".widgetadv",
|
|
936
|
+
e("LmFkc19iYW4=")
|
|
937
|
+
],
|
|
938
|
+
adGuardGerman: ['aside[data-portal-id="leaderboard"]'],
|
|
939
|
+
adGuardJapanese: [
|
|
940
|
+
"#kauli_yad_1",
|
|
941
|
+
e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),
|
|
942
|
+
e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),
|
|
943
|
+
e("LmFkZ29vZ2xl"),
|
|
944
|
+
e("Ll9faXNib29zdFJldHVybkFk")
|
|
945
|
+
],
|
|
946
|
+
adGuardMobile: [
|
|
947
|
+
e("YW1wLWF1dG8tYWRz"),
|
|
948
|
+
e("LmFtcF9hZA=="),
|
|
949
|
+
'amp-embed[type="24smi"]',
|
|
950
|
+
"#mgid_iframe1",
|
|
951
|
+
e("I2FkX2ludmlld19hcmVh")
|
|
952
|
+
],
|
|
953
|
+
adGuardRussian: [
|
|
954
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),
|
|
955
|
+
e("LnJlY2xhbWE="),
|
|
956
|
+
'div[id^="smi2adblock"]',
|
|
957
|
+
e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),
|
|
958
|
+
"#psyduckpockeball"
|
|
959
|
+
],
|
|
960
|
+
adGuardSocial: [
|
|
961
|
+
e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),
|
|
962
|
+
e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),
|
|
963
|
+
".etsy-tweet",
|
|
964
|
+
"#inlineShare",
|
|
965
|
+
".popup-social"
|
|
966
|
+
],
|
|
967
|
+
adGuardSpanishPortuguese: ["#barraPublicidade", "#Publicidade", "#publiEspecial", "#queTooltip", ".cnt-publi"],
|
|
968
|
+
adGuardTrackingProtection: [
|
|
969
|
+
"#qoo-counter",
|
|
970
|
+
e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),
|
|
971
|
+
e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),
|
|
972
|
+
e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),
|
|
973
|
+
"#top100counter"
|
|
974
|
+
],
|
|
975
|
+
adGuardTurkish: [
|
|
976
|
+
"#backkapat",
|
|
977
|
+
e("I3Jla2xhbWk="),
|
|
978
|
+
e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),
|
|
979
|
+
e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),
|
|
980
|
+
e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")
|
|
981
|
+
],
|
|
982
|
+
bulgarian: [e("dGQjZnJlZW5ldF90YWJsZV9hZHM="), "#ea_intext_div", ".lapni-pop-over", "#xenium_hot_offers"],
|
|
983
|
+
easyList: [
|
|
984
|
+
".yb-floorad",
|
|
985
|
+
e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),
|
|
986
|
+
e("LnRyYWZmaWNqdW5reS1hZA=="),
|
|
987
|
+
".textad_headline",
|
|
988
|
+
e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")
|
|
989
|
+
],
|
|
990
|
+
easyListChina: [
|
|
991
|
+
e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),
|
|
992
|
+
e("LmZyb250cGFnZUFkdk0="),
|
|
993
|
+
"#taotaole",
|
|
994
|
+
"#aafoot.top_box",
|
|
995
|
+
".cfa_popup"
|
|
996
|
+
],
|
|
997
|
+
easyListCookie: [
|
|
998
|
+
".ezmob-footer",
|
|
999
|
+
".cc-CookieWarning",
|
|
1000
|
+
"[data-cookie-number]",
|
|
1001
|
+
e("LmF3LWNvb2tpZS1iYW5uZXI="),
|
|
1002
|
+
".sygnal24-gdpr-modal-wrap"
|
|
1003
|
+
],
|
|
1004
|
+
easyListCzechSlovak: [
|
|
1005
|
+
"#onlajny-stickers",
|
|
1006
|
+
e("I3Jla2xhbW5pLWJveA=="),
|
|
1007
|
+
e("LnJla2xhbWEtbWVnYWJvYXJk"),
|
|
1008
|
+
".sklik",
|
|
1009
|
+
e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")
|
|
1010
|
+
],
|
|
1011
|
+
easyListDutch: [
|
|
1012
|
+
e("I2FkdmVydGVudGll"),
|
|
1013
|
+
e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),
|
|
1014
|
+
".adstekst",
|
|
1015
|
+
e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),
|
|
1016
|
+
"#semilo-lrectangle"
|
|
1017
|
+
],
|
|
1018
|
+
easyListGermany: [
|
|
1019
|
+
"#SSpotIMPopSlider",
|
|
1020
|
+
e("LnNwb25zb3JsaW5rZ3J1ZW4="),
|
|
1021
|
+
e("I3dlcmJ1bmdza3k="),
|
|
1022
|
+
e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),
|
|
1023
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")
|
|
1024
|
+
],
|
|
1025
|
+
easyListItaly: [
|
|
1026
|
+
e("LmJveF9hZHZfYW5udW5jaQ=="),
|
|
1027
|
+
".sb-box-pubbliredazionale",
|
|
1028
|
+
e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),
|
|
1029
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),
|
|
1030
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")
|
|
1031
|
+
],
|
|
1032
|
+
easyListLithuania: [
|
|
1033
|
+
e("LnJla2xhbW9zX3RhcnBhcw=="),
|
|
1034
|
+
e("LnJla2xhbW9zX251b3JvZG9z"),
|
|
1035
|
+
e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),
|
|
1036
|
+
e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),
|
|
1037
|
+
e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")
|
|
1038
|
+
],
|
|
1039
|
+
estonian: [e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],
|
|
1040
|
+
fanboyAnnoyances: ["#ac-lre-player", ".navigate-to-top", "#subscribe_popup", ".newsletter_holder", "#back-top"],
|
|
1041
|
+
fanboyAntiFacebook: [".util-bar-module-firefly-visible"],
|
|
1042
|
+
fanboyEnhancedTrackers: [
|
|
1043
|
+
".open.pushModal",
|
|
1044
|
+
"#issuem-leaky-paywall-articles-zero-remaining-nag",
|
|
1045
|
+
"#sovrn_container",
|
|
1046
|
+
'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',
|
|
1047
|
+
".BlockNag__Card"
|
|
1048
|
+
],
|
|
1049
|
+
fanboySocial: ["#FollowUs", "#meteored_share", "#social_follow", ".article-sharer", ".community__social-desc"],
|
|
1050
|
+
frellwitSwedish: [
|
|
1051
|
+
e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),
|
|
1052
|
+
e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),
|
|
1053
|
+
"article.category-samarbete",
|
|
1054
|
+
e("ZGl2LmhvbGlkQWRz"),
|
|
1055
|
+
"ul.adsmodern"
|
|
1056
|
+
],
|
|
1057
|
+
greekAdBlock: [
|
|
1058
|
+
e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),
|
|
1059
|
+
e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),
|
|
1060
|
+
e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),
|
|
1061
|
+
"DIV.agores300",
|
|
1062
|
+
"TABLE.advright"
|
|
1063
|
+
],
|
|
1064
|
+
hungarian: [
|
|
1065
|
+
"#cemp_doboz",
|
|
1066
|
+
".optimonk-iframe-container",
|
|
1067
|
+
e("LmFkX19tYWlu"),
|
|
1068
|
+
e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),
|
|
1069
|
+
"#hirdetesek_box"
|
|
1070
|
+
],
|
|
1071
|
+
iDontCareAboutCookies: [
|
|
1072
|
+
'.alert-info[data-block-track*="CookieNotice"]',
|
|
1073
|
+
".ModuleTemplateCookieIndicator",
|
|
1074
|
+
".o--cookies--container",
|
|
1075
|
+
"#cookies-policy-sticky",
|
|
1076
|
+
"#stickyCookieBar"
|
|
1077
|
+
],
|
|
1078
|
+
icelandicAbp: [e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],
|
|
1079
|
+
latvian: [
|
|
1080
|
+
e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),
|
|
1081
|
+
e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")
|
|
1082
|
+
],
|
|
1083
|
+
listKr: [
|
|
1084
|
+
e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),
|
|
1085
|
+
e("I2xpdmVyZUFkV3JhcHBlcg=="),
|
|
1086
|
+
e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),
|
|
1087
|
+
e("aW5zLmZhc3R2aWV3LWFk"),
|
|
1088
|
+
".revenue_unit_item.dable"
|
|
1089
|
+
],
|
|
1090
|
+
listeAr: [
|
|
1091
|
+
e("LmdlbWluaUxCMUFk"),
|
|
1092
|
+
".right-and-left-sponsers",
|
|
1093
|
+
e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),
|
|
1094
|
+
e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),
|
|
1095
|
+
e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")
|
|
1096
|
+
],
|
|
1097
|
+
listeFr: [
|
|
1098
|
+
e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),
|
|
1099
|
+
e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),
|
|
1100
|
+
e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),
|
|
1101
|
+
".site-pub-interstitiel",
|
|
1102
|
+
'div[id^="crt-"][data-criteo-id]'
|
|
1103
|
+
],
|
|
1104
|
+
officialPolish: [
|
|
1105
|
+
"#ceneo-placeholder-ceneo-12",
|
|
1106
|
+
e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),
|
|
1107
|
+
e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),
|
|
1108
|
+
e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),
|
|
1109
|
+
e("ZGl2I3NrYXBpZWNfYWQ=")
|
|
1110
|
+
],
|
|
1111
|
+
ro: [
|
|
1112
|
+
e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),
|
|
1113
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),
|
|
1114
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),
|
|
1115
|
+
e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),
|
|
1116
|
+
'a[href^="/url/"]'
|
|
1117
|
+
],
|
|
1118
|
+
ruAd: [
|
|
1119
|
+
e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),
|
|
1120
|
+
e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),
|
|
1121
|
+
e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),
|
|
1122
|
+
"#pgeldiz",
|
|
1123
|
+
".yandex-rtb-block"
|
|
1124
|
+
],
|
|
1125
|
+
thaiAds: [
|
|
1126
|
+
"a[href*=macau-uta-popup]",
|
|
1127
|
+
e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),
|
|
1128
|
+
e("LmFkczMwMHM="),
|
|
1129
|
+
".bumq",
|
|
1130
|
+
".img-kosana"
|
|
1131
|
+
],
|
|
1132
|
+
webAnnoyancesUltralist: [
|
|
1133
|
+
"#mod-social-share-2",
|
|
1134
|
+
"#social-tools",
|
|
1135
|
+
e("LmN0cGwtZnVsbGJhbm5lcg=="),
|
|
1136
|
+
".zergnet-recommend",
|
|
1137
|
+
".yt.btn-link.btn-md.btn"
|
|
1138
|
+
]
|
|
1139
|
+
};
|
|
1140
|
+
}
|
|
1141
|
+
async function On({ debug: e } = {}) {
|
|
1142
|
+
if (!$n())
|
|
1143
|
+
return;
|
|
1144
|
+
const n = Jn(), t = Object.keys(n), o = [].concat(...t.map((a) => n[a])), s = await Un(o);
|
|
1145
|
+
e && Qn(n, s);
|
|
1146
|
+
const u = t.filter((a) => {
|
|
1147
|
+
const c = n[a];
|
|
1148
|
+
return v(c.map((d) => s[d])) > c.length * 0.6;
|
|
1149
|
+
});
|
|
1150
|
+
return u.sort(), u;
|
|
1151
|
+
}
|
|
1152
|
+
function $n() {
|
|
1153
|
+
return x() || J();
|
|
1154
|
+
}
|
|
1155
|
+
async function Un(e) {
|
|
1156
|
+
var n;
|
|
1157
|
+
const t = document, o = t.createElement("div"), s = new Array(e.length), u = {};
|
|
1158
|
+
ee(o);
|
|
1159
|
+
for (let a = 0; a < e.length; ++a) {
|
|
1160
|
+
const c = sn(e[a]);
|
|
1161
|
+
c.tagName === "DIALOG" && c.show();
|
|
1162
|
+
const l = t.createElement("div");
|
|
1163
|
+
ee(l), l.appendChild(c), o.appendChild(l), s[a] = c;
|
|
1164
|
+
}
|
|
1165
|
+
for (; !t.body; )
|
|
1166
|
+
await _(50);
|
|
1167
|
+
t.body.appendChild(o);
|
|
1168
|
+
try {
|
|
1169
|
+
for (let a = 0; a < e.length; ++a)
|
|
1170
|
+
s[a].offsetParent || (u[e[a]] = !0);
|
|
1171
|
+
} finally {
|
|
1172
|
+
(n = o.parentNode) === null || n === void 0 || n.removeChild(o);
|
|
1173
|
+
}
|
|
1174
|
+
return u;
|
|
1175
|
+
}
|
|
1176
|
+
function ee(e) {
|
|
1177
|
+
e.style.setProperty("visibility", "hidden", "important"), e.style.setProperty("display", "block", "important");
|
|
1178
|
+
}
|
|
1179
|
+
function Qn(e, n) {
|
|
1180
|
+
let t = "DOM blockers debug:\n```";
|
|
1181
|
+
for (const o of Object.keys(e)) {
|
|
1182
|
+
t += `
|
|
1183
|
+
${o}:`;
|
|
1184
|
+
for (const s of e[o])
|
|
1185
|
+
t += `
|
|
1186
|
+
${n[s] ? "🚫" : "➡️"} ${s}`;
|
|
1187
|
+
}
|
|
1188
|
+
console.log(`${t}
|
|
1189
|
+
\`\`\``);
|
|
1190
|
+
}
|
|
1191
|
+
function Kn() {
|
|
1192
|
+
for (const e of ["rec2020", "p3", "srgb"])
|
|
1193
|
+
if (matchMedia(`(color-gamut: ${e})`).matches)
|
|
1194
|
+
return e;
|
|
1195
|
+
}
|
|
1196
|
+
function qn() {
|
|
1197
|
+
if (ne("inverted"))
|
|
1198
|
+
return !0;
|
|
1199
|
+
if (ne("none"))
|
|
1200
|
+
return !1;
|
|
1201
|
+
}
|
|
1202
|
+
function ne(e) {
|
|
1203
|
+
return matchMedia(`(inverted-colors: ${e})`).matches;
|
|
1204
|
+
}
|
|
1205
|
+
function et() {
|
|
1206
|
+
if (te("active"))
|
|
1207
|
+
return !0;
|
|
1208
|
+
if (te("none"))
|
|
1209
|
+
return !1;
|
|
1210
|
+
}
|
|
1211
|
+
function te(e) {
|
|
1212
|
+
return matchMedia(`(forced-colors: ${e})`).matches;
|
|
1213
|
+
}
|
|
1214
|
+
const nt = 100;
|
|
1215
|
+
function tt() {
|
|
1216
|
+
if (matchMedia("(min-monochrome: 0)").matches) {
|
|
1217
|
+
for (let e = 0; e <= nt; ++e)
|
|
1218
|
+
if (matchMedia(`(max-monochrome: ${e})`).matches)
|
|
1219
|
+
return e;
|
|
1220
|
+
throw new Error("Too high value");
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
function ot() {
|
|
1224
|
+
if (P("no-preference"))
|
|
1225
|
+
return 0;
|
|
1226
|
+
if (P("high") || P("more"))
|
|
1227
|
+
return 1;
|
|
1228
|
+
if (P("low") || P("less"))
|
|
1229
|
+
return -1;
|
|
1230
|
+
if (P("forced"))
|
|
1231
|
+
return 10;
|
|
1232
|
+
}
|
|
1233
|
+
function P(e) {
|
|
1234
|
+
return matchMedia(`(prefers-contrast: ${e})`).matches;
|
|
1235
|
+
}
|
|
1236
|
+
function rt() {
|
|
1237
|
+
if (oe("reduce"))
|
|
1238
|
+
return !0;
|
|
1239
|
+
if (oe("no-preference"))
|
|
1240
|
+
return !1;
|
|
1241
|
+
}
|
|
1242
|
+
function oe(e) {
|
|
1243
|
+
return matchMedia(`(prefers-reduced-motion: ${e})`).matches;
|
|
1244
|
+
}
|
|
1245
|
+
function it() {
|
|
1246
|
+
if (re("reduce"))
|
|
1247
|
+
return !0;
|
|
1248
|
+
if (re("no-preference"))
|
|
1249
|
+
return !1;
|
|
1250
|
+
}
|
|
1251
|
+
function re(e) {
|
|
1252
|
+
return matchMedia(`(prefers-reduced-transparency: ${e})`).matches;
|
|
1253
|
+
}
|
|
1254
|
+
function at() {
|
|
1255
|
+
if (ie("high"))
|
|
1256
|
+
return !0;
|
|
1257
|
+
if (ie("standard"))
|
|
1258
|
+
return !1;
|
|
1259
|
+
}
|
|
1260
|
+
function ie(e) {
|
|
1261
|
+
return matchMedia(`(dynamic-range: ${e})`).matches;
|
|
1262
|
+
}
|
|
1263
|
+
const m = Math, w = () => 0;
|
|
1264
|
+
function st() {
|
|
1265
|
+
const e = m.acos || w, n = m.acosh || w, t = m.asin || w, o = m.asinh || w, s = m.atanh || w, u = m.atan || w, a = m.sin || w, c = m.sinh || w, l = m.cos || w, d = m.cosh || w, i = m.tan || w, r = m.tanh || w, p = m.exp || w, f = m.expm1 || w, g = m.log1p || w, b = (h) => m.pow(m.PI, h), M = (h) => m.log(h + m.sqrt(h * h - 1)), Se = (h) => m.log(h + m.sqrt(h * h + 1)), Le = (h) => m.log((1 + h) / (1 - h)) / 2, ke = (h) => m.exp(h) - 1 / m.exp(h) / 2, xe = (h) => (m.exp(h) + 1 / m.exp(h)) / 2, Ve = (h) => m.exp(h) - 1, Fe = (h) => (m.exp(2 * h) - 1) / (m.exp(2 * h) + 1), Ce = (h) => m.log(1 + h);
|
|
1266
|
+
return {
|
|
1267
|
+
acos: e(0.12312423423423424),
|
|
1268
|
+
acosh: n(1e308),
|
|
1269
|
+
acoshPf: M(1e154),
|
|
1270
|
+
asin: t(0.12312423423423424),
|
|
1271
|
+
asinh: o(1),
|
|
1272
|
+
asinhPf: Se(1),
|
|
1273
|
+
atanh: s(0.5),
|
|
1274
|
+
atanhPf: Le(0.5),
|
|
1275
|
+
atan: u(0.5),
|
|
1276
|
+
sin: a(-1e300),
|
|
1277
|
+
sinh: c(1),
|
|
1278
|
+
sinhPf: ke(1),
|
|
1279
|
+
cos: l(10.000000000123),
|
|
1280
|
+
cosh: d(1),
|
|
1281
|
+
coshPf: xe(1),
|
|
1282
|
+
tan: i(-1e300),
|
|
1283
|
+
tanh: r(1),
|
|
1284
|
+
tanhPf: Fe(1),
|
|
1285
|
+
exp: p(1),
|
|
1286
|
+
expm1: f(1),
|
|
1287
|
+
expm1Pf: Ve(1),
|
|
1288
|
+
log1p: g(10),
|
|
1289
|
+
log1pPf: Ce(10),
|
|
1290
|
+
powPI: b(-100)
|
|
1291
|
+
};
|
|
1292
|
+
}
|
|
1293
|
+
const ct = "mmMwWLliI0fiflO&1", j = {
|
|
1294
|
+
/**
|
|
1295
|
+
* The default font. User can change it in desktop Chrome, desktop Firefox, IE 11,
|
|
1296
|
+
* Android Chrome (but only when the size is ≥ than the default) and Android Firefox.
|
|
1297
|
+
*/
|
|
1298
|
+
default: [],
|
|
1299
|
+
/** OS font on macOS. User can change its size and weight. Applies after Safari restart. */
|
|
1300
|
+
apple: [{ font: "-apple-system-body" }],
|
|
1301
|
+
/** User can change it in desktop Chrome and desktop Firefox. */
|
|
1302
|
+
serif: [{ fontFamily: "serif" }],
|
|
1303
|
+
/** User can change it in desktop Chrome and desktop Firefox. */
|
|
1304
|
+
sans: [{ fontFamily: "sans-serif" }],
|
|
1305
|
+
/** User can change it in desktop Chrome and desktop Firefox. */
|
|
1306
|
+
mono: [{ fontFamily: "monospace" }],
|
|
1307
|
+
/**
|
|
1308
|
+
* Check the smallest allowed font size. User can change it in desktop Chrome, desktop Firefox and desktop Safari.
|
|
1309
|
+
* The height can be 0 in Chrome on a retina display.
|
|
1310
|
+
*/
|
|
1311
|
+
min: [{ fontSize: "1px" }],
|
|
1312
|
+
/** Tells one OS from another in desktop Chrome. */
|
|
1313
|
+
system: [{ fontFamily: "system-ui" }]
|
|
1314
|
+
};
|
|
1315
|
+
function ut() {
|
|
1316
|
+
return lt((e, n) => {
|
|
1317
|
+
const t = {}, o = {};
|
|
1318
|
+
for (const s of Object.keys(j)) {
|
|
1319
|
+
const [u = {}, a = ct] = j[s], c = e.createElement("span");
|
|
1320
|
+
c.textContent = a, c.style.whiteSpace = "nowrap";
|
|
1321
|
+
for (const l of Object.keys(u)) {
|
|
1322
|
+
const d = u[l];
|
|
1323
|
+
d !== void 0 && (c.style[l] = d);
|
|
1324
|
+
}
|
|
1325
|
+
t[s] = c, n.append(e.createElement("br"), c);
|
|
1326
|
+
}
|
|
1327
|
+
for (const s of Object.keys(j))
|
|
1328
|
+
o[s] = t[s].getBoundingClientRect().width;
|
|
1329
|
+
return o;
|
|
1330
|
+
});
|
|
1331
|
+
}
|
|
1332
|
+
function lt(e, n = 4e3) {
|
|
1333
|
+
return fe((t, o) => {
|
|
1334
|
+
const s = o.document, u = s.body, a = u.style;
|
|
1335
|
+
a.width = `${n}px`, a.webkitTextSizeAdjust = a.textSizeAdjust = "none", I() ? u.style.zoom = `${1 / o.devicePixelRatio}` : x() && (u.style.zoom = "reset");
|
|
1336
|
+
const c = s.createElement("div");
|
|
1337
|
+
return c.textContent = [...Array(n / 20 << 0)].map(() => "word").join(" "), u.appendChild(c), e(s, u);
|
|
1338
|
+
}, '<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">');
|
|
1339
|
+
}
|
|
1340
|
+
function dt() {
|
|
1341
|
+
return navigator.pdfViewerEnabled;
|
|
1342
|
+
}
|
|
1343
|
+
function ft() {
|
|
1344
|
+
const e = new Float32Array(1), n = new Uint8Array(e.buffer);
|
|
1345
|
+
return e[0] = 1 / 0, e[0] = e[0] - e[0], n[3];
|
|
1346
|
+
}
|
|
1347
|
+
function mt() {
|
|
1348
|
+
const { ApplePaySession: e } = window;
|
|
1349
|
+
if (typeof (e == null ? void 0 : e.canMakePayments) != "function")
|
|
1350
|
+
return -1;
|
|
1351
|
+
if (pt())
|
|
1352
|
+
return -3;
|
|
1353
|
+
try {
|
|
1354
|
+
return e.canMakePayments() ? 1 : 0;
|
|
1355
|
+
} catch (n) {
|
|
1356
|
+
return ht(n);
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
const pt = un;
|
|
1360
|
+
function ht(e) {
|
|
1361
|
+
if (e instanceof Error && e.name === "InvalidAccessError" && /\bfrom\b.*\binsecure\b/i.test(e.message))
|
|
1362
|
+
return -2;
|
|
1363
|
+
throw e;
|
|
1364
|
+
}
|
|
1365
|
+
function gt() {
|
|
1366
|
+
var e;
|
|
1367
|
+
const n = document.createElement("a"), t = (e = n.attributionSourceId) !== null && e !== void 0 ? e : n.attributionsourceid;
|
|
1368
|
+
return t === void 0 ? void 0 : String(t);
|
|
1369
|
+
}
|
|
1370
|
+
const me = -1, pe = -2, yt = /* @__PURE__ */ new Set([
|
|
1371
|
+
10752,
|
|
1372
|
+
2849,
|
|
1373
|
+
2884,
|
|
1374
|
+
2885,
|
|
1375
|
+
2886,
|
|
1376
|
+
2928,
|
|
1377
|
+
2929,
|
|
1378
|
+
2930,
|
|
1379
|
+
2931,
|
|
1380
|
+
2932,
|
|
1381
|
+
2960,
|
|
1382
|
+
2961,
|
|
1383
|
+
2962,
|
|
1384
|
+
2963,
|
|
1385
|
+
2964,
|
|
1386
|
+
2965,
|
|
1387
|
+
2966,
|
|
1388
|
+
2967,
|
|
1389
|
+
2968,
|
|
1390
|
+
2978,
|
|
1391
|
+
3024,
|
|
1392
|
+
3042,
|
|
1393
|
+
3088,
|
|
1394
|
+
3089,
|
|
1395
|
+
3106,
|
|
1396
|
+
3107,
|
|
1397
|
+
32773,
|
|
1398
|
+
32777,
|
|
1399
|
+
32777,
|
|
1400
|
+
32823,
|
|
1401
|
+
32824,
|
|
1402
|
+
32936,
|
|
1403
|
+
32937,
|
|
1404
|
+
32938,
|
|
1405
|
+
32939,
|
|
1406
|
+
32968,
|
|
1407
|
+
32969,
|
|
1408
|
+
32970,
|
|
1409
|
+
32971,
|
|
1410
|
+
3317,
|
|
1411
|
+
33170,
|
|
1412
|
+
3333,
|
|
1413
|
+
3379,
|
|
1414
|
+
3386,
|
|
1415
|
+
33901,
|
|
1416
|
+
33902,
|
|
1417
|
+
34016,
|
|
1418
|
+
34024,
|
|
1419
|
+
34076,
|
|
1420
|
+
3408,
|
|
1421
|
+
3410,
|
|
1422
|
+
3411,
|
|
1423
|
+
3412,
|
|
1424
|
+
3413,
|
|
1425
|
+
3414,
|
|
1426
|
+
3415,
|
|
1427
|
+
34467,
|
|
1428
|
+
34816,
|
|
1429
|
+
34817,
|
|
1430
|
+
34818,
|
|
1431
|
+
34819,
|
|
1432
|
+
34877,
|
|
1433
|
+
34921,
|
|
1434
|
+
34930,
|
|
1435
|
+
35660,
|
|
1436
|
+
35661,
|
|
1437
|
+
35724,
|
|
1438
|
+
35738,
|
|
1439
|
+
35739,
|
|
1440
|
+
36003,
|
|
1441
|
+
36004,
|
|
1442
|
+
36005,
|
|
1443
|
+
36347,
|
|
1444
|
+
36348,
|
|
1445
|
+
36349,
|
|
1446
|
+
37440,
|
|
1447
|
+
37441,
|
|
1448
|
+
37443,
|
|
1449
|
+
7936,
|
|
1450
|
+
7937,
|
|
1451
|
+
7938
|
|
1452
|
+
// SAMPLE_ALPHA_TO_COVERAGE (32926) and SAMPLE_COVERAGE (32928) are excluded because they trigger a console warning
|
|
1453
|
+
// in IE, Chrome ≤ 59 and Safari ≤ 13 and give no entropy.
|
|
1454
|
+
]), bt = /* @__PURE__ */ new Set([
|
|
1455
|
+
34047,
|
|
1456
|
+
35723,
|
|
1457
|
+
36063,
|
|
1458
|
+
34852,
|
|
1459
|
+
34853,
|
|
1460
|
+
34854,
|
|
1461
|
+
34229,
|
|
1462
|
+
36392,
|
|
1463
|
+
36795,
|
|
1464
|
+
38449
|
|
1465
|
+
// MAX_VIEWS_OVR
|
|
1466
|
+
]), wt = ["FRAGMENT_SHADER", "VERTEX_SHADER"], vt = ["LOW_FLOAT", "MEDIUM_FLOAT", "HIGH_FLOAT", "LOW_INT", "MEDIUM_INT", "HIGH_INT"], he = "WEBGL_debug_renderer_info", St = "WEBGL_polygon_mode";
|
|
1467
|
+
function Lt({ cache: e }) {
|
|
1468
|
+
var n, t, o, s, u, a;
|
|
1469
|
+
const c = ge(e);
|
|
1470
|
+
if (!c)
|
|
1471
|
+
return me;
|
|
1472
|
+
if (!be(c))
|
|
1473
|
+
return pe;
|
|
1474
|
+
const l = ye() ? null : c.getExtension(he);
|
|
1475
|
+
return {
|
|
1476
|
+
version: ((n = c.getParameter(c.VERSION)) === null || n === void 0 ? void 0 : n.toString()) || "",
|
|
1477
|
+
vendor: ((t = c.getParameter(c.VENDOR)) === null || t === void 0 ? void 0 : t.toString()) || "",
|
|
1478
|
+
vendorUnmasked: l ? (o = c.getParameter(l.UNMASKED_VENDOR_WEBGL)) === null || o === void 0 ? void 0 : o.toString() : "",
|
|
1479
|
+
renderer: ((s = c.getParameter(c.RENDERER)) === null || s === void 0 ? void 0 : s.toString()) || "",
|
|
1480
|
+
rendererUnmasked: l ? (u = c.getParameter(l.UNMASKED_RENDERER_WEBGL)) === null || u === void 0 ? void 0 : u.toString() : "",
|
|
1481
|
+
shadingLanguageVersion: ((a = c.getParameter(c.SHADING_LANGUAGE_VERSION)) === null || a === void 0 ? void 0 : a.toString()) || ""
|
|
1482
|
+
};
|
|
1483
|
+
}
|
|
1484
|
+
function kt({ cache: e }) {
|
|
1485
|
+
const n = ge(e);
|
|
1486
|
+
if (!n)
|
|
1487
|
+
return me;
|
|
1488
|
+
if (!be(n))
|
|
1489
|
+
return pe;
|
|
1490
|
+
const t = n.getSupportedExtensions(), o = n.getContextAttributes(), s = [], u = [], a = [], c = [], l = [];
|
|
1491
|
+
if (o)
|
|
1492
|
+
for (const i of Object.keys(o))
|
|
1493
|
+
u.push(`${i}=${o[i]}`);
|
|
1494
|
+
const d = ae(n);
|
|
1495
|
+
for (const i of d) {
|
|
1496
|
+
const r = n[i];
|
|
1497
|
+
a.push(`${i}=${r}${yt.has(r) ? `=${n.getParameter(r)}` : ""}`);
|
|
1498
|
+
}
|
|
1499
|
+
if (t)
|
|
1500
|
+
for (const i of t) {
|
|
1501
|
+
if (i === he && ye() || i === St && Ft())
|
|
1502
|
+
continue;
|
|
1503
|
+
const r = n.getExtension(i);
|
|
1504
|
+
if (!r) {
|
|
1505
|
+
s.push(i);
|
|
1506
|
+
continue;
|
|
1507
|
+
}
|
|
1508
|
+
for (const p of ae(r)) {
|
|
1509
|
+
const f = r[p];
|
|
1510
|
+
c.push(`${p}=${f}${bt.has(f) ? `=${n.getParameter(f)}` : ""}`);
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
for (const i of wt)
|
|
1514
|
+
for (const r of vt) {
|
|
1515
|
+
const p = xt(n, i, r);
|
|
1516
|
+
l.push(`${i}.${r}=${p.join(",")}`);
|
|
1517
|
+
}
|
|
1518
|
+
return c.sort(), a.sort(), {
|
|
1519
|
+
contextAttributes: u,
|
|
1520
|
+
parameters: a,
|
|
1521
|
+
shaderPrecisions: l,
|
|
1522
|
+
extensions: t,
|
|
1523
|
+
extensionParameters: c,
|
|
1524
|
+
unsupportedExtensions: s
|
|
1525
|
+
};
|
|
1526
|
+
}
|
|
1527
|
+
function ge(e) {
|
|
1528
|
+
if (e.webgl)
|
|
1529
|
+
return e.webgl.context;
|
|
1530
|
+
const n = document.createElement("canvas");
|
|
1531
|
+
let t;
|
|
1532
|
+
n.addEventListener("webglCreateContextError", () => t = void 0);
|
|
1533
|
+
for (const o of ["webgl", "experimental-webgl"]) {
|
|
1534
|
+
try {
|
|
1535
|
+
t = n.getContext(o);
|
|
1536
|
+
} catch {
|
|
1537
|
+
}
|
|
1538
|
+
if (t)
|
|
1539
|
+
break;
|
|
1540
|
+
}
|
|
1541
|
+
return e.webgl = { context: t }, t;
|
|
1542
|
+
}
|
|
1543
|
+
function xt(e, n, t) {
|
|
1544
|
+
const o = e.getShaderPrecisionFormat(e[n], e[t]);
|
|
1545
|
+
return o ? [o.rangeMin, o.rangeMax, o.precision] : [];
|
|
1546
|
+
}
|
|
1547
|
+
function ae(e) {
|
|
1548
|
+
return Object.keys(e.__proto__).filter(Vt);
|
|
1549
|
+
}
|
|
1550
|
+
function Vt(e) {
|
|
1551
|
+
return typeof e == "string" && !e.match(/[^A-Z0-9_x]/);
|
|
1552
|
+
}
|
|
1553
|
+
function ye() {
|
|
1554
|
+
return de();
|
|
1555
|
+
}
|
|
1556
|
+
function Ft() {
|
|
1557
|
+
return I() || x();
|
|
1558
|
+
}
|
|
1559
|
+
function be(e) {
|
|
1560
|
+
return typeof e.getParameter == "function";
|
|
1561
|
+
}
|
|
1562
|
+
function Ct() {
|
|
1563
|
+
if (!(J() || x()))
|
|
1564
|
+
return -2;
|
|
1565
|
+
if (!window.AudioContext)
|
|
1566
|
+
return -1;
|
|
1567
|
+
const n = new AudioContext().baseLatency;
|
|
1568
|
+
return n == null ? -1 : isFinite(n) ? n : -3;
|
|
1569
|
+
}
|
|
1570
|
+
function Wt() {
|
|
1571
|
+
if (!window.Intl)
|
|
1572
|
+
return -1;
|
|
1573
|
+
const e = window.Intl.DateTimeFormat;
|
|
1574
|
+
if (!e)
|
|
1575
|
+
return -2;
|
|
1576
|
+
const n = e().resolvedOptions().locale;
|
|
1577
|
+
return !n && n !== "" ? -3 : n;
|
|
1578
|
+
}
|
|
1579
|
+
const Pt = {
|
|
1580
|
+
// READ FIRST:
|
|
1581
|
+
// See https://github.com/fingerprintjs/fingerprintjs/blob/master/contributing.md#how-to-add-an-entropy-source
|
|
1582
|
+
// to learn how entropy source works and how to make your own.
|
|
1583
|
+
// The sources run in this exact order.
|
|
1584
|
+
// The asynchronous sources are at the start to run in parallel with other sources.
|
|
1585
|
+
fonts: fn,
|
|
1586
|
+
domBlockers: On,
|
|
1587
|
+
fontPreferences: ut,
|
|
1588
|
+
audio: en,
|
|
1589
|
+
screenFrame: Gn,
|
|
1590
|
+
canvas: pn,
|
|
1591
|
+
osCpu: xn,
|
|
1592
|
+
languages: Vn,
|
|
1593
|
+
colorDepth: Fn,
|
|
1594
|
+
deviceMemory: Cn,
|
|
1595
|
+
screenResolution: Wn,
|
|
1596
|
+
hardwareConcurrency: Tn,
|
|
1597
|
+
timezone: An,
|
|
1598
|
+
sessionStorage: _n,
|
|
1599
|
+
localStorage: Yn,
|
|
1600
|
+
indexedDB: Nn,
|
|
1601
|
+
openDatabase: Xn,
|
|
1602
|
+
cpuClass: jn,
|
|
1603
|
+
platform: Hn,
|
|
1604
|
+
plugins: mn,
|
|
1605
|
+
touchSupport: kn,
|
|
1606
|
+
vendor: Dn,
|
|
1607
|
+
vendorFlavors: zn,
|
|
1608
|
+
cookiesEnabled: Bn,
|
|
1609
|
+
colorGamut: Kn,
|
|
1610
|
+
invertedColors: qn,
|
|
1611
|
+
forcedColors: et,
|
|
1612
|
+
monochrome: tt,
|
|
1613
|
+
contrast: ot,
|
|
1614
|
+
reducedMotion: rt,
|
|
1615
|
+
reducedTransparency: it,
|
|
1616
|
+
hdr: at,
|
|
1617
|
+
math: st,
|
|
1618
|
+
pdfViewerEnabled: dt,
|
|
1619
|
+
architecture: ft,
|
|
1620
|
+
applePay: mt,
|
|
1621
|
+
privateClickMeasurement: gt,
|
|
1622
|
+
audioBaseLatency: Ct,
|
|
1623
|
+
dateTimeLocale: Wt,
|
|
1624
|
+
// Some sources can affect other sources (e.g. WebGL can affect canvas), so it's important to run these sources
|
|
1625
|
+
// after other sources.
|
|
1626
|
+
webGlBasics: Lt,
|
|
1627
|
+
webGlExtensions: kt
|
|
1628
|
+
};
|
|
1629
|
+
function Mt(e) {
|
|
1630
|
+
return ze(Pt, e, []);
|
|
1631
|
+
}
|
|
1632
|
+
const Rt = "$ if upgrade to Pro: https://fpjs.dev/pro";
|
|
1633
|
+
function It(e) {
|
|
1634
|
+
const n = Zt(e), t = Gt(n);
|
|
1635
|
+
return { score: n, comment: Rt.replace(/\$/g, `${t}`) };
|
|
1636
|
+
}
|
|
1637
|
+
function Zt(e) {
|
|
1638
|
+
if (J())
|
|
1639
|
+
return 0.4;
|
|
1640
|
+
if (x())
|
|
1641
|
+
return B() && !(G() && Z()) ? 0.5 : 0.3;
|
|
1642
|
+
const n = "value" in e.platform ? e.platform.value : "";
|
|
1643
|
+
return /^Win/.test(n) ? 0.6 : /^Mac/.test(n) ? 0.5 : 0.7;
|
|
1644
|
+
}
|
|
1645
|
+
function Gt(e) {
|
|
1646
|
+
return ue(0.99 + 0.01 * e, 1e-4);
|
|
1647
|
+
}
|
|
1648
|
+
function Tt(e) {
|
|
1649
|
+
let n = "";
|
|
1650
|
+
for (const t of Object.keys(e).sort()) {
|
|
1651
|
+
const o = e[t], s = "error" in o ? "error" : JSON.stringify(o.value);
|
|
1652
|
+
n += `${n ? "|" : ""}${t.replace(/([:|\\])/g, "\\$1")}:${s}`;
|
|
1653
|
+
}
|
|
1654
|
+
return n;
|
|
1655
|
+
}
|
|
1656
|
+
function we(e) {
|
|
1657
|
+
return JSON.stringify(e, (n, t) => t instanceof Error ? Xe(t) : t, 2);
|
|
1658
|
+
}
|
|
1659
|
+
function ve(e) {
|
|
1660
|
+
return Ne(Tt(e));
|
|
1661
|
+
}
|
|
1662
|
+
function At(e) {
|
|
1663
|
+
let n;
|
|
1664
|
+
const t = It(e);
|
|
1665
|
+
return {
|
|
1666
|
+
get visitorId() {
|
|
1667
|
+
return n === void 0 && (n = ve(this.components)), n;
|
|
1668
|
+
},
|
|
1669
|
+
set visitorId(o) {
|
|
1670
|
+
n = o;
|
|
1671
|
+
},
|
|
1672
|
+
confidence: t,
|
|
1673
|
+
components: e,
|
|
1674
|
+
version: se
|
|
1675
|
+
};
|
|
1676
|
+
}
|
|
1677
|
+
function Et(e = 50) {
|
|
1678
|
+
return Re(e, e * 2);
|
|
1679
|
+
}
|
|
1680
|
+
function _t(e, n) {
|
|
1681
|
+
const t = Date.now();
|
|
1682
|
+
return {
|
|
1683
|
+
async get(o) {
|
|
1684
|
+
const s = Date.now(), u = await e(), a = At(u);
|
|
1685
|
+
return (n || o != null && o.debug) && console.log(`Copy the text below to get the debug data:
|
|
1686
|
+
|
|
1687
|
+
\`\`\`
|
|
1688
|
+
version: ${a.version}
|
|
1689
|
+
userAgent: ${navigator.userAgent}
|
|
1690
|
+
timeBetweenLoadAndGet: ${s - t}
|
|
1691
|
+
visitorId: ${a.visitorId}
|
|
1692
|
+
components: ${we(u)}
|
|
1693
|
+
\`\`\``), a;
|
|
1694
|
+
}
|
|
1695
|
+
};
|
|
1696
|
+
}
|
|
1697
|
+
function Yt() {
|
|
1698
|
+
if (!(window.__fpjs_d_m || Math.random() >= 1e-3))
|
|
1699
|
+
try {
|
|
1700
|
+
const e = new XMLHttpRequest();
|
|
1701
|
+
e.open("get", `https://m1.openfpcdn.io/fingerprintjs/v${se}/npm-monitoring`, !0), e.send();
|
|
1702
|
+
} catch (e) {
|
|
1703
|
+
console.error(e);
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
async function Nt(e = {}) {
|
|
1707
|
+
var n;
|
|
1708
|
+
(!((n = e.monitoring) !== null && n !== void 0) || n) && Yt();
|
|
1709
|
+
const { delayFallback: t, debug: o } = e;
|
|
1710
|
+
await Et(t);
|
|
1711
|
+
const s = Mt({ cache: {}, debug: o });
|
|
1712
|
+
return _t(s, o);
|
|
1713
|
+
}
|
|
1714
|
+
var Xt = { load: Nt, hashComponents: ve, componentsToDebugString: we };
|
|
1715
|
+
class jt {
|
|
1716
|
+
constructor() {
|
|
1717
|
+
Y(this, "fpPromise", null);
|
|
1718
|
+
Y(this, "fingerprint", null);
|
|
1719
|
+
}
|
|
1720
|
+
/**
|
|
1721
|
+
* Inicializa el agente de FingerprintJS y genera el fingerprint.
|
|
1722
|
+
* @returns El identificador único del dispositivo (visitorId)
|
|
1723
|
+
*/
|
|
1724
|
+
async initialize() {
|
|
1725
|
+
this.fpPromise || (this.fpPromise = Xt.load());
|
|
1726
|
+
const t = await (await this.fpPromise).get();
|
|
1727
|
+
return this.fingerprint = t.visitorId, this.fingerprint || "";
|
|
1728
|
+
}
|
|
1729
|
+
/**
|
|
1730
|
+
* Obtiene el fingerprint previamente generado.
|
|
1731
|
+
* Si no existe, lo genera automáticamente.
|
|
1732
|
+
* @returns El fingerprint del dispositivo
|
|
1733
|
+
*/
|
|
1734
|
+
async getFingerprint() {
|
|
1735
|
+
return this.fingerprint ? this.fingerprint : await this.initialize();
|
|
1736
|
+
}
|
|
1737
|
+
/**
|
|
1738
|
+
* Obtiene el fingerprint de forma síncrona si ya fue generado.
|
|
1739
|
+
* Útil cuando ya se ha llamado a initialize() previamente.
|
|
1740
|
+
* @returns El fingerprint o null si no ha sido generado
|
|
1741
|
+
*/
|
|
1742
|
+
getFingerprintSync() {
|
|
1743
|
+
return this.fingerprint;
|
|
1744
|
+
}
|
|
1745
|
+
}
|
|
1746
|
+
const Dt = new jt();
|
|
1747
|
+
export {
|
|
1748
|
+
Dt as default
|
|
1749
|
+
};
|