@microblink/blinkid-core 7.4.0 → 7.4.2
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.
- package/dist/blinkid-core.js +656 -599
- package/dist/resources/blinkid-worker.js +521 -697
- package/dist/resources/full/advanced/BlinkIdModule.js +4 -4
- package/dist/resources/full/advanced/BlinkIdModule.wasm +0 -0
- package/dist/resources/full/advanced-threads/BlinkIdModule.js +12 -13
- package/dist/resources/full/advanced-threads/BlinkIdModule.wasm +0 -0
- package/dist/resources/full/basic/BlinkIdModule.js +9 -9
- package/dist/resources/full/basic/BlinkIdModule.wasm +0 -0
- package/dist/resources/lightweight/advanced/BlinkIdModule.js +3 -3
- package/dist/resources/lightweight/advanced/BlinkIdModule.wasm +0 -0
- package/dist/resources/lightweight/advanced-threads/BlinkIdModule.js +5 -5
- package/dist/resources/lightweight/advanced-threads/BlinkIdModule.wasm +0 -0
- package/dist/resources/lightweight/basic/BlinkIdModule.js +4 -4
- package/dist/resources/lightweight/basic/BlinkIdModule.wasm +0 -0
- package/dist/resources/size-manifest.json +30 -0
- package/package.json +1 -1
- package/types/deviceInfo/createDerivedDeviceInfo.d.ts +7 -0
- package/types/deviceInfo/createDerivedDeviceInfo.d.ts.map +1 -0
- package/types/deviceInfo/createDerivedDeviceInfo.test.d.ts +5 -0
- package/types/deviceInfo/createDerivedDeviceInfo.test.d.ts.map +1 -0
- package/types/deviceInfo/deviceInfo.d.ts +54 -0
- package/types/deviceInfo/deviceInfo.d.ts.map +1 -0
- package/types/deviceInfo/getAppleDeviceModel.d.ts +13 -0
- package/types/deviceInfo/getAppleDeviceModel.d.ts.map +1 -0
- package/types/deviceInfo/getAppleDeviceModel.test.d.ts +5 -0
- package/types/deviceInfo/getAppleDeviceModel.test.d.ts.map +1 -0
- package/types/deviceInfo/getBrowserFromUserAgent.d.ts +18 -0
- package/types/deviceInfo/getBrowserFromUserAgent.d.ts.map +1 -0
- package/types/deviceInfo/getBrowserFromUserAgent.test.d.ts +5 -0
- package/types/deviceInfo/getBrowserFromUserAgent.test.d.ts.map +1 -0
- package/types/deviceInfo/getOsFromUserAgent.d.ts +18 -0
- package/types/deviceInfo/getOsFromUserAgent.d.ts.map +1 -0
- package/types/deviceInfo/getOsFromUserAgent.test.d.ts +5 -0
- package/types/deviceInfo/getOsFromUserAgent.test.d.ts.map +1 -0
- package/types/deviceInfo/navigator-types.d.ts +79 -0
- package/types/deviceInfo/navigator-types.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/dist/blinkid-core.js.map +0 -1
- package/types/index.rollup.d.ts +0 -2859
package/dist/blinkid-core.js
CHANGED
|
@@ -3,422 +3,316 @@
|
|
|
3
3
|
* Copyright 2019 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const isObject = (val) => typeof val === "object" && val !== null || typeof val === "function";
|
|
12
|
-
const proxyTransferHandler = {
|
|
13
|
-
canHandle: (val) => isObject(val) && val[proxyMarker],
|
|
14
|
-
serialize(obj) {
|
|
15
|
-
const { port1, port2 } = new MessageChannel();
|
|
16
|
-
expose(obj, port1);
|
|
17
|
-
return [port2, [port2]];
|
|
6
|
+
const C = Symbol("Comlink.proxy"), $ = Symbol("Comlink.endpoint"), _ = Symbol("Comlink.releaseProxy"), k = Symbol("Comlink.finalizer"), I = Symbol("Comlink.thrown"), D = (e) => typeof e == "object" && e !== null || typeof e == "function", q = {
|
|
7
|
+
canHandle: (e) => D(e) && e[C],
|
|
8
|
+
serialize(e) {
|
|
9
|
+
const { port1: n, port2: r } = new MessageChannel();
|
|
10
|
+
return F(e, n), [r, [r]];
|
|
18
11
|
},
|
|
19
|
-
deserialize(
|
|
20
|
-
|
|
21
|
-
return wrap(port);
|
|
12
|
+
deserialize(e) {
|
|
13
|
+
return e.start(), W(e);
|
|
22
14
|
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
} else {
|
|
38
|
-
serialized = { isError: false, value };
|
|
39
|
-
}
|
|
40
|
-
return [serialized, []];
|
|
15
|
+
}, K = {
|
|
16
|
+
canHandle: (e) => D(e) && I in e,
|
|
17
|
+
serialize({ value: e }) {
|
|
18
|
+
let n;
|
|
19
|
+
return e instanceof Error ? n = {
|
|
20
|
+
isError: !0,
|
|
21
|
+
value: {
|
|
22
|
+
message: e.message,
|
|
23
|
+
name: e.name,
|
|
24
|
+
stack: e.stack
|
|
25
|
+
}
|
|
26
|
+
} : n = { isError: !1, value: e }, [n, []];
|
|
41
27
|
},
|
|
42
|
-
deserialize(
|
|
43
|
-
|
|
44
|
-
throw Object.assign(new Error(serialized.value.message), serialized.value);
|
|
45
|
-
}
|
|
46
|
-
throw serialized.value;
|
|
28
|
+
deserialize(e) {
|
|
29
|
+
throw e.isError ? Object.assign(new Error(e.value.message), e.value) : e.value;
|
|
47
30
|
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
["
|
|
51
|
-
["throw", throwTransferHandler]
|
|
31
|
+
}, B = /* @__PURE__ */ new Map([
|
|
32
|
+
["proxy", q],
|
|
33
|
+
["throw", K]
|
|
52
34
|
]);
|
|
53
|
-
function
|
|
54
|
-
for (const
|
|
55
|
-
if (
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return false;
|
|
35
|
+
function X(e, n) {
|
|
36
|
+
for (const r of e)
|
|
37
|
+
if (n === r || r === "*" || r instanceof RegExp && r.test(n))
|
|
38
|
+
return !0;
|
|
39
|
+
return !1;
|
|
63
40
|
}
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
if (!
|
|
41
|
+
function F(e, n = globalThis, r = ["*"]) {
|
|
42
|
+
n.addEventListener("message", function t(o) {
|
|
43
|
+
if (!o || !o.data)
|
|
67
44
|
return;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);
|
|
45
|
+
if (!X(r, o.origin)) {
|
|
46
|
+
console.warn(`Invalid origin '${o.origin}' for comlink proxy`);
|
|
71
47
|
return;
|
|
72
48
|
}
|
|
73
|
-
const { id, type:
|
|
74
|
-
|
|
75
|
-
let returnValue;
|
|
49
|
+
const { id: a, type: i, path: s } = Object.assign({ path: [] }, o.data), u = (o.data.argumentList || []).map(p);
|
|
50
|
+
let c;
|
|
76
51
|
try {
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
switch (type2) {
|
|
52
|
+
const l = s.slice(0, -1).reduce((f, y) => f[y], e), m = s.reduce((f, y) => f[y], e);
|
|
53
|
+
switch (i) {
|
|
80
54
|
case "GET":
|
|
81
|
-
|
|
82
|
-
returnValue = rawValue;
|
|
83
|
-
}
|
|
55
|
+
c = m;
|
|
84
56
|
break;
|
|
85
57
|
case "SET":
|
|
86
|
-
|
|
87
|
-
parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);
|
|
88
|
-
returnValue = true;
|
|
89
|
-
}
|
|
58
|
+
l[s.slice(-1)[0]] = p(o.data.value), c = !0;
|
|
90
59
|
break;
|
|
91
60
|
case "APPLY":
|
|
92
|
-
|
|
93
|
-
returnValue = rawValue.apply(parent, argumentList);
|
|
94
|
-
}
|
|
61
|
+
c = m.apply(l, u);
|
|
95
62
|
break;
|
|
96
63
|
case "CONSTRUCT":
|
|
97
64
|
{
|
|
98
|
-
const
|
|
99
|
-
|
|
65
|
+
const f = new m(...u);
|
|
66
|
+
c = z(f);
|
|
100
67
|
}
|
|
101
68
|
break;
|
|
102
69
|
case "ENDPOINT":
|
|
103
70
|
{
|
|
104
|
-
const { port1, port2 } = new MessageChannel();
|
|
105
|
-
|
|
106
|
-
returnValue = transfer(port1, [port1]);
|
|
71
|
+
const { port1: f, port2: y } = new MessageChannel();
|
|
72
|
+
F(e, y), c = ee(f, [f]);
|
|
107
73
|
}
|
|
108
74
|
break;
|
|
109
75
|
case "RELEASE":
|
|
110
|
-
|
|
111
|
-
returnValue = void 0;
|
|
112
|
-
}
|
|
76
|
+
c = void 0;
|
|
113
77
|
break;
|
|
114
78
|
default:
|
|
115
79
|
return;
|
|
116
80
|
}
|
|
117
|
-
} catch (
|
|
118
|
-
|
|
81
|
+
} catch (l) {
|
|
82
|
+
c = { value: l, [I]: 0 };
|
|
119
83
|
}
|
|
120
|
-
Promise.resolve(
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (type2 === "RELEASE") {
|
|
126
|
-
ep.removeEventListener("message", callback);
|
|
127
|
-
closeEndPoint(ep);
|
|
128
|
-
if (finalizer in obj && typeof obj[finalizer] === "function") {
|
|
129
|
-
obj[finalizer]();
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}).catch((error) => {
|
|
133
|
-
const [wireValue, transferables] = toWireValue({
|
|
84
|
+
Promise.resolve(c).catch((l) => ({ value: l, [I]: 0 })).then((l) => {
|
|
85
|
+
const [m, f] = T(l);
|
|
86
|
+
n.postMessage(Object.assign(Object.assign({}, m), { id: a }), f), i === "RELEASE" && (n.removeEventListener("message", t), N(n), k in e && typeof e[k] == "function" && e[k]());
|
|
87
|
+
}).catch((l) => {
|
|
88
|
+
const [m, f] = T({
|
|
134
89
|
value: new TypeError("Unserializable return value"),
|
|
135
|
-
[
|
|
90
|
+
[I]: 0
|
|
136
91
|
});
|
|
137
|
-
|
|
92
|
+
n.postMessage(Object.assign(Object.assign({}, m), { id: a }), f);
|
|
138
93
|
});
|
|
139
|
-
});
|
|
140
|
-
if (ep.start) {
|
|
141
|
-
ep.start();
|
|
142
|
-
}
|
|
94
|
+
}), n.start && n.start();
|
|
143
95
|
}
|
|
144
|
-
function
|
|
145
|
-
return
|
|
96
|
+
function J(e) {
|
|
97
|
+
return e.constructor.name === "MessagePort";
|
|
146
98
|
}
|
|
147
|
-
function
|
|
148
|
-
|
|
149
|
-
endpoint.close();
|
|
99
|
+
function N(e) {
|
|
100
|
+
J(e) && e.close();
|
|
150
101
|
}
|
|
151
|
-
function
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
const { data } =
|
|
155
|
-
if (!
|
|
102
|
+
function W(e, n) {
|
|
103
|
+
const r = /* @__PURE__ */ new Map();
|
|
104
|
+
return e.addEventListener("message", function(o) {
|
|
105
|
+
const { data: a } = o;
|
|
106
|
+
if (!a || !a.id)
|
|
156
107
|
return;
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
pendingListeners.delete(data.id);
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
return createProxy(ep, pendingListeners, [], target);
|
|
108
|
+
const i = r.get(a.id);
|
|
109
|
+
if (i)
|
|
110
|
+
try {
|
|
111
|
+
i(a);
|
|
112
|
+
} finally {
|
|
113
|
+
r.delete(a.id);
|
|
114
|
+
}
|
|
115
|
+
}), P(e, r, [], n);
|
|
169
116
|
}
|
|
170
|
-
function
|
|
171
|
-
if (
|
|
117
|
+
function E(e) {
|
|
118
|
+
if (e)
|
|
172
119
|
throw new Error("Proxy has been released and is not useable");
|
|
173
|
-
}
|
|
174
120
|
}
|
|
175
|
-
function
|
|
176
|
-
return
|
|
121
|
+
function U(e) {
|
|
122
|
+
return v(e, /* @__PURE__ */ new Map(), {
|
|
177
123
|
type: "RELEASE"
|
|
178
124
|
}).then(() => {
|
|
179
|
-
|
|
125
|
+
N(e);
|
|
180
126
|
});
|
|
181
127
|
}
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
proxyCounter.set(ep, newCount);
|
|
186
|
-
if (newCount === 0) {
|
|
187
|
-
releaseEndpoint(ep);
|
|
188
|
-
}
|
|
128
|
+
const x = /* @__PURE__ */ new WeakMap(), R = "FinalizationRegistry" in globalThis && new FinalizationRegistry((e) => {
|
|
129
|
+
const n = (x.get(e) || 0) - 1;
|
|
130
|
+
x.set(e, n), n === 0 && U(e);
|
|
189
131
|
});
|
|
190
|
-
function
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
if (proxyFinalizers) {
|
|
194
|
-
proxyFinalizers.register(proxy2, ep, proxy2);
|
|
195
|
-
}
|
|
132
|
+
function Y(e, n) {
|
|
133
|
+
const r = (x.get(n) || 0) + 1;
|
|
134
|
+
x.set(n, r), R && R.register(e, n, e);
|
|
196
135
|
}
|
|
197
|
-
function
|
|
198
|
-
|
|
199
|
-
proxyFinalizers.unregister(proxy2);
|
|
200
|
-
}
|
|
136
|
+
function Q(e) {
|
|
137
|
+
R && R.unregister(e);
|
|
201
138
|
}
|
|
202
|
-
function
|
|
139
|
+
function P(e, n, r = [], t = function() {
|
|
203
140
|
}) {
|
|
204
|
-
let
|
|
205
|
-
const
|
|
206
|
-
get(
|
|
207
|
-
|
|
208
|
-
if (prop === releaseProxy) {
|
|
141
|
+
let o = !1;
|
|
142
|
+
const a = new Proxy(t, {
|
|
143
|
+
get(i, s) {
|
|
144
|
+
if (E(o), s === _)
|
|
209
145
|
return () => {
|
|
210
|
-
|
|
211
|
-
releaseEndpoint(ep);
|
|
212
|
-
pendingListeners.clear();
|
|
213
|
-
isProxyReleased = true;
|
|
146
|
+
Q(a), U(e), n.clear(), o = !0;
|
|
214
147
|
};
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
const r = requestResponseMessage(ep, pendingListeners, {
|
|
148
|
+
if (s === "then") {
|
|
149
|
+
if (r.length === 0)
|
|
150
|
+
return { then: () => a };
|
|
151
|
+
const u = v(e, n, {
|
|
221
152
|
type: "GET",
|
|
222
|
-
path:
|
|
223
|
-
}).then(
|
|
224
|
-
return
|
|
153
|
+
path: r.map((c) => c.toString())
|
|
154
|
+
}).then(p);
|
|
155
|
+
return u.then.bind(u);
|
|
225
156
|
}
|
|
226
|
-
return
|
|
157
|
+
return P(e, n, [...r, s]);
|
|
227
158
|
},
|
|
228
|
-
set(
|
|
229
|
-
|
|
230
|
-
const [
|
|
231
|
-
return
|
|
159
|
+
set(i, s, u) {
|
|
160
|
+
E(o);
|
|
161
|
+
const [c, l] = T(u);
|
|
162
|
+
return v(e, n, {
|
|
232
163
|
type: "SET",
|
|
233
|
-
path: [...
|
|
234
|
-
value
|
|
235
|
-
},
|
|
164
|
+
path: [...r, s].map((m) => m.toString()),
|
|
165
|
+
value: c
|
|
166
|
+
}, l).then(p);
|
|
236
167
|
},
|
|
237
|
-
apply(
|
|
238
|
-
|
|
239
|
-
const
|
|
240
|
-
if (
|
|
241
|
-
return
|
|
168
|
+
apply(i, s, u) {
|
|
169
|
+
E(o);
|
|
170
|
+
const c = r[r.length - 1];
|
|
171
|
+
if (c === $)
|
|
172
|
+
return v(e, n, {
|
|
242
173
|
type: "ENDPOINT"
|
|
243
|
-
}).then(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
const [argumentList, transferables] = processArguments(rawArgumentList);
|
|
249
|
-
return requestResponseMessage(ep, pendingListeners, {
|
|
174
|
+
}).then(p);
|
|
175
|
+
if (c === "bind")
|
|
176
|
+
return P(e, n, r.slice(0, -1));
|
|
177
|
+
const [l, m] = A(u);
|
|
178
|
+
return v(e, n, {
|
|
250
179
|
type: "APPLY",
|
|
251
|
-
path:
|
|
252
|
-
argumentList
|
|
253
|
-
},
|
|
180
|
+
path: r.map((f) => f.toString()),
|
|
181
|
+
argumentList: l
|
|
182
|
+
}, m).then(p);
|
|
254
183
|
},
|
|
255
|
-
construct(
|
|
256
|
-
|
|
257
|
-
const [
|
|
258
|
-
return
|
|
184
|
+
construct(i, s) {
|
|
185
|
+
E(o);
|
|
186
|
+
const [u, c] = A(s);
|
|
187
|
+
return v(e, n, {
|
|
259
188
|
type: "CONSTRUCT",
|
|
260
|
-
path:
|
|
261
|
-
argumentList
|
|
262
|
-
},
|
|
189
|
+
path: r.map((l) => l.toString()),
|
|
190
|
+
argumentList: u
|
|
191
|
+
}, c).then(p);
|
|
263
192
|
}
|
|
264
193
|
});
|
|
265
|
-
|
|
266
|
-
return proxy2;
|
|
194
|
+
return Y(a, e), a;
|
|
267
195
|
}
|
|
268
|
-
function
|
|
269
|
-
return Array.prototype.concat.apply([],
|
|
196
|
+
function Z(e) {
|
|
197
|
+
return Array.prototype.concat.apply([], e);
|
|
270
198
|
}
|
|
271
|
-
function
|
|
272
|
-
const
|
|
273
|
-
return [
|
|
199
|
+
function A(e) {
|
|
200
|
+
const n = e.map(T);
|
|
201
|
+
return [n.map((r) => r[0]), Z(n.map((r) => r[1]))];
|
|
274
202
|
}
|
|
275
|
-
const
|
|
276
|
-
function
|
|
277
|
-
|
|
278
|
-
return obj;
|
|
203
|
+
const j = /* @__PURE__ */ new WeakMap();
|
|
204
|
+
function ee(e, n) {
|
|
205
|
+
return j.set(e, n), e;
|
|
279
206
|
}
|
|
280
|
-
function
|
|
281
|
-
return Object.assign(
|
|
207
|
+
function z(e) {
|
|
208
|
+
return Object.assign(e, { [C]: !0 });
|
|
282
209
|
}
|
|
283
|
-
function
|
|
284
|
-
for (const [
|
|
285
|
-
if (
|
|
286
|
-
const [
|
|
210
|
+
function T(e) {
|
|
211
|
+
for (const [n, r] of B)
|
|
212
|
+
if (r.canHandle(e)) {
|
|
213
|
+
const [t, o] = r.serialize(e);
|
|
287
214
|
return [
|
|
288
215
|
{
|
|
289
216
|
type: "HANDLER",
|
|
290
|
-
name,
|
|
291
|
-
value:
|
|
217
|
+
name: n,
|
|
218
|
+
value: t
|
|
292
219
|
},
|
|
293
|
-
|
|
220
|
+
o
|
|
294
221
|
];
|
|
295
222
|
}
|
|
296
|
-
}
|
|
297
223
|
return [
|
|
298
224
|
{
|
|
299
225
|
type: "RAW",
|
|
300
|
-
value
|
|
226
|
+
value: e
|
|
301
227
|
},
|
|
302
|
-
|
|
228
|
+
j.get(e) || []
|
|
303
229
|
];
|
|
304
230
|
}
|
|
305
|
-
function
|
|
306
|
-
switch (
|
|
231
|
+
function p(e) {
|
|
232
|
+
switch (e.type) {
|
|
307
233
|
case "HANDLER":
|
|
308
|
-
return
|
|
234
|
+
return B.get(e.name).deserialize(e.value);
|
|
309
235
|
case "RAW":
|
|
310
|
-
return
|
|
236
|
+
return e.value;
|
|
311
237
|
}
|
|
312
238
|
}
|
|
313
|
-
function
|
|
314
|
-
return new Promise((
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
if (ep.start) {
|
|
318
|
-
ep.start();
|
|
319
|
-
}
|
|
320
|
-
ep.postMessage(Object.assign({ id }, msg), transfers);
|
|
239
|
+
function v(e, n, r, t) {
|
|
240
|
+
return new Promise((o) => {
|
|
241
|
+
const a = ne();
|
|
242
|
+
n.set(a, o), e.start && e.start(), e.postMessage(Object.assign({ id: a }, r), t);
|
|
321
243
|
});
|
|
322
244
|
}
|
|
323
|
-
function
|
|
245
|
+
function ne() {
|
|
324
246
|
return new Array(4).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)).join("-");
|
|
325
247
|
}
|
|
326
|
-
const
|
|
327
|
-
const
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
..._options
|
|
248
|
+
const V = "application/javascript", re = (e, n = {}) => {
|
|
249
|
+
const r = {
|
|
250
|
+
skipSameOrigin: !0,
|
|
251
|
+
useBlob: !0,
|
|
252
|
+
...n
|
|
332
253
|
};
|
|
333
|
-
if (
|
|
334
|
-
return Promise.resolve(
|
|
335
|
-
|
|
336
|
-
let signal;
|
|
254
|
+
if (r.skipSameOrigin && new URL(e).origin === self.location.origin)
|
|
255
|
+
return Promise.resolve(e);
|
|
256
|
+
let t;
|
|
337
257
|
try {
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
}, 3e3)
|
|
343
|
-
|
|
344
|
-
clearTimeout(timeout);
|
|
345
|
-
controller.abort();
|
|
258
|
+
const o = new AbortController();
|
|
259
|
+
t = o.signal;
|
|
260
|
+
const a = setTimeout(() => {
|
|
261
|
+
o.abort();
|
|
262
|
+
}, 3e3), i = () => {
|
|
263
|
+
clearTimeout(a), o.abort();
|
|
346
264
|
};
|
|
347
|
-
|
|
348
|
-
} catch
|
|
265
|
+
t.addEventListener("abort", i);
|
|
266
|
+
} catch {
|
|
349
267
|
}
|
|
350
268
|
return new Promise(
|
|
351
|
-
(
|
|
269
|
+
(o, a) => void fetch(e, {
|
|
352
270
|
// abort if the worker is not fetched in a reasonable time
|
|
353
|
-
signal
|
|
354
|
-
}).then((
|
|
355
|
-
let
|
|
356
|
-
if (
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
} else
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
resolve(finalURL);
|
|
271
|
+
signal: t
|
|
272
|
+
}).then((i) => i.text()).then((i) => {
|
|
273
|
+
let s = "";
|
|
274
|
+
if (r.useBlob) {
|
|
275
|
+
const u = new Blob([i], { type: V });
|
|
276
|
+
s = URL.createObjectURL(u);
|
|
277
|
+
} else
|
|
278
|
+
s = `data:${V},` + encodeURIComponent(i);
|
|
279
|
+
o(s);
|
|
363
280
|
}).catch(() => {
|
|
364
|
-
|
|
281
|
+
a(new Error(`Failed to fetch worker from ${e}`));
|
|
365
282
|
})
|
|
366
283
|
);
|
|
367
284
|
};
|
|
368
|
-
var
|
|
369
|
-
function
|
|
370
|
-
for (var
|
|
371
|
-
var
|
|
372
|
-
|
|
373
|
-
descriptor.configurable = true;
|
|
374
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
375
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
285
|
+
var te = /* @__PURE__ */ function() {
|
|
286
|
+
function e(n, r) {
|
|
287
|
+
for (var t = 0; t < r.length; t++) {
|
|
288
|
+
var o = r[t];
|
|
289
|
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(n, o.key, o);
|
|
376
290
|
}
|
|
377
291
|
}
|
|
378
|
-
return function(
|
|
379
|
-
|
|
380
|
-
if (staticProps) defineProperties(Constructor, staticProps);
|
|
381
|
-
return Constructor;
|
|
292
|
+
return function(n, r, t) {
|
|
293
|
+
return r && e(n.prototype, r), t && e(n, t), n;
|
|
382
294
|
};
|
|
383
|
-
}();
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } }));
|
|
295
|
+
}(), oe = ae(["", ""], ["", ""]);
|
|
296
|
+
function ae(e, n) {
|
|
297
|
+
return Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(n) } }));
|
|
387
298
|
}
|
|
388
|
-
function
|
|
389
|
-
if (!(
|
|
299
|
+
function ie(e, n) {
|
|
300
|
+
if (!(e instanceof n))
|
|
390
301
|
throw new TypeError("Cannot call a class as a function");
|
|
391
|
-
}
|
|
392
302
|
}
|
|
393
|
-
var
|
|
394
|
-
function
|
|
395
|
-
var
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
if (typeof strings === "function") {
|
|
405
|
-
return _this.interimTag.bind(_this, strings);
|
|
406
|
-
}
|
|
407
|
-
if (typeof strings === "string") {
|
|
408
|
-
return _this.transformEndResult(strings);
|
|
409
|
-
}
|
|
410
|
-
strings = strings.map(_this.transformString.bind(_this));
|
|
411
|
-
return _this.transformEndResult(strings.reduce(_this.processSubstitutions.bind(_this, expressions)));
|
|
412
|
-
};
|
|
413
|
-
if (transformers.length > 0 && Array.isArray(transformers[0])) {
|
|
414
|
-
transformers = transformers[0];
|
|
415
|
-
}
|
|
416
|
-
this.transformers = transformers.map(function(transformer) {
|
|
417
|
-
return typeof transformer === "function" ? transformer() : transformer;
|
|
418
|
-
});
|
|
419
|
-
return this.tag;
|
|
303
|
+
var g = function() {
|
|
304
|
+
function e() {
|
|
305
|
+
for (var n = this, r = arguments.length, t = Array(r), o = 0; o < r; o++)
|
|
306
|
+
t[o] = arguments[o];
|
|
307
|
+
return ie(this, e), this.tag = function(a) {
|
|
308
|
+
for (var i = arguments.length, s = Array(i > 1 ? i - 1 : 0), u = 1; u < i; u++)
|
|
309
|
+
s[u - 1] = arguments[u];
|
|
310
|
+
return typeof a == "function" ? n.interimTag.bind(n, a) : typeof a == "string" ? n.transformEndResult(a) : (a = a.map(n.transformString.bind(n)), n.transformEndResult(a.reduce(n.processSubstitutions.bind(n, s))));
|
|
311
|
+
}, t.length > 0 && Array.isArray(t[0]) && (t = t[0]), this.transformers = t.map(function(a) {
|
|
312
|
+
return typeof a == "function" ? a() : a;
|
|
313
|
+
}), this.tag;
|
|
420
314
|
}
|
|
421
|
-
|
|
315
|
+
return te(e, [{
|
|
422
316
|
key: "interimTag",
|
|
423
317
|
/**
|
|
424
318
|
* An intermediary template tag that receives a template tag and passes the result of calling the template with the received
|
|
@@ -428,11 +322,10 @@ var TemplateTag = function() {
|
|
|
428
322
|
* @param {...*} ...substitutions - `substitutions` is an array of all substitutions in the template
|
|
429
323
|
* @return {*} - the final processed value
|
|
430
324
|
*/
|
|
431
|
-
value: function
|
|
432
|
-
for (var
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
return this.tag(_templateObject, previousTag.apply(void 0, [template].concat(substitutions)));
|
|
325
|
+
value: function(r, t) {
|
|
326
|
+
for (var o = arguments.length, a = Array(o > 2 ? o - 2 : 0), i = 2; i < o; i++)
|
|
327
|
+
a[i - 2] = arguments[i];
|
|
328
|
+
return this.tag(oe, r.apply(void 0, [t].concat(a)));
|
|
436
329
|
}
|
|
437
330
|
/**
|
|
438
331
|
* Performs bulk processing on the tagged template, transforming each substitution and then
|
|
@@ -444,9 +337,9 @@ var TemplateTag = function() {
|
|
|
444
337
|
*/
|
|
445
338
|
}, {
|
|
446
339
|
key: "processSubstitutions",
|
|
447
|
-
value: function
|
|
448
|
-
var
|
|
449
|
-
return "".concat(
|
|
340
|
+
value: function(r, t, o) {
|
|
341
|
+
var a = this.transformSubstitution(r.shift(), t);
|
|
342
|
+
return "".concat(t, a, o);
|
|
450
343
|
}
|
|
451
344
|
/**
|
|
452
345
|
* Iterate through each transformer, applying the transformer's `onString` method to the template
|
|
@@ -456,11 +349,11 @@ var TemplateTag = function() {
|
|
|
456
349
|
*/
|
|
457
350
|
}, {
|
|
458
351
|
key: "transformString",
|
|
459
|
-
value: function
|
|
460
|
-
var
|
|
461
|
-
return
|
|
352
|
+
value: function(r) {
|
|
353
|
+
var t = function(a, i) {
|
|
354
|
+
return i.onString ? i.onString(a) : a;
|
|
462
355
|
};
|
|
463
|
-
return this.transformers.reduce(
|
|
356
|
+
return this.transformers.reduce(t, r);
|
|
464
357
|
}
|
|
465
358
|
/**
|
|
466
359
|
* When a substitution is encountered, iterates through each transformer and applies the transformer's
|
|
@@ -471,11 +364,11 @@ var TemplateTag = function() {
|
|
|
471
364
|
*/
|
|
472
365
|
}, {
|
|
473
366
|
key: "transformSubstitution",
|
|
474
|
-
value: function
|
|
475
|
-
var
|
|
476
|
-
return
|
|
367
|
+
value: function(r, t) {
|
|
368
|
+
var o = function(i, s) {
|
|
369
|
+
return s.onSubstitution ? s.onSubstitution(i, t) : i;
|
|
477
370
|
};
|
|
478
|
-
return this.transformers.reduce(
|
|
371
|
+
return this.transformers.reduce(o, r);
|
|
479
372
|
}
|
|
480
373
|
/**
|
|
481
374
|
* Iterates through each transformer, applying the transformer's `onEndResult` method to the
|
|
@@ -485,376 +378,540 @@ var TemplateTag = function() {
|
|
|
485
378
|
*/
|
|
486
379
|
}, {
|
|
487
380
|
key: "transformEndResult",
|
|
488
|
-
value: function
|
|
489
|
-
var
|
|
490
|
-
return
|
|
381
|
+
value: function(r) {
|
|
382
|
+
var t = function(a, i) {
|
|
383
|
+
return i.onEndResult ? i.onEndResult(a) : a;
|
|
491
384
|
};
|
|
492
|
-
return this.transformers.reduce(
|
|
385
|
+
return this.transformers.reduce(t, r);
|
|
493
386
|
}
|
|
494
|
-
}]);
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
var trimResultTransformer = function trimResultTransformer2() {
|
|
498
|
-
var side = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
|
|
387
|
+
}]), e;
|
|
388
|
+
}(), d = function() {
|
|
389
|
+
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
|
|
499
390
|
return {
|
|
500
|
-
onEndResult: function
|
|
501
|
-
if (
|
|
502
|
-
return
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
if (
|
|
506
|
-
return
|
|
507
|
-
|
|
508
|
-
if (side === "end" || side === "right") {
|
|
509
|
-
return endResult.replace(/\s*$/, "");
|
|
510
|
-
}
|
|
511
|
-
throw new Error("Side not supported: " + side);
|
|
391
|
+
onEndResult: function(t) {
|
|
392
|
+
if (n === "")
|
|
393
|
+
return t.trim();
|
|
394
|
+
if (n = n.toLowerCase(), n === "start" || n === "left")
|
|
395
|
+
return t.replace(/^\s*/, "");
|
|
396
|
+
if (n === "end" || n === "right")
|
|
397
|
+
return t.replace(/\s*$/, "");
|
|
398
|
+
throw new Error("Side not supported: " + n);
|
|
512
399
|
}
|
|
513
400
|
};
|
|
514
401
|
};
|
|
515
|
-
function
|
|
516
|
-
if (Array.isArray(
|
|
517
|
-
for (var
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
return Array.from(arr);
|
|
523
|
-
}
|
|
402
|
+
function se(e) {
|
|
403
|
+
if (Array.isArray(e)) {
|
|
404
|
+
for (var n = 0, r = Array(e.length); n < e.length; n++)
|
|
405
|
+
r[n] = e[n];
|
|
406
|
+
return r;
|
|
407
|
+
} else
|
|
408
|
+
return Array.from(e);
|
|
524
409
|
}
|
|
525
|
-
var
|
|
526
|
-
var
|
|
410
|
+
var w = function() {
|
|
411
|
+
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "initial";
|
|
527
412
|
return {
|
|
528
|
-
onEndResult: function
|
|
529
|
-
if (
|
|
530
|
-
var
|
|
531
|
-
|
|
532
|
-
return el.length;
|
|
413
|
+
onEndResult: function(t) {
|
|
414
|
+
if (n === "initial") {
|
|
415
|
+
var o = t.match(/^[^\S\n]*(?=\S)/gm), a = o && Math.min.apply(Math, se(o.map(function(s) {
|
|
416
|
+
return s.length;
|
|
533
417
|
})));
|
|
534
|
-
if (
|
|
535
|
-
var
|
|
536
|
-
return
|
|
418
|
+
if (a) {
|
|
419
|
+
var i = new RegExp("^.{" + a + "}", "gm");
|
|
420
|
+
return t.replace(i, "");
|
|
537
421
|
}
|
|
538
|
-
return
|
|
539
|
-
}
|
|
540
|
-
if (type2 === "all") {
|
|
541
|
-
return endResult.replace(/^[^\S\n]+/gm, "");
|
|
422
|
+
return t;
|
|
542
423
|
}
|
|
543
|
-
|
|
424
|
+
if (n === "all")
|
|
425
|
+
return t.replace(/^[^\S\n]+/gm, "");
|
|
426
|
+
throw new Error("Unknown type: " + n);
|
|
544
427
|
}
|
|
545
428
|
};
|
|
546
|
-
}
|
|
547
|
-
var replaceResultTransformer = function replaceResultTransformer2(replaceWhat, replaceWith) {
|
|
429
|
+
}, S = function(n, r) {
|
|
548
430
|
return {
|
|
549
|
-
onEndResult: function
|
|
550
|
-
if (
|
|
431
|
+
onEndResult: function(o) {
|
|
432
|
+
if (n == null || r == null)
|
|
551
433
|
throw new Error("replaceResultTransformer requires at least 2 arguments.");
|
|
552
|
-
|
|
553
|
-
return endResult.replace(replaceWhat, replaceWith);
|
|
434
|
+
return o.replace(n, r);
|
|
554
435
|
}
|
|
555
436
|
};
|
|
556
|
-
}
|
|
557
|
-
var replaceSubstitutionTransformer = function replaceSubstitutionTransformer2(replaceWhat, replaceWith) {
|
|
437
|
+
}, b = function(n, r) {
|
|
558
438
|
return {
|
|
559
|
-
onSubstitution: function
|
|
560
|
-
if (
|
|
439
|
+
onSubstitution: function(o, a) {
|
|
440
|
+
if (n == null || r == null)
|
|
561
441
|
throw new Error("replaceSubstitutionTransformer requires at least 2 arguments.");
|
|
562
|
-
|
|
563
|
-
if (substitution == null) {
|
|
564
|
-
return substitution;
|
|
565
|
-
} else {
|
|
566
|
-
return substitution.toString().replace(replaceWhat, replaceWith);
|
|
567
|
-
}
|
|
442
|
+
return o == null ? o : o.toString().replace(n, r);
|
|
568
443
|
}
|
|
569
444
|
};
|
|
570
|
-
}
|
|
571
|
-
var defaults = {
|
|
445
|
+
}, ce = {
|
|
572
446
|
separator: "",
|
|
573
447
|
conjunction: "",
|
|
574
|
-
serial:
|
|
575
|
-
}
|
|
576
|
-
var
|
|
577
|
-
var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaults;
|
|
448
|
+
serial: !1
|
|
449
|
+
}, h = function() {
|
|
450
|
+
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ce;
|
|
578
451
|
return {
|
|
579
|
-
onSubstitution: function
|
|
580
|
-
if (Array.isArray(
|
|
581
|
-
var
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
var indent = resultSoFar.match(/(\n?[^\S\n]+)$/);
|
|
586
|
-
if (indent) {
|
|
587
|
-
substitution = substitution.join(separator + indent[1]);
|
|
588
|
-
} else {
|
|
589
|
-
substitution = substitution.join(separator + " ");
|
|
590
|
-
}
|
|
591
|
-
if (conjunction && arrayLength > 1) {
|
|
592
|
-
var separatorIndex = substitution.lastIndexOf(separator);
|
|
593
|
-
substitution = substitution.slice(0, separatorIndex) + (serial ? separator : "") + " " + conjunction + substitution.slice(separatorIndex + 1);
|
|
452
|
+
onSubstitution: function(t, o) {
|
|
453
|
+
if (Array.isArray(t)) {
|
|
454
|
+
var a = t.length, i = n.separator, s = n.conjunction, u = n.serial, c = o.match(/(\n?[^\S\n]+)$/);
|
|
455
|
+
if (c ? t = t.join(i + c[1]) : t = t.join(i + " "), s && a > 1) {
|
|
456
|
+
var l = t.lastIndexOf(i);
|
|
457
|
+
t = t.slice(0, l) + (u ? i : "") + " " + s + t.slice(l + 1);
|
|
594
458
|
}
|
|
595
459
|
}
|
|
596
|
-
return
|
|
460
|
+
return t;
|
|
597
461
|
}
|
|
598
462
|
};
|
|
599
|
-
}
|
|
600
|
-
var splitStringTransformer = function splitStringTransformer2(splitBy) {
|
|
463
|
+
}, H = function(n) {
|
|
601
464
|
return {
|
|
602
|
-
onSubstitution: function
|
|
603
|
-
|
|
604
|
-
if (typeof substitution === "string" && substitution.includes(splitBy)) {
|
|
605
|
-
substitution = substitution.split(splitBy);
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
return substitution;
|
|
465
|
+
onSubstitution: function(t, o) {
|
|
466
|
+
return typeof t == "string" && t.includes(n) && (t = t.split(n)), t;
|
|
609
467
|
}
|
|
610
468
|
};
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
};
|
|
615
|
-
var removeNonPrintingValuesTransformer = function removeNonPrintingValuesTransformer2() {
|
|
469
|
+
}, M = function(n) {
|
|
470
|
+
return n != null && !Number.isNaN(n) && typeof n != "boolean";
|
|
471
|
+
}, ue = function() {
|
|
616
472
|
return {
|
|
617
|
-
onSubstitution: function
|
|
618
|
-
|
|
619
|
-
return substitution.filter(isValidValue);
|
|
620
|
-
}
|
|
621
|
-
if (isValidValue(substitution)) {
|
|
622
|
-
return substitution;
|
|
623
|
-
}
|
|
624
|
-
return "";
|
|
473
|
+
onSubstitution: function(r) {
|
|
474
|
+
return Array.isArray(r) ? r.filter(M) : M(r) ? r : "";
|
|
625
475
|
}
|
|
626
476
|
};
|
|
627
477
|
};
|
|
628
|
-
new
|
|
629
|
-
new
|
|
630
|
-
new
|
|
631
|
-
new
|
|
632
|
-
|
|
633
|
-
new
|
|
634
|
-
|
|
635
|
-
new
|
|
636
|
-
|
|
637
|
-
new
|
|
638
|
-
new
|
|
639
|
-
new
|
|
640
|
-
new
|
|
641
|
-
new
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
const
|
|
646
|
-
|
|
647
|
-
};
|
|
648
|
-
const needsHttpValidation = (url) => {
|
|
649
|
-
return !isDataUrl(url) && !isBlobUrl(url);
|
|
650
|
-
};
|
|
651
|
-
const validateHttpWorkerFile = async (workerUrl) => {
|
|
652
|
-
const response = await fetch(workerUrl, { method: "HEAD" });
|
|
653
|
-
const contentType = response.headers.get("content-type");
|
|
654
|
-
const isJavascript = contentType?.includes("javascript");
|
|
655
|
-
const isHtml = contentType?.includes("html");
|
|
656
|
-
if (isHtml) {
|
|
478
|
+
new g(h({ separator: "," }), w, d);
|
|
479
|
+
new g(h({ separator: ",", conjunction: "and" }), w, d);
|
|
480
|
+
new g(h({ separator: ",", conjunction: "or" }), w, d);
|
|
481
|
+
new g(H(`
|
|
482
|
+
`), ue, h, w, d);
|
|
483
|
+
new g(H(`
|
|
484
|
+
`), h, w, d, b(/&/g, "&"), b(/</g, "<"), b(/>/g, ">"), b(/"/g, """), b(/'/g, "'"), b(/`/g, "`"));
|
|
485
|
+
new g(S(/(?:\n(?:\s*))+/g, " "), d);
|
|
486
|
+
var le = new g(S(/(?:\n\s*)/g, ""), d);
|
|
487
|
+
new g(h({ separator: "," }), S(/(?:\s+)/g, " "), d);
|
|
488
|
+
new g(h({ separator: ",", conjunction: "or" }), S(/(?:\s+)/g, " "), d);
|
|
489
|
+
new g(h({ separator: ",", conjunction: "and" }), S(/(?:\s+)/g, " "), d);
|
|
490
|
+
new g(h, w, d);
|
|
491
|
+
new g(h, S(/(?:\s+)/g, " "), d);
|
|
492
|
+
new g(w, d);
|
|
493
|
+
new g(w("all"), d);
|
|
494
|
+
const fe = (e) => e.startsWith("data:"), ge = (e) => e.startsWith("blob:"), de = (e) => !fe(e) && !ge(e), me = async (e) => {
|
|
495
|
+
const n = await fetch(e, { method: "HEAD" }), r = n.headers.get("content-type"), t = r?.includes("javascript");
|
|
496
|
+
if (r?.includes("html"))
|
|
657
497
|
throw new Error(
|
|
658
|
-
|
|
498
|
+
le`${e} resolved to a resource with the content type ${r}.
|
|
659
499
|
This is likely an issue with the server configuration redirecting to an index.html file.
|
|
660
500
|
Check that your resources are properly hosted`
|
|
661
501
|
);
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
}
|
|
666
|
-
if (!response.ok) {
|
|
502
|
+
if (!t)
|
|
503
|
+
throw new Error(`Worker file is not a JavaScript file: ${r}`);
|
|
504
|
+
if (!n.ok)
|
|
667
505
|
throw new Error(
|
|
668
|
-
`Worker file not found or inaccessible: ${
|
|
506
|
+
`Worker file not found or inaccessible: ${n.status} ${n.statusText}`
|
|
669
507
|
);
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
const workerUrl = await getCrossOriginWorkerURL(
|
|
674
|
-
new URL("resources/blinkid-worker.js", resourcesLocation).toString()
|
|
508
|
+
}, he = async (e = window.location.href) => {
|
|
509
|
+
const n = await re(
|
|
510
|
+
new URL("resources/blinkid-worker.js", e).toString()
|
|
675
511
|
);
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
}
|
|
679
|
-
const worker = new Worker(workerUrl, {
|
|
512
|
+
de(n) && await me(n);
|
|
513
|
+
const r = new Worker(n, {
|
|
680
514
|
type: "module"
|
|
681
515
|
});
|
|
682
|
-
|
|
683
|
-
console.error("Worker error:",
|
|
684
|
-
proxyWorker[releaseProxy]();
|
|
516
|
+
r.onerror = (o) => {
|
|
517
|
+
console.error("Worker error:", o), t[_]();
|
|
685
518
|
};
|
|
686
|
-
const
|
|
687
|
-
return
|
|
519
|
+
const t = W(r);
|
|
520
|
+
return t;
|
|
688
521
|
};
|
|
689
|
-
let
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
}
|
|
700
|
-
return id;
|
|
701
|
-
}, "");
|
|
702
|
-
const key = "blinkid-userid";
|
|
703
|
-
function getUserId() {
|
|
704
|
-
const hasLocalStorage = testLocalStorage();
|
|
705
|
-
if (!hasLocalStorage) {
|
|
706
|
-
return nanoid();
|
|
707
|
-
}
|
|
708
|
-
const previousId = localStorage.getItem(key);
|
|
709
|
-
if (previousId) {
|
|
710
|
-
return previousId;
|
|
711
|
-
}
|
|
712
|
-
const randomId = nanoid();
|
|
713
|
-
localStorage.setItem(key, randomId);
|
|
714
|
-
return randomId;
|
|
522
|
+
let O = (e = 21) => crypto.getRandomValues(new Uint8Array(e)).reduce((n, r) => (r &= 63, r < 36 ? n += r.toString(36) : r < 62 ? n += (r - 26).toString(36).toUpperCase() : r > 62 ? n += "-" : n += "_", n), "");
|
|
523
|
+
const L = "blinkid-userid";
|
|
524
|
+
function we() {
|
|
525
|
+
if (!pe())
|
|
526
|
+
return O();
|
|
527
|
+
const n = localStorage.getItem(L);
|
|
528
|
+
if (n)
|
|
529
|
+
return n;
|
|
530
|
+
const r = O();
|
|
531
|
+
return localStorage.setItem(L, r), r;
|
|
715
532
|
}
|
|
716
|
-
function
|
|
533
|
+
function pe() {
|
|
717
534
|
try {
|
|
718
|
-
localStorage.setItem("test", "test");
|
|
719
|
-
localStorage.removeItem("test");
|
|
720
|
-
return true;
|
|
535
|
+
return localStorage.setItem("test", "test"), localStorage.removeItem("test"), !0;
|
|
721
536
|
} catch {
|
|
722
|
-
return
|
|
537
|
+
return !1;
|
|
723
538
|
}
|
|
724
539
|
}
|
|
725
|
-
const
|
|
540
|
+
const be = {
|
|
726
541
|
inputImageSource: "video",
|
|
727
542
|
scanningMode: "automatic",
|
|
728
543
|
scanningSettings: {
|
|
729
|
-
allowUncertainFrontSideScan:
|
|
544
|
+
allowUncertainFrontSideScan: !1,
|
|
730
545
|
blurDetectionLevel: "mid",
|
|
731
546
|
glareDetectionLevel: "mid",
|
|
732
547
|
tiltDetectionLevel: "mid",
|
|
733
|
-
skipImagesWithBlur:
|
|
734
|
-
skipImagesWithGlare:
|
|
735
|
-
skipImagesOccludedByHand:
|
|
736
|
-
skipImagesWithInadequateLightingConditions:
|
|
737
|
-
combineResultsFromMultipleInputImages:
|
|
548
|
+
skipImagesWithBlur: !0,
|
|
549
|
+
skipImagesWithGlare: !0,
|
|
550
|
+
skipImagesOccludedByHand: !0,
|
|
551
|
+
skipImagesWithInadequateLightingConditions: !0,
|
|
552
|
+
combineResultsFromMultipleInputImages: !0,
|
|
738
553
|
croppedImageSettings: {
|
|
739
554
|
dotsPerInch: 250,
|
|
740
555
|
extensionFactor: 0,
|
|
741
|
-
returnDocumentImage:
|
|
742
|
-
returnFaceImage:
|
|
743
|
-
returnSignatureImage:
|
|
556
|
+
returnDocumentImage: !1,
|
|
557
|
+
returnFaceImage: !1,
|
|
558
|
+
returnSignatureImage: !1
|
|
744
559
|
},
|
|
745
560
|
customDocumentAnonymizationSettings: [],
|
|
746
561
|
customDocumentRules: [],
|
|
747
|
-
enableBarcodeScanOnly:
|
|
748
|
-
enableCharacterValidation:
|
|
562
|
+
enableBarcodeScanOnly: !1,
|
|
563
|
+
enableCharacterValidation: !0,
|
|
749
564
|
inputImageMargin: 0.02,
|
|
750
565
|
maxAllowedMismatchesPerField: 0,
|
|
751
566
|
recognitionModeFilter: {
|
|
752
|
-
enableBarcodeId:
|
|
753
|
-
enableFullDocumentRecognition:
|
|
754
|
-
enableMrzId:
|
|
755
|
-
enableMrzPassport:
|
|
756
|
-
enableMrzVisa:
|
|
757
|
-
enablePhotoId:
|
|
567
|
+
enableBarcodeId: !0,
|
|
568
|
+
enableFullDocumentRecognition: !0,
|
|
569
|
+
enableMrzId: !0,
|
|
570
|
+
enableMrzPassport: !0,
|
|
571
|
+
enableMrzVisa: !0,
|
|
572
|
+
enablePhotoId: !0
|
|
758
573
|
},
|
|
759
|
-
returnInputImages:
|
|
760
|
-
scanCroppedDocumentImage:
|
|
761
|
-
scanPassportDataPageOnly:
|
|
762
|
-
scanUnsupportedBack:
|
|
574
|
+
returnInputImages: !1,
|
|
575
|
+
scanCroppedDocumentImage: !1,
|
|
576
|
+
scanPassportDataPageOnly: !0,
|
|
577
|
+
scanUnsupportedBack: !1,
|
|
763
578
|
anonymizationMode: "full-result"
|
|
764
579
|
}
|
|
765
580
|
};
|
|
766
|
-
async function
|
|
767
|
-
const
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
settings.resourcesLocation = window.location.href;
|
|
773
|
-
}
|
|
774
|
-
if (settings.useLightweightBuild === void 0) {
|
|
775
|
-
settings.useLightweightBuild = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
776
|
-
navigator.userAgent
|
|
777
|
-
);
|
|
778
|
-
}
|
|
779
|
-
const proxyProgressCallback = progressCallback ? proxy(progressCallback) : void 0;
|
|
581
|
+
async function Pe(e, n) {
|
|
582
|
+
const r = await he(e.resourcesLocation);
|
|
583
|
+
e.userId || (e.userId = we()), e.resourcesLocation || (e.resourcesLocation = window.location.href), e.useLightweightBuild === void 0 && (e.useLightweightBuild = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
584
|
+
navigator.userAgent
|
|
585
|
+
));
|
|
586
|
+
const t = n ? z(n) : void 0;
|
|
780
587
|
try {
|
|
781
|
-
await
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
);
|
|
786
|
-
|
|
787
|
-
} catch (error) {
|
|
588
|
+
return await r.initBlinkId(
|
|
589
|
+
e,
|
|
590
|
+
be,
|
|
591
|
+
t
|
|
592
|
+
), r;
|
|
593
|
+
} catch (o) {
|
|
788
594
|
throw new Error("Failed to initialize BlinkID", {
|
|
789
|
-
cause:
|
|
595
|
+
cause: o
|
|
790
596
|
});
|
|
791
597
|
}
|
|
792
598
|
}
|
|
793
|
-
function
|
|
794
|
-
|
|
599
|
+
function Ae(e) {
|
|
600
|
+
return {
|
|
795
601
|
/**
|
|
796
602
|
* Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.
|
|
797
603
|
*
|
|
798
604
|
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/data)
|
|
799
605
|
*/
|
|
800
|
-
data:
|
|
606
|
+
data: e.data,
|
|
801
607
|
/**
|
|
802
608
|
* Returns the actual dimensions of the data in the ImageData object, in pixels.
|
|
803
609
|
*
|
|
804
610
|
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/width)
|
|
805
611
|
*/
|
|
806
|
-
width:
|
|
612
|
+
width: e.width,
|
|
807
613
|
/**
|
|
808
614
|
* Returns the actual dimensions of the data in the ImageData object, in pixels.
|
|
809
615
|
*
|
|
810
616
|
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/height)
|
|
811
617
|
*/
|
|
812
|
-
height:
|
|
618
|
+
height: e.height,
|
|
813
619
|
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/colorSpace) */
|
|
814
|
-
colorSpace:
|
|
620
|
+
colorSpace: e.colorSpace
|
|
815
621
|
};
|
|
816
|
-
return customImageData;
|
|
817
622
|
}
|
|
818
|
-
function
|
|
819
|
-
const
|
|
820
|
-
return
|
|
623
|
+
function Ve(e, n) {
|
|
624
|
+
const r = n === "first" ? 0 : 1;
|
|
625
|
+
return e.subResults[r]?.inputImage ?? null;
|
|
821
626
|
}
|
|
822
|
-
function
|
|
823
|
-
return
|
|
824
|
-
(
|
|
627
|
+
function Me(e) {
|
|
628
|
+
return e.subResults.find(
|
|
629
|
+
(n) => n.barcodeInputImage
|
|
825
630
|
)?.barcodeInputImage ?? null;
|
|
826
631
|
}
|
|
827
|
-
function
|
|
828
|
-
const
|
|
829
|
-
return
|
|
632
|
+
function Oe(e, n) {
|
|
633
|
+
const r = n === "first" ? 0 : 1;
|
|
634
|
+
return e.subResults[r]?.documentImage ?? null;
|
|
830
635
|
}
|
|
831
|
-
function
|
|
832
|
-
return
|
|
636
|
+
function Le(e) {
|
|
637
|
+
return e.subResults.find((n) => n.faceImage)?.faceImage?.image ?? null;
|
|
833
638
|
}
|
|
834
|
-
function
|
|
835
|
-
return
|
|
836
|
-
(
|
|
639
|
+
function Ce(e) {
|
|
640
|
+
return e.subResults.find(
|
|
641
|
+
(n) => n.signatureImage
|
|
837
642
|
)?.signatureImage?.image ?? null;
|
|
838
643
|
}
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
if (
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
644
|
+
function ve() {
|
|
645
|
+
const e = navigator.userAgent;
|
|
646
|
+
if (/iPad/.test(e) || /Macintosh/.test(e) && navigator.maxTouchPoints > 1)
|
|
647
|
+
return "iPad";
|
|
648
|
+
if (/iPhone/.test(e))
|
|
649
|
+
return "iPhone";
|
|
650
|
+
if (/Macintosh/.test(e))
|
|
651
|
+
return "Mac";
|
|
652
|
+
}
|
|
653
|
+
const Se = [
|
|
654
|
+
// 1. In-App Browsers
|
|
655
|
+
{
|
|
656
|
+
name: "Facebook In-App",
|
|
657
|
+
regex: /FBAV\/([\d.]+)/,
|
|
658
|
+
getVersion: (e) => e[1]
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
name: "Instagram In-App",
|
|
662
|
+
regex: /Instagram ([\d.]+)/,
|
|
663
|
+
getVersion: (e) => e[1]
|
|
664
|
+
},
|
|
665
|
+
{ name: "TikTok In-App", regex: /TikTok/, getVersion: () => "" },
|
|
666
|
+
// 2. Niche/Alternate Browsers (must be checked before generic Chrome)
|
|
667
|
+
{ name: "Edge", regex: /Edg\/([\d.]+)/, getVersion: (e) => e[1] },
|
|
668
|
+
{
|
|
669
|
+
name: "DuckDuckGo",
|
|
670
|
+
regex: /DuckDuckGo\/([\d.]+)/,
|
|
671
|
+
getVersion: (e) => e[1]
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
name: "Vivaldi",
|
|
675
|
+
regex: /Vivaldi\/([\d.]+)/,
|
|
676
|
+
getVersion: (e) => e[1]
|
|
677
|
+
},
|
|
678
|
+
{ name: "Opera", regex: /OPR\/([\d.]+)/, getVersion: (e) => e[1] },
|
|
679
|
+
{
|
|
680
|
+
name: "Samsung Browser",
|
|
681
|
+
regex: /SamsungBrowser\/([\d.]+)/,
|
|
682
|
+
getVersion: (e) => e[1]
|
|
683
|
+
},
|
|
684
|
+
// 3. Platform-specific browsers (e.g., on iOS)
|
|
685
|
+
{
|
|
686
|
+
name: "Firefox",
|
|
687
|
+
regex: /FxiOS\/([\S]+)/,
|
|
688
|
+
// Firefox on iOS
|
|
689
|
+
getVersion: (e) => e[1]
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
name: "Chrome",
|
|
693
|
+
regex: /CriOS\/([\S]+)/,
|
|
694
|
+
// Chrome on iOS
|
|
695
|
+
getVersion: (e) => e[1]
|
|
696
|
+
},
|
|
697
|
+
// 4. WebViews (must be checked before generic Chrome/Safari)
|
|
698
|
+
{
|
|
699
|
+
name: "Android WebView",
|
|
700
|
+
regex: /; wv\)/,
|
|
701
|
+
getVersion: (e, n) => n.match(/Chrome\/([\d.]+)/)?.[1] ?? ""
|
|
702
|
+
},
|
|
703
|
+
// 5. Major Mainstream Browsers (the final fallbacks)
|
|
704
|
+
{
|
|
705
|
+
name: "Brave",
|
|
706
|
+
regex: /Brave/,
|
|
707
|
+
getVersion: (e, n) => n.match(/Chrome\/([\d.]+)/)?.[1] ?? ""
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
name: "Chrome",
|
|
711
|
+
regex: /Chrome\/([\d.]+)/,
|
|
712
|
+
getVersion: (e) => e[1]
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
name: "Firefox",
|
|
716
|
+
regex: /Firefox\/([\d.]+)/,
|
|
717
|
+
getVersion: (e) => e[1]
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
name: "Safari",
|
|
721
|
+
regex: /Version\/([\d.]+).*Safari/,
|
|
722
|
+
getVersion: (e) => e[1]
|
|
723
|
+
}
|
|
724
|
+
];
|
|
725
|
+
function ye() {
|
|
726
|
+
const e = navigator.userAgent;
|
|
727
|
+
if (window.webkit?.messageHandlers) {
|
|
728
|
+
const n = e.match(/OS ([\d_]+)/);
|
|
729
|
+
return {
|
|
730
|
+
name: "iOS WebView",
|
|
731
|
+
version: n ? n[1].replace(/_/g, ".") : ""
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
for (const n of Se) {
|
|
735
|
+
const r = e.match(n.regex);
|
|
736
|
+
if (r)
|
|
737
|
+
return {
|
|
738
|
+
name: n.name,
|
|
739
|
+
version: n.getVersion(r, e)
|
|
740
|
+
};
|
|
741
|
+
}
|
|
742
|
+
return { name: "Unknown", version: "" };
|
|
743
|
+
}
|
|
744
|
+
function Ee(e, n) {
|
|
745
|
+
if (!n.versionRegex)
|
|
746
|
+
return "";
|
|
747
|
+
const r = e.match(n.versionRegex);
|
|
748
|
+
return r?.[1] ? n.versionTransform ? n.versionTransform(r[1]) : r[1] : "";
|
|
749
|
+
}
|
|
750
|
+
function Ie() {
|
|
751
|
+
const e = navigator.userAgent, n = {
|
|
752
|
+
"10.0": "10 or 11",
|
|
753
|
+
"6.3": "8.1",
|
|
754
|
+
"6.2": "8",
|
|
755
|
+
"6.1": "7"
|
|
756
|
+
}, r = [
|
|
757
|
+
{
|
|
758
|
+
os: "iPadOS",
|
|
759
|
+
condition: /Macintosh/.test(e) && navigator.maxTouchPoints > 1,
|
|
760
|
+
versionRegex: /Mac OS X ([\d_]+)/,
|
|
761
|
+
versionTransform: (t) => t.replace(/_/g, ".")
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
os: "iOS",
|
|
765
|
+
condition: /iPhone/.test(e),
|
|
766
|
+
versionRegex: /iPhone OS ([\d_]+)/,
|
|
767
|
+
versionTransform: (t) => t.replace(/_/g, ".")
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
os: "macOS",
|
|
771
|
+
condition: /Macintosh/.test(e),
|
|
772
|
+
versionRegex: /Mac OS X ([\d_]+)/,
|
|
773
|
+
versionTransform: (t) => t.replace(/_/g, ".")
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
os: "Windows",
|
|
777
|
+
condition: /Win/.test(e),
|
|
778
|
+
versionRegex: /Windows NT ([\d.]+)/,
|
|
779
|
+
versionTransform: (t) => n[t] || t
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
os: "Android",
|
|
783
|
+
condition: /Android/.test(e),
|
|
784
|
+
versionRegex: /Android ([\d.]+)/
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
os: "Linux",
|
|
788
|
+
condition: /Linux/.test(e)
|
|
789
|
+
}
|
|
790
|
+
];
|
|
791
|
+
for (const t of r)
|
|
792
|
+
if (t.condition) {
|
|
793
|
+
const o = Ee(e, t);
|
|
794
|
+
return { os: t.os, version: o };
|
|
795
|
+
}
|
|
796
|
+
return { os: "", version: "" };
|
|
797
|
+
}
|
|
798
|
+
function xe(e, n) {
|
|
799
|
+
const r = ve();
|
|
800
|
+
let t = "";
|
|
801
|
+
if (e?.model)
|
|
802
|
+
t = e.model;
|
|
803
|
+
else if (r)
|
|
804
|
+
t = r;
|
|
805
|
+
else {
|
|
806
|
+
const u = n.match(/Android.*?; ([^)]+)\)/);
|
|
807
|
+
u?.[1] && (t = u[1]);
|
|
808
|
+
}
|
|
809
|
+
let o = ["Desktop"];
|
|
810
|
+
e?.formFactors?.length ? o = e.formFactors : e?.mobile ? o = ["Mobile"] : r && (r === "iPhone" ? o = ["Mobile"] : r === "iPad" && (o = ["Tablet"]));
|
|
811
|
+
let a = "";
|
|
812
|
+
e?.platform ? a = e.platform : a = Ie().os;
|
|
813
|
+
let i = "", s = "";
|
|
814
|
+
if (e?.brands?.length)
|
|
815
|
+
i = (e.brands.find(
|
|
816
|
+
(c) => !/not.a.brand/i.test(c.brand) && c.brand !== "Chromium"
|
|
817
|
+
) ?? e.brands.find((c) => !/not.a.brand/i.test(c.brand)))?.brand ?? "", e.fullVersionList ? s = e.fullVersionList.find((c) => c.brand === i)?.version ?? "" : s = e.brands.find((c) => c.brand === i)?.version ?? "";
|
|
818
|
+
else {
|
|
819
|
+
const u = ye();
|
|
820
|
+
i = u.name, s = u.version;
|
|
821
|
+
}
|
|
822
|
+
return t === "" && a === "macOS" && (t = "Mac"), {
|
|
823
|
+
model: t,
|
|
824
|
+
formFactor: o,
|
|
825
|
+
platform: a,
|
|
826
|
+
browser: {
|
|
827
|
+
brand: i,
|
|
828
|
+
version: s
|
|
829
|
+
}
|
|
830
|
+
};
|
|
831
|
+
}
|
|
832
|
+
function Re() {
|
|
833
|
+
const n = document.createElement("canvas").getContext("webgl");
|
|
834
|
+
if (n && n instanceof WebGLRenderingContext) {
|
|
835
|
+
const r = n.getExtension("WEBGL_debug_renderer_info");
|
|
836
|
+
return {
|
|
837
|
+
renderer: r ? n.getParameter(r.UNMASKED_RENDERER_WEBGL) : n.getParameter(n.RENDERER),
|
|
838
|
+
shadingLanguageVersion: n.getParameter(n.SHADING_LANGUAGE_VERSION),
|
|
839
|
+
vendor: r ? n.getParameter(r.UNMASKED_VENDOR_WEBGL) : n.getParameter(n.VENDOR),
|
|
840
|
+
version: n.getParameter(n.VERSION)
|
|
841
|
+
};
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
function Te() {
|
|
845
|
+
try {
|
|
846
|
+
const e = "__storage_test__";
|
|
847
|
+
return window.localStorage.setItem(e, e), window.localStorage.removeItem(e), !0;
|
|
848
|
+
} catch {
|
|
849
|
+
return !1;
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
async function ke() {
|
|
853
|
+
let e;
|
|
854
|
+
try {
|
|
855
|
+
e = await navigator.userAgentData?.getHighEntropyValues([
|
|
856
|
+
"brands",
|
|
857
|
+
"mobile",
|
|
858
|
+
"platform",
|
|
859
|
+
"architecture",
|
|
860
|
+
"bitness",
|
|
861
|
+
"formFactors",
|
|
862
|
+
"model",
|
|
863
|
+
"platformVersion",
|
|
864
|
+
"fullVersionList",
|
|
865
|
+
"wow64"
|
|
866
|
+
]);
|
|
867
|
+
} catch {
|
|
868
|
+
}
|
|
869
|
+
return e;
|
|
870
|
+
}
|
|
871
|
+
async function _e() {
|
|
872
|
+
const e = await ke();
|
|
873
|
+
return {
|
|
874
|
+
userAgentData: e,
|
|
875
|
+
userAgent: navigator.userAgent,
|
|
876
|
+
threads: navigator.hardwareConcurrency,
|
|
877
|
+
memory: navigator.deviceMemory,
|
|
878
|
+
gpu: Re(),
|
|
879
|
+
screen: {
|
|
880
|
+
screenWidth: window.screen.width,
|
|
881
|
+
screenHeight: window.screen.height,
|
|
882
|
+
devicePixelRatio: window.devicePixelRatio,
|
|
883
|
+
physicalScreenWidth: window.screen.width * window.devicePixelRatio,
|
|
884
|
+
physicalScreenHeight: window.screen.height * window.devicePixelRatio,
|
|
885
|
+
maxTouchPoints: navigator.maxTouchPoints
|
|
886
|
+
},
|
|
887
|
+
browserStorageSupport: {
|
|
888
|
+
cookieEnabled: navigator.cookieEnabled,
|
|
889
|
+
localStorageEnabled: Te()
|
|
890
|
+
},
|
|
891
|
+
derivedDeviceInfo: xe(
|
|
892
|
+
e,
|
|
893
|
+
navigator.userAgent
|
|
894
|
+
)
|
|
895
|
+
};
|
|
845
896
|
}
|
|
897
|
+
const G = Symbol();
|
|
898
|
+
globalThis.__BLINKID_CORE__ ||= G;
|
|
899
|
+
globalThis.__BLINKID_CORE__ !== G && console.warn(
|
|
900
|
+
"Detected multiple instances of @microblink/blinkid-core. This can lead to unexpected behavior."
|
|
901
|
+
);
|
|
846
902
|
export {
|
|
847
|
-
createCustomImageData,
|
|
848
|
-
createProxyWorker,
|
|
849
|
-
defaultSessionSettings,
|
|
850
|
-
extractBarcodeImage,
|
|
851
|
-
extractFaceImage,
|
|
852
|
-
extractSideDocumentImage,
|
|
853
|
-
extractSideInputImage,
|
|
854
|
-
extractSignatureImage,
|
|
855
|
-
getCrossOriginWorkerURL,
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
903
|
+
Ae as createCustomImageData,
|
|
904
|
+
he as createProxyWorker,
|
|
905
|
+
be as defaultSessionSettings,
|
|
906
|
+
Me as extractBarcodeImage,
|
|
907
|
+
Le as extractFaceImage,
|
|
908
|
+
Oe as extractSideDocumentImage,
|
|
909
|
+
Ve as extractSideInputImage,
|
|
910
|
+
Ce as extractSignatureImage,
|
|
911
|
+
re as getCrossOriginWorkerURL,
|
|
912
|
+
_e as getDeviceInfo,
|
|
913
|
+
ke as getUserAgentData,
|
|
914
|
+
we as getUserId,
|
|
915
|
+
Pe as loadBlinkIdCore,
|
|
916
|
+
pe as testLocalStorage
|
|
859
917
|
};
|
|
860
|
-
//# sourceMappingURL=blinkid-core.js.map
|