@brainfish-ai/web-tracker 0.0.16 → 0.0.18
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/index.d.ts +38 -2
- package/dist/{src/record → record}/recorder.d.ts +6 -9
- package/dist/src/tracker.ts.es.d.ts +1 -0
- package/dist/tracker.cjs.js +1 -1
- package/dist/tracker.cjs.js.gz +0 -0
- package/dist/tracker.cjs.js.map +1 -1
- package/dist/tracker.d.ts +9 -1
- package/dist/tracker.es.js +37722 -0
- package/dist/tracker.es.js.gz +0 -0
- package/dist/tracker.es.js.map +1 -0
- package/dist/tracker.js +1 -14
- package/dist/tracker.js.gz +0 -0
- package/dist/tracker.js.map +1 -1
- package/package.json +5 -3
- package/dist/index.cjs.js +0 -30
- package/dist/index.cjs.js.gz +0 -0
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.js +0 -4112
- package/dist/index.js.gz +0 -0
- package/dist/index.js.map +0 -1
- package/dist/src/index.d.ts +0 -38
- package/dist/src/tracker.d.ts +0 -9
- /package/dist/{src/common → common}/canDiscover.d.ts +0 -0
- /package/dist/{src/common → common}/isLocal.d.ts +0 -0
- /package/dist/{src/record → record}/eventBuffer.d.ts +0 -0
- /package/dist/{src/record → record}/index.d.ts +0 -0
- /package/dist/{src/record → record}/recordingManager.d.ts +0 -0
- /package/dist/{src/record → record}/sender.d.ts +0 -0
- /package/dist/{src/record → record}/stasher.d.ts +0 -0
- /package/dist/{src/record → record}/timer.d.ts +0 -0
- /package/dist/{src/redact → redact}/built-ins/NameRedactor.d.ts +0 -0
- /package/dist/{src/redact → redact}/built-ins/SimpleRegexpRedactor.d.ts +0 -0
- /package/dist/{src/redact → redact}/built-ins/simple-regexp-patterns.d.ts +0 -0
- /package/dist/{src/redact → redact}/built-ins/well-known-names.d.ts +0 -0
- /package/dist/{src/redact → redact}/composition.d.ts +0 -0
- /package/dist/{src/redact → redact}/index.d.ts +0 -0
- /package/dist/{src/redact → redact}/types.d.ts +0 -0
- /package/dist/{src/redact → redact}/utils.d.ts +0 -0
- /package/dist/{src/screenshot → screenshot}/capture.d.ts +0 -0
- /package/dist/{src/screenshot → screenshot}/redact.d.ts +0 -0
- /package/dist/{src/screenshot → screenshot}/renderStability.d.ts +0 -0
- /package/dist/{src/screenshot → screenshot}/snapshot.d.ts +0 -0
- /package/dist/{src/session → session}/sessionManager.d.ts +0 -0
- /package/dist/{src/setupTests.d.ts → setupTests.d.ts} +0 -0
package/dist/index.js
DELETED
|
@@ -1,4112 +0,0 @@
|
|
|
1
|
-
var Qn = Object.defineProperty, Xn = Object.defineProperties;
|
|
2
|
-
var $n = Object.getOwnPropertyDescriptors;
|
|
3
|
-
var st = Object.getOwnPropertySymbols;
|
|
4
|
-
var er = Object.prototype.hasOwnProperty, ar = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var lt = Math.pow, Aa = (t, e, a) => e in t ? Qn(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a, de = (t, e) => {
|
|
6
|
-
for (var a in e || (e = {}))
|
|
7
|
-
er.call(e, a) && Aa(t, a, e[a]);
|
|
8
|
-
if (st)
|
|
9
|
-
for (var a of st(e))
|
|
10
|
-
ar.call(e, a) && Aa(t, a, e[a]);
|
|
11
|
-
return t;
|
|
12
|
-
}, Le = (t, e) => Xn(t, $n(e));
|
|
13
|
-
var R = (t, e, a) => Aa(t, typeof e != "symbol" ? e + "" : e, a);
|
|
14
|
-
var _ = (t, e, a) => new Promise((n, r) => {
|
|
15
|
-
var i = (l) => {
|
|
16
|
-
try {
|
|
17
|
-
s(a.next(l));
|
|
18
|
-
} catch (c) {
|
|
19
|
-
r(c);
|
|
20
|
-
}
|
|
21
|
-
}, o = (l) => {
|
|
22
|
-
try {
|
|
23
|
-
s(a.throw(l));
|
|
24
|
-
} catch (c) {
|
|
25
|
-
r(c);
|
|
26
|
-
}
|
|
27
|
-
}, s = (l) => l.done ? n(l.value) : Promise.resolve(l.value).then(i, o);
|
|
28
|
-
s((a = a.apply(t, e)).next());
|
|
29
|
-
});
|
|
30
|
-
const ve = /* @__PURE__ */ Object.create(null);
|
|
31
|
-
ve.open = "0", ve.close = "1", ve.ping = "2", ve.pong = "3", ve.message = "4", ve.upgrade = "5", ve.noop = "6";
|
|
32
|
-
const sa = /* @__PURE__ */ Object.create(null);
|
|
33
|
-
Object.keys(ve).forEach((t) => {
|
|
34
|
-
sa[ve[t]] = t;
|
|
35
|
-
});
|
|
36
|
-
const Oa = { type: "error", data: "parser error" }, Ut = typeof Blob == "function" || typeof Blob != "undefined" && Object.prototype.toString.call(Blob) === "[object BlobConstructor]", Pt = typeof ArrayBuffer == "function", Zt = (t) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(t) : t && t.buffer instanceof ArrayBuffer, Ha = ({ type: t, data: e }, a, n) => Ut && e instanceof Blob ? a ? n(e) : ct(e, n) : Pt && (e instanceof ArrayBuffer || Zt(e)) ? a ? n(e) : ct(new Blob([e]), n) : n(ve[t] + (e || "")), ct = (t, e) => {
|
|
37
|
-
const a = new FileReader();
|
|
38
|
-
return a.onload = function() {
|
|
39
|
-
const n = a.result.split(",")[1];
|
|
40
|
-
e("b" + (n || ""));
|
|
41
|
-
}, a.readAsDataURL(t);
|
|
42
|
-
};
|
|
43
|
-
function ht(t) {
|
|
44
|
-
return t instanceof Uint8Array ? t : t instanceof ArrayBuffer ? new Uint8Array(t) : new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
|
|
45
|
-
}
|
|
46
|
-
let Ea;
|
|
47
|
-
const tr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ke = typeof Uint8Array == "undefined" ? [] : new Uint8Array(256);
|
|
48
|
-
for (let t = 0; t < 64; t++) Ke[tr.charCodeAt(t)] = t;
|
|
49
|
-
const nr = typeof ArrayBuffer == "function", Ya = (t, e) => {
|
|
50
|
-
if (typeof t != "string") return { type: "message", data: Gt(t, e) };
|
|
51
|
-
const a = t.charAt(0);
|
|
52
|
-
return a === "b" ? { type: "message", data: rr(t.substring(1), e) } : sa[a] ? t.length > 1 ? { type: sa[a], data: t.substring(1) } : { type: sa[a] } : Oa;
|
|
53
|
-
}, rr = (t, e) => {
|
|
54
|
-
if (nr) {
|
|
55
|
-
const a = ((n) => {
|
|
56
|
-
let r, i, o, s, l, c = 0.75 * n.length, h = n.length, d = 0;
|
|
57
|
-
n[n.length - 1] === "=" && (c--, n[n.length - 2] === "=" && c--);
|
|
58
|
-
const u = new ArrayBuffer(c), b = new Uint8Array(u);
|
|
59
|
-
for (r = 0; r < h; r += 4) i = Ke[n.charCodeAt(r)], o = Ke[n.charCodeAt(r + 1)], s = Ke[n.charCodeAt(r + 2)], l = Ke[n.charCodeAt(r + 3)], b[d++] = i << 2 | o >> 4, b[d++] = (15 & o) << 4 | s >> 2, b[d++] = (3 & s) << 6 | 63 & l;
|
|
60
|
-
return u;
|
|
61
|
-
})(t);
|
|
62
|
-
return Gt(a, e);
|
|
63
|
-
}
|
|
64
|
-
return { base64: !0, data: t };
|
|
65
|
-
}, Gt = (t, e) => e === "blob" ? t instanceof Blob ? t : new Blob([t]) : t instanceof ArrayBuffer ? t : t.buffer, dt = "";
|
|
66
|
-
function ir() {
|
|
67
|
-
return new TransformStream({ transform(t, e) {
|
|
68
|
-
(function(a, n) {
|
|
69
|
-
Ut && a.data instanceof Blob ? a.data.arrayBuffer().then(ht).then(n) : Pt && (a.data instanceof ArrayBuffer || Zt(a.data)) ? n(ht(a.data)) : Ha(a, !1, (r) => {
|
|
70
|
-
Ea || (Ea = new TextEncoder()), n(Ea.encode(r));
|
|
71
|
-
});
|
|
72
|
-
})(t, (a) => {
|
|
73
|
-
const n = a.length;
|
|
74
|
-
let r;
|
|
75
|
-
if (n < 126) r = new Uint8Array(1), new DataView(r.buffer).setUint8(0, n);
|
|
76
|
-
else if (n < 65536) {
|
|
77
|
-
r = new Uint8Array(3);
|
|
78
|
-
const i = new DataView(r.buffer);
|
|
79
|
-
i.setUint8(0, 126), i.setUint16(1, n);
|
|
80
|
-
} else {
|
|
81
|
-
r = new Uint8Array(9);
|
|
82
|
-
const i = new DataView(r.buffer);
|
|
83
|
-
i.setUint8(0, 127), i.setBigUint64(1, BigInt(n));
|
|
84
|
-
}
|
|
85
|
-
t.data && typeof t.data != "string" && (r[0] |= 128), e.enqueue(r), e.enqueue(a);
|
|
86
|
-
});
|
|
87
|
-
} });
|
|
88
|
-
}
|
|
89
|
-
let za;
|
|
90
|
-
function aa(t) {
|
|
91
|
-
return t.reduce((e, a) => e + a.length, 0);
|
|
92
|
-
}
|
|
93
|
-
function ta(t, e) {
|
|
94
|
-
if (t[0].length === e) return t.shift();
|
|
95
|
-
const a = new Uint8Array(e);
|
|
96
|
-
let n = 0;
|
|
97
|
-
for (let r = 0; r < e; r++) a[r] = t[0][n++], n === t[0].length && (t.shift(), n = 0);
|
|
98
|
-
return t.length && n < t[0].length && (t[0] = t[0].slice(n)), a;
|
|
99
|
-
}
|
|
100
|
-
function ae(t) {
|
|
101
|
-
if (t) return function(e) {
|
|
102
|
-
for (var a in ae.prototype) e[a] = ae.prototype[a];
|
|
103
|
-
return e;
|
|
104
|
-
}(t);
|
|
105
|
-
}
|
|
106
|
-
ae.prototype.on = ae.prototype.addEventListener = function(t, e) {
|
|
107
|
-
return this._callbacks = this._callbacks || {}, (this._callbacks["$" + t] = this._callbacks["$" + t] || []).push(e), this;
|
|
108
|
-
}, ae.prototype.once = function(t, e) {
|
|
109
|
-
function a() {
|
|
110
|
-
this.off(t, a), e.apply(this, arguments);
|
|
111
|
-
}
|
|
112
|
-
return a.fn = e, this.on(t, a), this;
|
|
113
|
-
}, ae.prototype.off = ae.prototype.removeListener = ae.prototype.removeAllListeners = ae.prototype.removeEventListener = function(t, e) {
|
|
114
|
-
if (this._callbacks = this._callbacks || {}, arguments.length == 0) return this._callbacks = {}, this;
|
|
115
|
-
var a, n = this._callbacks["$" + t];
|
|
116
|
-
if (!n) return this;
|
|
117
|
-
if (arguments.length == 1) return delete this._callbacks["$" + t], this;
|
|
118
|
-
for (var r = 0; r < n.length; r++) if ((a = n[r]) === e || a.fn === e) {
|
|
119
|
-
n.splice(r, 1);
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
return n.length === 0 && delete this._callbacks["$" + t], this;
|
|
123
|
-
}, ae.prototype.emit = function(t) {
|
|
124
|
-
this._callbacks = this._callbacks || {};
|
|
125
|
-
for (var e = new Array(arguments.length - 1), a = this._callbacks["$" + t], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
|
|
126
|
-
if (a) {
|
|
127
|
-
n = 0;
|
|
128
|
-
for (var r = (a = a.slice(0)).length; n < r; ++n) a[n].apply(this, e);
|
|
129
|
-
}
|
|
130
|
-
return this;
|
|
131
|
-
}, ae.prototype.emitReserved = ae.prototype.emit, ae.prototype.listeners = function(t) {
|
|
132
|
-
return this._callbacks = this._callbacks || {}, this._callbacks["$" + t] || [];
|
|
133
|
-
}, ae.prototype.hasListeners = function(t) {
|
|
134
|
-
return !!this.listeners(t).length;
|
|
135
|
-
};
|
|
136
|
-
const wa = typeof Promise == "function" && typeof Promise.resolve == "function" ? (t) => Promise.resolve().then(t) : (t, e) => e(t, 0), pe = typeof self != "undefined" ? self : typeof window != "undefined" ? window : Function("return this")();
|
|
137
|
-
function Kt(t, ...e) {
|
|
138
|
-
return e.reduce((a, n) => (t.hasOwnProperty(n) && (a[n] = t[n]), a), {});
|
|
139
|
-
}
|
|
140
|
-
const or = pe.setTimeout, sr = pe.clearTimeout;
|
|
141
|
-
function va(t, e) {
|
|
142
|
-
e.useNativeTimers ? (t.setTimeoutFn = or.bind(pe), t.clearTimeoutFn = sr.bind(pe)) : (t.setTimeoutFn = pe.setTimeout.bind(pe), t.clearTimeoutFn = pe.clearTimeout.bind(pe));
|
|
143
|
-
}
|
|
144
|
-
function Ht() {
|
|
145
|
-
return Date.now().toString(36).substring(3) + Math.random().toString(36).substring(2, 5);
|
|
146
|
-
}
|
|
147
|
-
class lr extends Error {
|
|
148
|
-
constructor(e, a, n) {
|
|
149
|
-
super(e), this.description = a, this.context = n, this.type = "TransportError";
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
class Ja extends ae {
|
|
153
|
-
constructor(e) {
|
|
154
|
-
super(), this.writable = !1, va(this, e), this.opts = e, this.query = e.query, this.socket = e.socket, this.supportsBinary = !e.forceBase64;
|
|
155
|
-
}
|
|
156
|
-
onError(e, a, n) {
|
|
157
|
-
return super.emitReserved("error", new lr(e, a, n)), this;
|
|
158
|
-
}
|
|
159
|
-
open() {
|
|
160
|
-
return this.readyState = "opening", this.doOpen(), this;
|
|
161
|
-
}
|
|
162
|
-
close() {
|
|
163
|
-
return this.readyState !== "opening" && this.readyState !== "open" || (this.doClose(), this.onClose()), this;
|
|
164
|
-
}
|
|
165
|
-
send(e) {
|
|
166
|
-
this.readyState === "open" && this.write(e);
|
|
167
|
-
}
|
|
168
|
-
onOpen() {
|
|
169
|
-
this.readyState = "open", this.writable = !0, super.emitReserved("open");
|
|
170
|
-
}
|
|
171
|
-
onData(e) {
|
|
172
|
-
const a = Ya(e, this.socket.binaryType);
|
|
173
|
-
this.onPacket(a);
|
|
174
|
-
}
|
|
175
|
-
onPacket(e) {
|
|
176
|
-
super.emitReserved("packet", e);
|
|
177
|
-
}
|
|
178
|
-
onClose(e) {
|
|
179
|
-
this.readyState = "closed", super.emitReserved("close", e);
|
|
180
|
-
}
|
|
181
|
-
pause(e) {
|
|
182
|
-
}
|
|
183
|
-
createUri(e, a = {}) {
|
|
184
|
-
return e + "://" + this._hostname() + this._port() + this.opts.path + this._query(a);
|
|
185
|
-
}
|
|
186
|
-
_hostname() {
|
|
187
|
-
const e = this.opts.hostname;
|
|
188
|
-
return e.indexOf(":") === -1 ? e : "[" + e + "]";
|
|
189
|
-
}
|
|
190
|
-
_port() {
|
|
191
|
-
return this.opts.port && (this.opts.secure && +(this.opts.port !== 443) || !this.opts.secure && Number(this.opts.port) !== 80) ? ":" + this.opts.port : "";
|
|
192
|
-
}
|
|
193
|
-
_query(e) {
|
|
194
|
-
const a = function(n) {
|
|
195
|
-
let r = "";
|
|
196
|
-
for (let i in n) n.hasOwnProperty(i) && (r.length && (r += "&"), r += encodeURIComponent(i) + "=" + encodeURIComponent(n[i]));
|
|
197
|
-
return r;
|
|
198
|
-
}(e);
|
|
199
|
-
return a.length ? "?" + a : "";
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
class cr extends Ja {
|
|
203
|
-
constructor() {
|
|
204
|
-
super(...arguments), this._polling = !1;
|
|
205
|
-
}
|
|
206
|
-
get name() {
|
|
207
|
-
return "polling";
|
|
208
|
-
}
|
|
209
|
-
doOpen() {
|
|
210
|
-
this._poll();
|
|
211
|
-
}
|
|
212
|
-
pause(e) {
|
|
213
|
-
this.readyState = "pausing";
|
|
214
|
-
const a = () => {
|
|
215
|
-
this.readyState = "paused", e();
|
|
216
|
-
};
|
|
217
|
-
if (this._polling || !this.writable) {
|
|
218
|
-
let n = 0;
|
|
219
|
-
this._polling && (n++, this.once("pollComplete", function() {
|
|
220
|
-
--n || a();
|
|
221
|
-
})), this.writable || (n++, this.once("drain", function() {
|
|
222
|
-
--n || a();
|
|
223
|
-
}));
|
|
224
|
-
} else a();
|
|
225
|
-
}
|
|
226
|
-
_poll() {
|
|
227
|
-
this._polling = !0, this.doPoll(), this.emitReserved("poll");
|
|
228
|
-
}
|
|
229
|
-
onData(e) {
|
|
230
|
-
((a, n) => {
|
|
231
|
-
const r = a.split(dt), i = [];
|
|
232
|
-
for (let o = 0; o < r.length; o++) {
|
|
233
|
-
const s = Ya(r[o], n);
|
|
234
|
-
if (i.push(s), s.type === "error") break;
|
|
235
|
-
}
|
|
236
|
-
return i;
|
|
237
|
-
})(e, this.socket.binaryType).forEach((a) => {
|
|
238
|
-
if (this.readyState === "opening" && a.type === "open" && this.onOpen(), a.type === "close") return this.onClose({ description: "transport closed by the server" }), !1;
|
|
239
|
-
this.onPacket(a);
|
|
240
|
-
}), this.readyState !== "closed" && (this._polling = !1, this.emitReserved("pollComplete"), this.readyState === "open" && this._poll());
|
|
241
|
-
}
|
|
242
|
-
doClose() {
|
|
243
|
-
const e = () => {
|
|
244
|
-
this.write([{ type: "close" }]);
|
|
245
|
-
};
|
|
246
|
-
this.readyState === "open" ? e() : this.once("open", e);
|
|
247
|
-
}
|
|
248
|
-
write(e) {
|
|
249
|
-
this.writable = !1, ((a, n) => {
|
|
250
|
-
const r = a.length, i = new Array(r);
|
|
251
|
-
let o = 0;
|
|
252
|
-
a.forEach((s, l) => {
|
|
253
|
-
Ha(s, !1, (c) => {
|
|
254
|
-
i[l] = c, ++o === r && n(i.join(dt));
|
|
255
|
-
});
|
|
256
|
-
});
|
|
257
|
-
})(e, (a) => {
|
|
258
|
-
this.doWrite(a, () => {
|
|
259
|
-
this.writable = !0, this.emitReserved("drain");
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
uri() {
|
|
264
|
-
const e = this.opts.secure ? "https" : "http", a = this.query || {};
|
|
265
|
-
return this.opts.timestampRequests !== !1 && (a[this.opts.timestampParam] = Ht()), this.supportsBinary || a.sid || (a.b64 = 1), this.createUri(e, a);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
let Yt = !1;
|
|
269
|
-
try {
|
|
270
|
-
Yt = typeof XMLHttpRequest != "undefined" && "withCredentials" in new XMLHttpRequest();
|
|
271
|
-
} catch (t) {
|
|
272
|
-
}
|
|
273
|
-
const hr = Yt;
|
|
274
|
-
function dr() {
|
|
275
|
-
}
|
|
276
|
-
class ur extends cr {
|
|
277
|
-
constructor(e) {
|
|
278
|
-
if (super(e), typeof location != "undefined") {
|
|
279
|
-
const a = location.protocol === "https:";
|
|
280
|
-
let n = location.port;
|
|
281
|
-
n || (n = a ? "443" : "80"), this.xd = typeof location != "undefined" && e.hostname !== location.hostname || n !== e.port;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
doWrite(e, a) {
|
|
285
|
-
const n = this.request({ method: "POST", data: e });
|
|
286
|
-
n.on("success", a), n.on("error", (r, i) => {
|
|
287
|
-
this.onError("xhr post error", r, i);
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
doPoll() {
|
|
291
|
-
const e = this.request();
|
|
292
|
-
e.on("data", this.onData.bind(this)), e.on("error", (a, n) => {
|
|
293
|
-
this.onError("xhr poll error", a, n);
|
|
294
|
-
}), this.pollXhr = e;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
class Ie extends ae {
|
|
298
|
-
constructor(e, a, n) {
|
|
299
|
-
super(), this.createRequest = e, va(this, n), this._opts = n, this._method = n.method || "GET", this._uri = a, this._data = n.data !== void 0 ? n.data : null, this._create();
|
|
300
|
-
}
|
|
301
|
-
_create() {
|
|
302
|
-
var e;
|
|
303
|
-
const a = Kt(this._opts, "agent", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "autoUnref");
|
|
304
|
-
a.xdomain = !!this._opts.xd;
|
|
305
|
-
const n = this._xhr = this.createRequest(a);
|
|
306
|
-
try {
|
|
307
|
-
n.open(this._method, this._uri, !0);
|
|
308
|
-
try {
|
|
309
|
-
if (this._opts.extraHeaders) {
|
|
310
|
-
n.setDisableHeaderCheck && n.setDisableHeaderCheck(!0);
|
|
311
|
-
for (let r in this._opts.extraHeaders) this._opts.extraHeaders.hasOwnProperty(r) && n.setRequestHeader(r, this._opts.extraHeaders[r]);
|
|
312
|
-
}
|
|
313
|
-
} catch (r) {
|
|
314
|
-
}
|
|
315
|
-
if (this._method === "POST") try {
|
|
316
|
-
n.setRequestHeader("Content-type", "text/plain;charset=UTF-8");
|
|
317
|
-
} catch (r) {
|
|
318
|
-
}
|
|
319
|
-
try {
|
|
320
|
-
n.setRequestHeader("Accept", "*/*");
|
|
321
|
-
} catch (r) {
|
|
322
|
-
}
|
|
323
|
-
(e = this._opts.cookieJar) === null || e === void 0 || e.addCookies(n), "withCredentials" in n && (n.withCredentials = this._opts.withCredentials), this._opts.requestTimeout && (n.timeout = this._opts.requestTimeout), n.onreadystatechange = () => {
|
|
324
|
-
var r;
|
|
325
|
-
n.readyState === 3 && ((r = this._opts.cookieJar) === null || r === void 0 || r.parseCookies(n.getResponseHeader("set-cookie"))), n.readyState === 4 && (n.status === 200 || n.status === 1223 ? this._onLoad() : this.setTimeoutFn(() => {
|
|
326
|
-
this._onError(typeof n.status == "number" ? n.status : 0);
|
|
327
|
-
}, 0));
|
|
328
|
-
}, n.send(this._data);
|
|
329
|
-
} catch (r) {
|
|
330
|
-
return void this.setTimeoutFn(() => {
|
|
331
|
-
this._onError(r);
|
|
332
|
-
}, 0);
|
|
333
|
-
}
|
|
334
|
-
typeof document != "undefined" && (this._index = Ie.requestsCount++, Ie.requests[this._index] = this);
|
|
335
|
-
}
|
|
336
|
-
_onError(e) {
|
|
337
|
-
this.emitReserved("error", e, this._xhr), this._cleanup(!0);
|
|
338
|
-
}
|
|
339
|
-
_cleanup(e) {
|
|
340
|
-
if (this._xhr !== void 0 && this._xhr !== null) {
|
|
341
|
-
if (this._xhr.onreadystatechange = dr, e) try {
|
|
342
|
-
this._xhr.abort();
|
|
343
|
-
} catch (a) {
|
|
344
|
-
}
|
|
345
|
-
typeof document != "undefined" && delete Ie.requests[this._index], this._xhr = null;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
_onLoad() {
|
|
349
|
-
const e = this._xhr.responseText;
|
|
350
|
-
e !== null && (this.emitReserved("data", e), this.emitReserved("success"), this._cleanup());
|
|
351
|
-
}
|
|
352
|
-
abort() {
|
|
353
|
-
this._cleanup();
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
Ie.requestsCount = 0, Ie.requests = {}, typeof document != "undefined" && (typeof attachEvent == "function" ? attachEvent("onunload", ut) : typeof addEventListener == "function" && addEventListener("onpagehide" in pe ? "pagehide" : "unload", ut, !1));
|
|
357
|
-
function ut() {
|
|
358
|
-
for (let t in Ie.requests) Ie.requests.hasOwnProperty(t) && Ie.requests[t].abort();
|
|
359
|
-
}
|
|
360
|
-
const mr = function() {
|
|
361
|
-
const t = Jt({ xdomain: !1 });
|
|
362
|
-
return t && t.responseType !== null;
|
|
363
|
-
}();
|
|
364
|
-
function Jt(t) {
|
|
365
|
-
const e = t.xdomain;
|
|
366
|
-
try {
|
|
367
|
-
if (typeof XMLHttpRequest != "undefined" && (!e || hr)) return new XMLHttpRequest();
|
|
368
|
-
} catch (a) {
|
|
369
|
-
}
|
|
370
|
-
if (!e) try {
|
|
371
|
-
return new pe[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP");
|
|
372
|
-
} catch (a) {
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
const Qt = typeof navigator != "undefined" && typeof navigator.product == "string" && navigator.product.toLowerCase() === "reactnative";
|
|
376
|
-
class gr extends Ja {
|
|
377
|
-
get name() {
|
|
378
|
-
return "websocket";
|
|
379
|
-
}
|
|
380
|
-
doOpen() {
|
|
381
|
-
const e = this.uri(), a = this.opts.protocols, n = Qt ? {} : Kt(this.opts, "agent", "perMessageDeflate", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "localAddress", "protocolVersion", "origin", "maxPayload", "family", "checkServerIdentity");
|
|
382
|
-
this.opts.extraHeaders && (n.headers = this.opts.extraHeaders);
|
|
383
|
-
try {
|
|
384
|
-
this.ws = this.createSocket(e, a, n);
|
|
385
|
-
} catch (r) {
|
|
386
|
-
return this.emitReserved("error", r);
|
|
387
|
-
}
|
|
388
|
-
this.ws.binaryType = this.socket.binaryType, this.addEventListeners();
|
|
389
|
-
}
|
|
390
|
-
addEventListeners() {
|
|
391
|
-
this.ws.onopen = () => {
|
|
392
|
-
this.opts.autoUnref && this.ws._socket.unref(), this.onOpen();
|
|
393
|
-
}, this.ws.onclose = (e) => this.onClose({ description: "websocket connection closed", context: e }), this.ws.onmessage = (e) => this.onData(e.data), this.ws.onerror = (e) => this.onError("websocket error", e);
|
|
394
|
-
}
|
|
395
|
-
write(e) {
|
|
396
|
-
this.writable = !1;
|
|
397
|
-
for (let a = 0; a < e.length; a++) {
|
|
398
|
-
const n = e[a], r = a === e.length - 1;
|
|
399
|
-
Ha(n, this.supportsBinary, (i) => {
|
|
400
|
-
try {
|
|
401
|
-
this.doWrite(n, i);
|
|
402
|
-
} catch (o) {
|
|
403
|
-
}
|
|
404
|
-
r && wa(() => {
|
|
405
|
-
this.writable = !0, this.emitReserved("drain");
|
|
406
|
-
}, this.setTimeoutFn);
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
doClose() {
|
|
411
|
-
this.ws !== void 0 && (this.ws.close(), this.ws = null);
|
|
412
|
-
}
|
|
413
|
-
uri() {
|
|
414
|
-
const e = this.opts.secure ? "wss" : "ws", a = this.query || {};
|
|
415
|
-
return this.opts.timestampRequests && (a[this.opts.timestampParam] = Ht()), this.supportsBinary || (a.b64 = 1), this.createUri(e, a);
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
const ja = pe.WebSocket || pe.MozWebSocket, pr = { websocket: class extends gr {
|
|
419
|
-
createSocket(t, e, a) {
|
|
420
|
-
return Qt ? new ja(t, e, a) : e ? new ja(t, e) : new ja(t);
|
|
421
|
-
}
|
|
422
|
-
doWrite(t, e) {
|
|
423
|
-
this.ws.send(e);
|
|
424
|
-
}
|
|
425
|
-
}, webtransport: class extends Ja {
|
|
426
|
-
get name() {
|
|
427
|
-
return "webtransport";
|
|
428
|
-
}
|
|
429
|
-
doOpen() {
|
|
430
|
-
try {
|
|
431
|
-
this._transport = new WebTransport(this.createUri("https"), this.opts.transportOptions[this.name]);
|
|
432
|
-
} catch (t) {
|
|
433
|
-
return this.emitReserved("error", t);
|
|
434
|
-
}
|
|
435
|
-
this._transport.closed.then(() => {
|
|
436
|
-
this.onClose();
|
|
437
|
-
}).catch((t) => {
|
|
438
|
-
this.onError("webtransport error", t);
|
|
439
|
-
}), this._transport.ready.then(() => {
|
|
440
|
-
this._transport.createBidirectionalStream().then((t) => {
|
|
441
|
-
const e = function(o, s) {
|
|
442
|
-
za || (za = new TextDecoder());
|
|
443
|
-
const l = [];
|
|
444
|
-
let c = 0, h = -1, d = !1;
|
|
445
|
-
return new TransformStream({ transform(u, b) {
|
|
446
|
-
for (l.push(u); ; ) {
|
|
447
|
-
if (c === 0) {
|
|
448
|
-
if (aa(l) < 1) break;
|
|
449
|
-
const v = ta(l, 1);
|
|
450
|
-
d = !(128 & ~v[0]), h = 127 & v[0], c = h < 126 ? 3 : h === 126 ? 1 : 2;
|
|
451
|
-
} else if (c === 1) {
|
|
452
|
-
if (aa(l) < 2) break;
|
|
453
|
-
const v = ta(l, 2);
|
|
454
|
-
h = new DataView(v.buffer, v.byteOffset, v.length).getUint16(0), c = 3;
|
|
455
|
-
} else if (c === 2) {
|
|
456
|
-
if (aa(l) < 8) break;
|
|
457
|
-
const v = ta(l, 8), T = new DataView(v.buffer, v.byteOffset, v.length), p = T.getUint32(0);
|
|
458
|
-
if (p > Math.pow(2, 21) - 1) {
|
|
459
|
-
b.enqueue(Oa);
|
|
460
|
-
break;
|
|
461
|
-
}
|
|
462
|
-
h = p * Math.pow(2, 32) + T.getUint32(4), c = 3;
|
|
463
|
-
} else {
|
|
464
|
-
if (aa(l) < h) break;
|
|
465
|
-
const v = ta(l, h);
|
|
466
|
-
b.enqueue(Ya(d ? v : za.decode(v), s)), c = 0;
|
|
467
|
-
}
|
|
468
|
-
if (h === 0 || h > o) {
|
|
469
|
-
b.enqueue(Oa);
|
|
470
|
-
break;
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
} });
|
|
474
|
-
}(Number.MAX_SAFE_INTEGER, this.socket.binaryType), a = t.readable.pipeThrough(e).getReader(), n = ir();
|
|
475
|
-
n.readable.pipeTo(t.writable), this._writer = n.writable.getWriter();
|
|
476
|
-
const r = () => {
|
|
477
|
-
a.read().then(({ done: o, value: s }) => {
|
|
478
|
-
o || (this.onPacket(s), r());
|
|
479
|
-
}).catch((o) => {
|
|
480
|
-
});
|
|
481
|
-
};
|
|
482
|
-
r();
|
|
483
|
-
const i = { type: "open" };
|
|
484
|
-
this.query.sid && (i.data = `{"sid":"${this.query.sid}"}`), this._writer.write(i).then(() => this.onOpen());
|
|
485
|
-
});
|
|
486
|
-
});
|
|
487
|
-
}
|
|
488
|
-
write(t) {
|
|
489
|
-
this.writable = !1;
|
|
490
|
-
for (let e = 0; e < t.length; e++) {
|
|
491
|
-
const a = t[e], n = e === t.length - 1;
|
|
492
|
-
this._writer.write(a).then(() => {
|
|
493
|
-
n && wa(() => {
|
|
494
|
-
this.writable = !0, this.emitReserved("drain");
|
|
495
|
-
}, this.setTimeoutFn);
|
|
496
|
-
});
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
doClose() {
|
|
500
|
-
var t;
|
|
501
|
-
(t = this._transport) === null || t === void 0 || t.close();
|
|
502
|
-
}
|
|
503
|
-
}, polling: class extends ur {
|
|
504
|
-
constructor(t) {
|
|
505
|
-
super(t);
|
|
506
|
-
const e = t && t.forceBase64;
|
|
507
|
-
this.supportsBinary = mr && !e;
|
|
508
|
-
}
|
|
509
|
-
request(t = {}) {
|
|
510
|
-
return Object.assign(t, { xd: this.xd }, this.opts), new Ie(Jt, this.uri(), t);
|
|
511
|
-
}
|
|
512
|
-
} }, yr = /^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/, fr = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"];
|
|
513
|
-
function La(t) {
|
|
514
|
-
if (t.length > 8e3) throw "URI too long";
|
|
515
|
-
const e = t, a = t.indexOf("["), n = t.indexOf("]");
|
|
516
|
-
a != -1 && n != -1 && (t = t.substring(0, a) + t.substring(a, n).replace(/:/g, ";") + t.substring(n, t.length));
|
|
517
|
-
let r = yr.exec(t || ""), i = {}, o = 14;
|
|
518
|
-
for (; o--; ) i[fr[o]] = r[o] || "";
|
|
519
|
-
return a != -1 && n != -1 && (i.source = e, i.host = i.host.substring(1, i.host.length - 1).replace(/;/g, ":"), i.authority = i.authority.replace("[", "").replace("]", "").replace(/;/g, ":"), i.ipv6uri = !0), i.pathNames = function(s, l) {
|
|
520
|
-
const c = /\/{2,9}/g, h = l.replace(c, "/").split("/");
|
|
521
|
-
return l.slice(0, 1) != "/" && l.length !== 0 || h.splice(0, 1), l.slice(-1) == "/" && h.splice(h.length - 1, 1), h;
|
|
522
|
-
}(0, i.path), i.queryKey = function(s, l) {
|
|
523
|
-
const c = {};
|
|
524
|
-
return l.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(h, d, u) {
|
|
525
|
-
d && (c[d] = u);
|
|
526
|
-
}), c;
|
|
527
|
-
}(0, i.query), i;
|
|
528
|
-
}
|
|
529
|
-
const Fa = typeof addEventListener == "function" && typeof removeEventListener == "function", la = [];
|
|
530
|
-
Fa && addEventListener("offline", () => {
|
|
531
|
-
la.forEach((t) => t());
|
|
532
|
-
}, !1);
|
|
533
|
-
class xe extends ae {
|
|
534
|
-
constructor(e, a) {
|
|
535
|
-
if (super(), this.binaryType = "arraybuffer", this.writeBuffer = [], this._prevBufferLen = 0, this._pingInterval = -1, this._pingTimeout = -1, this._maxPayload = -1, this._pingTimeoutTime = 1 / 0, e && typeof e == "object" && (a = e, e = null), e) {
|
|
536
|
-
const n = La(e);
|
|
537
|
-
a.hostname = n.host, a.secure = n.protocol === "https" || n.protocol === "wss", a.port = n.port, n.query && (a.query = n.query);
|
|
538
|
-
} else a.host && (a.hostname = La(a.host).host);
|
|
539
|
-
va(this, a), this.secure = a.secure != null ? a.secure : typeof location != "undefined" && location.protocol === "https:", a.hostname && !a.port && (a.port = this.secure ? "443" : "80"), this.hostname = a.hostname || (typeof location != "undefined" ? location.hostname : "localhost"), this.port = a.port || (typeof location != "undefined" && location.port ? location.port : this.secure ? "443" : "80"), this.transports = [], this._transportsByName = {}, a.transports.forEach((n) => {
|
|
540
|
-
const r = n.prototype.name;
|
|
541
|
-
this.transports.push(r), this._transportsByName[r] = n;
|
|
542
|
-
}), this.opts = Object.assign({ path: "/engine.io", agent: !1, withCredentials: !1, upgrade: !0, timestampParam: "t", rememberUpgrade: !1, addTrailingSlash: !0, rejectUnauthorized: !0, perMessageDeflate: { threshold: 1024 }, transportOptions: {}, closeOnBeforeunload: !1 }, a), this.opts.path = this.opts.path.replace(/\/$/, "") + (this.opts.addTrailingSlash ? "/" : ""), typeof this.opts.query == "string" && (this.opts.query = function(n) {
|
|
543
|
-
let r = {}, i = n.split("&");
|
|
544
|
-
for (let o = 0, s = i.length; o < s; o++) {
|
|
545
|
-
let l = i[o].split("=");
|
|
546
|
-
r[decodeURIComponent(l[0])] = decodeURIComponent(l[1]);
|
|
547
|
-
}
|
|
548
|
-
return r;
|
|
549
|
-
}(this.opts.query)), Fa && (this.opts.closeOnBeforeunload && (this._beforeunloadEventListener = () => {
|
|
550
|
-
this.transport && (this.transport.removeAllListeners(), this.transport.close());
|
|
551
|
-
}, addEventListener("beforeunload", this._beforeunloadEventListener, !1)), this.hostname !== "localhost" && (this._offlineEventListener = () => {
|
|
552
|
-
this._onClose("transport close", { description: "network connection lost" });
|
|
553
|
-
}, la.push(this._offlineEventListener))), this.opts.withCredentials && (this._cookieJar = void 0), this._open();
|
|
554
|
-
}
|
|
555
|
-
createTransport(e) {
|
|
556
|
-
const a = Object.assign({}, this.opts.query);
|
|
557
|
-
a.EIO = 4, a.transport = e, this.id && (a.sid = this.id);
|
|
558
|
-
const n = Object.assign({}, this.opts, { query: a, socket: this, hostname: this.hostname, secure: this.secure, port: this.port }, this.opts.transportOptions[e]);
|
|
559
|
-
return new this._transportsByName[e](n);
|
|
560
|
-
}
|
|
561
|
-
_open() {
|
|
562
|
-
if (this.transports.length === 0) return void this.setTimeoutFn(() => {
|
|
563
|
-
this.emitReserved("error", "No transports available");
|
|
564
|
-
}, 0);
|
|
565
|
-
const e = this.opts.rememberUpgrade && xe.priorWebsocketSuccess && this.transports.indexOf("websocket") !== -1 ? "websocket" : this.transports[0];
|
|
566
|
-
this.readyState = "opening";
|
|
567
|
-
const a = this.createTransport(e);
|
|
568
|
-
a.open(), this.setTransport(a);
|
|
569
|
-
}
|
|
570
|
-
setTransport(e) {
|
|
571
|
-
this.transport && this.transport.removeAllListeners(), this.transport = e, e.on("drain", this._onDrain.bind(this)).on("packet", this._onPacket.bind(this)).on("error", this._onError.bind(this)).on("close", (a) => this._onClose("transport close", a));
|
|
572
|
-
}
|
|
573
|
-
onOpen() {
|
|
574
|
-
this.readyState = "open", xe.priorWebsocketSuccess = this.transport.name === "websocket", this.emitReserved("open"), this.flush();
|
|
575
|
-
}
|
|
576
|
-
_onPacket(e) {
|
|
577
|
-
if (this.readyState === "opening" || this.readyState === "open" || this.readyState === "closing") switch (this.emitReserved("packet", e), this.emitReserved("heartbeat"), e.type) {
|
|
578
|
-
case "open":
|
|
579
|
-
this.onHandshake(JSON.parse(e.data));
|
|
580
|
-
break;
|
|
581
|
-
case "ping":
|
|
582
|
-
this._sendPacket("pong"), this.emitReserved("ping"), this.emitReserved("pong"), this._resetPingTimeout();
|
|
583
|
-
break;
|
|
584
|
-
case "error":
|
|
585
|
-
const a = new Error("server error");
|
|
586
|
-
a.code = e.data, this._onError(a);
|
|
587
|
-
break;
|
|
588
|
-
case "message":
|
|
589
|
-
this.emitReserved("data", e.data), this.emitReserved("message", e.data);
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
onHandshake(e) {
|
|
593
|
-
this.emitReserved("handshake", e), this.id = e.sid, this.transport.query.sid = e.sid, this._pingInterval = e.pingInterval, this._pingTimeout = e.pingTimeout, this._maxPayload = e.maxPayload, this.onOpen(), this.readyState !== "closed" && this._resetPingTimeout();
|
|
594
|
-
}
|
|
595
|
-
_resetPingTimeout() {
|
|
596
|
-
this.clearTimeoutFn(this._pingTimeoutTimer);
|
|
597
|
-
const e = this._pingInterval + this._pingTimeout;
|
|
598
|
-
this._pingTimeoutTime = Date.now() + e, this._pingTimeoutTimer = this.setTimeoutFn(() => {
|
|
599
|
-
this._onClose("ping timeout");
|
|
600
|
-
}, e), this.opts.autoUnref && this._pingTimeoutTimer.unref();
|
|
601
|
-
}
|
|
602
|
-
_onDrain() {
|
|
603
|
-
this.writeBuffer.splice(0, this._prevBufferLen), this._prevBufferLen = 0, this.writeBuffer.length === 0 ? this.emitReserved("drain") : this.flush();
|
|
604
|
-
}
|
|
605
|
-
flush() {
|
|
606
|
-
if (this.readyState !== "closed" && this.transport.writable && !this.upgrading && this.writeBuffer.length) {
|
|
607
|
-
const e = this._getWritablePackets();
|
|
608
|
-
this.transport.send(e), this._prevBufferLen = e.length, this.emitReserved("flush");
|
|
609
|
-
}
|
|
610
|
-
}
|
|
611
|
-
_getWritablePackets() {
|
|
612
|
-
if (!(this._maxPayload && this.transport.name === "polling" && this.writeBuffer.length > 1)) return this.writeBuffer;
|
|
613
|
-
let e = 1;
|
|
614
|
-
for (let n = 0; n < this.writeBuffer.length; n++) {
|
|
615
|
-
const r = this.writeBuffer[n].data;
|
|
616
|
-
if (r && (e += typeof (a = r) == "string" ? function(i) {
|
|
617
|
-
let o = 0, s = 0;
|
|
618
|
-
for (let l = 0, c = i.length; l < c; l++) o = i.charCodeAt(l), o < 128 ? s += 1 : o < 2048 ? s += 2 : o < 55296 || o >= 57344 ? s += 3 : (l++, s += 4);
|
|
619
|
-
return s;
|
|
620
|
-
}(a) : Math.ceil(1.33 * (a.byteLength || a.size))), n > 0 && e > this._maxPayload) return this.writeBuffer.slice(0, n);
|
|
621
|
-
e += 2;
|
|
622
|
-
}
|
|
623
|
-
var a;
|
|
624
|
-
return this.writeBuffer;
|
|
625
|
-
}
|
|
626
|
-
_hasPingExpired() {
|
|
627
|
-
if (!this._pingTimeoutTime) return !0;
|
|
628
|
-
const e = Date.now() > this._pingTimeoutTime;
|
|
629
|
-
return e && (this._pingTimeoutTime = 0, wa(() => {
|
|
630
|
-
this._onClose("ping timeout");
|
|
631
|
-
}, this.setTimeoutFn)), e;
|
|
632
|
-
}
|
|
633
|
-
write(e, a, n) {
|
|
634
|
-
return this._sendPacket("message", e, a, n), this;
|
|
635
|
-
}
|
|
636
|
-
send(e, a, n) {
|
|
637
|
-
return this._sendPacket("message", e, a, n), this;
|
|
638
|
-
}
|
|
639
|
-
_sendPacket(e, a, n, r) {
|
|
640
|
-
if (typeof a == "function" && (r = a, a = void 0), typeof n == "function" && (r = n, n = null), this.readyState === "closing" || this.readyState === "closed") return;
|
|
641
|
-
(n = n || {}).compress = n.compress !== !1;
|
|
642
|
-
const i = { type: e, data: a, options: n };
|
|
643
|
-
this.emitReserved("packetCreate", i), this.writeBuffer.push(i), r && this.once("flush", r), this.flush();
|
|
644
|
-
}
|
|
645
|
-
close() {
|
|
646
|
-
const e = () => {
|
|
647
|
-
this._onClose("forced close"), this.transport.close();
|
|
648
|
-
}, a = () => {
|
|
649
|
-
this.off("upgrade", a), this.off("upgradeError", a), e();
|
|
650
|
-
}, n = () => {
|
|
651
|
-
this.once("upgrade", a), this.once("upgradeError", a);
|
|
652
|
-
};
|
|
653
|
-
return this.readyState !== "opening" && this.readyState !== "open" || (this.readyState = "closing", this.writeBuffer.length ? this.once("drain", () => {
|
|
654
|
-
this.upgrading ? n() : e();
|
|
655
|
-
}) : this.upgrading ? n() : e()), this;
|
|
656
|
-
}
|
|
657
|
-
_onError(e) {
|
|
658
|
-
if (xe.priorWebsocketSuccess = !1, this.opts.tryAllTransports && this.transports.length > 1 && this.readyState === "opening") return this.transports.shift(), this._open();
|
|
659
|
-
this.emitReserved("error", e), this._onClose("transport error", e);
|
|
660
|
-
}
|
|
661
|
-
_onClose(e, a) {
|
|
662
|
-
if (this.readyState === "opening" || this.readyState === "open" || this.readyState === "closing") {
|
|
663
|
-
if (this.clearTimeoutFn(this._pingTimeoutTimer), this.transport.removeAllListeners("close"), this.transport.close(), this.transport.removeAllListeners(), Fa && (this._beforeunloadEventListener && removeEventListener("beforeunload", this._beforeunloadEventListener, !1), this._offlineEventListener)) {
|
|
664
|
-
const n = la.indexOf(this._offlineEventListener);
|
|
665
|
-
n !== -1 && la.splice(n, 1);
|
|
666
|
-
}
|
|
667
|
-
this.readyState = "closed", this.id = null, this.emitReserved("close", e, a), this.writeBuffer = [], this._prevBufferLen = 0;
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
xe.protocol = 4;
|
|
672
|
-
class br extends xe {
|
|
673
|
-
constructor() {
|
|
674
|
-
super(...arguments), this._upgrades = [];
|
|
675
|
-
}
|
|
676
|
-
onOpen() {
|
|
677
|
-
if (super.onOpen(), this.readyState === "open" && this.opts.upgrade) for (let e = 0; e < this._upgrades.length; e++) this._probe(this._upgrades[e]);
|
|
678
|
-
}
|
|
679
|
-
_probe(e) {
|
|
680
|
-
let a = this.createTransport(e), n = !1;
|
|
681
|
-
xe.priorWebsocketSuccess = !1;
|
|
682
|
-
const r = () => {
|
|
683
|
-
n || (a.send([{ type: "ping", data: "probe" }]), a.once("packet", (d) => {
|
|
684
|
-
if (!n) if (d.type === "pong" && d.data === "probe") {
|
|
685
|
-
if (this.upgrading = !0, this.emitReserved("upgrading", a), !a) return;
|
|
686
|
-
xe.priorWebsocketSuccess = a.name === "websocket", this.transport.pause(() => {
|
|
687
|
-
n || this.readyState !== "closed" && (h(), this.setTransport(a), a.send([{ type: "upgrade" }]), this.emitReserved("upgrade", a), a = null, this.upgrading = !1, this.flush());
|
|
688
|
-
});
|
|
689
|
-
} else {
|
|
690
|
-
const u = new Error("probe error");
|
|
691
|
-
u.transport = a.name, this.emitReserved("upgradeError", u);
|
|
692
|
-
}
|
|
693
|
-
}));
|
|
694
|
-
};
|
|
695
|
-
function i() {
|
|
696
|
-
n || (n = !0, h(), a.close(), a = null);
|
|
697
|
-
}
|
|
698
|
-
const o = (d) => {
|
|
699
|
-
const u = new Error("probe error: " + d);
|
|
700
|
-
u.transport = a.name, i(), this.emitReserved("upgradeError", u);
|
|
701
|
-
};
|
|
702
|
-
function s() {
|
|
703
|
-
o("transport closed");
|
|
704
|
-
}
|
|
705
|
-
function l() {
|
|
706
|
-
o("socket closed");
|
|
707
|
-
}
|
|
708
|
-
function c(d) {
|
|
709
|
-
a && d.name !== a.name && i();
|
|
710
|
-
}
|
|
711
|
-
const h = () => {
|
|
712
|
-
a.removeListener("open", r), a.removeListener("error", o), a.removeListener("close", s), this.off("close", l), this.off("upgrading", c);
|
|
713
|
-
};
|
|
714
|
-
a.once("open", r), a.once("error", o), a.once("close", s), this.once("close", l), this.once("upgrading", c), this._upgrades.indexOf("webtransport") !== -1 && e !== "webtransport" ? this.setTimeoutFn(() => {
|
|
715
|
-
n || a.open();
|
|
716
|
-
}, 200) : a.open();
|
|
717
|
-
}
|
|
718
|
-
onHandshake(e) {
|
|
719
|
-
this._upgrades = this._filterUpgrades(e.upgrades), super.onHandshake(e);
|
|
720
|
-
}
|
|
721
|
-
_filterUpgrades(e) {
|
|
722
|
-
const a = [];
|
|
723
|
-
for (let n = 0; n < e.length; n++) ~this.transports.indexOf(e[n]) && a.push(e[n]);
|
|
724
|
-
return a;
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
let kr = class extends br {
|
|
728
|
-
constructor(t, e = {}) {
|
|
729
|
-
const a = typeof t == "object" ? t : e;
|
|
730
|
-
(!a.transports || a.transports && typeof a.transports[0] == "string") && (a.transports = (a.transports || ["polling", "websocket", "webtransport"]).map((n) => pr[n]).filter((n) => !!n)), super(t, a);
|
|
731
|
-
}
|
|
732
|
-
};
|
|
733
|
-
const wr = typeof ArrayBuffer == "function", Xt = Object.prototype.toString, vr = typeof Blob == "function" || typeof Blob != "undefined" && Xt.call(Blob) === "[object BlobConstructor]", Ir = typeof File == "function" || typeof File != "undefined" && Xt.call(File) === "[object FileConstructor]";
|
|
734
|
-
function Qa(t) {
|
|
735
|
-
return wr && (t instanceof ArrayBuffer || ((e) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer)(t)) || vr && t instanceof Blob || Ir && t instanceof File;
|
|
736
|
-
}
|
|
737
|
-
function ca(t, e) {
|
|
738
|
-
if (!t || typeof t != "object") return !1;
|
|
739
|
-
if (Array.isArray(t)) {
|
|
740
|
-
for (let a = 0, n = t.length; a < n; a++) if (ca(t[a])) return !0;
|
|
741
|
-
return !1;
|
|
742
|
-
}
|
|
743
|
-
if (Qa(t)) return !0;
|
|
744
|
-
if (t.toJSON && typeof t.toJSON == "function" && arguments.length === 1) return ca(t.toJSON(), !0);
|
|
745
|
-
for (const a in t) if (Object.prototype.hasOwnProperty.call(t, a) && ca(t[a])) return !0;
|
|
746
|
-
return !1;
|
|
747
|
-
}
|
|
748
|
-
function Cr(t) {
|
|
749
|
-
const e = [], a = t.data, n = t;
|
|
750
|
-
return n.data = Da(a, e), n.attachments = e.length, { packet: n, buffers: e };
|
|
751
|
-
}
|
|
752
|
-
function Da(t, e) {
|
|
753
|
-
if (!t) return t;
|
|
754
|
-
if (Qa(t)) {
|
|
755
|
-
const a = { _placeholder: !0, num: e.length };
|
|
756
|
-
return e.push(t), a;
|
|
757
|
-
}
|
|
758
|
-
if (Array.isArray(t)) {
|
|
759
|
-
const a = new Array(t.length);
|
|
760
|
-
for (let n = 0; n < t.length; n++) a[n] = Da(t[n], e);
|
|
761
|
-
return a;
|
|
762
|
-
}
|
|
763
|
-
if (typeof t == "object" && !(t instanceof Date)) {
|
|
764
|
-
const a = {};
|
|
765
|
-
for (const n in t) Object.prototype.hasOwnProperty.call(t, n) && (a[n] = Da(t[n], e));
|
|
766
|
-
return a;
|
|
767
|
-
}
|
|
768
|
-
return t;
|
|
769
|
-
}
|
|
770
|
-
function Sr(t, e) {
|
|
771
|
-
return t.data = Ba(t.data, e), delete t.attachments, t;
|
|
772
|
-
}
|
|
773
|
-
function Ba(t, e) {
|
|
774
|
-
if (!t) return t;
|
|
775
|
-
if (t && t._placeholder === !0) {
|
|
776
|
-
if (typeof t.num == "number" && t.num >= 0 && t.num < e.length) return e[t.num];
|
|
777
|
-
throw new Error("illegal attachments");
|
|
778
|
-
}
|
|
779
|
-
if (Array.isArray(t)) for (let a = 0; a < t.length; a++) t[a] = Ba(t[a], e);
|
|
780
|
-
else if (typeof t == "object") for (const a in t) Object.prototype.hasOwnProperty.call(t, a) && (t[a] = Ba(t[a], e));
|
|
781
|
-
return t;
|
|
782
|
-
}
|
|
783
|
-
const Ar = ["connect", "connect_error", "disconnect", "disconnecting", "newListener", "removeListener"];
|
|
784
|
-
var B;
|
|
785
|
-
(function(t) {
|
|
786
|
-
t[t.CONNECT = 0] = "CONNECT", t[t.DISCONNECT = 1] = "DISCONNECT", t[t.EVENT = 2] = "EVENT", t[t.ACK = 3] = "ACK", t[t.CONNECT_ERROR = 4] = "CONNECT_ERROR", t[t.BINARY_EVENT = 5] = "BINARY_EVENT", t[t.BINARY_ACK = 6] = "BINARY_ACK";
|
|
787
|
-
})(B || (B = {}));
|
|
788
|
-
function mt(t) {
|
|
789
|
-
return Object.prototype.toString.call(t) === "[object Object]";
|
|
790
|
-
}
|
|
791
|
-
class Xa extends ae {
|
|
792
|
-
constructor(e) {
|
|
793
|
-
super(), this.reviver = e;
|
|
794
|
-
}
|
|
795
|
-
add(e) {
|
|
796
|
-
let a;
|
|
797
|
-
if (typeof e == "string") {
|
|
798
|
-
if (this.reconstructor) throw new Error("got plaintext data when reconstructing a packet");
|
|
799
|
-
a = this.decodeString(e);
|
|
800
|
-
const n = a.type === B.BINARY_EVENT;
|
|
801
|
-
n || a.type === B.BINARY_ACK ? (a.type = n ? B.EVENT : B.ACK, this.reconstructor = new Er(a), a.attachments === 0 && super.emitReserved("decoded", a)) : super.emitReserved("decoded", a);
|
|
802
|
-
} else {
|
|
803
|
-
if (!Qa(e) && !e.base64) throw new Error("Unknown type: " + e);
|
|
804
|
-
if (!this.reconstructor) throw new Error("got binary data when not reconstructing a packet");
|
|
805
|
-
a = this.reconstructor.takeBinaryData(e), a && (this.reconstructor = null, super.emitReserved("decoded", a));
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
|
-
decodeString(e) {
|
|
809
|
-
let a = 0;
|
|
810
|
-
const n = { type: Number(e.charAt(0)) };
|
|
811
|
-
if (B[n.type] === void 0) throw new Error("unknown packet type " + n.type);
|
|
812
|
-
if (n.type === B.BINARY_EVENT || n.type === B.BINARY_ACK) {
|
|
813
|
-
const i = a + 1;
|
|
814
|
-
for (; e.charAt(++a) !== "-" && a != e.length; ) ;
|
|
815
|
-
const o = e.substring(i, a);
|
|
816
|
-
if (o != Number(o) || e.charAt(a) !== "-") throw new Error("Illegal attachments");
|
|
817
|
-
n.attachments = Number(o);
|
|
818
|
-
}
|
|
819
|
-
if (e.charAt(a + 1) === "/") {
|
|
820
|
-
const i = a + 1;
|
|
821
|
-
for (; ++a && !(e.charAt(a) === "," || a === e.length); )
|
|
822
|
-
;
|
|
823
|
-
n.nsp = e.substring(i, a);
|
|
824
|
-
} else n.nsp = "/";
|
|
825
|
-
const r = e.charAt(a + 1);
|
|
826
|
-
if (r !== "" && Number(r) == r) {
|
|
827
|
-
const i = a + 1;
|
|
828
|
-
for (; ++a; ) {
|
|
829
|
-
const o = e.charAt(a);
|
|
830
|
-
if (o == null || Number(o) != o) {
|
|
831
|
-
--a;
|
|
832
|
-
break;
|
|
833
|
-
}
|
|
834
|
-
if (a === e.length) break;
|
|
835
|
-
}
|
|
836
|
-
n.id = Number(e.substring(i, a + 1));
|
|
837
|
-
}
|
|
838
|
-
if (e.charAt(++a)) {
|
|
839
|
-
const i = this.tryParse(e.substr(a));
|
|
840
|
-
if (!Xa.isPayloadValid(n.type, i)) throw new Error("invalid payload");
|
|
841
|
-
n.data = i;
|
|
842
|
-
}
|
|
843
|
-
return n;
|
|
844
|
-
}
|
|
845
|
-
tryParse(e) {
|
|
846
|
-
try {
|
|
847
|
-
return JSON.parse(e, this.reviver);
|
|
848
|
-
} catch (a) {
|
|
849
|
-
return !1;
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
static isPayloadValid(e, a) {
|
|
853
|
-
switch (e) {
|
|
854
|
-
case B.CONNECT:
|
|
855
|
-
return mt(a);
|
|
856
|
-
case B.DISCONNECT:
|
|
857
|
-
return a === void 0;
|
|
858
|
-
case B.CONNECT_ERROR:
|
|
859
|
-
return typeof a == "string" || mt(a);
|
|
860
|
-
case B.EVENT:
|
|
861
|
-
case B.BINARY_EVENT:
|
|
862
|
-
return Array.isArray(a) && (typeof a[0] == "number" || typeof a[0] == "string" && Ar.indexOf(a[0]) === -1);
|
|
863
|
-
case B.ACK:
|
|
864
|
-
case B.BINARY_ACK:
|
|
865
|
-
return Array.isArray(a);
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
|
-
destroy() {
|
|
869
|
-
this.reconstructor && (this.reconstructor.finishedReconstruction(), this.reconstructor = null);
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
class Er {
|
|
873
|
-
constructor(e) {
|
|
874
|
-
this.packet = e, this.buffers = [], this.reconPack = e;
|
|
875
|
-
}
|
|
876
|
-
takeBinaryData(e) {
|
|
877
|
-
if (this.buffers.push(e), this.buffers.length === this.reconPack.attachments) {
|
|
878
|
-
const a = Sr(this.reconPack, this.buffers);
|
|
879
|
-
return this.finishedReconstruction(), a;
|
|
880
|
-
}
|
|
881
|
-
return null;
|
|
882
|
-
}
|
|
883
|
-
finishedReconstruction() {
|
|
884
|
-
this.reconPack = null, this.buffers = [];
|
|
885
|
-
}
|
|
886
|
-
}
|
|
887
|
-
const zr = Object.freeze(Object.defineProperty({ __proto__: null, Decoder: Xa, Encoder: class {
|
|
888
|
-
constructor(t) {
|
|
889
|
-
this.replacer = t;
|
|
890
|
-
}
|
|
891
|
-
encode(t) {
|
|
892
|
-
return t.type !== B.EVENT && t.type !== B.ACK || !ca(t) ? [this.encodeAsString(t)] : this.encodeAsBinary({ type: t.type === B.EVENT ? B.BINARY_EVENT : B.BINARY_ACK, nsp: t.nsp, data: t.data, id: t.id });
|
|
893
|
-
}
|
|
894
|
-
encodeAsString(t) {
|
|
895
|
-
let e = "" + t.type;
|
|
896
|
-
return t.type !== B.BINARY_EVENT && t.type !== B.BINARY_ACK || (e += t.attachments + "-"), t.nsp && t.nsp !== "/" && (e += t.nsp + ","), t.id != null && (e += t.id), t.data != null && (e += JSON.stringify(t.data, this.replacer)), e;
|
|
897
|
-
}
|
|
898
|
-
encodeAsBinary(t) {
|
|
899
|
-
const e = Cr(t), a = this.encodeAsString(e.packet), n = e.buffers;
|
|
900
|
-
return n.unshift(a), n;
|
|
901
|
-
}
|
|
902
|
-
}, get PacketType() {
|
|
903
|
-
return B;
|
|
904
|
-
}, protocol: 5 }, Symbol.toStringTag, { value: "Module" }));
|
|
905
|
-
function be(t, e, a) {
|
|
906
|
-
return t.on(e, a), function() {
|
|
907
|
-
t.off(e, a);
|
|
908
|
-
};
|
|
909
|
-
}
|
|
910
|
-
const jr = Object.freeze({ connect: 1, connect_error: 1, disconnect: 1, disconnecting: 1, newListener: 1, removeListener: 1 });
|
|
911
|
-
class $t extends ae {
|
|
912
|
-
constructor(e, a, n) {
|
|
913
|
-
super(), this.connected = !1, this.recovered = !1, this.receiveBuffer = [], this.sendBuffer = [], this._queue = [], this._queueSeq = 0, this.ids = 0, this.acks = {}, this.flags = {}, this.io = e, this.nsp = a, n && n.auth && (this.auth = n.auth), this._opts = Object.assign({}, n), this.io._autoConnect && this.open();
|
|
914
|
-
}
|
|
915
|
-
get disconnected() {
|
|
916
|
-
return !this.connected;
|
|
917
|
-
}
|
|
918
|
-
subEvents() {
|
|
919
|
-
if (this.subs) return;
|
|
920
|
-
const e = this.io;
|
|
921
|
-
this.subs = [be(e, "open", this.onopen.bind(this)), be(e, "packet", this.onpacket.bind(this)), be(e, "error", this.onerror.bind(this)), be(e, "close", this.onclose.bind(this))];
|
|
922
|
-
}
|
|
923
|
-
get active() {
|
|
924
|
-
return !!this.subs;
|
|
925
|
-
}
|
|
926
|
-
connect() {
|
|
927
|
-
return this.connected || (this.subEvents(), this.io._reconnecting || this.io.open(), this.io._readyState === "open" && this.onopen()), this;
|
|
928
|
-
}
|
|
929
|
-
open() {
|
|
930
|
-
return this.connect();
|
|
931
|
-
}
|
|
932
|
-
send(...e) {
|
|
933
|
-
return e.unshift("message"), this.emit.apply(this, e), this;
|
|
934
|
-
}
|
|
935
|
-
emit(e, ...a) {
|
|
936
|
-
var n, r, i;
|
|
937
|
-
if (jr.hasOwnProperty(e)) throw new Error('"' + e.toString() + '" is a reserved event name');
|
|
938
|
-
if (a.unshift(e), this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) return this._addToQueue(a), this;
|
|
939
|
-
const o = { type: B.EVENT, data: a, options: {} };
|
|
940
|
-
if (o.options.compress = this.flags.compress !== !1, typeof a[a.length - 1] == "function") {
|
|
941
|
-
const c = this.ids++, h = a.pop();
|
|
942
|
-
this._registerAckCallback(c, h), o.id = c;
|
|
943
|
-
}
|
|
944
|
-
const s = (r = (n = this.io.engine) === null || n === void 0 ? void 0 : n.transport) === null || r === void 0 ? void 0 : r.writable, l = this.connected && !(!((i = this.io.engine) === null || i === void 0) && i._hasPingExpired());
|
|
945
|
-
return this.flags.volatile && !s || (l ? (this.notifyOutgoingListeners(o), this.packet(o)) : this.sendBuffer.push(o)), this.flags = {}, this;
|
|
946
|
-
}
|
|
947
|
-
_registerAckCallback(e, a) {
|
|
948
|
-
var n;
|
|
949
|
-
const r = (n = this.flags.timeout) !== null && n !== void 0 ? n : this._opts.ackTimeout;
|
|
950
|
-
if (r === void 0) return void (this.acks[e] = a);
|
|
951
|
-
const i = this.io.setTimeoutFn(() => {
|
|
952
|
-
delete this.acks[e];
|
|
953
|
-
for (let s = 0; s < this.sendBuffer.length; s++) this.sendBuffer[s].id === e && this.sendBuffer.splice(s, 1);
|
|
954
|
-
a.call(this, new Error("operation has timed out"));
|
|
955
|
-
}, r), o = (...s) => {
|
|
956
|
-
this.io.clearTimeoutFn(i), a.apply(this, s);
|
|
957
|
-
};
|
|
958
|
-
o.withError = !0, this.acks[e] = o;
|
|
959
|
-
}
|
|
960
|
-
emitWithAck(e, ...a) {
|
|
961
|
-
return new Promise((n, r) => {
|
|
962
|
-
const i = (o, s) => o ? r(o) : n(s);
|
|
963
|
-
i.withError = !0, a.push(i), this.emit(e, ...a);
|
|
964
|
-
});
|
|
965
|
-
}
|
|
966
|
-
_addToQueue(e) {
|
|
967
|
-
let a;
|
|
968
|
-
typeof e[e.length - 1] == "function" && (a = e.pop());
|
|
969
|
-
const n = { id: this._queueSeq++, tryCount: 0, pending: !1, args: e, flags: Object.assign({ fromQueue: !0 }, this.flags) };
|
|
970
|
-
e.push((r, ...i) => {
|
|
971
|
-
if (n === this._queue[0])
|
|
972
|
-
return r !== null ? n.tryCount > this._opts.retries && (this._queue.shift(), a && a(r)) : (this._queue.shift(), a && a(null, ...i)), n.pending = !1, this._drainQueue();
|
|
973
|
-
}), this._queue.push(n), this._drainQueue();
|
|
974
|
-
}
|
|
975
|
-
_drainQueue(e = !1) {
|
|
976
|
-
if (!this.connected || this._queue.length === 0) return;
|
|
977
|
-
const a = this._queue[0];
|
|
978
|
-
a.pending && !e || (a.pending = !0, a.tryCount++, this.flags = a.flags, this.emit.apply(this, a.args));
|
|
979
|
-
}
|
|
980
|
-
packet(e) {
|
|
981
|
-
e.nsp = this.nsp, this.io._packet(e);
|
|
982
|
-
}
|
|
983
|
-
onopen() {
|
|
984
|
-
typeof this.auth == "function" ? this.auth((e) => {
|
|
985
|
-
this._sendConnectPacket(e);
|
|
986
|
-
}) : this._sendConnectPacket(this.auth);
|
|
987
|
-
}
|
|
988
|
-
_sendConnectPacket(e) {
|
|
989
|
-
this.packet({ type: B.CONNECT, data: this._pid ? Object.assign({ pid: this._pid, offset: this._lastOffset }, e) : e });
|
|
990
|
-
}
|
|
991
|
-
onerror(e) {
|
|
992
|
-
this.connected || this.emitReserved("connect_error", e);
|
|
993
|
-
}
|
|
994
|
-
onclose(e, a) {
|
|
995
|
-
this.connected = !1, delete this.id, this.emitReserved("disconnect", e, a), this._clearAcks();
|
|
996
|
-
}
|
|
997
|
-
_clearAcks() {
|
|
998
|
-
Object.keys(this.acks).forEach((e) => {
|
|
999
|
-
if (!this.sendBuffer.some((a) => String(a.id) === e)) {
|
|
1000
|
-
const a = this.acks[e];
|
|
1001
|
-
delete this.acks[e], a.withError && a.call(this, new Error("socket has been disconnected"));
|
|
1002
|
-
}
|
|
1003
|
-
});
|
|
1004
|
-
}
|
|
1005
|
-
onpacket(e) {
|
|
1006
|
-
if (e.nsp === this.nsp) switch (e.type) {
|
|
1007
|
-
case B.CONNECT:
|
|
1008
|
-
e.data && e.data.sid ? this.onconnect(e.data.sid, e.data.pid) : this.emitReserved("connect_error", new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));
|
|
1009
|
-
break;
|
|
1010
|
-
case B.EVENT:
|
|
1011
|
-
case B.BINARY_EVENT:
|
|
1012
|
-
this.onevent(e);
|
|
1013
|
-
break;
|
|
1014
|
-
case B.ACK:
|
|
1015
|
-
case B.BINARY_ACK:
|
|
1016
|
-
this.onack(e);
|
|
1017
|
-
break;
|
|
1018
|
-
case B.DISCONNECT:
|
|
1019
|
-
this.ondisconnect();
|
|
1020
|
-
break;
|
|
1021
|
-
case B.CONNECT_ERROR:
|
|
1022
|
-
this.destroy();
|
|
1023
|
-
const a = new Error(e.data.message);
|
|
1024
|
-
a.data = e.data.data, this.emitReserved("connect_error", a);
|
|
1025
|
-
}
|
|
1026
|
-
}
|
|
1027
|
-
onevent(e) {
|
|
1028
|
-
const a = e.data || [];
|
|
1029
|
-
e.id != null && a.push(this.ack(e.id)), this.connected ? this.emitEvent(a) : this.receiveBuffer.push(Object.freeze(a));
|
|
1030
|
-
}
|
|
1031
|
-
emitEvent(e) {
|
|
1032
|
-
if (this._anyListeners && this._anyListeners.length) {
|
|
1033
|
-
const a = this._anyListeners.slice();
|
|
1034
|
-
for (const n of a) n.apply(this, e);
|
|
1035
|
-
}
|
|
1036
|
-
super.emit.apply(this, e), this._pid && e.length && typeof e[e.length - 1] == "string" && (this._lastOffset = e[e.length - 1]);
|
|
1037
|
-
}
|
|
1038
|
-
ack(e) {
|
|
1039
|
-
const a = this;
|
|
1040
|
-
let n = !1;
|
|
1041
|
-
return function(...r) {
|
|
1042
|
-
n || (n = !0, a.packet({ type: B.ACK, id: e, data: r }));
|
|
1043
|
-
};
|
|
1044
|
-
}
|
|
1045
|
-
onack(e) {
|
|
1046
|
-
const a = this.acks[e.id];
|
|
1047
|
-
typeof a == "function" && (delete this.acks[e.id], a.withError && e.data.unshift(null), a.apply(this, e.data));
|
|
1048
|
-
}
|
|
1049
|
-
onconnect(e, a) {
|
|
1050
|
-
this.id = e, this.recovered = a && this._pid === a, this._pid = a, this.connected = !0, this.emitBuffered(), this.emitReserved("connect"), this._drainQueue(!0);
|
|
1051
|
-
}
|
|
1052
|
-
emitBuffered() {
|
|
1053
|
-
this.receiveBuffer.forEach((e) => this.emitEvent(e)), this.receiveBuffer = [], this.sendBuffer.forEach((e) => {
|
|
1054
|
-
this.notifyOutgoingListeners(e), this.packet(e);
|
|
1055
|
-
}), this.sendBuffer = [];
|
|
1056
|
-
}
|
|
1057
|
-
ondisconnect() {
|
|
1058
|
-
this.destroy(), this.onclose("io server disconnect");
|
|
1059
|
-
}
|
|
1060
|
-
destroy() {
|
|
1061
|
-
this.subs && (this.subs.forEach((e) => e()), this.subs = void 0), this.io._destroy(this);
|
|
1062
|
-
}
|
|
1063
|
-
disconnect() {
|
|
1064
|
-
return this.connected && this.packet({ type: B.DISCONNECT }), this.destroy(), this.connected && this.onclose("io client disconnect"), this;
|
|
1065
|
-
}
|
|
1066
|
-
close() {
|
|
1067
|
-
return this.disconnect();
|
|
1068
|
-
}
|
|
1069
|
-
compress(e) {
|
|
1070
|
-
return this.flags.compress = e, this;
|
|
1071
|
-
}
|
|
1072
|
-
get volatile() {
|
|
1073
|
-
return this.flags.volatile = !0, this;
|
|
1074
|
-
}
|
|
1075
|
-
timeout(e) {
|
|
1076
|
-
return this.flags.timeout = e, this;
|
|
1077
|
-
}
|
|
1078
|
-
onAny(e) {
|
|
1079
|
-
return this._anyListeners = this._anyListeners || [], this._anyListeners.push(e), this;
|
|
1080
|
-
}
|
|
1081
|
-
prependAny(e) {
|
|
1082
|
-
return this._anyListeners = this._anyListeners || [], this._anyListeners.unshift(e), this;
|
|
1083
|
-
}
|
|
1084
|
-
offAny(e) {
|
|
1085
|
-
if (!this._anyListeners) return this;
|
|
1086
|
-
if (e) {
|
|
1087
|
-
const a = this._anyListeners;
|
|
1088
|
-
for (let n = 0; n < a.length; n++) if (e === a[n]) return a.splice(n, 1), this;
|
|
1089
|
-
} else this._anyListeners = [];
|
|
1090
|
-
return this;
|
|
1091
|
-
}
|
|
1092
|
-
listenersAny() {
|
|
1093
|
-
return this._anyListeners || [];
|
|
1094
|
-
}
|
|
1095
|
-
onAnyOutgoing(e) {
|
|
1096
|
-
return this._anyOutgoingListeners = this._anyOutgoingListeners || [], this._anyOutgoingListeners.push(e), this;
|
|
1097
|
-
}
|
|
1098
|
-
prependAnyOutgoing(e) {
|
|
1099
|
-
return this._anyOutgoingListeners = this._anyOutgoingListeners || [], this._anyOutgoingListeners.unshift(e), this;
|
|
1100
|
-
}
|
|
1101
|
-
offAnyOutgoing(e) {
|
|
1102
|
-
if (!this._anyOutgoingListeners) return this;
|
|
1103
|
-
if (e) {
|
|
1104
|
-
const a = this._anyOutgoingListeners;
|
|
1105
|
-
for (let n = 0; n < a.length; n++) if (e === a[n]) return a.splice(n, 1), this;
|
|
1106
|
-
} else this._anyOutgoingListeners = [];
|
|
1107
|
-
return this;
|
|
1108
|
-
}
|
|
1109
|
-
listenersAnyOutgoing() {
|
|
1110
|
-
return this._anyOutgoingListeners || [];
|
|
1111
|
-
}
|
|
1112
|
-
notifyOutgoingListeners(e) {
|
|
1113
|
-
if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {
|
|
1114
|
-
const a = this._anyOutgoingListeners.slice();
|
|
1115
|
-
for (const n of a) n.apply(this, e.data);
|
|
1116
|
-
}
|
|
1117
|
-
}
|
|
1118
|
-
}
|
|
1119
|
-
function Be(t) {
|
|
1120
|
-
t = t || {}, this.ms = t.min || 100, this.max = t.max || 1e4, this.factor = t.factor || 2, this.jitter = t.jitter > 0 && t.jitter <= 1 ? t.jitter : 0, this.attempts = 0;
|
|
1121
|
-
}
|
|
1122
|
-
Be.prototype.duration = function() {
|
|
1123
|
-
var t = this.ms * Math.pow(this.factor, this.attempts++);
|
|
1124
|
-
if (this.jitter) {
|
|
1125
|
-
var e = Math.random(), a = Math.floor(e * this.jitter * t);
|
|
1126
|
-
t = 1 & Math.floor(10 * e) ? t + a : t - a;
|
|
1127
|
-
}
|
|
1128
|
-
return 0 | Math.min(t, this.max);
|
|
1129
|
-
}, Be.prototype.reset = function() {
|
|
1130
|
-
this.attempts = 0;
|
|
1131
|
-
}, Be.prototype.setMin = function(t) {
|
|
1132
|
-
this.ms = t;
|
|
1133
|
-
}, Be.prototype.setMax = function(t) {
|
|
1134
|
-
this.max = t;
|
|
1135
|
-
}, Be.prototype.setJitter = function(t) {
|
|
1136
|
-
this.jitter = t;
|
|
1137
|
-
};
|
|
1138
|
-
class qa extends ae {
|
|
1139
|
-
constructor(e, a) {
|
|
1140
|
-
var n;
|
|
1141
|
-
super(), this.nsps = {}, this.subs = [], e && typeof e == "object" && (a = e, e = void 0), (a = a || {}).path = a.path || "/socket.io", this.opts = a, va(this, a), this.reconnection(a.reconnection !== !1), this.reconnectionAttempts(a.reconnectionAttempts || 1 / 0), this.reconnectionDelay(a.reconnectionDelay || 1e3), this.reconnectionDelayMax(a.reconnectionDelayMax || 5e3), this.randomizationFactor((n = a.randomizationFactor) !== null && n !== void 0 ? n : 0.5), this.backoff = new Be({ min: this.reconnectionDelay(), max: this.reconnectionDelayMax(), jitter: this.randomizationFactor() }), this.timeout(a.timeout == null ? 2e4 : a.timeout), this._readyState = "closed", this.uri = e;
|
|
1142
|
-
const r = a.parser || zr;
|
|
1143
|
-
this.encoder = new r.Encoder(), this.decoder = new r.Decoder(), this._autoConnect = a.autoConnect !== !1, this._autoConnect && this.open();
|
|
1144
|
-
}
|
|
1145
|
-
reconnection(e) {
|
|
1146
|
-
return arguments.length ? (this._reconnection = !!e, e || (this.skipReconnect = !0), this) : this._reconnection;
|
|
1147
|
-
}
|
|
1148
|
-
reconnectionAttempts(e) {
|
|
1149
|
-
return e === void 0 ? this._reconnectionAttempts : (this._reconnectionAttempts = e, this);
|
|
1150
|
-
}
|
|
1151
|
-
reconnectionDelay(e) {
|
|
1152
|
-
var a;
|
|
1153
|
-
return e === void 0 ? this._reconnectionDelay : (this._reconnectionDelay = e, (a = this.backoff) === null || a === void 0 || a.setMin(e), this);
|
|
1154
|
-
}
|
|
1155
|
-
randomizationFactor(e) {
|
|
1156
|
-
var a;
|
|
1157
|
-
return e === void 0 ? this._randomizationFactor : (this._randomizationFactor = e, (a = this.backoff) === null || a === void 0 || a.setJitter(e), this);
|
|
1158
|
-
}
|
|
1159
|
-
reconnectionDelayMax(e) {
|
|
1160
|
-
var a;
|
|
1161
|
-
return e === void 0 ? this._reconnectionDelayMax : (this._reconnectionDelayMax = e, (a = this.backoff) === null || a === void 0 || a.setMax(e), this);
|
|
1162
|
-
}
|
|
1163
|
-
timeout(e) {
|
|
1164
|
-
return arguments.length ? (this._timeout = e, this) : this._timeout;
|
|
1165
|
-
}
|
|
1166
|
-
maybeReconnectOnOpen() {
|
|
1167
|
-
!this._reconnecting && this._reconnection && this.backoff.attempts === 0 && this.reconnect();
|
|
1168
|
-
}
|
|
1169
|
-
open(e) {
|
|
1170
|
-
if (~this._readyState.indexOf("open")) return this;
|
|
1171
|
-
this.engine = new kr(this.uri, this.opts);
|
|
1172
|
-
const a = this.engine, n = this;
|
|
1173
|
-
this._readyState = "opening", this.skipReconnect = !1;
|
|
1174
|
-
const r = be(a, "open", function() {
|
|
1175
|
-
n.onopen(), e && e();
|
|
1176
|
-
}), i = (s) => {
|
|
1177
|
-
this.cleanup(), this._readyState = "closed", this.emitReserved("error", s), e ? e(s) : this.maybeReconnectOnOpen();
|
|
1178
|
-
}, o = be(a, "error", i);
|
|
1179
|
-
if (this._timeout !== !1) {
|
|
1180
|
-
const s = this._timeout, l = this.setTimeoutFn(() => {
|
|
1181
|
-
r(), i(new Error("timeout")), a.close();
|
|
1182
|
-
}, s);
|
|
1183
|
-
this.opts.autoUnref && l.unref(), this.subs.push(() => {
|
|
1184
|
-
this.clearTimeoutFn(l);
|
|
1185
|
-
});
|
|
1186
|
-
}
|
|
1187
|
-
return this.subs.push(r), this.subs.push(o), this;
|
|
1188
|
-
}
|
|
1189
|
-
connect(e) {
|
|
1190
|
-
return this.open(e);
|
|
1191
|
-
}
|
|
1192
|
-
onopen() {
|
|
1193
|
-
this.cleanup(), this._readyState = "open", this.emitReserved("open");
|
|
1194
|
-
const e = this.engine;
|
|
1195
|
-
this.subs.push(be(e, "ping", this.onping.bind(this)), be(e, "data", this.ondata.bind(this)), be(e, "error", this.onerror.bind(this)), be(e, "close", this.onclose.bind(this)), be(this.decoder, "decoded", this.ondecoded.bind(this)));
|
|
1196
|
-
}
|
|
1197
|
-
onping() {
|
|
1198
|
-
this.emitReserved("ping");
|
|
1199
|
-
}
|
|
1200
|
-
ondata(e) {
|
|
1201
|
-
try {
|
|
1202
|
-
this.decoder.add(e);
|
|
1203
|
-
} catch (a) {
|
|
1204
|
-
this.onclose("parse error", a);
|
|
1205
|
-
}
|
|
1206
|
-
}
|
|
1207
|
-
ondecoded(e) {
|
|
1208
|
-
wa(() => {
|
|
1209
|
-
this.emitReserved("packet", e);
|
|
1210
|
-
}, this.setTimeoutFn);
|
|
1211
|
-
}
|
|
1212
|
-
onerror(e) {
|
|
1213
|
-
this.emitReserved("error", e);
|
|
1214
|
-
}
|
|
1215
|
-
socket(e, a) {
|
|
1216
|
-
let n = this.nsps[e];
|
|
1217
|
-
return n ? this._autoConnect && !n.active && n.connect() : (n = new $t(this, e, a), this.nsps[e] = n), n;
|
|
1218
|
-
}
|
|
1219
|
-
_destroy(e) {
|
|
1220
|
-
const a = Object.keys(this.nsps);
|
|
1221
|
-
for (const n of a)
|
|
1222
|
-
if (this.nsps[n].active) return;
|
|
1223
|
-
this._close();
|
|
1224
|
-
}
|
|
1225
|
-
_packet(e) {
|
|
1226
|
-
const a = this.encoder.encode(e);
|
|
1227
|
-
for (let n = 0; n < a.length; n++) this.engine.write(a[n], e.options);
|
|
1228
|
-
}
|
|
1229
|
-
cleanup() {
|
|
1230
|
-
this.subs.forEach((e) => e()), this.subs.length = 0, this.decoder.destroy();
|
|
1231
|
-
}
|
|
1232
|
-
_close() {
|
|
1233
|
-
this.skipReconnect = !0, this._reconnecting = !1, this.onclose("forced close");
|
|
1234
|
-
}
|
|
1235
|
-
disconnect() {
|
|
1236
|
-
return this._close();
|
|
1237
|
-
}
|
|
1238
|
-
onclose(e, a) {
|
|
1239
|
-
var n;
|
|
1240
|
-
this.cleanup(), (n = this.engine) === null || n === void 0 || n.close(), this.backoff.reset(), this._readyState = "closed", this.emitReserved("close", e, a), this._reconnection && !this.skipReconnect && this.reconnect();
|
|
1241
|
-
}
|
|
1242
|
-
reconnect() {
|
|
1243
|
-
if (this._reconnecting || this.skipReconnect) return this;
|
|
1244
|
-
const e = this;
|
|
1245
|
-
if (this.backoff.attempts >= this._reconnectionAttempts) this.backoff.reset(), this.emitReserved("reconnect_failed"), this._reconnecting = !1;
|
|
1246
|
-
else {
|
|
1247
|
-
const a = this.backoff.duration();
|
|
1248
|
-
this._reconnecting = !0;
|
|
1249
|
-
const n = this.setTimeoutFn(() => {
|
|
1250
|
-
e.skipReconnect || (this.emitReserved("reconnect_attempt", e.backoff.attempts), e.skipReconnect || e.open((r) => {
|
|
1251
|
-
r ? (e._reconnecting = !1, e.reconnect(), this.emitReserved("reconnect_error", r)) : e.onreconnect();
|
|
1252
|
-
}));
|
|
1253
|
-
}, a);
|
|
1254
|
-
this.opts.autoUnref && n.unref(), this.subs.push(() => {
|
|
1255
|
-
this.clearTimeoutFn(n);
|
|
1256
|
-
});
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
onreconnect() {
|
|
1260
|
-
const e = this.backoff.attempts;
|
|
1261
|
-
this._reconnecting = !1, this.backoff.reset(), this.emitReserved("reconnect", e);
|
|
1262
|
-
}
|
|
1263
|
-
}
|
|
1264
|
-
const Pe = {};
|
|
1265
|
-
function ha(t, e) {
|
|
1266
|
-
typeof t == "object" && (e = t, t = void 0);
|
|
1267
|
-
const a = function(l, c = "", h) {
|
|
1268
|
-
let d = l;
|
|
1269
|
-
h = h || typeof location != "undefined" && location, l == null && (l = h.protocol + "//" + h.host), typeof l == "string" && (l.charAt(0) === "/" && (l = l.charAt(1) === "/" ? h.protocol + l : h.host + l), /^(https?|wss?):\/\//.test(l) || (l = h !== void 0 ? h.protocol + "//" + l : "https://" + l), d = La(l)), d.port || (/^(http|ws)$/.test(d.protocol) ? d.port = "80" : /^(http|ws)s$/.test(d.protocol) && (d.port = "443")), d.path = d.path || "/";
|
|
1270
|
-
const u = d.host.indexOf(":") !== -1 ? "[" + d.host + "]" : d.host;
|
|
1271
|
-
return d.id = d.protocol + "://" + u + ":" + d.port + c, d.href = d.protocol + "://" + u + (h && h.port === d.port ? "" : ":" + d.port), d;
|
|
1272
|
-
}(t, (e = e || {}).path || "/socket.io"), n = a.source, r = a.id, i = a.path, o = Pe[r] && i in Pe[r].nsps;
|
|
1273
|
-
let s;
|
|
1274
|
-
return e.forceNew || e["force new connection"] || e.multiplex === !1 || o ? s = new qa(n, e) : (Pe[r] || (Pe[r] = new qa(n, e)), s = Pe[r]), a.query && !e.query && (e.query = a.queryKey), s.socket(a.path, e);
|
|
1275
|
-
}
|
|
1276
|
-
Object.assign(ha, { Manager: qa, Socket: $t, io: ha, connect: ha });
|
|
1277
|
-
class Tr {
|
|
1278
|
-
constructor(e) {
|
|
1279
|
-
R(this, "socket");
|
|
1280
|
-
R(this, "encode");
|
|
1281
|
-
R(this, "decode");
|
|
1282
|
-
var a, n;
|
|
1283
|
-
this.socket = ha(e.baseUrl, { transports: ["websocket"], path: "/analytics/ws", auth: { token: e.authToken }, query: e.query }), this.encode = (a = e.encoder) != null ? a : (r) => function(i) {
|
|
1284
|
-
const o = new TextEncoder().encode(i);
|
|
1285
|
-
if (typeof window != "undefined" && typeof window.btoa == "function") {
|
|
1286
|
-
const s = Array.from(o, (l) => String.fromCharCode(l)).join("");
|
|
1287
|
-
return btoa(s);
|
|
1288
|
-
}
|
|
1289
|
-
if (typeof Buffer != "undefined") return Buffer.from(o).toString("base64");
|
|
1290
|
-
throw new Error("[utils.base64Encode]: Unsupported environment");
|
|
1291
|
-
}(JSON.stringify(r)), this.decode = (n = e.decoder) != null ? n : (r) => JSON.parse(((i) => {
|
|
1292
|
-
if (typeof window != "undefined" && typeof window.atob == "function") {
|
|
1293
|
-
const o = atob(i), s = o.length, l = new Uint8Array(s);
|
|
1294
|
-
for (let c = 0; c < s; c++) l[c] = o.charCodeAt(c);
|
|
1295
|
-
return new TextDecoder().decode(l);
|
|
1296
|
-
}
|
|
1297
|
-
if (typeof Buffer != "undefined") return Buffer.from(i, "base64").toString("utf-8");
|
|
1298
|
-
throw new Error("[utils.base64Decode]: Unsupported environment");
|
|
1299
|
-
})(r));
|
|
1300
|
-
}
|
|
1301
|
-
send(e, a, n) {
|
|
1302
|
-
typeof n == "function" ? this.socket.emit(e, this.encode(a), n) : this.socket.emit(e, this.encode(a));
|
|
1303
|
-
}
|
|
1304
|
-
on(e, a) {
|
|
1305
|
-
this.socket.on(e, (n) => a(this.decode(n)));
|
|
1306
|
-
}
|
|
1307
|
-
}
|
|
1308
|
-
class xr {
|
|
1309
|
-
constructor(e) {
|
|
1310
|
-
R(this, "defaultTTL");
|
|
1311
|
-
R(this, "items");
|
|
1312
|
-
if (this.defaultTTL = e, e <= 0) throw new Error("Default TTL must be a positive number.");
|
|
1313
|
-
this.items = /* @__PURE__ */ new Map(), this.defaultTTL = e, setInterval(() => this.cleanup(), e);
|
|
1314
|
-
}
|
|
1315
|
-
add(e, a) {
|
|
1316
|
-
const n = a !== void 0 ? a : this.defaultTTL;
|
|
1317
|
-
if (n <= 0) throw new Error("TTL must be a positive number.");
|
|
1318
|
-
const r = Date.now() + n;
|
|
1319
|
-
this.items.set(e, r);
|
|
1320
|
-
}
|
|
1321
|
-
has(e) {
|
|
1322
|
-
const a = this.items.get(e);
|
|
1323
|
-
return a !== void 0 && (!(Date.now() > a) || (this.items.delete(e), !1));
|
|
1324
|
-
}
|
|
1325
|
-
delete(e) {
|
|
1326
|
-
this.items.delete(e);
|
|
1327
|
-
}
|
|
1328
|
-
get size() {
|
|
1329
|
-
return this.cleanup(), this.items.size;
|
|
1330
|
-
}
|
|
1331
|
-
clear() {
|
|
1332
|
-
this.items.clear();
|
|
1333
|
-
}
|
|
1334
|
-
cleanup() {
|
|
1335
|
-
const e = Date.now();
|
|
1336
|
-
for (const [a, n] of this.items.entries()) n <= e && this.items.delete(a);
|
|
1337
|
-
}
|
|
1338
|
-
toArray() {
|
|
1339
|
-
return this.cleanup(), Array.from(this.items.keys());
|
|
1340
|
-
}
|
|
1341
|
-
}
|
|
1342
|
-
var gt, pt;
|
|
1343
|
-
(function(t) {
|
|
1344
|
-
t.OpenUrl = "openUrl", t.CallPhone = "callPhone", t.SendEmail = "sendEmail", t.TriggerEvent = "triggerEvent";
|
|
1345
|
-
})(gt || (gt = {})), function(t) {
|
|
1346
|
-
t.Button = "button", t.Link = "link";
|
|
1347
|
-
}(pt || (pt = {}));
|
|
1348
|
-
class Rr {
|
|
1349
|
-
constructor(e) {
|
|
1350
|
-
R(this, "options");
|
|
1351
|
-
R(this, "client");
|
|
1352
|
-
R(this, "userId");
|
|
1353
|
-
R(this, "global");
|
|
1354
|
-
R(this, "queue", []);
|
|
1355
|
-
R(this, "knownEvents", ["nudge.show"]);
|
|
1356
|
-
R(this, "eventListeners", {});
|
|
1357
|
-
R(this, "recentNudgeIds", new xr(1e3));
|
|
1358
|
-
this.options = e;
|
|
1359
|
-
const a = { sdk_name: e.sdk || "node", sdk_version: e.sdkVersion || "" };
|
|
1360
|
-
this.client = new Tr({ baseUrl: e.apiUrl || "https://analytic.brainfi.sh", authToken: e.accessKey, query: a }), this.setupIncomingPayloadHandler();
|
|
1361
|
-
}
|
|
1362
|
-
init() {
|
|
1363
|
-
}
|
|
1364
|
-
ready() {
|
|
1365
|
-
this.options.waitForUser = !1, this.flush();
|
|
1366
|
-
}
|
|
1367
|
-
setupIncomingPayloadHandler() {
|
|
1368
|
-
this.client.on("e", this.handleIncomingPayload.bind(this));
|
|
1369
|
-
}
|
|
1370
|
-
handleIncomingPayload(e) {
|
|
1371
|
-
if (e.type === "nudge.show") {
|
|
1372
|
-
const { nudgeId: a } = e.payload;
|
|
1373
|
-
if (this.recentNudgeIds.has(a)) return;
|
|
1374
|
-
this.recentNudgeIds.add(a), this.dispatchEventListeners("nudge.show", e.payload);
|
|
1375
|
-
}
|
|
1376
|
-
}
|
|
1377
|
-
dispatchEventListeners(e, a) {
|
|
1378
|
-
var n;
|
|
1379
|
-
(n = this.eventListeners[e]) == null || n.forEach((r) => r(a));
|
|
1380
|
-
}
|
|
1381
|
-
on(e, a) {
|
|
1382
|
-
this.knownEvents.includes(e) && (this.eventListeners[e] || (this.eventListeners[e] = []), this.eventListeners[e].push(a));
|
|
1383
|
-
}
|
|
1384
|
-
off(e, a) {
|
|
1385
|
-
this.knownEvents.includes(e) && this.eventListeners[e] && (this.eventListeners[e] = this.eventListeners[e].filter((n) => n !== a), this.eventListeners[e].length === 0 && delete this.eventListeners[e]);
|
|
1386
|
-
}
|
|
1387
|
-
send(e, a) {
|
|
1388
|
-
return _(this, null, function* () {
|
|
1389
|
-
return this.options.disabled || this.options.filter && !this.options.filter(e) ? Promise.resolve() : this.options.waitForUser && !this.userId ? (this.queue.push(e), Promise.resolve()) : this.client.send("t", e, a);
|
|
1390
|
-
});
|
|
1391
|
-
}
|
|
1392
|
-
setGlobalProperties(e) {
|
|
1393
|
-
this.global = de(de({}, this.global), e);
|
|
1394
|
-
}
|
|
1395
|
-
track(e, a) {
|
|
1396
|
-
return _(this, null, function* () {
|
|
1397
|
-
var n, r;
|
|
1398
|
-
return this.send({ type: "event.track", payload: { name: e, userId: (n = a == null ? void 0 : a.userId) != null ? n : this.userId, properties: de(de({}, (r = this.global) != null ? r : {}), a != null ? a : {}) } });
|
|
1399
|
-
});
|
|
1400
|
-
}
|
|
1401
|
-
identify(e) {
|
|
1402
|
-
return _(this, null, function* () {
|
|
1403
|
-
e.userId && (this.userId = e.userId, this.flush());
|
|
1404
|
-
const a = document.querySelector("#bf-iframe-container .trigger-iframe");
|
|
1405
|
-
if (a) {
|
|
1406
|
-
const n = () => {
|
|
1407
|
-
a.contentWindow && a.contentWindow.postMessage({ type: "USER_IDENTIFY", payload: e }, "*");
|
|
1408
|
-
};
|
|
1409
|
-
a.contentWindow && n(), a.addEventListener("load", n);
|
|
1410
|
-
}
|
|
1411
|
-
if (Object.keys(e).length > 1) return this.send({ type: "user.identify", payload: Le(de({}, e), { properties: de(de({}, this.global), e.properties) }) });
|
|
1412
|
-
});
|
|
1413
|
-
}
|
|
1414
|
-
record(e, a) {
|
|
1415
|
-
return _(this, null, function* () {
|
|
1416
|
-
return this.send({ type: "event.record", payload: { events: e, userId: this.userId } }, a);
|
|
1417
|
-
});
|
|
1418
|
-
}
|
|
1419
|
-
alias(e) {
|
|
1420
|
-
return _(this, null, function* () {
|
|
1421
|
-
return this.send({ type: "user.alias", payload: e });
|
|
1422
|
-
});
|
|
1423
|
-
}
|
|
1424
|
-
increment(e) {
|
|
1425
|
-
return _(this, null, function* () {
|
|
1426
|
-
return this.send({ type: "user.increment", payload: e });
|
|
1427
|
-
});
|
|
1428
|
-
}
|
|
1429
|
-
decrement(e) {
|
|
1430
|
-
return _(this, null, function* () {
|
|
1431
|
-
return this.send({ type: "user.decrement", payload: e });
|
|
1432
|
-
});
|
|
1433
|
-
}
|
|
1434
|
-
clear() {
|
|
1435
|
-
this.userId = void 0;
|
|
1436
|
-
}
|
|
1437
|
-
flush() {
|
|
1438
|
-
this.queue.forEach((e) => {
|
|
1439
|
-
var a;
|
|
1440
|
-
this.send(Le(de({}, e), { payload: Le(de({}, e.payload), { userId: (a = e.payload.userId) != null ? a : this.userId }) }));
|
|
1441
|
-
}), this.queue = [];
|
|
1442
|
-
}
|
|
1443
|
-
}
|
|
1444
|
-
const Nr = /* @__PURE__ */ (() => {
|
|
1445
|
-
let t = 0;
|
|
1446
|
-
return () => (t += 1, `u${`0000${(Math.random() * lt(36, 4) | 0).toString(36)}`.slice(-4)}${t}`);
|
|
1447
|
-
})();
|
|
1448
|
-
function Ae(t) {
|
|
1449
|
-
const e = [];
|
|
1450
|
-
for (let a = 0, n = t.length; a < n; a++) e.push(t[a]);
|
|
1451
|
-
return e;
|
|
1452
|
-
}
|
|
1453
|
-
function na(t, e) {
|
|
1454
|
-
const a = (t.ownerDocument.defaultView || window).getComputedStyle(t).getPropertyValue(e);
|
|
1455
|
-
return a ? parseFloat(a.replace("px", "")) : 0;
|
|
1456
|
-
}
|
|
1457
|
-
function en(t, e = {}) {
|
|
1458
|
-
return { width: e.width || function(a) {
|
|
1459
|
-
const n = na(a, "border-left-width"), r = na(a, "border-right-width");
|
|
1460
|
-
return a.clientWidth + n + r;
|
|
1461
|
-
}(t), height: e.height || function(a) {
|
|
1462
|
-
const n = na(a, "border-top-width"), r = na(a, "border-bottom-width");
|
|
1463
|
-
return a.clientHeight + n + r;
|
|
1464
|
-
}(t) };
|
|
1465
|
-
}
|
|
1466
|
-
const ue = 16384;
|
|
1467
|
-
function da(t) {
|
|
1468
|
-
return new Promise((e, a) => {
|
|
1469
|
-
const n = new Image();
|
|
1470
|
-
n.decode = () => e(n), n.onload = () => e(n), n.onerror = a, n.crossOrigin = "anonymous", n.decoding = "async", n.src = t;
|
|
1471
|
-
});
|
|
1472
|
-
}
|
|
1473
|
-
function Mr(t, e, a) {
|
|
1474
|
-
return _(this, null, function* () {
|
|
1475
|
-
const n = "http://www.w3.org/2000/svg", r = document.createElementNS(n, "svg"), i = document.createElementNS(n, "foreignObject");
|
|
1476
|
-
return r.setAttribute("width", `${e}`), r.setAttribute("height", `${a}`), r.setAttribute("viewBox", `0 0 ${e} ${a}`), i.setAttribute("width", "100%"), i.setAttribute("height", "100%"), i.setAttribute("x", "0"), i.setAttribute("y", "0"), i.setAttribute("externalResourcesRequired", "true"), r.appendChild(i), i.appendChild(t), function(o) {
|
|
1477
|
-
return _(this, null, function* () {
|
|
1478
|
-
return Promise.resolve().then(() => new XMLSerializer().serializeToString(o)).then(encodeURIComponent).then((s) => `data:image/svg+xml;charset=utf-8,${s}`);
|
|
1479
|
-
});
|
|
1480
|
-
}(r);
|
|
1481
|
-
});
|
|
1482
|
-
}
|
|
1483
|
-
const he = (t, e) => {
|
|
1484
|
-
if (t instanceof e) return !0;
|
|
1485
|
-
const a = Object.getPrototypeOf(t);
|
|
1486
|
-
return a !== null && (a.constructor.name === e.name || he(a, e));
|
|
1487
|
-
};
|
|
1488
|
-
function _r(t, e, a) {
|
|
1489
|
-
const n = `.${t}:${e}`, r = a.cssText ? function(i) {
|
|
1490
|
-
const o = i.getPropertyValue("content");
|
|
1491
|
-
return `${i.cssText} content: '${o.replace(/'|"/g, "")}';`;
|
|
1492
|
-
}(a) : function(i) {
|
|
1493
|
-
return Ae(i).map((o) => `${o}: ${i.getPropertyValue(o)}${i.getPropertyPriority(o) ? " !important" : ""};`).join(" ");
|
|
1494
|
-
}(a);
|
|
1495
|
-
return document.createTextNode(`${n}{${r}}`);
|
|
1496
|
-
}
|
|
1497
|
-
function yt(t, e, a) {
|
|
1498
|
-
const n = window.getComputedStyle(t, a), r = n.getPropertyValue("content");
|
|
1499
|
-
if (r === "" || r === "none") return;
|
|
1500
|
-
const i = Nr();
|
|
1501
|
-
try {
|
|
1502
|
-
e.className = `${e.className} ${i}`;
|
|
1503
|
-
} catch (s) {
|
|
1504
|
-
return;
|
|
1505
|
-
}
|
|
1506
|
-
const o = document.createElement("style");
|
|
1507
|
-
o.appendChild(_r(i, a, n)), e.appendChild(o);
|
|
1508
|
-
}
|
|
1509
|
-
const ft = "application/font-woff", bt = "image/jpeg", Or = { woff: ft, woff2: ft, ttf: "application/font-truetype", eot: "application/vnd.ms-fontobject", png: "image/png", jpg: bt, jpeg: bt, gif: "image/gif", tiff: "image/tiff", svg: "image/svg+xml", webp: "image/webp" };
|
|
1510
|
-
function $a(t) {
|
|
1511
|
-
const e = function(a) {
|
|
1512
|
-
const n = /\.([^./]*?)$/g.exec(a);
|
|
1513
|
-
return n ? n[1] : "";
|
|
1514
|
-
}(t).toLowerCase();
|
|
1515
|
-
return Or[e] || "";
|
|
1516
|
-
}
|
|
1517
|
-
function Va(t) {
|
|
1518
|
-
return t.search(/^(data:)/) !== -1;
|
|
1519
|
-
}
|
|
1520
|
-
function an(t, e, a) {
|
|
1521
|
-
return _(this, null, function* () {
|
|
1522
|
-
const n = yield fetch(t, e);
|
|
1523
|
-
if (n.status === 404) throw new Error(`Resource "${n.url}" not found`);
|
|
1524
|
-
const r = yield n.blob();
|
|
1525
|
-
return new Promise((i, o) => {
|
|
1526
|
-
const s = new FileReader();
|
|
1527
|
-
s.onerror = o, s.onloadend = () => {
|
|
1528
|
-
try {
|
|
1529
|
-
i(a({ res: n, result: s.result }));
|
|
1530
|
-
} catch (l) {
|
|
1531
|
-
o(l);
|
|
1532
|
-
}
|
|
1533
|
-
}, s.readAsDataURL(r);
|
|
1534
|
-
});
|
|
1535
|
-
});
|
|
1536
|
-
}
|
|
1537
|
-
const Ta = {};
|
|
1538
|
-
function et(t, e, a) {
|
|
1539
|
-
return _(this, null, function* () {
|
|
1540
|
-
const n = function(i, o, s) {
|
|
1541
|
-
let l = i.replace(/\?.*/, "");
|
|
1542
|
-
return s && (l = i), /ttf|otf|eot|woff2?/i.test(l) && (l = l.replace(/.*\//, "")), o ? `[${o}]${l}` : l;
|
|
1543
|
-
}(t, e, a.includeQueryParams);
|
|
1544
|
-
if (Ta[n] != null) return Ta[n];
|
|
1545
|
-
let r;
|
|
1546
|
-
a.cacheBust && (t += (/\?/.test(t) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
|
|
1547
|
-
try {
|
|
1548
|
-
const i = yield an(t, a.fetchRequestInit, ({ res: o, result: s }) => (e || (e = o.headers.get("Content-Type") || ""), function(l) {
|
|
1549
|
-
return l.split(/,/)[1];
|
|
1550
|
-
}(s)));
|
|
1551
|
-
r = function(o, s) {
|
|
1552
|
-
return `data:${s};base64,${o}`;
|
|
1553
|
-
}(i, e);
|
|
1554
|
-
} catch (i) {
|
|
1555
|
-
r = a.imagePlaceholder || "";
|
|
1556
|
-
let o = `Failed to fetch resource: ${t}`;
|
|
1557
|
-
i && (o = typeof i == "string" ? i : i.message), o && console.warn(o);
|
|
1558
|
-
}
|
|
1559
|
-
return Ta[n] = r, r;
|
|
1560
|
-
});
|
|
1561
|
-
}
|
|
1562
|
-
function Lr(t, e) {
|
|
1563
|
-
return _(this, null, function* () {
|
|
1564
|
-
return he(t, HTMLCanvasElement) ? function(a) {
|
|
1565
|
-
return _(this, null, function* () {
|
|
1566
|
-
const n = a.toDataURL();
|
|
1567
|
-
return n === "data:," ? a.cloneNode(!1) : da(n);
|
|
1568
|
-
});
|
|
1569
|
-
}(t) : he(t, HTMLVideoElement) ? function(a, n) {
|
|
1570
|
-
return _(this, null, function* () {
|
|
1571
|
-
if (a.currentSrc) {
|
|
1572
|
-
const o = document.createElement("canvas"), s = o.getContext("2d");
|
|
1573
|
-
return o.width = a.clientWidth, o.height = a.clientHeight, s == null || s.drawImage(a, 0, 0, o.width, o.height), da(o.toDataURL());
|
|
1574
|
-
}
|
|
1575
|
-
const r = a.poster, i = $a(r);
|
|
1576
|
-
return da(yield et(r, i, n));
|
|
1577
|
-
});
|
|
1578
|
-
}(t, e) : he(t, HTMLIFrameElement) ? function(a) {
|
|
1579
|
-
return _(this, null, function* () {
|
|
1580
|
-
var n;
|
|
1581
|
-
try {
|
|
1582
|
-
if (!((n = a == null ? void 0 : a.contentDocument) === null || n === void 0) && n.body) return yield ya(a.contentDocument.body, {}, !0);
|
|
1583
|
-
} catch (r) {
|
|
1584
|
-
}
|
|
1585
|
-
return a.cloneNode(!1);
|
|
1586
|
-
});
|
|
1587
|
-
}(t) : t.cloneNode(!1);
|
|
1588
|
-
});
|
|
1589
|
-
}
|
|
1590
|
-
const Fr = (t) => t.tagName != null && t.tagName.toUpperCase() === "SLOT";
|
|
1591
|
-
function Dr(t, e) {
|
|
1592
|
-
return he(e, Element) && (function(a, n) {
|
|
1593
|
-
const r = n.style;
|
|
1594
|
-
if (!r) return;
|
|
1595
|
-
const i = window.getComputedStyle(a);
|
|
1596
|
-
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : Ae(i).forEach((o) => {
|
|
1597
|
-
let s = i.getPropertyValue(o);
|
|
1598
|
-
o === "font-size" && s.endsWith("px") && (s = `${Math.floor(parseFloat(s.substring(0, s.length - 2))) - 0.1}px`), he(a, HTMLIFrameElement) && o === "display" && s === "inline" && (s = "block"), o === "d" && n.getAttribute("d") && (s = `path(${n.getAttribute("d")})`), r.setProperty(o, s, i.getPropertyPriority(o));
|
|
1599
|
-
});
|
|
1600
|
-
}(t, e), function(a, n) {
|
|
1601
|
-
yt(a, n, ":before"), yt(a, n, ":after");
|
|
1602
|
-
}(t, e), function(a, n) {
|
|
1603
|
-
he(a, HTMLTextAreaElement) && (n.innerHTML = a.value), he(a, HTMLInputElement) && n.setAttribute("value", a.value);
|
|
1604
|
-
}(t, e), function(a, n) {
|
|
1605
|
-
if (he(a, HTMLSelectElement)) {
|
|
1606
|
-
const r = n, i = Array.from(r.children).find((o) => a.value === o.getAttribute("value"));
|
|
1607
|
-
i && i.setAttribute("selected", "");
|
|
1608
|
-
}
|
|
1609
|
-
}(t, e)), e;
|
|
1610
|
-
}
|
|
1611
|
-
function ya(t, e, a) {
|
|
1612
|
-
return _(this, null, function* () {
|
|
1613
|
-
return a || !e.filter || e.filter(t) ? Promise.resolve(t).then((n) => Lr(n, e)).then((n) => function(r, i, o) {
|
|
1614
|
-
return _(this, null, function* () {
|
|
1615
|
-
var s, l;
|
|
1616
|
-
let c = [];
|
|
1617
|
-
return c = Fr(r) && r.assignedNodes ? Ae(r.assignedNodes()) : he(r, HTMLIFrameElement) && (!((s = r.contentDocument) === null || s === void 0) && s.body) ? Ae(r.contentDocument.body.childNodes) : Ae(((l = r.shadowRoot) !== null && l !== void 0 ? l : r).childNodes), c.length === 0 || he(r, HTMLVideoElement) || (yield c.reduce((h, d) => h.then(() => ya(d, o)).then((u) => {
|
|
1618
|
-
u && i.appendChild(u);
|
|
1619
|
-
}), Promise.resolve())), i;
|
|
1620
|
-
});
|
|
1621
|
-
}(t, n, e)).then((n) => Dr(t, n)).then((n) => function(r, i) {
|
|
1622
|
-
return _(this, null, function* () {
|
|
1623
|
-
const o = r.querySelectorAll ? r.querySelectorAll("use") : [];
|
|
1624
|
-
if (o.length === 0) return r;
|
|
1625
|
-
const s = {};
|
|
1626
|
-
for (let c = 0; c < o.length; c++) {
|
|
1627
|
-
const h = o[c].getAttribute("xlink:href");
|
|
1628
|
-
if (h) {
|
|
1629
|
-
const d = r.querySelector(h), u = document.querySelector(h);
|
|
1630
|
-
d || !u || s[h] || (s[h] = yield ya(u, i, !0));
|
|
1631
|
-
}
|
|
1632
|
-
}
|
|
1633
|
-
const l = Object.values(s);
|
|
1634
|
-
if (l.length) {
|
|
1635
|
-
const c = "http://www.w3.org/1999/xhtml", h = document.createElementNS(c, "svg");
|
|
1636
|
-
h.setAttribute("xmlns", c), h.style.position = "absolute", h.style.width = "0", h.style.height = "0", h.style.overflow = "hidden", h.style.display = "none";
|
|
1637
|
-
const d = document.createElementNS(c, "defs");
|
|
1638
|
-
h.appendChild(d);
|
|
1639
|
-
for (let u = 0; u < l.length; u++) d.appendChild(l[u]);
|
|
1640
|
-
r.appendChild(h);
|
|
1641
|
-
}
|
|
1642
|
-
return r;
|
|
1643
|
-
});
|
|
1644
|
-
}(n, e)) : null;
|
|
1645
|
-
});
|
|
1646
|
-
}
|
|
1647
|
-
const tn = /url\((['"]?)([^'"]+?)\1\)/g, Br = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, qr = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
|
|
1648
|
-
function Vr(t, e, a, n, r) {
|
|
1649
|
-
return _(this, null, function* () {
|
|
1650
|
-
try {
|
|
1651
|
-
const i = a ? function(l, c) {
|
|
1652
|
-
if (l.match(/^[a-z]+:\/\//i)) return l;
|
|
1653
|
-
if (l.match(/^\/\//)) return window.location.protocol + l;
|
|
1654
|
-
if (l.match(/^[a-z]+:/i)) return l;
|
|
1655
|
-
const h = document.implementation.createHTMLDocument(), d = h.createElement("base"), u = h.createElement("a");
|
|
1656
|
-
return h.head.appendChild(d), h.body.appendChild(u), c && (d.href = c), u.href = l, u.href;
|
|
1657
|
-
}(e, a) : e, o = $a(e);
|
|
1658
|
-
let s;
|
|
1659
|
-
return r || (s = yield et(i, o, n)), t.replace(function(l) {
|
|
1660
|
-
const c = l.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
|
|
1661
|
-
return new RegExp(`(url\\(['"]?)(${c})(['"]?\\))`, "g");
|
|
1662
|
-
}(e), `$1${s}$3`);
|
|
1663
|
-
} catch (i) {
|
|
1664
|
-
}
|
|
1665
|
-
return t;
|
|
1666
|
-
});
|
|
1667
|
-
}
|
|
1668
|
-
function nn(t) {
|
|
1669
|
-
return t.search(tn) !== -1;
|
|
1670
|
-
}
|
|
1671
|
-
function rn(t, e, a) {
|
|
1672
|
-
return _(this, null, function* () {
|
|
1673
|
-
if (!nn(t)) return t;
|
|
1674
|
-
const n = function(i, { preferredFontFormat: o }) {
|
|
1675
|
-
return o ? i.replace(qr, (s) => {
|
|
1676
|
-
for (; ; ) {
|
|
1677
|
-
const [l, , c] = Br.exec(s) || [];
|
|
1678
|
-
if (!c) return "";
|
|
1679
|
-
if (c === o) return `src: ${l};`;
|
|
1680
|
-
}
|
|
1681
|
-
}) : i;
|
|
1682
|
-
}(t, a);
|
|
1683
|
-
return function(i) {
|
|
1684
|
-
const o = [];
|
|
1685
|
-
return i.replace(tn, (s, l, c) => (o.push(c), s)), o.filter((s) => !Va(s));
|
|
1686
|
-
}(n).reduce((i, o) => i.then((s) => Vr(s, o, e, a)), Promise.resolve(n));
|
|
1687
|
-
});
|
|
1688
|
-
}
|
|
1689
|
-
function ra(t, e, a) {
|
|
1690
|
-
return _(this, null, function* () {
|
|
1691
|
-
var n;
|
|
1692
|
-
const r = (n = e.style) === null || n === void 0 ? void 0 : n.getPropertyValue(t);
|
|
1693
|
-
if (r) {
|
|
1694
|
-
const i = yield rn(r, null, a);
|
|
1695
|
-
return e.style.setProperty(t, i, e.style.getPropertyPriority(t)), !0;
|
|
1696
|
-
}
|
|
1697
|
-
return !1;
|
|
1698
|
-
});
|
|
1699
|
-
}
|
|
1700
|
-
function on(t, e) {
|
|
1701
|
-
return _(this, null, function* () {
|
|
1702
|
-
he(t, Element) && (yield function(a, n) {
|
|
1703
|
-
return _(this, null, function* () {
|
|
1704
|
-
(yield ra("background", a, n)) || (yield ra("background-image", a, n)), (yield ra("mask", a, n)) || (yield ra("mask-image", a, n));
|
|
1705
|
-
});
|
|
1706
|
-
}(t, e), yield function(a, n) {
|
|
1707
|
-
return _(this, null, function* () {
|
|
1708
|
-
const r = he(a, HTMLImageElement);
|
|
1709
|
-
if ((!r || Va(a.src)) && (!he(a, SVGImageElement) || Va(a.href.baseVal))) return;
|
|
1710
|
-
const i = r ? a.src : a.href.baseVal, o = yield et(i, $a(i), n);
|
|
1711
|
-
yield new Promise((s, l) => {
|
|
1712
|
-
a.onload = s, a.onerror = l;
|
|
1713
|
-
const c = a;
|
|
1714
|
-
c.decode && (c.decode = s), c.loading === "lazy" && (c.loading = "eager"), r ? (a.srcset = "", a.src = o) : a.href.baseVal = o;
|
|
1715
|
-
});
|
|
1716
|
-
});
|
|
1717
|
-
}(t, e), yield function(a, n) {
|
|
1718
|
-
return _(this, null, function* () {
|
|
1719
|
-
const r = Ae(a.childNodes).map((i) => on(i, n));
|
|
1720
|
-
yield Promise.all(r).then(() => a);
|
|
1721
|
-
});
|
|
1722
|
-
}(t, e));
|
|
1723
|
-
});
|
|
1724
|
-
}
|
|
1725
|
-
const kt = {};
|
|
1726
|
-
function wt(t) {
|
|
1727
|
-
return _(this, null, function* () {
|
|
1728
|
-
let e = kt[t];
|
|
1729
|
-
if (e != null) return e;
|
|
1730
|
-
const a = yield fetch(t);
|
|
1731
|
-
return e = { url: t, cssText: yield a.text() }, kt[t] = e, e;
|
|
1732
|
-
});
|
|
1733
|
-
}
|
|
1734
|
-
function vt(t, e) {
|
|
1735
|
-
return _(this, null, function* () {
|
|
1736
|
-
let a = t.cssText;
|
|
1737
|
-
const n = /url\(["']?([^"')]+)["']?\)/g, r = (a.match(/url\([^)]+\)/g) || []).map((i) => _(this, null, function* () {
|
|
1738
|
-
let o = i.replace(n, "$1");
|
|
1739
|
-
return o.startsWith("https://") || (o = new URL(o, t.url).href), an(o, e.fetchRequestInit, ({ result: s }) => (a = a.replace(i, `url(${s})`), [i, s]));
|
|
1740
|
-
}));
|
|
1741
|
-
return Promise.all(r).then(() => a);
|
|
1742
|
-
});
|
|
1743
|
-
}
|
|
1744
|
-
function It(t) {
|
|
1745
|
-
if (t == null) return [];
|
|
1746
|
-
const e = [];
|
|
1747
|
-
let a = t.replace(/(\/\*[\s\S]*?\*\/)/gi, "");
|
|
1748
|
-
const n = new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
|
|
1749
|
-
for (; ; ) {
|
|
1750
|
-
const o = n.exec(a);
|
|
1751
|
-
if (o === null) break;
|
|
1752
|
-
e.push(o[0]);
|
|
1753
|
-
}
|
|
1754
|
-
a = a.replace(n, "");
|
|
1755
|
-
const r = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi, i = new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})", "gi");
|
|
1756
|
-
for (; ; ) {
|
|
1757
|
-
let o = r.exec(a);
|
|
1758
|
-
if (o === null) {
|
|
1759
|
-
if (o = i.exec(a), o === null) break;
|
|
1760
|
-
r.lastIndex = i.lastIndex;
|
|
1761
|
-
} else i.lastIndex = r.lastIndex;
|
|
1762
|
-
e.push(o[0]);
|
|
1763
|
-
}
|
|
1764
|
-
return e;
|
|
1765
|
-
}
|
|
1766
|
-
function Wr(t, e) {
|
|
1767
|
-
return _(this, null, function* () {
|
|
1768
|
-
if (t.ownerDocument == null) throw new Error("Provided element is not within a Document");
|
|
1769
|
-
const a = Ae(t.ownerDocument.styleSheets), n = yield function(r, i) {
|
|
1770
|
-
return _(this, null, function* () {
|
|
1771
|
-
const o = [], s = [];
|
|
1772
|
-
return r.forEach((l) => {
|
|
1773
|
-
if ("cssRules" in l) try {
|
|
1774
|
-
Ae(l.cssRules || []).forEach((c, h) => {
|
|
1775
|
-
if (c.type === CSSRule.IMPORT_RULE) {
|
|
1776
|
-
let d = h + 1;
|
|
1777
|
-
const u = wt(c.href).then((b) => vt(b, i)).then((b) => It(b).forEach((v) => {
|
|
1778
|
-
try {
|
|
1779
|
-
l.insertRule(v, v.startsWith("@import") ? d += 1 : l.cssRules.length);
|
|
1780
|
-
} catch (T) {
|
|
1781
|
-
console.error("Error inserting rule from remote css", { rule: v, error: T });
|
|
1782
|
-
}
|
|
1783
|
-
})).catch((b) => {
|
|
1784
|
-
console.error("Error loading remote css", b.toString());
|
|
1785
|
-
});
|
|
1786
|
-
s.push(u);
|
|
1787
|
-
}
|
|
1788
|
-
});
|
|
1789
|
-
} catch (c) {
|
|
1790
|
-
const h = r.find((d) => d.href == null) || document.styleSheets[0];
|
|
1791
|
-
l.href != null && s.push(wt(l.href).then((d) => vt(d, i)).then((d) => It(d).forEach((u) => {
|
|
1792
|
-
h.insertRule(u, l.cssRules.length);
|
|
1793
|
-
})).catch((d) => {
|
|
1794
|
-
console.error("Error loading remote stylesheet", d);
|
|
1795
|
-
})), console.error("Error inlining remote css file", c);
|
|
1796
|
-
}
|
|
1797
|
-
}), Promise.all(s).then(() => (r.forEach((l) => {
|
|
1798
|
-
if ("cssRules" in l) try {
|
|
1799
|
-
Ae(l.cssRules || []).forEach((c) => {
|
|
1800
|
-
o.push(c);
|
|
1801
|
-
});
|
|
1802
|
-
} catch (c) {
|
|
1803
|
-
console.error(`Error while reading CSS rules from ${l.href}`, c);
|
|
1804
|
-
}
|
|
1805
|
-
}), o));
|
|
1806
|
-
});
|
|
1807
|
-
}(a, e);
|
|
1808
|
-
return function(r) {
|
|
1809
|
-
return r.filter((i) => i.type === CSSRule.FONT_FACE_RULE).filter((i) => nn(i.style.getPropertyValue("src")));
|
|
1810
|
-
}(n);
|
|
1811
|
-
});
|
|
1812
|
-
}
|
|
1813
|
-
function Ur(t, e) {
|
|
1814
|
-
return _(this, null, function* () {
|
|
1815
|
-
const a = e.fontEmbedCSS != null ? e.fontEmbedCSS : e.skipFonts ? null : yield function(n, r) {
|
|
1816
|
-
return _(this, null, function* () {
|
|
1817
|
-
const i = yield Wr(n, r);
|
|
1818
|
-
return (yield Promise.all(i.map((o) => {
|
|
1819
|
-
const s = o.parentStyleSheet ? o.parentStyleSheet.href : null;
|
|
1820
|
-
return rn(o.cssText, s, r);
|
|
1821
|
-
}))).join(`
|
|
1822
|
-
`);
|
|
1823
|
-
});
|
|
1824
|
-
}(t, e);
|
|
1825
|
-
if (a) {
|
|
1826
|
-
const n = document.createElement("style"), r = document.createTextNode(a);
|
|
1827
|
-
n.appendChild(r), t.firstChild ? t.insertBefore(n, t.firstChild) : t.appendChild(n);
|
|
1828
|
-
}
|
|
1829
|
-
});
|
|
1830
|
-
}
|
|
1831
|
-
function Pr(a) {
|
|
1832
|
-
return _(this, arguments, function* (t, e = {}) {
|
|
1833
|
-
const { width: n, height: r } = en(t, e), i = yield ya(t, e, !0);
|
|
1834
|
-
return yield Ur(i, e), yield on(i, e), function(o, s) {
|
|
1835
|
-
const { style: l } = o;
|
|
1836
|
-
s.backgroundColor && (l.backgroundColor = s.backgroundColor), s.width && (l.width = `${s.width}px`), s.height && (l.height = `${s.height}px`);
|
|
1837
|
-
const c = s.style;
|
|
1838
|
-
c != null && Object.keys(c).forEach((h) => {
|
|
1839
|
-
l[h] = c[h];
|
|
1840
|
-
});
|
|
1841
|
-
}(i, e), yield Mr(i, n, r);
|
|
1842
|
-
});
|
|
1843
|
-
}
|
|
1844
|
-
function Zr(a) {
|
|
1845
|
-
return _(this, arguments, function* (t, e = {}) {
|
|
1846
|
-
const { width: n, height: r } = en(t, e), i = yield Pr(t, e), o = yield da(i), s = document.createElement("canvas"), l = s.getContext("2d"), c = e.pixelRatio || function() {
|
|
1847
|
-
let u, b;
|
|
1848
|
-
try {
|
|
1849
|
-
b = process;
|
|
1850
|
-
} catch (T) {
|
|
1851
|
-
}
|
|
1852
|
-
const v = b && b.env ? b.env.devicePixelRatio : null;
|
|
1853
|
-
return v && (u = parseInt(v, 10), Number.isNaN(u) && (u = 1)), u || window.devicePixelRatio || 1;
|
|
1854
|
-
}(), h = e.canvasWidth || n, d = e.canvasHeight || r;
|
|
1855
|
-
return s.width = h * c, s.height = d * c, e.skipAutoScale || function(u) {
|
|
1856
|
-
(u.width > ue || u.height > ue) && (u.width > ue && u.height > ue ? u.width > u.height ? (u.height *= ue / u.width, u.width = ue) : (u.width *= ue / u.height, u.height = ue) : u.width > ue ? (u.height *= ue / u.width, u.width = ue) : (u.width *= ue / u.height, u.height = ue));
|
|
1857
|
-
}(s), s.style.width = `${h}`, s.style.height = `${d}`, e.backgroundColor && (l.fillStyle = e.backgroundColor, l.fillRect(0, 0, s.width, s.height)), l.drawImage(o, 0, 0, s.width, s.height), s;
|
|
1858
|
-
});
|
|
1859
|
-
}
|
|
1860
|
-
function Gr(t) {
|
|
1861
|
-
return _(this, null, function* () {
|
|
1862
|
-
const e = document.documentElement.scrollHeight, a = document.documentElement.scrollWidth, n = Array.from(document.styleSheets).map((o) => {
|
|
1863
|
-
try {
|
|
1864
|
-
return Array.from(o.cssRules).map((s) => s.cssText).join("");
|
|
1865
|
-
} catch (s) {
|
|
1866
|
-
return "";
|
|
1867
|
-
}
|
|
1868
|
-
}).join(`
|
|
1869
|
-
`), r = document.createElement("style");
|
|
1870
|
-
r.textContent = n, t.appendChild(r);
|
|
1871
|
-
const i = yield function(l) {
|
|
1872
|
-
return _(this, arguments, function* (o, s = {}) {
|
|
1873
|
-
return (yield Zr(o, s)).toDataURL();
|
|
1874
|
-
});
|
|
1875
|
-
}(t, { quality: 0.7, width: a, height: e, style: { transform: "scale(1)" }, skipFonts: !0, cacheBust: !0, backgroundColor: "white", fetchRequestInit: { mode: "cors" }, filter: (o) => !["data-bf-suppress"].some((s) => {
|
|
1876
|
-
var l;
|
|
1877
|
-
return (l = o.classList) == null ? void 0 : l.contains(s);
|
|
1878
|
-
}), imagePlaceholder: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFdwI2QJIhFwAAAABJRU5ErkJggg==" });
|
|
1879
|
-
return t.removeChild(r), i;
|
|
1880
|
-
});
|
|
1881
|
-
}
|
|
1882
|
-
const Ze = new RegExp("(((" + /(^|\.\s+)(dear|hi|hello|greetings|hey|hey there)/gi.source + ")|(" + /(thx|thanks|thank you|regards|best|[a-z]+ly|[a-z]+ regards|all the best|happy [a-z]+ing|take care|have a [a-z]+ (weekend|night|day))/gi.source + "\\s*[,.!]*))[\\s-]*)", "gi"), xa = new RegExp("( ?(([A-Z][a-z]+)|([A-Z]\\.)))+([,.]|[,.]?$)", "gm"), Kr = new RegExp("\\b(\\s*)(\\s*(" + ["aaron", "abad", "abarca", "abbate", "abbey", "abbie", "abbott", "abby", "abdullah", "abel", "abell", "abercrombie", "abernathy", "abernethy", "abeyta", "abigail", "ables", "abner", "abney", "abraham", "abrams", "abramson", "abrego", "abreu", "absher", "abshire", "acevedo", "aceves", "acker", "ackerman", "ackley", "acklin", "acord", "acosta", "acree", "acuff", "acuna", "ada", "adah", "adair", "adaline", "adam", "adame", "adames", "adams", "adamski", "adamson", "adcock", "addie", "addington", "addis", "addison", "adela", "adelaida", "adelaide", "adele", "adelia", "adelina", "adeline", "adell", "adella", "adelle", "adena", "adina", "adkins", "adkinson", "adkison", "adkisson", "adler", "adorno", "adria", "adrian", "adriana", "adriane", "adrianna", "adrianne", "adrien", "adriene", "adrienne", "afton", "agatha", "agnes", "agnew", "agnus", "agosto", "agripina", "aguayo", "agueda", "aguero", "aguiar", "aguila", "aguilar", "aguilera", "aguirre", "agustin", "agustina", "ahearn", "ahern", "ahlers", "ahmad", "ahmed", "ahn", "ahner", "aho", "ahrens", "ahumada", "aida", "aiello", "aiken", "aikens", "aiko", "aileen", "ailene", "aimee", "ainsworth", "aisha", "aitken", "aja", "aker", "akers", "akiko", "akilah", "akins", "alaina", "alaine", "alan", "alana", "alane", "alanis", "alaniz", "alanna", "alarcon", "alayna", "alba", "albanese", "albano", "albaugh", "albers", "albert", "alberta", "albertha", "albertina", "albertine", "alberto", "albertson", "albin", "albina", "albrecht", "albright", "albritton", "alcala", "alcantar", "alcantara", "alcaraz", "alcorn", "alda", "aldana", "alden", "alderete", "alderson", "aldrich", "aldridge", "alease", "alecia", "aleen", "aleida", "aleisha", "alejandra", "alejandrina", "alejandro", "aleman", "alena", "alene", "alesha", "aleshia", "alesia", "alessandra", "alessi", "aleta", "aletha", "alethea", "alethia", "alex", "alexa", "alexander", "alexandra", "alexandria", "alexia", "alexis", "alfano", "alfaro", "alfonso", "alford", "alfred", "alfreda", "alfredia", "alger", "ali", "alia", "alica", "alice", "alicea", "alicia", "alida", "alina", "aline", "alisa", "alise", "alisha", "alishia", "alisia", "alison", "alissa", "alita", "alix", "aliza", "alla", "allain", "allan", "allard", "alleen", "allegra", "alleman", "allen", "allena", "allene", "alleyne", "allgood", "allie", "alline", "allison", "allman", "allmon", "allred", "allyn", "allyson", "alma", "almanza", "almaraz", "almazan", "almeda", "almeida", "almeta", "almonte", "alona", "alonso", "alonzo", "alpert", "alston", "alsup", "alta", "altagracia", "altamirano", "altha", "althea", "altman", "alton", "alva", "alvarado", "alvardo", "alvarez", "alvera", "alverez", "alverson", "alverta", "alves", "alvey", "alvina", "alvis", "alyce", "alycia", "alysa", "alyse", "alysha", "alysia", "alyson", "alyssa", "amada", "amador", "amal", "amalia", "aman", "amanda", "amaral", "amaro", "amato", "amaya", "amber", "amberly", "ambriz", "ambrose", "amee", "amelia", "america", "amerson", "ames", "amey", "amick", "amie", "amiee", "amin", "amina", "amira", "ammerman", "ammie", "amos", "amparo", "amundson", "amy", "anabel", "analisa", "anamaria", "anastacia", "anastasia", "anaya", "ancheta", "andera", "anders", "andersen", "anderson", "anderton", "andes", "andino", "andra", "andrade", "andre", "andrea", "andree", "andres", "andresen", "andress", "andrew", "andrews", "andria", "andrus", "anette", "ange", "angela", "angele", "angelena", "angeles", "angelia", "angelica", "angelika", "angelina", "angeline", "angelique", "angelita", "angell", "angella", "angelo", "angelyn", "angie", "angila", "angla", "anglea", "anglin", "anguiano", "angulo", "angus", "anh", "anika", "anisa", "anisha", "anissa", "anita", "anitra", "anja", "anjanette", "anjelica", "ann", "anna", "annabel", "annabell", "annabelle", "annalee", "annalisa", "annamae", "annamaria", "annamarie", "anne", "anneliese", "annelle", "annemarie", "annett", "annetta", "annette", "annice", "annie", "annika", "annis", "annita", "annmarie", "anselmo", "ansley", "anson", "anthony", "antionette", "antoine", "antoinette", "anton", "antonelli", "antonetta", "antonette", "antonia", "antonietta", "antonina", "antonio", "anya", "aparicio", "apodaca", "apolonia", "aponte", "appleby", "applegate", "appleton", "applewhite", "appling", "apryl", "aquilar", "aquino", "araceli", "aracelis", "aracely", "aragon", "araiza", "arana", "aranda", "arango", "araujo", "arbogast", "arbuckle", "arce", "arcelia", "arceneaux", "archambault", "archibald", "archie", "archuleta", "arciniega", "ardath", "ardelia", "ardell", "ardella", "ardelle", "ardis", "ardith", "ardoin", "arellano", "aretha", "arevalo", "argelia", "argentina", "argo", "arguelles", "arguello", "argueta", "ariana", "ariane", "arianna", "arianne", "arica", "arie", "ariel", "arielle", "arla", "arlean", "arleen", "arlena", "arlene", "arletha", "arletta", "arlette", "arlinda", "arline", "arlyne", "armanda", "armandina", "armbruster", "armendariz", "armenta", "armentrout", "armes", "armida", "armijo", "arminda", "armistead", "armitage", "armstead", "armstrong", "arndt", "arneson", "arnett", "arnetta", "arnette", "arnita", "arnold", "arnone", "aronson", "arredondo", "arreola", "arriaga", "arrington", "arriola", "arrowood", "arruda", "arsenault", "arteaga", "arthur", "artie", "artis", "arvilla", "arvizu", "arwood", "arzola", "asberry", "asbury", "asha", "ashanti", "ashbaugh", "ashburn", "ashby", "ashcraft", "ashe", "ashely", "asher", "ashford", "ashlea", "ashlee", "ashleigh", "ashley", "ashli", "ashlie", "ashly", "ashlyn", "ashmore", "ashton", "ashworth", "asia", "askins", "asley", "assunta", "aston", "astrid", "asuncion", "atchison", "atchley", "atencio", "athena", "atherton", "athey", "atkins", "atkinson", "attaway", "atwater", "atwell", "atwood", "aube", "aubin", "aubrey", "aucoin", "audet", "audette", "audie", "audra", "audrea", "audrey", "audria", "audrie", "audry", "augusta", "augustin", "augustina", "augustine", "augustus", "ault", "aultman", "aundrea", "aurea", "aurelia", "aurora", "aurore", "austin", "auten", "autrey", "autry", "ava", "avalos", "avelar", "avelina", "avent", "averett", "averill", "avery", "avila", "aviles", "avina", "avis", "avril", "awilda", "ayako", "ayala", "ayana", "ayanna", "aycock", "ayer", "ayers", "ayesha", "ayotte", "azalee", "azar", "azevedo", "azucena", "azzie", "babara", "babb", "babcock", "baber", "babette", "babin", "babineaux", "baca", "bachman", "backman", "backus", "bader", "badgett", "badillo", "baer", "baez", "baeza", "bagby", "baggett", "bagley", "bagwell", "bahena", "bahr", "baier", "bailes", "bailey", "baillargeon", "baily", "bain", "baines", "bair", "baird", "baisden", "bakke", "bakken", "bakker", "balch", "balcom", "balderas", "baldridge", "baldwin", "ballance", "ballard", "ballenger", "ballentine", "ballesteros", "ballew", "ballinger", "ballou", "baltazar", "balzer", "bambi", "banas", "bancroft", "bankhead", "bankston", "bannon", "banta", "banuelos", "bao", "baptiste", "barabara", "barahona", "barajas", "baran", "baranowski", "barba", "barbar", "barbara", "barbee", "barbera", "barbieri", "barbosa", "barbour", "barboza", "barbra", "barclay", "barden", "bardwell", "barela", "barfield", "barger", "barham", "barhorst", "barkley", "barksdale", "barlow", "barnard", "barner", "barnes", "barnett", "barnette", "barnhart", "barnhill", "barnum", "barnwell", "barone", "barr", "barragan", "barraza", "barrera", "barreto", "barrett", "barrick", "barrie", "barrientos", "barringer", "barrington", "barron", "barros", "barry", "barta", "bartel", "bartell", "bartels", "barth", "bartholomew", "bartlett", "bartley", "barto", "bartz", "bascom", "basham", "basile", "basilia", "basinger", "baskerville", "baskin", "bassett", "bastian", "batchelder", "batchelor", "bateman", "batey", "batista", "batson", "battaglia", "battista", "batton", "baty", "baucom", "bauer", "baugh", "baugher", "baughman", "baum", "bauman", "baumann", "baumgardner", "baumgartner", "bautista", "baxley", "bayer", "bayless", "baylor", "bayne", "bazan", "bazemore", "beaird", "beal", "beale", "beall", "beals", "beaman", "beamon", "beane", "bearden", "beardsley", "beasley", "beason", "beaton", "beatrice", "beatris", "beatriz", "beattie", "beatty", "beaty", "beauchamp", "beaudette", "beaudoin", "beaudry", "beaulah", "beaulieu", "beaumont", "beauregard", "bebe", "becerra", "bechtel", "bechtold", "becker", "beckett", "beckford", "beckham", "becki", "beckie", "beckley", "beckman", "beckner", "beckwith", "becky", "becnel", "bedard", "bedford", "bedwell", "beebe", "beecher", "beeler", "beem", "beeman", "beene", "beesley", "beeson", "begay", "beggs", "begley", "behling", "behr", "behrens", "bejarano", "belanger", "belden", "belen", "belew", "belia", "belinda", "belisle", "belk", "belkis", "belknap", "bella", "bellamy", "belle", "beller", "bellinger", "bello", "belton", "beltran", "beltz", "belva", "bemis", "benally", "benavides", "benavidez", "benbow", "benedetto", "benedict", "benefield", "benfield", "benford", "benge", "benham", "benita", "benites", "benitez", "benn", "benner", "bennett", "bennie", "benning", "bennington", "benoit", "benson", "bentley", "benton", "bentz", "benz", "berard", "berenice", "bergen", "berger", "bergeron", "bergin", "berglund", "bergman", "bergmann", "bergquist", "bergstrom", "berkey", "berkley", "berkowitz", "berman", "bermudez", "berna", "bernadette", "bernadine", "bernal", "bernard", "bernarda", "bernardina", "bernardine", "bernardo", "berndt", "berneice", "berner", "bernetta", "bernhardt", "bernice", "bernie", "berniece", "bernier", "bernita", "bernstein", "berrios", "berryhill", "berryman", "berta", "bertha", "bertie", "bertram", "bertrand", "berube", "beryl", "bess", "bessette", "bessie", "betancourt", "beth", "bethanie", "bethann", "bethany", "bethea", "bethel", "bethune", "betsey", "betsy", "bette", "bettencourt", "bettie", "bettina", "bettis", "betts", "betty", "bettyann", "bettye", "betz", "beula", "beulah", "bev", "bevan", "beveridge", "beverlee", "beverley", "beverly", "bevins", "bevis", "bewley", "beyer", "bianca", "bianchi", "bianco", "bibb", "bibbs", "bickel", "bickerstaff", "bickford", "biddle", "bidwell", "bieber", "bierman", "bigelow", "biggers", "biggerstaff", "bigham", "bigler", "bigley", "bilbrey", "biller", "billi", "billie", "billingsley", "billington", "billiot", "billups", "billy", "billye", "bilodeau", "bilyeu", "binette", "binford", "bingaman", "bingham", "binion", "binkley", "binns", "birchfield", "birdsall", "birdsong", "birdwell", "birgit", "birmingham", "birnbaum", "birt", "bischoff", "bissell", "bissonnette", "bitner", "bittner", "bivens", "bivins", "bixby", "bixler", "blackburn", "blackford", "blackman", "blackmon", "blackmore", "blackshear", "blackstock", "blackstone", "blackwell", "blaine", "blair", "blais", "blaisdell", "blake", "blakely", "blakemore", "blakeney", "blakeslee", "blakey", "blakley", "blakney", "blalock", "blanc", "blanca", "blanch", "blanchard", "blanche", "blanchette", "blanding", "blaney", "blankenship", "blanton", "blaylock", "bledsoe", "blevins", "bloch", "blodgett", "blomquist", "blondell", "bloodworth", "bloomfield", "blouin", "blount", "bluhm", "blum", "blume", "blumenthal", "bly", "blythe", "boardman", "boatright", "boatwright", "bobb", "bobbi", "bobbie", "bobbitt", "bobby", "bobbye", "bobette", "bobo", "bocanegra", "boddie", "boden", "bodine", "bodnar", "boehm", "boettcher", "bogard", "bogart", "boger", "boggess", "boggs", "bohannan", "bohannon", "bohn", "boisvert", "bojorquez", "bok", "boland", "bolanos", "bolding", "boldt", "bolduc", "bolen", "boley", "bolick", "bolin", "boling", "bolinger", "bollinger", "bolton", "bolyard", "boman", "bomar", "bonanno", "boney", "bonham", "bonilla", "bonin", "bonita", "bonnell", "bonner", "bonnett", "bonney", "bonnie", "bonny", "bono", "booher", "booker", "bookout", "boone", "boothe", "bopp", "borchardt", "borchers", "bordeaux", "bordelon", "borden", "boren", "borg", "borges", "borja", "borkowski", "borowski", "borrego", "borrero", "borst", "bosch", "bosco", "bosley", "bost", "bostic", "bostick", "bostwick", "boswell", "bosworth", "botelho", "botello", "bouchard", "boucher", "boudreau", "boudreaux", "bouffard", "boughton", "bouie", "boulanger", "bouldin", "boulware", "bourassa", "bourque", "bousquet", "boutin", "boutte", "boutwell", "bova", "bove", "bowden", "bowe", "bowen", "bowens", "bowes", "bowie", "bowker", "bowles", "bowlin", "boyce", "boyd", "boyer", "boyes", "boyett", "boyette", "boykin", "boykins", "boylan", "boyle", "boyles", "boynton", "bozarth", "bozeman", "bracey", "brackett", "bracy", "bradberry", "bradbury", "braddock", "braddy", "braden", "bradfield", "bradford", "bradley", "bradshaw", "brady", "bragdon", "bragg", "brainard", "braithwaite", "braley", "bramblett", "bramlett", "brammer", "branda", "brande", "brandee", "brandenburg", "brandes", "brandi", "brandie", "brandon", "brandt", "branham", "brann", "brannan", "brannen", "brannon", "branscum", "branson", "brantley", "branton", "branum", "brashear", "braswell", "bratcher", "bratton", "braud", "brauer", "braun", "brawley", "brawner", "braxton", "brayton", "brazell", "braziel", "breana", "breann", "breanna", "breanne", "breault", "breaux", "breazeale", "breckenridge", "bree", "breeden", "breedlove", "breen", "brehm", "breland", "bremer", "brenda", "brenna", "brennan", "brenneman", "brenner", "bresnahan", "brett", "bretz", "breunig", "brewington", "brewton", "brian", "briana", "brianna", "brianne", "brice", "briceno", "bricker", "brickey", "bridgeman", "bridgers", "bridget", "bridgett", "bridgette", "bridgewater", "brien", "brigette", "briggs", "brigham", "brigid", "brigida", "brigitte", "briley", "brinda", "brinker", "brinkley", "brinkman", "brinson", "brinton", "briones", "brisco", "briscoe", "briseno", "brisson", "brister", "bristol", "bristow", "britany", "britney", "britni", "brito", "britt", "britta", "brittain", "brittaney", "brittani", "brittanie", "brittany", "britteny", "brittingham", "brittney", "brittni", "brittny", "britton", "broadbent", "broaddus", "broadnax", "broadus", "broadwater", "brochu", "brockington", "brockman", "brockway", "broderick", "brodeur", "brodie", "brodsky", "brody", "brogdon", "brokaw", "bromley", "bronson", "bronwyn", "brooke", "brooker", "brookins", "brookshire", "broome", "broomfield", "brophy", "brotherton", "broughton", "broussard", "browder", "brower", "browne", "brownell", "brownfield", "brownlee", "broyles", "brubaker", "bruce", "brumbaugh", "brumfield", "brumley", "brummett", "bruna", "brundage", "brune", "brunelle", "bruner", "brunilda", "brunner", "bruno", "bruns", "brunson", "bruton", "bryan", "bryanna", "bryant", "bryce", "brynn", "bryson", "bucci", "buchanan", "bucher", "buchholz", "buckingham", "buckley", "buckman", "buckner", "budd", "budde", "buehler", "buell", "buena", "bueno", "buenrostro", "buettner", "buffington", "bufford", "buffy", "buford", "bugg", "buggs", "bui", "buie", "bula", "bulah", "bullard", "bullen", "buller", "bullington", "bullins", "bullis", "bulter", "bumgardner", "bumgarner", "bunn", "bunnell", "bunton", "burbank", "burch", "burcham", "burchell", "burchett", "burchette", "burchfield", "burdett", "burdette", "burdick", "burdine", "burford", "burge", "burgett", "burgin", "burgos", "burkett", "burkey", "burkhalter", "burkhardt", "burkhart", "burkholder", "burleigh", "burleson", "burlingame", "burma", "burmeister", "burnell", "burnett", "burnette", "burney", "burnham", "burrell", "burress", "burris", "burroughs", "burrus", "burruss", "burson", "burt", "burwell", "busch", "bushey", "bushnell", "bussard", "busse", "bussell", "bussey", "bustamante", "bustos", "butterfield", "butterworth", "butz", "buxton", "buzzell", "byars", "bybee", "byer", "byerly", "byers", "byington", "byler", "bynum", "byrd", "byrne", "byrnes", "byron", "byrum", "caballero", "caban", "cabe", "cabral", "cabrales", "cabrera", "caceres", "caddell", "cadena", "cadwell", "cady", "caffey", "cagle", "cahill", "cahoon", "caine", "caines", "caitlin", "caitlyn", "calabro", "calandra", "calder", "calderon", "caldwell", "calfee", "calhoun", "calista", "callaghan", "callahan", "callaway", "callen", "callender", "callie", "callihan", "callis", "callison", "calloway", "calton", "calvert", "calvillo", "calvin", "calvo", "calzada", "camacho", "camara", "camarena", "camargo", "camarillo", "cambell", "camelia", "camellia", "cameron", "cami", "camie", "camila", "camilla", "camille", "camire", "cammack", "cammie", "cammy", "campbell", "campuzano", "canada", "canaday", "canady", "canales", "candace", "candance", "candelaria", "candelario", "candi", "candice", "candida", "candie", "candis", "candler", "candra", "candyce", "cannady", "cano", "cantara", "cantrell", "cantu", "cantwell", "cao", "capel", "capone", "capps", "caprice", "capuano", "caputo", "cara", "caraballo", "carbajal", "carbaugh", "carbone", "carden", "cardenas", "cardin", "cardinale", "cardona", "cardoso", "cardoza", "cardwell", "caren", "carey", "cargile", "cargill", "cari", "caridad", "carie", "carillo", "carin", "carina", "carisa", "carissa", "carita", "carl", "carla", "carlee", "carleen", "carlena", "carlene", "carleton", "carletta", "carley", "carli", "carlie", "carlile", "carlin", "carline", "carlisle", "carlita", "carlo", "carlos", "carlota", "carlotta", "carlsen", "carlson", "carlton", "carly", "carlyle", "carlyn", "carma", "carmack", "carman", "carmel", "carmela", "carmelia", "carmelina", "carmelita", "carmella", "carmen", "carmichael", "carmina", "carmody", "carmon", "carmona", "carnahan", "carner", "carnes", "caro", "carola", "carolann", "carole", "carolee", "carolin", "carolina", "caroline", "caroll", "carolyn", "carolyne", "carolynn", "caron", "carothers", "caroyln", "carpio", "carranza", "carrasco", "carrasquillo", "carreno", "carreon", "carrera", "carrero", "carri", "carrico", "carrie", "carrigan", "carrillo", "carrington", "carrizales", "carrol", "carroll", "carruth", "carruthers", "carson", "carswell", "cartagena", "cartier", "carty", "caruso", "caruthers", "carvajal", "carvalho", "cary", "caryl", "carylon", "caryn", "casandra", "casanova", "casares", "casarez", "casavant", "cascio", "casey", "cashman", "casiano", "casias", "casie", "casillas", "casimira", "caskey", "cason", "casper", "cass", "cassady", "cassandra", "cassaundra", "cassel", "cassell", "cassey", "cassi", "cassidy", "cassie", "cassity", "cassondra", "cassy", "castaneda", "castano", "castanon", "casteel", "castellano", "castellanos", "castello", "castillo", "castleberry", "castleman", "casto", "caston", "castorena", "castro", "caswell", "catalan", "catalano", "catalina", "catarina", "caterina", "catharine", "cathcart", "catherin", "catherina", "catherine", "cathern", "catheryn", "cathey", "cathi", "cathie", "cathleen", "cathrine", "cathryn", "cathy", "catina", "catlett", "catlin", "cato", "caton", "catrice", "catrina", "catron", "caudell", "caudill", "cauley", "caulfield", "cauthen", "cavanaugh", "cavazos", "cavender", "cavin", "caviness", "cawley", "cawthon", "cayla", "caylor", "cazares", "ceasar", "ceballos", "cecelia", "cecil", "cecila", "cecile", "cecilia", "cecille", "cecily", "cedeno", "cedillo", "ceja", "celena", "celesta", "celeste", "celestina", "celestine", "celia", "celina", "celinda", "celine", "celsa", "centeno", "ceola", "cepeda", "cerda", "cervantes", "cervantez", "chabot", "chacon", "chadwell", "chadwick", "chae", "chaffee", "chaffin", "chafin", "chaisson", "chalfant", "chalmers", "chamberlain", "chamberlin", "chamblee", "chambless", "chambliss", "chamness", "champlin", "chan", "chana", "chanda", "chandra", "chanel", "chanell", "chanelle", "chaney", "chang", "chantal", "chantay", "chante", "chantel", "chantell", "chantelle", "chao", "chapa", "chaparro", "chapin", "chaplin", "chappell", "chapple", "chara", "charbonneau", "charest", "charette", "charis", "charise", "charissa", "charisse", "charita", "charla", "charland", "charleen", "charlena", "charlene", "charles", "charlesetta", "charlette", "charley", "charlie", "charline", "charlott", "charlotte", "charlsie", "charlton", "charlyn", "charmain", "charmaine", "charolette", "charron", "chartier", "chasidy", "chasity", "chassidy", "chastain", "chasteen", "chatham", "chatman", "chau", "chavarria", "chavers", "chaves", "chavez", "chavira", "chavis", "chaya", "cheatham", "chee", "chelsea", "chelsey", "chelsie", "chen", "chenault", "cheney", "cheng", "chenoweth", "cher", "chere", "cheree", "cherelle", "cheri", "cherie", "cherilyn", "cherise", "cherly", "cherlyn", "cherri", "cherrie", "cherryl", "chery", "cheryl", "cheryle", "cheryll", "chesser", "chesson", "chester", "cheung", "chewning", "cheyenne", "chiang", "chidester", "chieko", "childers", "childress", "childs", "chilton", "ching", "chinn", "chipman", "chiquita", "chisholm", "chism", "chisolm", "chitwood", "chiu", "chloe", "cho", "choate", "choe", "choi", "chong", "chouinard", "chris", "chrisman", "chrissy", "christ", "christa", "christal", "christeen", "christel", "christen", "christena", "christene", "christensen", "christenson", "christi", "christia", "christian", "christiana", "christiane", "christiansen", "christianson", "christie", "christin", "christina", "christine", "christinia", "christman", "christmas", "christner", "christopher", "christopherso", "christy", "chronister", "chrystal", "chu", "chun", "chung", "churchill", "churchwell", "ciara", "cicely", "ciera", "cierra", "cimino", "cinda", "cinderella", "cindi", "cindie", "cindy", "cinthia", "cintron", "cioffi", "cira", "cisneros", "claar", "claiborne", "clair", "claire", "clancy", "clanton", "clapp", "clara", "clardy", "clare", "clarence", "claretha", "claretta", "claribel", "clarice", "clarinda", "clarine", "claris", "clarisa", "clarissa", "clarita", "clark", "clarke", "clarkson", "classie", "claude", "claudette", "claudia", "claudie", "claudine", "claudio", "claus", "clausen", "claussen", "clawson", "claxton", "claycomb", "claypool", "claypoole", "clayton", "claytor", "cleary", "clegg", "cleghorn", "cleland", "clelia", "clemencia", "clemens", "clemente", "clementina", "clementine", "clements", "clemmer", "clemmie", "clemmons", "clemons", "cleo", "cleopatra", "cleora", "cleotilde", "cleta", "cleveland", "clevenger", "clifford", "clifton", "clinkscales", "clinton", "cloninger", "clora", "clorinda", "clotilde", "clouse", "cloutier", "clower", "clowers", "cloyd", "cluff", "clyburn", "clyde", "clymer", "coakley", "coan", "coates", "cobos", "coburn", "cochran", "cochrane", "cockerham", "cockrell", "codi", "cody", "coe", "coelho", "coen", "cofer", "coffelt", "coffey", "coffman", "cofield", "cogan", "coggins", "cogswell", "cohen", "cohn", "coker", "colangelo", "colbert", "colburn", "colby", "coldiron", "coleen", "colella", "coleman", "colene", "coletta", "colette", "collado", "collazo", "colleen", "collen", "collene", "collett", "collette", "colletti", "colley", "collin", "collins", "collinsworth", "collum", "colman", "colombo", "colquitt", "colson", "colston", "colton", "colucci", "colunga", "colvin", "colwell", "comeau", "comeaux", "compton", "comstock", "conant", "conaway", "concepcion", "concetta", "concha", "conchita", "conde", "condon", "congdon", "conklin", "conley", "conlin", "conlon", "connally", "connell", "connelly", "connie", "connolly", "connor", "connors", "conover", "conrad", "conroy", "constance", "constantine", "constantino", "consuela", "consuelo", "contessa", "conti", "contreras", "conway", "conwell", "conyers", "cooke", "cooksey", "cookson", "cooley", "coolidge", "coomer", "cooney", "copeland", "copenhaver", "copley", "coppage", "coppola", "cora", "coralee", "coralie", "corazon", "corbett", "corbin", "corbitt", "corcoran", "cordeiro", "cordelia", "cordell", "corder", "cordero", "cordes", "cordia", "cordie", "cordoba", "cordova", "coreen", "corene", "coretta", "corey", "cori", "corie", "corina", "corine", "corinna", "corinne", "corley", "corliss", "cormier", "cornejo", "cornelia", "cornelison", "cornelius", "cornell", "cornish", "cornwell", "coronado", "coronel", "corpuz", "corr", "corrales", "correa", "correia", "correll", "corrie", "corrigan", "corrin", "corrina", "corrine", "corrinne", "corriveau", "corson", "cortes", "cortese", "cortez", "cortney", "corum", "corwin", "cory", "cosby", "cosentino", "cosgrove", "cosme", "cosper", "costanzo", "costello", "coston", "cota", "cothran", "cotten", "cottingham", "cottle", "cotto", "cottrell", "cottrill", "coughlin", "coulombe", "coulson", "courson", "courtney", "covarrubias", "covington", "cowart", "cowden", "cowell", "cowen", "cowgill", "cowles", "cowley", "coyle", "coyne", "cozart", "crabb", "crabtree", "craddock", "crafton", "craighead", "crain", "cramer", "crampton", "crandall", "crandell", "cranford", "crawford", "crawley", "crayton", "creech", "creekmore", "creighton", "crenshaw", "creola", "crespo", "creswell", "cribb", "cribbs", "crider", "crigger", "crim", "criner", "crippen", "cris", "criselda", "criss", "crissman", "crissy", "crist", "crista", "cristal", "cristen", "cristi", "cristie", "cristin", "cristina", "cristine", "cristy", "criswell", "crites", "crittenden", "crocker", "crockett", "cromer", "cromwell", "cronin", "croom", "crosby", "crossland", "crossley", "crossman", "crosson", "croteau", "crotty", "crowe", "crowell", "crowl", "crowley", "crowson", "crowther", "croy", "cruce", "crum", "crumley", "crumpler", "crumpton", "crutcher", "crutchfield", "cruz", "crysta", "crystle", "cuc", "cuellar", "cuevas", "culbertson", "culbreth", "cullen", "culley", "cullum", "culp", "culpepper", "cumming", "cummings", "cundiff", "cunha", "cunningham", "cuomo", "cupp", "curcio", "cureton", "curiel", "curley", "curran", "currey", "currin", "curtin", "curtis", "curtiss", "cusack", "cushing", "cushman", "cusick", "custer", "cuthbertson", "cutright", "cutshall", "cyndi", "cyndy", "cynthia", "cyr", "cyrstal", "cyrus", "cythia", "dabbs", "dabney", "dacia", "dacosta", "dade", "daggett", "dagmar", "dagny", "dagostino", "dahlberg", "dahlgren", "dahlia", "daigle", "dail", "dailey", "daina", "daine", "daisey", "dakota", "dale", "dalene", "dalessandro", "dalessio", "daley", "dalia", "dalila", "dallas", "dalrymple", "dalton", "daly", "damaris", "damato", "dambrosio", "dameron", "damian", "damiano", "damico", "damon", "dampier", "damron", "dan", "dana", "danae", "dancy", "dandrea", "dandridge", "danelle", "danette", "danford", "danforth", "dangelo", "dangerfield", "dani", "dania", "danica", "daniel", "daniela", "daniele", "daniell", "daniella", "danielle", "daniels", "danielson", "danika", "danille", "danita", "danley", "dann", "danna", "danner", "dannette", "dannie", "dannielle", "dansby", "dantzler", "danuta", "danyel", "danyell", "danyelle", "dao", "daphine", "daphne", "dara", "darby", "darcel", "darcey", "darci", "darcie", "darcy", "dardar", "darden", "daria", "darla", "darleen", "darlena", "darlene", "darline", "darnell", "darr", "darrow", "daryl", "dashiell", "dasilva", "daugherty", "daughtry", "daves", "davey", "david", "davida", "davidson", "davie", "davies", "davila", "davina", "davis", "davison", "davisson", "davy", "dawes", "dawkins", "dawna", "dawne", "dawson", "daye", "dayle", "dayna", "daysi", "dayton", "deadra", "deana", "deanda", "deandra", "deandrea", "deane", "deangelis", "deangelo", "deann", "deanna", "deanne", "dearborn", "dearing", "dearman", "deas", "deason", "deaton", "deaver", "deb", "debbi", "debbie", "debbra", "debby", "debera", "deberry", "debi", "deboer", "debora", "deborah", "debose", "debra", "debrah", "debroah", "decarlo", "decastro", "deckard", "decosta", "decoteau", "dede", "dedra", "dee", "deeann", "deeanna", "deedee", "deedra", "deegan", "deel", "deen", "deena", "deering", "deese", "deetta", "defazio", "defelice", "degraw", "degroot", "deguzman", "dehart", "dehaven", "deherrera", "deidra", "deidre", "deirdre", "deitz", "deja", "dejesus", "dejong", "delacruz", "delafuente", "delagarza", "delaine", "delana", "delancey", "delaney", "delano", "delao", "delapaz", "delarosa", "delatorre", "delcie", "delena", "deleon", "delfina", "delgadillo", "delgado", "delia", "delicia", "delila", "delilah", "delinda", "delisa", "delisle", "delk", "dell", "della", "dellinger", "delma", "delmy", "deloach", "delois", "deloise", "delong", "delora", "deloras", "delorenzo", "delores", "deloris", "delorse", "delossantos", "delozier", "delp", "delpha", "delphia", "delphine", "delrio", "delrosario", "delsie", "deltoro", "deluca", "deluna", "delvalle", "delvecchio", "demarco", "demars", "demello", "demers", "demetra", "demetria", "demetrice", "demetrius", "deming", "demoss", "dempsey", "dena", "denae", "dendy", "deneen", "denese", "denham", "denice", "denis", "denise", "denisha", "denison", "denisse", "denita", "denman", "denna", "dennard", "denney", "dennis", "dennise", "dennison", "denny", "densmore", "denson", "denton", "denyse", "deon", "deonna", "depalma", "depew", "depriest", "derosa", "derose", "derosier", "derouen", "derr", "derryberry", "desai", "desalvo", "desantis", "desilva", "desimone", "desirae", "desiree", "desjardins", "desmarais", "desmond", "desouza", "despain", "despina", "desrochers", "desrosiers", "dessie", "destefano", "detra", "detwiler", "deutsch", "devaney", "devaughn", "devault", "dever", "deville", "devin", "devine", "devito", "devlin", "devoe", "devon", "devona", "devora", "devorah", "devore", "devries", "dewberry", "deweese", "dewey", "deyo", "deyoung", "dia", "dian", "diana", "diane", "diann", "dianna", "dianne", "dias", "diaz", "dicarlo", "dicken", "dickenson", "dickerson", "dickinson", "dickman", "dickson", "diedra", "diedre", "diego", "diehl", "diep", "dierdre", "dietrich", "dietz", "diez", "diggins", "diggs", "digiacomo", "digiovanni", "digna", "dillard", "diller", "dilley", "dillingham", "dillion", "dillman", "dillon", "dillow", "dilorenzo", "dilworth", "dimaggio", "dimarco", "dimmick", "dina", "dinah", "dineen", "dingess", "dingman", "dinh", "dinkins", "dinorah", "dinsmore", "dion", "dione", "dionna", "dionne", "diorio", "dipietro", "dishman", "dismuke", "disney", "distefano", "dittman", "dittmer", "divina", "dix", "dixie", "dixon", "dixson", "dizon", "doak", "doan", "doane", "dobbs", "dobson", "doby", "dockery", "dodd", "dodds", "dodie", "dodson", "doering", "doerr", "doggett", "doherty", "doiron", "dolan", "dollie", "dolores", "doloris", "dombrowski", "domenica", "dominga", "domingo", "dominguez", "dominica", "dominick", "dominique", "dominque", "dominquez", "domitila", "domonique", "dona", "donahue", "donald", "donaldson", "donato", "donegan", "donella", "donelson", "donetta", "donette", "doney", "donita", "donley", "donna", "donnell", "donnelly", "donner", "donnetta", "donnette", "donnie", "donofrio", "donohoe", "donohue", "donovan", "donya", "doody", "dooley", "doolittle", "dora", "doran", "dorathy", "dorcas", "dore", "doreatha", "doreen", "dorene", "doretha", "dorethea", "doretta", "dori", "doria", "dorian", "dorie", "dorinda", "dorine", "doris", "dorla", "dorman", "dorn", "dorotha", "dorothea", "dorothy", "dorris", "dorsett", "dorsey", "dortch", "dortha", "dorthea", "dorthey", "dorthy", "dorton", "dostie", "dotson", "dottie", "dotty", "doucette", "doud", "dougherty", "douglas", "douglass", "dovie", "dowdell", "dowden", "dowell", "dowling", "downes", "downey", "doyle", "doyon", "drayton", "dreama", "dreher", "drema", "drennan", "drennen", "dressler", "drews", "dreyer", "driggers", "driscoll", "driskell", "drouin", "drucilla", "drumm", "drummond", "drury", "drusilla", "dryden", "drye", "duarte", "dube", "dubois", "dubose", "ducharme", "duckett", "duckworth", "duclos", "duda", "dudek", "dudley", "duenas", "duffey", "duffy", "dufour", "dufrene", "dufresne", "dugan", "dugas", "duggan", "dugger", "duggins", "duhon", "dulaney", "dulce", "dulcie", "duley", "dulin", "dumont", "dunagan", "dunaway", "dunbar", "duncan", "dunford", "dungan", "dunham", "dunigan", "dunkin", "dunkle", "dunlap", "dunleavy", "dunlop", "dunn", "dunne", "dunson", "dunston", "dunton", "duong", "duplessis", "dupont", "dupre", "dupree", "duprey", "dupuis", "duque", "duquette", "duran", "durand", "durante", "durbin", "durden", "duren", "durfee", "durham", "durkee", "durkin", "duron", "durr", "durrett", "dusti", "dustin", "dutcher", "dutra", "dutton", "duval", "duvall", "dvorak", "dwana", "dwyer", "dyan", "dykstra", "dyson", "eaddy", "eades", "eads", "eady", "eagan", "eakin", "eakins", "eames", "eanes", "earle", "earlean", "earleen", "earlene", "earley", "earlie", "earline", "earnestine", "earp", "eartha", "easley", "eason", "easterday", "eastman", "easton", "eastwood", "eatmon", "eaton", "eberhardt", "eberle", "eberly", "ebersole", "ebert", "ebner", "eboni", "ebonie", "eby", "eccles", "echevarria", "echeverria", "echols", "eck", "eckard", "eckenrode", "ecker", "eckert", "eckhardt", "ecklund", "eckman", "eckstein", "eda", "edda", "eddie", "eddings", "eddington", "eddins", "edelman", "edelmira", "edelstein", "eden", "edens", "edgar", "edgerton", "edgington", "edie", "edington", "edison", "edith", "edmiston", "edmond", "edmonds", "edmondson", "edmonson", "edmunds", "edmundson", "edna", "edra", "edris", "edson", "edward", "edwards", "edwina", "edyth", "edythe", "effie", "egan", "egbert", "eggert", "eggleston", "ehlers", "ehrlich", "ehtel", "eichelberger", "eicher", "eichhorn", "eichler", "eidson", "eiland", "eileen", "eilene", "eisele", "eisenberg", "eklund", "ela", "eladia", "elaina", "elaine", "elam", "elana", "elane", "elanor", "elayne", "elba", "elbert", "elda", "eldora", "eldred", "eldredge", "eldridge", "eleanor", "eleanora", "eleanore", "elease", "elena", "elene", "eleni", "elenor", "elenora", "elenore", "eleonor", "eleonora", "eleonore", "eley", "elfreda", "elfrieda", "elfriede", "elgin", "elia", "eliana", "elias", "eliason", "elicia", "elida", "elidia", "elin", "elina", "elinor", "elinore", "elisa", "elisabeth", "elise", "elisha", "elissa", "eliz", "eliza", "elizabet", "elizabeth", "elizbeth", "elizebeth", "elizondo", "elke", "elkins", "ella", "ellamae", "ellan", "elledge", "ellen", "ellena", "ellender", "eller", "elli", "ellie", "ellinger", "ellingson", "ellington", "elliot", "elliott", "ellis", "ellison", "ellsworth", "elly", "ellyn", "elma", "elmer", "elmira", "elmore", "elna", "elnora", "elodia", "elois", "eloisa", "eloise", "elouise", "elrod", "elsa", "elsie", "elson", "elston", "elswick", "elsy", "elva", "elvera", "elvia", "elvie", "elvina", "elvira", "elwanda", "elwell", "elwood", "ely", "elyse", "elza", "ema", "emanuel", "embree", "embrey", "embry", "emelda", "emelia", "emelina", "emeline", "emely", "emerick", "emerita", "emerson", "emiko", "emilee", "emilia", "emilie", "emily", "emma", "emmaline", "emmert", "emmett", "emmie", "emmons", "emmy", "emogene", "emory", "emrich", "emrick", "encarnacion", "enciso", "enda", "endicott", "endres", "endsley", "enedina", "eneida", "eng", "engel", "engelhardt", "england", "engle", "engleman", "engler", "englert", "english", "engstrom", "enid", "enloe", "ennis", "enoch", "enola", "enos", "enright", "enriqueta", "enriquez", "ensor", "epifania", "epley", "epperson", "epps", "epstein", "erb", "erdman", "erdmann", "eric", "erica", "ericka", "erickson", "ericson", "erika", "erin", "erinn", "erlene", "erlinda", "erline", "erma", "ermelinda", "erminia", "erna", "ernest", "ernestina", "ernestine", "ernst", "erskine", "ervin", "erwin", "eryn", "escalante", "escalera", "escamilla", "escobar", "escobedo", "eshelman", "eskew", "eskridge", "eslinger", "esmeralda", "esparza", "esperanza", "espinal", "espino", "espinosa", "espinoza", "esposito", "esqueda", "esquibel", "esquivel", "essary", "essex", "essie", "esta", "estabrook", "estefana", "estela", "estell", "estella", "estelle", "estep", "ester", "estes", "estevez", "esther", "estrada", "estrella", "etha", "ethel", "ethelene", "ethelyn", "etheridge", "ethridge", "ethyl", "etienne", "etsuko", "etta", "etter", "ettie", "eubank", "eubanks", "eudy", "eufemia", "eugena", "eugene", "eugenia", "eugenie", "eulah", "eulalia", "eun", "euna", "eunice", "eura", "eure", "eusebia", "eustolia", "eva", "evalyn", "evan", "evangelina", "evangeline", "evangelista", "evans", "eveland", "evelia", "evelin", "evelina", "eveline", "evelyn", "evelyne", "evelynn", "evenson", "everett", "everette", "everhart", "evers", "eversole", "everson", "evette", "evia", "evie", "evita", "evon", "evonne", "ewa", "ewald", "ewell", "ewing", "exie", "exum", "eyler", "ezell", "ezzell", "faber", "fabian", "fabiola", "fabrizio", "fagan", "fahey", "fairbanks", "fairchild", "faircloth", "fairfield", "fairley", "faison", "fajardo", "falco", "falcone", "falgoust", "falgout", "falk", "falkner", "fallon", "fancher", "fanelli", "fann", "fannie", "fannin", "fanny", "fant", "farah", "farber", "faria", "farias", "faris", "farkas", "farley", "farnham", "farnsworth", "farr", "farrah", "farrar", "farrell", "farrington", "farris", "farwell", "fasano", "fassett", "fatima", "fatimah", "faucher", "faught", "faulk", "faulkner", "faust", "faustina", "faviola", "fawcett", "faye", "fazio", "featherston", "featherstone", "fecteau", "feder", "federico", "feeley", "feeney", "fehr", "feinberg", "feinstein", "felder", "feldman", "felecia", "felica", "felice", "felicia", "feliciano", "felicidad", "felicita", "felicitas", "felipa", "felipe", "felisa", "felisha", "felix", "felker", "feltner", "felton", "fenderson", "fendley", "fenn", "fennell", "fenner", "fenske", "fenton", "fenwick", "ferebee", "ferguson", "ferland", "fermina", "fernanda", "fernande", "fernandes", "fernandez", "fernando", "ferne", "ferrante", "ferrari", "ferraro", "ferree", "ferreira", "ferrell", "ferrer", "ferretti", "ferri", "ferrin", "ferris", "ferro", "fessler", "fewell", "fick", "fidela", "fidelia", "fidler", "fiedler", "fierro", "fifield", "figueroa", "fike", "fikes", "fillmore", "filomena", "fincher", "findlay", "findley", "finke", "finkelstein", "finkle", "finlay", "finley", "finn", "finnegan", "finnell", "finney", "fiona", "fiore", "fischer", "fiscus", "fishman", "fiske", "fite", "fitz", "fitzgerald", "fitzhugh", "fitzpatrick", "fitzsimmons", "fitzwater", "flagg", "flaherty", "flanagan", "flanders", "flanigan", "flannery", "flatt", "flavia", "fleenor", "fleetwood", "fleischer", "fleischman", "flemming", "fleta", "flickinger", "flinn", "florance", "florencia", "florene", "florentina", "flores", "floretta", "florez", "floria", "florinda", "florine", "florio", "florrie", "flossie", "flournoy", "floy", "floyd", "fluellen", "fluker", "flynn", "flynt", "fogarty", "fogel", "fogg", "foley", "follett", "folse", "folsom", "foltz", "fonda", "fong", "fonseca", "fontaine", "fontana", "fontanez", "fontenot", "fontes", "foote", "foran", "forbes", "forbis", "forcier", "forde", "fordham", "foret", "forman", "forney", "forrest", "forrester", "forsberg", "forster", "forsyth", "forsythe", "fortenberry", "fortier", "fortin", "fortner", "fortney", "fortson", "fortuna", "fortunato", "foti", "fournier", "foust", "fouts", "fowlkes", "foxworth", "frady", "fraga", "fraley", "frampton", "fran", "france", "francene", "frances", "francesca", "franchesca", "francie", "francina", "francine", "francis", "francisca", "francisco", "franck", "franco", "francois", "francoise", "franke", "frankel", "frankie", "franko", "fransisca", "frantz", "franz", "franzen", "fraser", "frasier", "frausto", "frawley", "frazee", "frazer", "frazier", "frechette", "fred", "freda", "fredda", "freddie", "frederica", "frederick", "fredericka", "fredericks", "frederickson", "fredette", "fredia", "fredrick", "fredricka", "fredrickson", "freeda", "freeland", "freese", "fregoso", "freida", "freitag", "freitas", "fretwell", "freund", "frey", "frias", "frick", "fricke", "frida", "friday", "frieda", "friedman", "friedrich", "friel", "frierson", "friesen", "frink", "frisbee", "frisbie", "frisby", "frisch", "fritts", "fritz", "frizzell", "froehlich", "fromm", "fruge", "frye", "fuchs", "fuentes", "fugate", "fuhrman", "fujimoto", "fulbright", "fulcher", "fulford", "fulk", "fulkerson", "fulks", "fullerton", "fullmer", "fulmer", "fulton", "fults", "fultz", "fumiko", "funches", "funderburk", "fung", "funke", "funkhouser", "fuqua", "furman", "furr", "furst", "furtado", "fusco", "fussell", "futch", "futrell", "fye", "gabel", "gabriel", "gabriela", "gabriele", "gabriella", "gabrielle", "gaddis", "gaddy", "gadson", "gaffney", "gagliano", "gagliardi", "gagne", "gagnon", "gailey", "gaines", "gainey", "gaitan", "gaither", "galan", "galarza", "galbraith", "galbreath", "galicia", "galina", "galindo", "gallagher", "gallaher", "gallardo", "gallaway", "gallego", "gallegos", "galligan", "gallion", "gallman", "gallo", "galloway", "gallup", "galvan", "galvez", "galvin", "gamache", "gambill", "gamboa", "gambrell", "gamez", "gandy", "gann", "gannon", "gantt", "gantz", "gaona", "garay", "garber", "garcia", "gard", "gardiner", "gardner", "garfield", "garibay", "garica", "garman", "garmon", "garnet", "garnett", "garofalo", "garrard", "garretson", "garrett", "garrick", "garrido", "garris", "garrity", "garrow", "garry", "gartner", "garton", "garver", "garvey", "garvin", "gary", "garza", "gasaway", "gaskill", "gaspar", "gaspard", "gass", "gassaway", "gastelum", "gaston", "gatewood", "gatlin", "gatling", "gattis", "gatto", "gaudet", "gaudette", "gaudreau", "gaughan", "gaul", "gause", "gauthier", "gauvin", "gavin", "gayden", "gaye", "gayla", "gayle", "gaylene", "gaylor", "gaylord", "gaynell", "gaynelle", "gaynor", "gaytan", "gayton", "gearhart", "gearldine", "geary", "gebhardt", "gebhart", "geddes", "geer", "gehring", "gehrke", "geier", "geiger", "geis", "geisler", "gelinas", "geller", "gema", "gendron", "genevie", "genevieve", "genevive", "genia", "genna", "gennie", "genny", "genovese", "genoveva", "georgann", "george", "georgeann", "georgeanna", "georgene", "georgetta", "georgette", "georgia", "georgiana", "georgiann", "georgianna", "georgianne", "georgie", "georgina", "georgine", "gerald", "geraldine", "geralyn", "gerard", "gerber", "gerda", "gerdes", "gerena", "gerhardt", "gerhart", "geri", "gerlach", "germaine", "germany", "gerri", "gerry", "gertha", "gertie", "gertrud", "gertrude", "gertrudis", "gertude", "gervais", "geter", "getty", "getz", "geyer", "ghislaine", "gholston", "gia", "gianna", "gibb", "gibbs", "gibson", "giddens", "giddings", "gideon", "gidget", "giese", "giffin", "gifford", "gigi", "giglio", "giguere", "gil", "gilberte", "gilbertson", "gilbreath", "gilchrist", "gilda", "gile", "giles", "gilkey", "gillam", "gillard", "gillen", "gillenwater", "gilles", "gillespie", "gillett", "gillette", "gilley", "gilliam", "gillian", "gilliard", "gilligan", "gilliland", "gillis", "gillispie", "gillman", "gillum", "gilma", "gilman", "gilmer", "gilmore", "gilpin", "gilreath", "gilroy", "gilson", "gilstrap", "gina", "ginder", "ginette", "gingerich", "gingras", "gingrich", "ginny", "ginsberg", "ginter", "giordano", "giovanna", "gipson", "girard", "giroux", "gisela", "gisele", "giselle", "gish", "gita", "gittens", "giuseppina", "givens", "gladis", "gladney", "gladstone", "glady", "gladys", "glaser", "glasgow", "glasper", "glasscock", "glasser", "glayds", "gleason", "glenda", "glendora", "glenn", "glenna", "glennie", "glennis", "glick", "glidden", "glidewell", "glinda", "glisson", "gloria", "gluck", "glynda", "glynis", "glynn", "gober", "goble", "godbey", "goddard", "godfrey", "godin", "godinez", "godoy", "godsey", "godwin", "goebel", "goetz", "goforth", "goines", "goins", "golda", "goldberg", "goldfarb", "golding", "goldman", "goldsberry", "goldstein", "gomes", "gomez", "gonsalez", "gonsalves", "gonzales", "gonzalez", "gooch", "goodale", "goodall", "goode", "goodell", "gooden", "goodin", "gooding", "goodloe", "goodnight", "goodrich", "goodrum", "goodsell", "goodson", "goodwin", "goolsby", "gordan", "gordon", "gordy", "goree", "gorham", "gorman", "gormley", "gorski", "gorton", "goshorn", "gosnell", "goss", "gosselin", "gossett", "gott", "gottlieb", "gottschalk", "gough", "gould", "goulet", "gourley", "gouveia", "govan", "gove", "govea", "gowen", "gower", "goyette", "graber", "grabowski", "gracia", "gracie", "graciela", "grady", "graf", "graff", "grafton", "gragg", "graham", "grajeda", "grammer", "granado", "granados", "grantham", "granville", "grasso", "grau", "gravitt", "gravois", "graybill", "grayce", "grayson", "graziano", "grazyna", "greathouse", "greco", "greeley", "greenberg", "greene", "greenhaw", "greenlaw", "greenleaf", "greenlee", "greenwald", "greenway", "greenwell", "greer", "greeson", "gregg", "gregoire", "gregor", "gregoria", "gregorio", "gregory", "greig", "greiner", "grenier", "gresham", "greta", "gretchen", "gretta", "gricelda", "grider", "grieco", "griego", "grier", "griffen", "griffey", "griffis", "griffith", "griffiths", "grigg", "griggs", "grigsby", "grijalva", "grillo", "grimaldi", "grimaldo", "grimm", "grimmett", "grimsley", "grindle", "griner", "grisby", "grisel", "griselda", "grisham", "grissom", "griswold", "groce", "groff", "grogan", "groh", "grose", "grossman", "grosso", "groth", "grover", "grubb", "grubbs", "grube", "gruber", "grundy", "guadalupe", "guajardo", "guardado", "guarino", "guay", "gudrun", "guenther", "guerin", "guerra", "guerrero", "guertin", "guevara", "guffey", "guido", "guidry", "guilford", "guillen", "guillermina", "guillermo", "guillory", "guillot", "guimond", "guinn", "gulick", "gulledge", "gullett", "gumm", "gump", "gunderson", "gunn", "gunther", "gupta", "gupton", "gurley", "gurrola", "gurule", "gusman", "gussie", "gustafson", "gustin", "guth", "guthrie", "gutierrez", "gutshall", "guyer", "guyette", "guyton", "guzman", "gwen", "gwenda", "gwendolyn", "gwenn", "gwin", "gwinn", "gwyn", "gwyneth", "haag", "haas", "haase", "haber", "haberman", "hackett", "hackman", "hackworth", "haddad", "haddix", "hadfield", "hadley", "hadlock", "hae", "hafer", "haffner", "hafner", "haga", "hagan", "hagans", "hagar", "hage", "hageman", "hagen", "hager", "hagerman", "hagerty", "haggerty", "hagler", "hagood", "hague", "hagy", "hahn", "haigh", "haight", "haile", "hailey", "haines", "haire", "hairston", "halcomb", "hales", "haley", "halford", "halina", "halle", "haller", "hallett", "halley", "halliburton", "halliday", "hallie", "hallman", "hallock", "halloran", "hallowell", "halpern", "halpin", "halsey", "halstead", "halverson", "halvorsen", "halvorson", "hamann", "hamblin", "hambrick", "hamby", "hamel", "hamer", "hamill", "hamilton", "hamlett", "hamlin", "hamm", "hammack", "hamman", "hammel", "hammett", "hammon", "hammond", "hammonds", "hammons", "hamner", "hampson", "hampton", "hamrick", "han", "hana", "hancock", "handley", "hanes", "haney", "hanh", "hanke", "hankins", "hanley", "hanlon", "hann", "hanna", "hannah", "hannan", "hannelore", "hanner", "hannigan", "hannon", "hanrahan", "hans", "hansen", "hanson", "harbaugh", "harber", "harbin", "harbison", "hardaway", "hardcastle", "hardee", "hardeman", "hardesty", "hardie", "hardiman", "hardin", "harding", "hardison", "hardman", "hardnett", "hardwick", "hargett", "hargis", "hargrave", "hargrove", "harker", "harkey", "harkins", "harkness", "harlan", "harless", "harley", "harlow", "harmon", "harner", "harney", "haro", "harold", "harr", "harrell", "harrelson", "harriet", "harriett", "harriette", "harrigan", "harriman", "harrington", "harris", "harrison", "harrod", "harrold", "harter", "hartfield", "hartford", "hartle", "hartley", "hartman", "hartmann", "hartnett", "hartsell", "hartsfield", "hartsock", "hartung", "hartwell", "hartwig", "harty", "hartz", "hartzell", "hartzog", "harvell", "harvey", "harville", "harvin", "harwell", "harwood", "hashimoto", "haskell", "haskins", "hass", "hassan", "hassell", "hassett", "hassie", "hassler", "hasson", "hatchett", "hatfield", "hathaway", "hathcock", "hathorn", "hatley", "hatten", "hattie", "hatton", "hauck", "haug", "haugen", "haun", "haupt", "hauser", "havard", "haviland", "hawes", "hawkes", "hawkins", "hawkinson", "hawley", "hawn", "haworth", "hawthorne", "hayashi", "haydee", "hayden", "haydon", "hayes", "haygood", "hayley", "hayman", "hayner", "haynes", "haynie", "haywood", "hazelton", "hazelwood", "hazen", "hazlett", "hazzard", "headley", "headrick", "healey", "healy", "heaney", "hearn", "hearne", "heather", "heatherly", "heaton", "hebert", "hecht", "hecker", "heckman", "hedden", "hedgepeth", "hedrick", "hedwig", "hedy", "hee", "heffernan", "heffner", "heflin", "hefner", "hegarty", "heide", "heidi", "heidy", "heike", "heil", "heilman", "heim", "hein", "heine", "heinrich", "heins", "heintz", "heinz", "heise", "heiser", "heisler", "helaine", "helen", "helena", "helene", "helfrich", "helga", "helgeson", "hellen", "hellman", "helman", "helmer", "helmick", "helmuth", "helton", "helwig", "hembree", "hemingway", "hemphill", "hendershot", "henderson", "hendley", "hendon", "hendren", "hendrick", "hendricks", "hendrickson", "hendrix", "hendry", "henke", "henkel", "henley", "hennessey", "hennessy", "henninger", "henrietta", "henriette", "henriques", "henriquez", "henry", "hensel", "henshaw", "hensley", "henson", "henton", "hepburn", "hepler", "hepner", "herbert", "herbst", "heredia", "hereford", "herlinda", "herma", "herman", "hermann", "hermelinda", "hermes", "hermila", "hermina", "hermine", "herminia", "hermosillo", "hernadez", "hernandes", "hernandez", "herndon", "herod", "herold", "herr", "herren", "herrera", "herrick", "herrin", "herrington", "herrmann", "herrod", "herron", "hersey", "hersh", "hershberger", "hershey", "herta", "hertel", "hertha", "herzog", "hess", "hesse", "hesson", "hester", "hetrick", "hettie", "hetzel", "heuer", "hewett", "hewitt", "hewlett", "heyer", "heyward", "heywood", "hiatt", "hibbard", "hibbert", "hibbler", "hibbs", "hickerson", "hickman", "hickok", "hickox", "hickson", "hiedi", "hien", "hiers", "higa", "higbee", "higdon", "higginbotham", "higgins", "higgs", "highsmith", "hightower", "higley", "hilaria", "hilary", "hilbert", "hilburn", "hilda", "hilde", "hildebrand", "hildebrandt", "hildegard", "hildegarde", "hildred", "hildreth", "hileman", "hiles", "hillard", "hillary", "hiller", "hilliard", "hillis", "hillman", "hillyer", "hilma", "hilton", "himes", "hinckley", "hindman", "hine", "hines", "hinkle", "hinkley", "hinman", "hinojosa", "hinrichs", "hinshaw", "hinson", "hinton", "hintz", "hinz", "hipp", "hiroko", "hirsch", "hirst", "hisako", "hitchcock", "hite", "hitt", "hix", "hixon", "hixson", "hoa", "hoag", "hoagland", "hoang", "hobart", "hobbs", "hobson", "hoch", "hochstetler", "hockenberry", "hockett", "hodge", "hodges", "hodgkins", "hodgson", "hodson", "hoekstra", "hoelscher", "hoey", "hofer", "hoff", "hoffer", "hoffman", "hoffmann", "hofmann", "hoggard", "hogue", "holbert", "holbrook", "holcomb", "holcombe", "holguin", "holifield", "holladay", "hollander", "hollar", "hollenbeck", "holley", "holli", "holliday", "hollie", "hollifield", "holliman", "hollinger", "hollingshead", "hollingsworth", "hollins", "hollis", "hollister", "holloman", "holloway", "hollowell", "holman", "holmberg", "holmes", "holmgren", "holmquist", "holsinger", "holst", "holstein", "holston", "holter", "holton", "holtz", "holzer", "hom", "homan", "honaker", "honea", "honeycutt", "hoopes", "hooten", "hopkins", "hoppe", "hopson", "horan", "hord", "horgan", "hornback", "hornbeck", "horne", "hornsby", "horowitz", "horrocks", "horsley", "horta", "hortencia", "hortense", "hortensia", "horton", "horvath", "hosey", "hoskins", "hosmer", "hostetler", "hostetter", "hotchkiss", "houchens", "houck", "houghton", "houk", "houle", "houlihan", "householder", "houser", "housley", "housman", "houston", "hovey", "hovis", "howard", "howarth", "howell", "howells", "hower", "howerton", "howie", "howland", "howlett", "howse", "howze", "hoye", "hoyle", "hoyos", "hoyt", "hsiu", "hsu", "hua", "huang", "hubbard", "hubbell", "hubble", "hubbs", "huber", "hubert", "huckaby", "hudak", "huddleston", "hudgens", "hudgins", "hudnall", "hudson", "hudspeth", "huebner", "huerta", "huertas", "huey", "huffman", "hufford", "huggins", "hughes", "hughey", "hughs", "hui", "huie", "hulbert", "hulda", "hulett", "hulse", "hulsey", "humbert", "hume", "humes", "humphrey", "humphreys", "humphries", "hundley", "huneycutt", "hungerford", "hunley", "hunnicutt", "hunsaker", "huntington", "huntley", "huong", "hupp", "hurd", "hurlburt", "hurtado", "huskey", "hussey", "husted", "huston", "hutchens", "hutcherson", "hutcheson", "hutchings", "hutchins", "hutchinson", "hutchison", "huth", "hutson", "hutt", "hutto", "hutton", "huynh", "hwa", "hwang", "hyacinth", "hyatt", "hyde", "hyden", "hyder", "hye", "hyland", "hylton", "hyman", "hynes", "hyo", "hyon", "hysell", "hyun", "ibanez", "ibarra", "ibrahim", "ickes", "idell", "idella", "iesha", "iglesias", "ignacia", "ilana", "ilda", "ileana", "ileen", "ilene", "iliana", "ilona", "ilse", "iluminada", "imelda", "imes", "imhoff", "imogene", "india", "indira", "inell", "ines", "inez", "inga", "ingalls", "ingeborg", "ingersoll", "ingham", "ingraham", "ingrid", "inman", "inocencia", "iona", "ione", "ira", "iraida", "irby", "ireland", "irena", "irene", "irick", "irina", "irish", "irizarry", "irma", "irmgard", "irvin", "irvine", "irving", "irwin", "iryna", "isa", "isaac", "isaacs", "isaacson", "isabel", "isabell", "isabella", "isabelle", "isadora", "isaura", "isbell", "isela", "isenberg", "isham", "isidra", "isis", "islas", "isley", "isobel", "isom", "ison", "israel", "ito", "ivana", "ivelisse", "iverson", "ives", "ivette", "ivey", "ivie", "ivonne", "izaguirre", "izetta", "izola", "izzo", "jablonski", "jacalyn", "jacelyn", "jacinda", "jacinta", "jacinto", "jackeline", "jackelyn", "jacki", "jackie", "jacklyn", "jackqueline", "jackson", "jaclyn", "jaco", "jacob", "jacobi", "jacobo", "jacobs", "jacobsen", "jacobson", "jacoby", "jacqualine", "jacque", "jacquelin", "jacqueline", "jacquelyn", "jacquelyne", "jacquelynn", "jacques", "jacquetta", "jacquez", "jacqui", "jacquie", "jacquiline", "jacquline", "jacqulyn", "jada", "jadwiga", "jae", "jaffe", "jahn", "jahnke", "jaime", "jaimee", "jaimes", "jaimie", "jalbert", "jaleesa", "jalisa", "jama", "jame", "jamee", "jamerson", "james", "jameson", "jamey", "jami", "jamie", "jamieson", "jamika", "jamila", "jamison", "jammie", "jan", "jana", "janae", "janay", "jane", "janean", "janee", "janeen", "janel", "janell", "janella", "janelle", "janene", "janessa", "janet", "janeth", "janett", "janetta", "janette", "janey", "jani", "janice", "janie", "janiece", "janina", "janine", "janis", "janise", "janita", "jankowski", "jann", "janna", "jannet", "jannette", "jannie", "jansen", "janson", "janssen", "janyce", "jaqueline", "jaquelyn", "jaques", "jaquez", "jara", "jaramillo", "jarboe", "jardine", "jarman", "jarmon", "jarrell", "jarrett", "jarvis", "jason", "jasso", "jaunita", "jauregui", "javier", "jaworski", "jaye", "jayme", "jaymie", "jayna", "jayne", "jaynes", "jazmin", "jazmine", "jeana", "jeanbaptiste", "jeane", "jeanelle", "jeanene", "jeanett", "jeanetta", "jeanette", "jeanice", "jeanie", "jeanine", "jeanlouis", "jeanmarie", "jeanna", "jeanne", "jeannetta", "jeannette", "jeannie", "jeannine", "jeffcoat", "jefferies", "jeffers", "jefferson", "jeffery", "jeffie", "jeffrey", "jeffreys", "jeffries", "jemison", "jen", "jena", "jenae", "jene", "jenee", "jenell", "jenelle", "jenette", "jeneva", "jeni", "jenice", "jenifer", "jeniffer", "jenine", "jenise", "jenkins", "jenks", "jenna", "jennefer", "jennell", "jennette", "jenni", "jennie", "jennifer", "jenniffer", "jennine", "jennings", "jenny", "jensen", "jenson", "jepson", "jeraldine", "jeremy", "jeri", "jerica", "jerilyn", "jerlene", "jernigan", "jerome", "jerri", "jerrica", "jerrie", "jerry", "jesenia", "jesica", "jeske", "jesse", "jessee", "jessen", "jessenia", "jessi", "jessia", "jessica", "jessie", "jessika", "jessup", "jestine", "jesus", "jesusa", "jesusita", "jeter", "jett", "jetta", "jettie", "jewell", "jewett", "jiles", "jill", "jillian", "jim", "jimenez", "jimerson", "jiminez", "jimmie", "joan", "joana", "joane", "joanie", "joann", "joanna", "joanne", "joannie", "joaquina", "jobe", "jocelyn", "jodee", "jodi", "jodie", "jody", "joe", "joeann", "joel", "joella", "joelle", "joellen", "joeseph", "joesph", "joetta", "joette", "joey", "johana", "johanna", "johanne", "johansen", "johanson", "john", "johna", "johnetta", "johnette", "johnie", "johnna", "johnnie", "johnny", "johnsen", "johnsie", "johnson", "johnston", "johnstone", "joi", "joie", "jolanda", "joleen", "jolene", "jolie", "jolin", "joline", "jolley", "jolyn", "jolynn", "jon", "jona", "jonas", "jone", "jonell", "jonelle", "jones", "jong", "joni", "jonie", "jonna", "jonnie", "joplin", "jordan", "jordon", "jorge", "jorgensen", "jorgenson", "jose", "josefa", "josefina", "josefine", "joselyn", "joseph", "josephina", "josephine", "josephson", "josette", "josey", "joshua", "josie", "joslin", "joslyn", "josphine", "jost", "joubert", "jovan", "jovita", "jowers", "joya", "joyce", "joycelyn", "joye", "joyner", "juan", "juana", "juanita", "juarez", "judd", "jude", "judi", "judie", "judith", "judkins", "judson", "judy", "jule", "julee", "julene", "juli", "julia", "julian", "juliana", "juliane", "juliann", "julianna", "julianne", "julie", "julieann", "julien", "julienne", "juliet", "julieta", "julietta", "juliette", "julio", "julissa", "julius", "jung", "junie", "junita", "junko", "jurado", "justa", "justin", "justina", "justine", "justus", "jutta", "kacey", "kaci", "kacie", "kacy", "kaczmarek", "kahl", "kahle", "kahler", "kahn", "kaila", "kaitlin", "kaitlyn", "kala", "kaleigh", "kaley", "kali", "kallie", "kalyn", "kam", "kamala", "kami", "kamilah", "kaminski", "kaminsky", "kammerer", "kamp", "kandace", "kandi", "kandice", "kandis", "kandra", "kandy", "kane", "kanesha", "kanisha", "kantor", "kao", "kaplan", "kapp", "kara", "karan", "kareen", "karen", "karena", "karey", "kari", "karie", "karima", "karin", "karina", "karine", "karisa", "karissa", "karl", "karla", "karleen", "karlene", "karly", "karlyn", "karmen", "karnes", "karns", "karol", "karole", "karoline", "karolyn", "karon", "karp", "karr", "karren", "karri", "karrie", "karry", "kary", "karyl", "karyn", "kasandra", "kasey", "kasha", "kasi", "kasie", "kasper", "kass", "kassandra", "kassie", "kasten", "kastner", "kate", "katelin", "katelyn", "katelynn", "katerine", "kates", "kathaleen", "katharina", "katharine", "katharyn", "kathe", "katheleen", "katherin", "katherina", "katherine", "kathern", "katheryn", "kathey", "kathi", "kathie", "kathleen", "kathlene", "kathline", "kathlyn", "kathrin", "kathrine", "kathryn", "kathryne", "kathy", "kathyrn", "kati", "katia", "katie", "katina", "katlyn", "kato", "katrice", "katrina", "kattie", "katy", "katz", "kauffman", "kaufman", "kaufmann", "kautz", "kavanagh", "kavanaugh", "kay", "kayce", "kaycee", "kaye", "kayla", "kaylee", "kayleen", "kayleigh", "kaylene", "kaylor", "kayser", "kazuko", "kean", "keane", "kearney", "kearns", "kearse", "keating", "keaton", "kecia", "kee", "keefe", "keefer", "keegan", "keele", "keeley", "keely", "keena", "keenan", "keene", "keeney", "keesee", "keesha", "keeter", "keeton", "keever", "keffer", "kehoe", "keiko", "keil", "keila", "keim", "keira", "keiser", "keisha", "keith", "keitha", "keitt", "keli", "kellam", "kellar", "kelle", "kellee", "kelleher", "keller", "kellerman", "kelley", "kelli", "kellie", "kellner", "kellogg", "kellum", "kelly", "kellye", "kelm", "kelsey", "kelsi", "kelsie", "kelso", "kelton", "kemberly", "kempf", "kena", "kenda", "kendal", "kendall", "kendra", "kendrick", "kendricks", "kenia", "kenisha", "kenna", "kennard", "kennedy", "kenneth", "kenney", "kennon", "kenny", "kenya", "kenyatta", "kenyetta", "kenyon", "keown", "kephart", "kepler", "kera", "kerby", "keren", "keri", "kerley", "kerr", "kerri", "kerrie", "kerrigan", "kerry", "kershaw", "kershner", "kerstin", "kesha", "keshia", "kesler", "kessel", "kessinger", "kessler", "kester", "kesterson", "ketcham", "ketchum", "ketron", "keturah", "keva", "kevin", "keyes", "keyser", "khadijah", "khalilah", "khoury", "kia", "kiana", "kiara", "kibler", "kidd", "kidwell", "kiefer", "kieffer", "kiel", "kiely", "kiera", "kiernan", "kiersten", "kiesha", "kiger", "kight", "kilburn", "kilby", "kile", "kiley", "kilgore", "killebrew", "killen", "killian", "killingsworth", "killion", "killough", "kilmer", "kilpatrick", "kim", "kimball", "kimber", "kimberely", "kimberlee", "kimberley", "kimberli", "kimberlie", "kimberlin", "kimberly", "kimbery", "kimble", "kimbra", "kimbrell", "kimbro", "kimbrough", "kimes", "kimi", "kimiko", "kimmel", "kimsey", "kimura", "kina", "kinard", "kincaid", "kindra", "kingery", "kingsbury", "kingsley", "kingston", "kinlaw", "kinnard", "kinney", "kinsella", "kinser", "kinsey", "kinsler", "kinsley", "kinslow", "kinzer", "kira", "kirby", "kirchner", "kirkendall", "kirkham", "kirkland", "kirkpatrick", "kirksey", "kirkwood", "kirschner", "kirsten", "kirstie", "kirstin", "kirtley", "kirwan", "kiser", "kisha", "kisner", "kissinger", "kistler", "kittie", "kittrell", "kitts", "kitty", "kiyoko", "kizer", "kizzie", "kizzy", "klara", "klatt", "klaus", "klein", "kline", "kling", "klingensmith", "klinger", "klink", "klotz", "klug", "knapp", "knecht", "knepper", "knighten", "knighton", "knisley", "knopp", "knorr", "knott", "knotts", "knowles", "knowlton", "knox", "knudsen", "knudson", "knuth", "knutson", "kobayashi", "koch", "kocher", "koehler", "koehn", "koenig", "koerner", "koester", "koger", "kohler", "kohn", "kolb", "koller", "kong", "konrad", "koon", "koonce", "koons", "koontz", "koopman", "kopp", "kori", "korn", "kornegay", "korte", "kortney", "koski", "koster", "kourtney", "kovac", "kovach", "kovacs", "kowal", "kowalczyk", "kowalewski", "kowalski", "kozak", "koziol", "kozlowski", "kraemer", "krall", "kramer", "kratz", "kratzer", "kraus", "krause", "krauss", "krawczyk", "krebs", "kremer", "kress", "krick", "krieg", "krieger", "kris", "krishna", "krissy", "krista", "kristal", "kristan", "kristeen", "kristel", "kristen", "kristi", "kristian", "kristie", "kristin", "kristina", "kristine", "kristle", "kristy", "kristyn", "kroeger", "krohn", "krol", "kroll", "kropp", "krouse", "krueger", "krug", "kruger", "krumm", "kruse", "krysta", "krystal", "krysten", "krystin", "krystina", "krystle", "krystyna", "kubiak", "kucera", "kuehl", "kuehn", "kugler", "kuhl", "kuhlman", "kuhlmann", "kuhn", "kuhns", "kujawa", "kulp", "kum", "kumar", "kunkel", "kunkle", "kuntz", "kunz", "kurth", "kurtz", "kushner", "kuster", "kutz", "kuykendall", "kwan", "kwiatkowski", "kwon", "kyla", "kyle", "kylee", "kylie", "kym", "kymberly", "kyoko", "kyong", "kyra", "kyser", "kyung", "labarbera", "labbe", "labelle", "labonte", "laboy", "labrecque", "labrie", "lacasse", "lacey", "lach", "lachance", "lachelle", "laci", "lacie", "laclair", "lacombe", "lacour", "lacresha", "lacroix", "ladawn", "ladd", "ladner", "ladonna", "lael", "lafave", "lafayette", "lafferty", "laflamme", "lafleur", "lafollette", "lafond", "lafontaine", "lafountain", "lafrance", "lafreniere", "lagasse", "laguna", "lagunas", "lahoma", "lahr", "lai", "lail", "laila", "laine", "laing", "lajoie", "lajuana", "lakeesha", "lakeisha", "lakendra", "lakenya", "lakesha", "lakeshia", "lakey", "lakia", "lakiesha", "lakisha", "lakita", "lala", "laliberte", "lally", "lalonde", "lamanna", "lamar", "lambrecht", "lamere", "lamkin", "lamm", "lamonica", "lamont", "lamontagne", "lamoreaux", "lamothe", "lamoureux", "lampe", "lampkin", "lampley", "lana", "lancaster", "landa", "landeros", "landes", "landin", "landis", "landon", "landreth", "landrum", "landry", "lanell", "lanelle", "lanette", "laney", "lang", "langan", "langdon", "lange", "langer", "langevin", "langford", "langham", "langley", "langlois", "langston", "lanham", "lani", "lanie", "lanier", "lanita", "lankford", "lannie", "lanning", "lanora", "lansing", "lantz", "lanza", "lao", "lapierre", "laplante", "lapoint", "lapointe", "laporte", "lapp", "laquanda", "laquita", "lara", "larae", "laraine", "laree", "largent", "larhonda", "larios", "larisa", "larissa", "larita", "lariviere", "larkin", "larkins", "larocca", "laroche", "larochelle", "larock", "laronda", "larosa", "larose", "larrabee", "larraine", "larry", "larsen", "larson", "larue", "lasalle", "lasandra", "lasater", "lashanda", "lashandra", "lashaun", "lashaunda", "lashawn", "lashawna", "lashawnda", "lashay", "lashell", "lashley", "lashon", "lashonda", "lashunda", "laskowski", "lasky", "lasley", "lasonya", "lasseter", "lassiter", "latanya", "latarsha", "latasha", "latashia", "latesha", "latham", "lathan", "lathrop", "latia", "laticia", "latimer", "latina", "latisha", "latonia", "latonya", "latoria", "latosha", "latour", "latoya", "latoyia", "latrice", "latricia", "latrina", "latrisha", "latta", "lattimore", "lau", "lauderdale", "lauer", "laughlin", "launa", "laura", "lauralee", "lauran", "laure", "laureano", "laureen", "lauren", "laurena", "laurence", "laurene", "laurent", "lauretta", "laurette", "lauri", "laurice", "laurie", "laurinda", "laurine", "lauryn", "laux", "lavada", "lavallee", "lavalley", "lavelle", "lavenia", "lavera", "lavergne", "lavern", "laverna", "laverne", "laverty", "lavery", "laveta", "lavette", "lavigne", "lavin", "lavina", "lavine", "lavinia", "lavoie", "lavon", "lavona", "lavonda", "lavone", "lavonia", "lavonna", "lavonne", "lawana", "lawanda", "lawanna", "lawhorn", "lawler", "lawlor", "lawrence", "lawson", "lawton", "layfield", "layla", "layne", "layton", "lazarus", "lazo", "leah", "leahy", "leake", "leana", "leandra", "leann", "leanna", "leanne", "leanora", "leath", "leatha", "leatherman", "leatherwood", "leatrice", "leavitt", "lebeau", "lebel", "leblanc", "leboeuf", "lebron", "lebrun", "lechner", "lecia", "leclair", "leclaire", "leclerc", "lecompte", "leda", "ledbetter", "lederman", "ledesma", "ledet", "ledezma", "ledford", "ledoux", "leduc", "leeann", "leeanna", "leeanne", "leeds", "leena", "leeper", "leesa", "lefebvre", "lefevre", "leffler", "lefler", "leflore", "leftwich", "legault", "legere", "legg", "leggett", "legrand", "lehman", "lehmann", "leia", "leibowitz", "leida", "leigh", "leigha", "leighann", "leighton", "leija", "leiker", "leila", "leilani", "leininger", "leisa", "leisha", "leith", "leiva", "lejeune", "lekisha", "lela", "lelah", "leland", "lelia", "lemaster", "lemay", "lemieux", "lemire", "lemke", "lemley", "lemmon", "lemmons", "lemoine", "lemos", "lemus", "lena", "lenard", "lenhart", "lenita", "lenna", "lennie", "lennon", "lennox", "lenoir", "lenora", "lenore", "lentz", "lenz", "leo", "leola", "leoma", "leon", "leona", "leonard", "leonarda", "leonardo", "leone", "leong", "leonia", "leonida", "leonie", "leonila", "leonor", "leonora", "leonore", "leontine", "leora", "leos", "leota", "lepage", "lepore", "lera", "lerch", "lerma", "lerner", "leroy", "lesa", "lesha", "lesher", "lesia", "lesko", "leslee", "lesley", "lesli", "leslie", "lessard", "lessie", "lester", "leta", "letendre", "letha", "leticia", "letisha", "letitia", "letourneau", "lett", "lettie", "letty", "leung", "levan", "levasseur", "leveille", "leverett", "levesque", "levi", "levine", "levinson", "levitt", "lewallen", "lewandowski", "lewellen", "lewin", "lewis", "lexie", "leyba", "leyva", "lezlie", "lheureux", "liane", "lianne", "libbie", "libby", "librada", "lida", "liddell", "liddle", "lidia", "lieb", "lieberman", "lieselotte", "liggett", "liggins", "lightfoot", "lightner", "ligia", "ligon", "lila", "liles", "lili", "lilia", "lilian", "liliana", "lilla", "lillard", "lilley", "lilli", "lillia", "lilliam", "lillian", "lilliana", "lillie", "lilly", "lim", "limon", "linares", "lincoln", "linda", "lindahl", "lindberg", "lindell", "lindeman", "linder", "linderman", "lindgren", "lindholm", "lindley", "lindner", "lindo", "lindquist", "lindsay", "lindsey", "lindsley", "lindstrom", "lindsy", "lindy", "lineberry", "linette", "ling", "lingenfelter", "lingerfelt", "lingle", "linh", "linkous", "linn", "linnea", "linnie", "linsey", "linton", "linville", "lippert", "lipps", "lipscomb", "lipsey", "lisa", "lisabeth", "lisandra", "lisbeth", "lise", "lisette", "lisha", "lissa", "lissette", "liston", "lita", "litchfield", "littlefield", "littlejohn", "littleton", "litton", "littrell", "liu", "livengood", "livesay", "livia", "livingston", "liz", "liza", "lizabeth", "lizarraga", "lizbeth", "lizeth", "lizette", "lizotte", "lizzette", "lizzie", "llanes", "llewellyn", "lloyd", "lockard", "locke", "lockett", "lockhart", "locklear", "lockridge", "lockwood", "loeb", "loeffler", "loehr", "loera", "loesch", "loftin", "loftis", "lofton", "loftus", "logan", "loggins", "logsdon", "logue", "lohman", "lohr", "loida", "lois", "loise", "lola", "lolita", "lollar", "lollis", "loma", "lomax", "lombardi", "lombardo", "lomeli", "lona", "londa", "london", "lonergan", "loney", "longley", "longmire", "longo", "longoria", "loni", "lonna", "lonnie", "loomis", "looney", "lopez", "lora", "loraine", "loralee", "lorean", "loree", "loreen", "lorelei", "loren", "lorena", "lorene", "lorenz", "lorenza", "lorenzen", "lorenzo", "loreta", "loretta", "lorette", "lori", "loria", "loriann", "lorie", "lorilee", "lorina", "lorinda", "lorine", "lorita", "lorna", "lorraine", "lorretta", "lorri", "lorriane", "lorrie", "lorrine", "lory", "lott", "lottie", "lotz", "lou", "louann", "louanne", "loucks", "loudermilk", "louella", "louetta", "loughlin", "louie", "louis", "louisa", "louise", "louque", "loura", "lourdes", "lourie", "louvenia", "lovato", "lovejoy", "lovelace", "lovelady", "loveland", "lovell", "lovella", "lovett", "lovetta", "lovie", "lovins", "lowder", "lowell", "lowman", "lowrance", "lowrey", "lowry", "lowther", "loya", "loyce", "loyd", "lozada", "lozano", "lozier", "lozoya", "luana", "luann", "luanna", "luanne", "luba", "lubin", "lucas", "lucero", "luci", "lucia", "luciana", "luciano", "lucie", "lucienne", "lucier", "lucila", "lucile", "lucilla", "lucille", "lucina", "lucinda", "lucio", "luckett", "luckey", "lucrecia", "lucretia", "lucy", "ludie", "ludivina", "ludlow", "ludwick", "ludwig", "lueck", "luella", "luetta", "luevano", "lugo", "lui", "luis", "luisa", "luise", "lujan", "lukas", "lukens", "luker", "lula", "lulu", "luna", "lund", "lundberg", "lunde", "lundgren", "lundquist", "lundy", "lunn", "lunsford", "luong", "lupe", "lupita", "lupo", "lura", "lurlene", "lurline", "lussier", "luther", "luttrell", "luu", "luvenia", "luz", "lyda", "lydia", "lydon", "lykins", "lyla", "lyle", "lyles", "lyman", "lyn", "lynda", "lyndia", "lyndsay", "lyndsey", "lynell", "lynelle", "lynetta", "lynette", "lynn", "lynna", "lynne", "lynnette", "lynsey", "lyon", "lyons", "lytle", "mabe", "mabel", "mabelle", "mable", "mabry", "macaluso", "macarthur", "macdonald", "macdougall", "macedo", "macfarlane", "macgregor", "mach", "machado", "machelle", "machuca", "macias", "macie", "maciel", "mackay", "mackenzie", "mackey", "mackie", "mackinnon", "macklin", "maclean", "macleod", "macmillan", "macneil", "macomber", "macon", "macpherson", "macy", "madalene", "madaline", "madalyn", "maddie", "maddox", "maddux", "madelaine", "madeleine", "madelene", "madeline", "madelyn", "mader", "madera", "madewell", "madge", "madie", "madigan", "madison", "madlyn", "madonna", "madore", "madrid", "madsen", "madson", "mae", "maeda", "maegan", "maes", "maestas", "mafalda", "magali", "magallanes", "magaly", "magan", "magana", "magaret", "magda", "magdalen", "magdalena", "magdalene", "magdaleno", "magee", "magen", "maggard", "maggie", "maggio", "magill", "magness", "magnolia", "magnuson", "magruder", "maguire", "mahaffey", "mahalia", "mahan", "maher", "mahler", "mahon", "mahone", "mahoney", "mai", "maia", "maida", "maier", "maile", "maines", "maira", "maire", "maisha", "maisie", "majewski", "majorie", "makeda", "maki", "makowski", "malave", "malcolm", "malcom", "maldonado", "malek", "malena", "maley", "malia", "malika", "malinda", "malinowski", "malisa", "malissa", "malka", "mallett", "mallette", "malley", "mallie", "mallon", "mallory", "malloy", "malone", "maloney", "malorie", "maloy", "malvina", "mamie", "mammie", "manchester", "mancilla", "mancini", "mancuso", "manda", "mandel", "mandeville", "mandi", "mandie", "mandy", "maness", "mangan", "mangrum", "mangum", "manie", "manion", "manis", "manley", "mann", "mannino", "manns", "manriquez", "mansell", "mansfield", "manson", "mansour", "mantooth", "manuel", "manuela", "manzanares", "manzano", "manzo", "mapes", "mapp", "marable", "maragaret", "maragret", "maranda", "marasco", "marcano", "marceau", "marcela", "marcelene", "marcelina", "marceline", "marcell", "marcella", "marcelle", "marcene", "marchand", "marchant", "marchelle", "marchetti", "marci", "marcia", "marciano", "marcie", "marcotte", "marcoux", "marcum", "marcus", "marcy", "mardell", "marden", "mardis", "marek", "maren", "margaret", "margareta", "margarete", "margarett", "margaretta", "margarette", "margart", "marge", "margene", "margeret", "margert", "margery", "marget", "margherita", "margie", "margit", "margo", "margorie", "margot", "margret", "margrett", "marguerita", "marguerite", "margurite", "margy", "marhta", "mari", "maria", "mariah", "mariam", "marian", "mariana", "marianela", "mariani", "mariann", "marianna", "marianne", "mariano", "maribel", "maribeth", "marica", "maricela", "maricruz", "marie", "mariel", "mariela", "mariella", "marielle", "marietta", "mariette", "mariko", "marilee", "marilou", "marilu", "marilyn", "marilynn", "marin", "marinda", "marinelli", "marino", "mario", "marion", "maris", "marisa", "mariscal", "marisela", "marisha", "marisol", "marissa", "marita", "maritza", "marivel", "marjorie", "marjory", "markel", "marketta", "markey", "markham", "markita", "markle", "markley", "markowitz", "markus", "marla", "marlana", "marleen", "marlen", "marlena", "marlene", "marler", "marley", "marlin", "marline", "marlo", "marlow", "marlowe", "marlyn", "marlys", "marna", "marni", "marnie", "maroney", "marotta", "marquardt", "marquerite", "marquetta", "marquez", "marquita", "marquitta", "marr", "marra", "marrero", "marriott", "marron", "marroquin", "marrs", "marrufo", "marsha", "marshall", "marston", "marta", "marte", "martell", "marth", "martha", "marti", "martin", "martina", "martindale", "martine", "martineau", "martinelli", "martines", "martinez", "martino", "martinson", "marty", "martz", "marva", "marvella", "marvin", "marvis", "marx", "mary", "marya", "maryalice", "maryam", "maryann", "maryanna", "maryanne", "marybelle", "marybeth", "maryellen", "maryetta", "maryjane", "maryjo", "maryland", "marylee", "marylin", "maryln", "marylou", "marylouise", "marylyn", "marylynn", "maryrose", "masako", "mascarenas", "mashburn", "masse", "massengale", "massey", "massie", "masterson", "mastin", "mata", "mateo", "matha", "matheny", "mather", "matherly", "matherne", "mathers", "mathes", "matheson", "mathew", "mathews", "mathewson", "mathias", "mathieu", "mathilda", "mathilde", "mathis", "mathison", "matias", "matilda", "matilde", "matlock", "matney", "matos", "matson", "matsumoto", "matta", "mattern", "matteson", "matthew", "matthews", "mattie", "mattingly", "mattison", "mattos", "mattox", "mattson", "matz", "maude", "maudie", "mauk", "mauldin", "mauney", "maupin", "maura", "maureen", "maurer", "maurice", "mauricio", "maurine", "maurita", "mauro", "maus", "mavis", "maxey", "maxfield", "maxie", "maxima", "maximina", "maxine", "maxon", "maxson", "maybell", "maybelle", "mayberry", "maye", "mayer", "mayers", "mayes", "mayfield", "mayhew", "mayle", "mayme", "maynard", "mayne", "maynor", "mayo", "mayola", "mayorga", "mayra", "mazie", "mazur", "mazurek", "mazza", "mazzola", "mcabee", "mcadams", "mcadoo", "mcafee", "mcalister", "mcallister", "mcalpin", "mcalpine", "mcanally", "mcandrew", "mcardle", "mcarthur", "mcatee", "mcauley", "mcauliffe", "mcavoy", "mcbee", "mcbrayer", "mcbride", "mcbroom", "mcbryde", "mcburney", "mccabe", "mccafferty", "mccaffrey", "mccain", "mccaleb", "mccall", "mccalla", "mccallister", "mccallum", "mccammon", "mccandless", "mccann", "mccants", "mccarley", "mccarron", "mccarter", "mccarthy", "mccartney", "mccarty", "mccarver", "mccary", "mccaskill", "mccaslin", "mccauley", "mccay", "mcchesney", "mcclain", "mcclanahan", "mcclary", "mcclean", "mccleary", "mcclellan", "mcclelland", "mcclendon", "mcclintock", "mcclinton", "mccloskey", "mccloud", "mcclung", "mcclure", "mcclurg", "mccluskey", "mccollough", "mccollum", "mccomas", "mccomb", "mccombs", "mcconnell", "mccool", "mccord", "mccorkle", "mccormack", "mccormick", "mccourt", "mccowan", "mccown", "mccoy", "mccracken", "mccrae", "mccrary", "mccraw", "mccray", "mccrea", "mccready", "mccreary", "mccrory", "mccubbin", "mccue", "mcculley", "mcculloch", "mccullough", "mccullum", "mccully", "mccune", "mccurdy", "mccurry", "mccusker", "mccutchen", "mccutcheon", "mcdade", "mcdaniel", "mcdaniels", "mcdavid", "mcdermott", "mcdevitt", "mcdonald", "mcdonnell", "mcdonough", "mcdougal", "mcdougald", "mcdougall", "mcdowell", "mcduffie", "mceachern", "mcelhaney", "mcelrath", "mcelroy", "mcentire", "mcevoy", "mcewen", "mcfadden", "mcfall", "mcfarland", "mcfarlane", "mcfarlin", "mcgaha", "mcgann", "mcgarry", "mcgary", "mcgee", "mcgehee", "mcghee", "mcgill", "mcginley", "mcginn", "mcginnis", "mcginty", "mcglone", "mcglothlin", "mcglynn", "mcgough", "mcgovern", "mcgowan", "mcgowen", "mcgrath", "mcgraw", "mcgregor", "mcgrew", "mcgriff", "mcgruder", "mcguigan", "mcguinness", "mcguire", "mchale", "mchenry", "mchugh", "mcilwain", "mcinerney", "mcinnis", "mcintire", "mcintosh", "mcintyre", "mciver", "mckamey", "mckay", "mckean", "mckee", "mckeehan", "mckeever", "mckellar", "mckelvey", "mckenna", "mckenney", "mckenzie", "mckeon", "mckeown", "mckibben", "mckie", "mckim", "mckinley", "mckinney", "mckinnie", "mckinnon", "mckinzie", "mckissick", "mcknight", "mckown", "mckoy", "mclain", "mclane", "mclaren", "mclaughlin", "mclaurin", "mclean", "mclellan", "mclemore", "mclendon", "mcleod", "mclin", "mcloughlin", "mcmahan", "mcmahon", "mcmann", "mcmanus", "mcmaster", "mcmasters", "mcmichael", "mcmillan", "mcmillen", "mcmillian", "mcmillin", "mcmillon", "mcminn", "mcmorris", "mcmullen", "mcmullin", "mcmurray", "mcmurry", "mcnabb", "mcnair", "mcnally", "mcnamara", "mcnamee", "mcnary", "mcneal", "mcneely", "mcneese", "mcneil", "mcneill", "mcnew", "mcniel", "mcnulty", "mcnutt", "mcpeak", "mcphail", "mcphee", "mcpherson", "mcquade", "mcqueen", "mcquiston", "mcrae", "mcreynolds", "mcroberts", "mcshane", "mcswain", "mcsweeney", "mcvay", "mcvey", "mcwhirter", "mcwhorter", "mcwilliams", "meacham", "meade", "meader", "meador", "meadors", "meagan", "meaghan", "meagher", "mears", "mebane", "mecham", "mechelle", "meda", "medeiros", "medellin", "medford", "medlin", "medlock", "medrano", "mee", "meehan", "meekins", "meeks", "mefford", "meg", "megan", "meggan", "meghan", "meghann", "mehta", "mei", "meier", "meissner", "mejia", "mejias", "melaine", "melancon", "melani", "melania", "melanie", "melanson", "melany", "melba", "melcher", "melchor", "melda", "mele", "melendez", "melgar", "melia", "melida", "melina", "melinda", "melisa", "melissa", "melissia", "melita", "mellie", "mellisa", "mellissa", "mello", "mellon", "mellott", "melnick", "melo", "melodee", "melodi", "melodie", "melonie", "melony", "melson", "melva", "melville", "melvin", "melvina", "melynda", "mena", "menard", "menchaca", "mendenhall", "mendes", "mendez", "mendiola", "mendoza", "mendy", "menefee", "menendez", "meneses", "menjivar", "menke", "meraz", "mercado", "mercedes", "mercedez", "mercier", "mercurio", "meredith", "meri", "merida", "merideth", "meridith", "merilyn", "merissa", "merkel", "merkle", "merle", "merlene", "merlyn", "merna", "merrell", "merri", "merrick", "merrie", "merrifield", "merrilee", "merrill", "merriman", "merritt", "merriweather", "mertens", "mertie", "mertz", "merwin", "meryl", "messer", "messick", "messina", "messinger", "messner", "mestas", "metcalf", "metcalfe", "metts", "metz", "metzger", "metzler", "meunier", "meyer", "meyers", "meza", "mia", "mica", "micaela", "micah", "miceli", "micha", "michael", "michaela", "michaele", "michaelis", "michaels", "michaelson", "michal", "michalak", "michalski", "michaud", "micheal", "michel", "michele", "michelina", "micheline", "michell", "michelle", "michels", "michiko", "mickel", "mickelson", "mickens", "mickey", "micki", "mickie", "middaugh", "middlebrooks", "middleton", "midgett", "midkiff", "miele", "mielke", "mier", "miesha", "migdalia", "mignon", "miguel", "miguelina", "mika", "mikaela", "mike", "mikell", "mikesell", "miki", "mikki", "mila", "milagro", "milagros", "milam", "milan", "milano", "milburn", "milda", "mildred", "miley", "milford", "milissa", "millan", "millar", "millard", "millen", "millett", "millican", "millicent", "millie", "milligan", "milliken", "millner", "millsap", "millsaps", "milly", "milne", "milner", "milton", "mimi", "mims", "minard", "mincey", "minda", "mindi", "mindy", "minerva", "ming", "mingo", "minh", "minna", "minnich", "minnick", "minnie", "minta", "minton", "mintz", "mira", "miramontes", "miranda", "mireille", "mireles", "mirella", "mireya", "miriam", "mirian", "mirna", "mirta", "mirtha", "misha", "miss", "missy", "misti", "mistie", "mitchel", "mitchell", "mitchem", "mitchum", "mitsue", "mitsuko", "mittie", "mitzi", "mitzie", "mixon", "miyamoto", "miyoko", "mize", "mizell", "moberg", "mobley", "modesta", "modica", "modlin", "moeller", "moen", "moffatt", "moffett", "moffitt", "mohamed", "mohammed", "mohan", "mohler", "moira", "mojica", "molina", "moller", "mollie", "molloy", "molly", "molnar", "mona", "monaco", "monaghan", "monahan", "moncada", "moncrief", "monday", "mondragon", "monet", "monge", "monica", "monika", "monique", "moniz", "monnie", "monroe", "monroy", "monserrate", "monson", "montague", "montalvo", "montana", "montanez", "montano", "monteiro", "montelongo", "montemayor", "montenegro", "montez", "montgomery", "monti", "montiel", "montoya", "monzon", "mooney", "mooneyham", "moore", "moorefield", "moorehead", "moorer", "moores", "moorhead", "mora", "morabito", "moralez", "moran", "moreau", "morehead", "morehouse", "moreira", "moreland", "morell", "morelli", "morelock", "moreno", "morey", "morgan", "mori", "moriah", "moriarty", "morin", "moritz", "morley", "morman", "morrell", "morrill", "morrison", "morrissette", "morrissey", "mortensen", "mortenson", "mortimer", "morton", "mosby", "moseley", "mosely", "moser", "mosher", "mosier", "moskowitz", "mosley", "mosqueda", "mota", "moten", "moton", "motta", "moua", "moulton", "moultrie", "mowery", "mowry", "moxley", "moye", "moyer", "moyers", "moynihan", "mozell", "mozella", "mozelle", "mudd", "mueller", "muhammad", "mui", "mulcahy", "mulder", "muldoon", "muldrow", "mulholland", "mulkey", "mullen", "mullens", "mullin", "mullinax", "mullins", "mullis", "mulvaney", "mulvey", "mumford", "muncy", "munday", "mundell", "mundy", "munford", "munger", "munguia", "muniz", "munn", "munos", "munoz", "munro", "munroe", "munsey", "munson", "muoi", "murchison", "murdoch", "murdock", "murguia", "muriel", "murillo", "muro", "murphey", "murphree", "murr", "murrell", "musgrave", "musgrove", "musick", "musselman", "musser", "musso", "muth", "myatt", "myer", "myers", "myesha", "myhre", "myles", "myong", "myra", "myriam", "myrick", "myrl", "myrle", "myrna", "myrta", "myrtice", "myrtie", "myrtis", "myrtle", "myung", "nabors", "nadeau", "nadene", "nader", "nadia", "nadine", "nadler", "nagel", "nagle", "nagy", "naida", "najera", "nakamura", "nakano", "nakesha", "nakia", "nakisha", "nakita", "nall", "nalley", "nancee", "nancey", "nanci", "nancie", "nancy", "nanette", "nannette", "nannie", "naoma", "naomi", "napier", "napoli", "napolitano", "naquin", "naranjo", "narcisa", "nardi", "nardone", "narvaez", "nash", "nason", "natacha", "natale", "natalia", "natalie", "natalya", "natasha", "natashia", "nate", "nathalie", "nathan", "natisha", "natividad", "natosha", "naughton", "naumann", "nava", "navarra", "navarrete", "navarrette", "navarro", "naylor", "nazario", "neace", "neale", "nealy", "neary", "necaise", "necole", "neda", "nedra", "needham", "neel", "neeley", "neely", "neff", "negrete", "negron", "neida", "neil", "neill", "neilson", "nelda", "nelia", "nelida", "nell", "nella", "nelle", "nellie", "nelly", "nelms", "nelsen", "nemeth", "nena", "nenita", "neoma", "neomi", "nereida", "neri", "nerissa", "nero", "nery", "nesbit", "nesbitt", "nesmith", "nestor", "neta", "nettie", "neu", "neubauer", "neuman", "neumann", "neva", "nevada", "nevarez", "neville", "nevins", "newberry", "newby", "newcomb", "newhouse", "newkirk", "newland", "newlin", "newman", "newport", "newsom", "newsome", "newson", "ney", "nez", "ngan", "ngo", "ngoc", "nguyen", "nguyet", "nichelle", "nichol", "nicholas", "nichole", "nicholle", "nicholls", "nichols", "nicholson", "nickell", "nickelson", "nickens", "nickerson", "nicki", "nickie", "nickles", "nickole", "nicky", "nicol", "nicola", "nicolas", "nicolasa", "nicole", "nicolette", "nicolle", "nida", "nidia", "nielsen", "nielson", "nieman", "niemann", "niemeyer", "niemi", "niesha", "nieto", "nieves", "nightingale", "nigro", "niki", "nikia", "nikita", "nikki", "nikole", "nila", "nilda", "niles", "nilsa", "nilsen", "nilsson", "nimmons", "nina", "ninfa", "nino", "nisha", "nissen", "nita", "nixon", "noah", "nobuko", "noe", "noel", "noelia", "noella", "noelle", "noemi", "nohemi", "nola", "nolan", "noland", "nolasco", "nolen", "noles", "nolin", "nolte", "noma", "nona", "noonan", "nora", "norah", "nord", "nordstrom", "noreen", "norene", "norfleet", "noriega", "noriko", "norine", "norma", "norman", "normand", "norris", "norsworthy", "northcutt", "northrop", "northrup", "norton", "norvell", "norwood", "nottingham", "novak", "novotny", "nowak", "nowell", "nowicki", "nowlin", "nubia", "nugent", "nunes", "nunez", "nunley", "nunn", "nunnally", "nuno", "nuss", "nussbaum", "nutt", "nyberg", "nydia", "nygaard", "nyla", "nystrom", "oakes", "oakley", "oates", "obannon", "obdulia", "ober", "oberg", "obregon", "obrian", "obrien", "obryan", "obryant", "ocampo", "ocasio", "ochoa", "ocie", "oconnell", "oconner", "oconnor", "octavia", "oda", "odaniel", "oday", "odelia", "odell", "oden", "odessa", "odette", "odilia", "odle", "odom", "odonnell", "odum", "ofelia", "offutt", "ogburn", "ogden", "oglesby", "ogletree", "ogrady", "ohalloran", "ohara", "ohare", "ojeda", "okeefe", "okelley", "olander", "oldham", "oleary", "olene", "oleson", "oleta", "olevia", "olga", "olguin", "olimpia", "olin", "olinda", "olinger", "oliva", "olivares", "olivarez", "olivas", "oliveira", "olivera", "olivia", "olivier", "olivo", "oller", "ollie", "ollis", "olmos", "olmstead", "olney", "oloughlin", "olsen", "olson", "olszewski", "olvera", "olympia", "omalley", "omar", "omara", "omeara", "oneal", "oneida", "oneil", "oneill", "oney", "ong", "onie", "onita", "ontiveros", "ophelia", "oquendo", "oquinn", "oralee", "oralia", "orcutt", "ordonez", "ordway", "oreilly", "orellana", "oretha", "orlando", "orman", "ormsby", "orndorff", "ornelas", "orosco", "orourke", "orozco", "orpha", "orr", "orta", "ortega", "ortego", "orth", "ortiz", "orton", "osborn", "osborne", "osburn", "oscar", "osgood", "oshaughnessy", "oshea", "oshiro", "osman", "osorio", "ossie", "osteen", "oster", "osterman", "ostrander", "ostrom", "ostrowski", "osullivan", "osuna", "oswald", "oswalt", "otelia", "otero", "otey", "otha", "otilia", "otis", "otoole", "ott", "otte", "otten", "ottinger", "oubre", "ouellette", "ouida", "ousley", "ovalle", "overcash", "overstreet", "overton", "overturf", "owen", "owens", "owensby", "owings", "owsley", "oxendine", "oxford", "oxley", "oyler", "ozell", "ozella", "ozie", "ozuna", "pabon", "pacheco", "packard", "padgett", "padilla", "padron", "paez", "pagano", "pagel", "paige", "paine", "paiz", "pak", "palacio", "palacios", "palermo", "palladino", "palma", "palmieri", "palmira", "palmore", "palomo", "palumbo", "pam", "pamala", "pamela", "pamelia", "pamella", "pamila", "pamula", "panek", "paniagua", "pankey", "pannell", "pantoja", "paola", "pappas", "paquette", "paquin", "parada", "paradis", "pardo", "pardue", "paredes", "parenteau", "parham", "paris", "parisi", "parke", "parkhurst", "parkinson", "parkman", "parmenter", "parmer", "parnell", "parra", "parrett", "parris", "parrish", "parrott", "partain", "partee", "parthenia", "particia", "partida", "partin", "partlow", "paschall", "pascoe", "pasley", "pasquale", "passmore", "pastore", "patel", "paterson", "patino", "patnode", "patria", "patrica", "patrice", "patricia", "patrick", "patrina", "patsy", "patterson", "patti", "pattie", "pattison", "patton", "patty", "paugh", "paul", "paula", "paulene", "pauletta", "paulette", "pauley", "paulin", "paulina", "pauline", "paulino", "paulita", "paulk", "paulsen", "paulson", "paulus", "paxton", "payne", "paynter", "payton", "paz", "peabody", "peachey", "peake", "pearcy", "pearle", "pearlene", "pearlie", "pearline", "pearman", "pearsall", "pearson", "peaslee", "peay", "peckham", "pecoraro", "peden", "pedersen", "pederson", "pedigo", "pedraza", "pedroza", "peebles", "peele", "peeples", "peggie", "peggy", "pegram", "pegues", "pei", "peiffer", "pelayo", "pelfrey", "pelkey", "pellegrini", "pellegrino", "pellerin", "pelletier", "peloquin", "peltier", "pelton", "peluso", "pemberton", "pena", "pender", "pendergast", "pendergrass", "pendleton", "pendley", "penelope", "penick", "penland", "penley", "penn", "pennell", "penney", "penni", "pennie", "pennington", "penrod", "penton", "pepe", "pepin", "perales", "peralta", "peraza", "percy", "perdomo", "perea", "peres", "pereyra", "perez", "perla", "perlman", "permenter", "pernell", "perrault", "perreault", "perreira", "perri", "perrin", "perrine", "perrone", "perrotta", "perry", "perryman", "persaud", "persinger", "pesce", "pete", "peter", "peterkin", "peterman", "petersen", "peterson", "petra", "petree", "petrie", "petrillo", "petrina", "petro", "petronila", "petry", "pettaway", "petterson", "pettiford", "pettigrew", "pettis", "pettit", "pettus", "pettway", "peyton", "pfaff", "pfeffer", "pfeifer", "pfeiffer", "pfister", "pham", "phan", "pharr", "phebe", "phelan", "phelps", "phifer", "philbrick", "philip", "philips", "phillip", "phillips", "phillis", "philomena", "philpot", "philpott", "phinney", "phipps", "phoebe", "phung", "phuong", "phylicia", "phylis", "phyliss", "phyllis", "piatt", "picard", "pichardo", "pickard", "pickel", "pickens", "pickering", "pickett", "piedad", "pieper", "piercy", "pierre", "pierson", "pifer", "pigg", "pilkington", "pimental", "pimentel", "pina", "pinard", "pinckney", "pineda", "pinero", "pinkard", "pinkerton", "pinkham", "pinkney", "pinkston", "pino", "pinon", "pinson", "piotrowski", "pires", "pirtle", "pisano", "pitchford", "pitre", "pitt", "pittman", "pitts", "pitzer", "pizarro", "placencia", "plante", "plascencia", "platt", "plemmons", "pless", "plotkin", "plott", "plourde", "plumlee", "plumley", "plummer", "plunkett", "plyler", "poche", "poe", "poff", "pogue", "pohl", "poindexter", "poirier", "poisson", "pok", "polanco", "poland", "polito", "polley", "polly", "polson", "polston", "pomerleau", "pomeroy", "poole", "pooler", "poore", "popham", "popovich", "popp", "porras", "porsche", "porsha", "porterfield", "portia", "portillo", "portis", "posner", "poston", "poteat", "poteet", "poulin", "pouliot", "poulos", "poulson", "powe", "powell", "poynter", "prado", "prather", "preciado", "preece", "prendergast", "prentiss", "prescott", "presley", "presnell", "pressley", "preston", "prevost", "prewitt", "prichard", "pricilla", "prickett", "priddy", "pridemore", "pridgen", "priester", "prieto", "primm", "prindle", "prine", "pringle", "priscila", "priscilla", "pritchard", "pritchett", "privett", "probst", "proffitt", "propst", "prosser", "proulx", "prouty", "provencher", "providencia", "pruett", "pruitt", "pryor", "puckett", "puente", "puentes", "puga", "pugliese", "puleo", "pulido", "pullen", "pulliam", "pumphrey", "pura", "purcell", "purdy", "purifoy", "purkey", "purnell", "pursley", "purvis", "puryear", "putman", "putnam", "pyatt", "pyle", "pyles", "qiana", "quach", "quackenbush", "quade", "qualls", "quan", "quattlebaum", "queenie", "quesada", "quesenberry", "quevedo", "quezada", "quiana", "quigley", "quijano", "quiles", "quillen", "quimby", "quinlan", "quinn", "quinonez", "quintana", "quintanilla", "quintero", "quinton", "quiroz", "quyen", "raab", "rabb", "rabe", "raber", "rabideau", "rabinowitz", "rabon", "raby", "rachael", "rachal", "racheal", "rachel", "rachele", "rachell", "rachelle", "racine", "rackley", "racquel", "radcliff", "radcliffe", "rademacher", "rader", "radford", "radke", "radtke", "rae", "raeann", "rael", "raelene", "rafaela", "rafferty", "ragan", "ragin", "ragland", "ragsdale", "raguel", "rahman", "rahn", "railey", "raina", "rainbolt", "rainer", "raines", "rainey", "rainwater", "raisa", "raleigh", "raley", "ralph", "ralston", "ramage", "rambo", "ramer", "rameriz", "ramey", "ramires", "ramirez", "ramon", "ramona", "ramonita", "ramos", "ramsay", "ramsdell", "ramsey", "ranae", "rancourt", "randa", "randall", "randazzo", "randee", "randel", "randell", "randi", "randle", "randolph", "randy", "ranee", "raney", "rangel", "rankin", "rankins", "ransdell", "ranson", "rao", "raphael", "raposa", "rapp", "raquel", "rasberry", "rascon", "rasheeda", "rashid", "rashida", "rasmussen", "ratchford", "ratcliff", "ratcliffe", "rathbone", "rathbun", "ratliff", "rau", "rauch", "rausch", "rawlings", "rawlins", "rawls", "rawson", "raya", "rayborn", "rayburn", "raye", "rayfield", "rayford", "raylene", "raymer", "raymond", "raymonde", "raymund", "rayna", "rayner", "raynor", "razo", "rea", "reagan", "reanna", "reardon", "reatha", "reavis", "reba", "rebbeca", "rebbecca", "rebeca", "rebecca", "rebecka", "rebekah", "reber", "reda", "reddick", "redford", "redman", "redmon", "redmond", "redwine", "reece", "reena", "reese", "refugia", "refugio", "regalado", "regan", "regena", "regenia", "regina", "regine", "reginia", "rehm", "reich", "reichard", "reichel", "reichert", "reid", "reiff", "reiko", "reilly", "reimer", "reimers", "reina", "reiner", "reinert", "reinhardt", "reinhart", "reinhold", "reinke", "reiser", "reiss", "reita", "reitz", "rema", "rembert", "remedios", "remillard", "remington", "remona", "remy", "rena", "renae", "renata", "renate", "renaud", "renay", "renda", "rendon", "rene", "renea", "reneau", "renee", "renetta", "renfro", "renfroe", "renfrow", "renita", "renn", "renna", "renner", "rennie", "reno", "renshaw", "renteria", "renz", "resendez", "resnick", "ressie", "ressler", "reta", "retha", "retta", "reuter", "reva", "revell", "revis", "rey", "reyes", "reyna", "reynalda", "reynolds", "reynoso", "rhea", "rheba", "rhee", "rhiannon", "rhinehart", "rhoades", "rhoads", "rhoda", "rhoden", "rhodes", "rhona", "rhonda", "rhyne", "ribeiro", "ricarda", "ricci", "ricciardi", "riccio", "richard", "richards", "richardson", "richburg", "richelle", "richerson", "richert", "richey", "richie", "richman", "richmond", "rickard", "rickert", "ricketts", "ricki", "rickie", "rickman", "rico", "riddell", "riddick", "ridenhour", "ridenour", "rideout", "ridgway", "ridley", "riedel", "rieger", "riehl", "riendeau", "ries", "riffe", "rigby", "rigdon", "riggins", "riggle", "rigney", "rigsby", "riker", "rikki", "riley", "rimmer", "rinaldi", "rincon", "rinehart", "ringler", "rinker", "riojas", "riordan", "rios", "rioux", "ripley", "rippy", "risa", "risinger", "risley", "risner", "ritchey", "ritchie", "rittenhouse", "ritz", "rivard", "rivera", "rivero", "rivka", "rizo", "rizzo", "roa", "roane", "roark", "robb", "robbie", "robbin", "robbins", "robbyn", "robena", "roberge", "roberson", "robert", "roberta", "roberto", "roberts", "robertson", "robeson", "robey", "robichaud", "robichaux", "robinett", "robinette", "robinson", "robison", "robledo", "robson", "roby", "robyn", "rocco", "rocha", "roche", "rochel", "rochell", "rochelle", "rochester", "rocio", "rockett", "rockwell", "rockwood", "rodarte", "rodas", "roddy", "roden", "roderick", "rodgers", "rodney", "rodrigez", "rodrigue", "rodrigues", "rodriguez", "rodriques", "rodriquez", "roeder", "roemer", "roesch", "roesler", "rogan", "roger", "rogers", "rohde", "rohr", "rohrer", "rojas", "rojo", "roland", "rolanda", "rolande", "roldan", "rolf", "rolfe", "rolle", "rollins", "rollo", "rolon", "romana", "romano", "rome", "romelia", "romeo", "romero", "romine", "romo", "romona", "rona", "ronald", "ronda", "roney", "roni", "ronna", "ronni", "ronnie", "rooker", "rooney", "rory", "rosa", "rosado", "rosalba", "rosalee", "rosales", "rosalia", "rosalie", "rosalina", "rosalind", "rosalinda", "rosaline", "rosalva", "rosalyn", "rosamaria", "rosamond", "rosana", "rosann", "rosanna", "rosanne", "rosaria", "rosario", "rosas", "rosaura", "roscoe", "roseann", "roseanna", "roseanne", "roseberry", "roseboro", "roselee", "roselia", "roseline", "rosella", "roselle", "roselyn", "roseman", "rosemarie", "rosemond", "rosen", "rosena", "rosenbaum", "rosenberg", "rosenberger", "rosenberry", "rosenblatt", "rosenblum", "rosenda", "rosenfeld", "rosenthal", "rosetta", "rosette", "rosia", "rosie", "rosina", "rosio", "rosita", "roslyn", "ross", "rossana", "rossi", "rossie", "rossiter", "rossman", "rost", "roth", "rothman", "rothrock", "rothstein", "rothwell", "rotz", "roundtree", "roundy", "rountree", "rourke", "roush", "rousseau", "roussel", "rowden", "rowe", "rowell", "rowena", "rowland", "rowles", "rowlett", "rowley", "roxana", "roxane", "roxann", "roxanna", "roxanne", "roxie", "roy", "roybal", "royce", "royer", "royston", "rozanne", "rozella", "rozier", "ruano", "rubalcava", "ruben", "rubenstein", "rubi", "rubie", "rubin", "rubino", "rubio", "rubye", "ruch", "rucker", "ruckman", "rudnick", "rudolph", "rudy", "rueda", "ruelas", "ruffner", "rufina", "rugg", "ruggiero", "ruggles", "ruhl", "ruiz", "rummel", "rumph", "rumsey", "rundell", "runge", "runion", "runyan", "runyon", "rupe", "rupert", "rupp", "ruppert", "rusch", "rushton", "russ", "russell", "russo", "rutan", "ruth", "rutha", "ruthann", "ruthanne", "ruthe", "ruthie", "rutkowski", "rutland", "rutledge", "ruvalcaba", "ryan", "ryann", "ryder", "saad", "saari", "saavedra", "sabina", "sabine", "sabo", "sabol", "sabra", "sabrina", "sacco", "sacha", "sachiko", "sachs", "sackett", "sadie", "sadler", "sadowski", "sadye", "saechao", "saenz", "saez", "safford", "saito", "saiz", "sala", "salas", "salazar", "salcedo", "salcido", "saldana", "saldivar", "saleh", "salem", "salena", "salerno", "salgado", "salisbury", "salley", "sallie", "sally", "salo", "salome", "salomon", "saltzman", "salvador", "salvatore", "salyer", "salyers", "salzman", "sam", "samaniego", "samantha", "samara", "samatha", "samella", "samira", "sammie", "sammons", "sammy", "samons", "samora", "sampson", "sams", "samson", "samuel", "samuels", "samuelson", "sana", "sanabria", "sanborn", "sanches", "sanchez", "sanda", "sandberg", "sandee", "sanderlin", "sanderson", "sandi", "sandidge", "sandie", "sandifer", "sandler", "sandlin", "sandoval", "sandra", "sandstrom", "sandusky", "sanford", "sanjuana", "sanjuanita", "sankey", "sanmiguel", "sanora", "sansom", "sansone", "santa", "santacruz", "santamaria", "santana", "santiago", "santillan", "santina", "santo", "santoro", "santos", "santoyo", "sapp", "sappington", "sara", "sarabia", "sarah", "sarai", "saran", "sargeant", "sargent", "sari", "sarina", "sarita", "sarmiento", "sartain", "sartin", "sarver", "sasaki", "sasha", "sasser", "sather", "sato", "satterfield", "satterwhite", "sattler", "saturnina", "sau", "sauceda", "saucedo", "sauer", "saunders", "saundra", "sauter", "savannah", "saville", "savino", "savoie", "sawicki", "saxon", "saxton", "sayles", "saylor", "sayre", "scaife", "scalf", "scalise", "scanlan", "scanlon", "scarberry", "scarborough", "scarbrough", "scarlett", "schaaf", "schaal", "schade", "schaefer", "schaeffer", "schafer", "schaffer", "schaffner", "schall", "schaller", "scharf", "schatz", "schaub", "schauer", "scheel", "scheer", "scheffler", "schell", "scheller", "schenck", "schenk", "scherer", "schermerhorn", "schexnayder", "schick", "schiff", "schiffman", "schindler", "schlegel", "schleicher", "schlosser", "schlueter", "schmid", "schmidt", "schmit", "schmitt", "schmitz", "schneider", "schock", "schoen", "schoenfeld", "schofield", "scholl", "scholz", "schoonmaker", "schoonover", "schott", "schrader", "schram", "schramm", "schreck", "schreiber", "schreiner", "schrimsher", "schrock", "schroder", "schroeder", "schubert", "schuck", "schuh", "schuler", "schuller", "schulman", "schulte", "schultz", "schulz", "schulze", "schumacher", "schuman", "schumann", "schuster", "schutt", "schutz", "schuyler", "schwab", "schwartz", "schwarz", "schweitzer", "scofield", "scoggins", "scott", "scottie", "scoville", "scribner", "scrivner", "scroggins", "scruggs", "scully", "seabolt", "seabrook", "seagraves", "seale", "sealey", "sealy", "sean", "searcy", "searle", "searles", "seaton", "seaver", "seavey", "seawright", "seay", "sebastian", "sebrina", "sechrist", "seda", "sedillo", "seeger", "seeley", "seema", "segal", "segarra", "seger", "segovia", "segura", "seibel", "seiber", "seibert", "seidel", "seifert", "seiler", "seitz", "selby", "selena", "selene", "selina", "sellars", "selma", "selman", "sena", "senaida", "seng", "senn", "senter", "sepulveda", "serafina", "serena", "sergent", "serina", "serita", "serna", "serrano", "serrato", "sessoms", "setser", "setsuko", "setzer", "severson", "sevier", "sevigny", "sevilla", "seward", "sewell", "seymore", "seymour", "shackelford", "shackleford", "shae", "shafer", "shaffer", "shaina", "shakia", "shakira", "shakita", "shala", "shalanda", "shalon", "shalonda", "shamblin", "shameka", "shamika", "shana", "shanae", "shanahan", "shanda", "shandi", "shandra", "shane", "shaneka", "shanel", "shanell", "shanelle", "shaner", "shani", "shanice", "shanika", "shaniqua", "shanita", "shankle", "shanklin", "shanna", "shannan", "shannon", "shanon", "shanta", "shantae", "shantay", "shante", "shantel", "shantell", "shantelle", "shanti", "shapiro", "shaquana", "shaquita", "shara", "sharan", "sharda", "sharee", "sharell", "sharen", "shari", "sharice", "sharie", "sharika", "sharilyn", "sharita", "sharkey", "sharla", "sharleen", "sharlene", "sharma", "sharmaine", "sharolyn", "sharon", "sharonda", "sharpe", "sharri", "sharron", "sharyl", "sharyn", "shasta", "shattuck", "shaughnessy", "shaun", "shauna", "shaunda", "shaunna", "shaunta", "shaunte", "shavon", "shavonda", "shavonne", "shawana", "shawanda", "shawanna", "shawn", "shawna", "shawnda", "shawnee", "shawnna", "shawnta", "shay", "shayla", "shayna", "shayne", "shea", "shealy", "shearin", "sheba", "shedd", "sheehan", "sheehy", "sheena", "sheffield", "sheila", "sheilah", "shela", "shelba", "shelby", "sheldon", "shelia", "shella", "shelley", "shelli", "shellie", "shelly", "shelton", "shemeka", "shemika", "shena", "shenika", "shenita", "shenk", "shenna", "shepard", "shephard", "sheppard", "shera", "sheree", "sherell", "sherer", "sheri", "sherice", "sheridan", "sherie", "sherika", "sherill", "sherilyn", "sherise", "sherita", "sherlene", "sherley", "sherly", "sherlyn", "sherman", "sheron", "sherrell", "sherrer", "sherri", "sherrie", "sherril", "sherrill", "sherrod", "sherron", "sherryl", "sherwin", "sherwood", "shery", "sheryl", "sheryll", "shetler", "shick", "shiela", "shifflett", "shiflett", "shila", "shiloh", "shinn", "shipe", "shipley", "shipp", "shippy", "shira", "shirely", "shirey", "shirl", "shirlee", "shirleen", "shirlene", "shirley", "shirly", "shively", "shizue", "shizuko", "shockey", "shockley", "shoemake", "shoffner", "shona", "shonda", "shondra", "shonna", "shonta", "shoop", "shortridge", "shoshana", "shotwell", "shoup", "shouse", "showalter", "shrader", "shreve", "shropshire", "shroyer", "shrum", "shu", "shubert", "shuler", "shull", "shults", "shultz", "shumaker", "shuman", "shumate", "shumpert", "shumway", "shupe", "shuster", "shutt", "shyla", "sibert", "sibley", "sibyl", "sickler", "sidney", "siebert", "siegel", "siegfried", "sievers", "sifuentes", "sigler", "sigman", "sigmon", "signe", "sigrid", "sikora", "silas", "silva", "silvana", "silveira", "silverman", "silverstein", "silvey", "silvia", "simard", "simas", "simmon", "simmons", "simms", "simon", "simona", "simonds", "simone", "simoneau", "simoneaux", "simonne", "simons", "simonson", "simonton", "simpkins", "simpson", "sinclair", "sindy", "singh", "singletary", "singley", "siobhan", "sirena", "sirois", "sisco", "sisk", "sisneros", "sisson", "sistrunk", "sitton", "siu", "sixta", "sizemore", "skaggs", "skeen", "skeens", "skelton", "skidmore", "skiles", "skye", "slagle", "slaton", "slavin", "slayton", "sloat", "slocum", "slone", "slover", "slusher", "slyvia", "smalley", "smallwood", "smedley", "smelser", "smitherman", "smithson", "smtih", "smyth", "smythe", "snapp", "snavely", "snodgrass", "snowden", "snyder", "soares", "sobel", "socorro", "sofia", "sohn", "soila", "soileau", "sokol", "solange", "solberg", "soledad", "solis", "soliz", "soloman", "solomon", "solorio", "solorzano", "somer", "somers", "somerville", "sommer", "sommers", "sommerville", "sona", "sondra", "songer", "sonia", "sonja", "sonnier", "sonya", "soper", "sophia", "sophie", "sophy", "soraya", "sorensen", "sorenson", "soria", "soriano", "sorrell", "sorrells", "sosa", "sotelo", "soto", "soucy", "soukup", "soule", "sousa", "southard", "southerland", "southwick", "southworth", "souza", "sowder", "sowell", "spalding", "spann", "spano", "sparkman", "spaulding", "specht", "spector", "speight", "spellman", "sperry", "spiegel", "spielman", "spiers", "spiker", "spillman", "spinelli", "spitler", "spitzer", "spivey", "spooner", "spradlin", "spradling", "spraggins", "sprague", "spratt", "sprayberry", "spriggs", "sproul", "sprouse", "spruill", "spurgeon", "spurlock", "staats", "stacee", "stacey", "staci", "stacia", "stacie", "stackhouse", "stacy", "stadler", "stafford", "stagg", "staggs", "stagner", "stahl", "staley", "stallard", "stallworth", "stalnaker", "stambaugh", "stamey", "stamm", "stancil", "standifer", "standley", "standridge", "stanfield", "stanfill", "stanford", "stanger", "stanley", "stansberry", "stansbury", "stanton", "stapleton", "starkey", "starla", "starnes", "starr", "stasia", "staten", "staton", "staub", "stauffer", "stclair", "stcyr", "steadman", "stearns", "stebbins", "steck", "stedman", "steele", "steelman", "stefani", "stefania", "stefanie", "stefany", "steffanie", "steffen", "steffens", "stegall", "steger", "steib", "steiger", "steinbach", "steinberg", "steiner", "steinke", "steinman", "steinmetz", "stella", "stelly", "stenson", "stepanie", "stephaine", "stephan", "stephane", "stephani", "stephania", "stephanie", "stephany", "stephen", "stephenie", "stephens", "stephenson", "stephine", "stephnie", "stepp", "sternberg", "stetson", "steven", "stevenson", "steverson", "stevie", "stewart", "stgermain", "sthilaire", "stickney", "stidham", "stier", "stiffler", "stillman", "stillwell", "stiltner", "stilwell", "stine", "stines", "stinnett", "stinson", "stites", "stith", "stitt", "stjohn", "stlaurent", "stlouis", "stockdale", "stockton", "stockwell", "stoddard", "stoffel", "stogner", "stoll", "stollings", "stoltz", "stoltzfus", "stonge", "stott", "stotts", "stouffer", "stovall", "stowe", "stowell", "stpeter", "stpierre", "strachan", "strader", "strahan", "straka", "straley", "strasser", "stratton", "straub", "strauss", "strawn", "strawser", "streeter", "streit", "stribling", "stricker", "strickland", "strickler", "stricklin", "stringfellow", "strobel", "stroh", "strom", "stroman", "stromberg", "strother", "strouse", "struble", "strunk", "stuart", "stubblefield", "stuckey", "studer", "stultz", "stumpf", "sturdivant", "sturges", "sturgill", "sturgis", "sturm", "sturtevant", "stutz", "stutzman", "suanne", "suarez", "suazo", "sublett", "sudduth", "sudie", "sueann", "suellen", "suggs", "suh", "suiter", "suk", "sulema", "sullins", "sullivan", "sumiko", "summerlin", "summerville", "sumner", "sumrall", "sundberg", "sunderland", "sunni", "surber", "surratt", "susan", "susana", "susann", "susanna", "susannah", "susanne", "susie", "sussman", "susy", "suter", "sutherland", "sutphin", "sutter", "sutton", "suzan", "suzann", "suzanna", "suzanne", "suzette", "suzi", "suzie", "suzuki", "suzy", "svetlana", "svitlana", "svoboda", "swafford", "swaim", "swaney", "swanger", "swann", "swanner", "swanson", "swarey", "swartz", "swearingen", "sweatt", "sweitzer", "swenson", "swett", "swick", "swiger", "swindell", "swinford", "swinney", "swinson", "swint", "swinton", "switzer", "swope", "sybil", "syble", "sydney", "sydnor", "sylvester", "sylvia", "sylvie", "symons", "synder", "synthia", "syreeta", "szabo", "szymanski", "tabatha", "tabb", "taber", "tabetha", "tabitha", "tackett", "tafoya", "taft", "taggart", "tague", "taina", "taisha", "tajuana", "takahashi", "takako", "takisha", "talamantes", "talavera", "talbert", "talbott", "talia", "taliaferro", "talisha", "talitha", "talkington", "tallent", "talley", "tallman", "talton", "tamala", "tamar", "tamara", "tamatha", "tamayo", "tambra", "tameika", "tameka", "tamekia", "tamela", "tamera", "tamesha", "tamez", "tami", "tamica", "tamie", "tamika", "tamiko", "tamisha", "tammara", "tammera", "tammi", "tammie", "tammy", "tamra", "tana", "tanaka", "tandra", "tandy", "taneka", "tanesha", "tangela", "tanguay", "tania", "tanika", "tanisha", "tanja", "tankersley", "tanna", "tanya", "tapia", "tapley", "tapp", "tara", "tarah", "tarango", "tarbox", "tardif", "tardiff", "taren", "tari", "tarpley", "tarr", "tarra", "tarrant", "tarsha", "tarver", "taryn", "tasha", "tashia", "tashina", "tasia", "tatiana", "tatro", "tatum", "tatyana", "taunya", "tavares", "tavarez", "taveras", "tawana", "tawanda", "tawanna", "tawna", "tawnya", "taylor", "tayna", "teague", "teasley", "tedford", "teena", "teets", "tegan", "teisha", "teixeira", "tejada", "tejeda", "telford", "telles", "tellez", "tello", "telma", "temeka", "temika", "tempie", "templeton", "templin", "tena", "tenesha", "tenisha", "tennant", "tenney", "tennie", "tennille", "tennison", "tennyson", "tenorio", "teodora", "teofila", "tera", "teran", "tereasa", "teresa", "terese", "teresia", "teresita", "teressa", "teri", "terica", "terina", "terisa", "terra", "terrazas", "terrell", "terresa", "terri", "terrie", "terrill", "terrilyn", "terry", "terwilliger", "tesch", "tesha", "tess", "tessa", "tessie", "tessier", "testerman", "teter", "tetreault", "thach", "thacker", "thai", "thalia", "thames", "thanh", "thao", "tharp", "tharpe", "thaxton", "thayer", "thea", "theda", "theis", "theisen", "theiss", "thelen", "thelma", "theo", "theobald", "theodora", "theodore", "theola", "theresa", "therese", "theresia", "theressa", "theriault", "theriot", "therrien", "thersa", "thi", "thibault", "thibeault", "thibodeau", "thibodeaux", "thiel", "thiele", "thielen", "thies", "thigpen", "thom", "thoma", "thomas", "thomasena", "thomasina", "thomasine", "thomason", "thomasson", "thompkins", "thompson", "thomsen", "thomson", "thora", "thornberry", "thornburg", "thorne", "thornhill", "thornton", "thorson", "thorton", "threadgill", "threatt", "thresa", "throckmorton", "thu", "thurber", "thurman", "thurmond", "thurston", "thuy", "tia", "tiana", "tianna", "tibbetts", "tibbs", "tidwell", "tiera", "tierney", "tierra", "tiesha", "tifany", "tiffaney", "tiffani", "tiffanie", "tiffany", "tiffiny", "tighe", "tijerina", "tijuana", "tilda", "tilghman", "tillery", "tillett", "tilley", "tillie", "tillis", "tillman", "tillotson", "tilton", "timberlake", "timika", "timm", "timmerman", "timmons", "timms", "timothy", "tims", "tina", "tincher", "tindall", "tindle", "tingley", "tinisha", "tinney", "tinsley", "tippett", "tipton", "tirado", "tisa", "tisdale", "tish", "tisha", "titus", "tobar", "tobey", "tobi", "tobias", "tobie", "tobin", "toby", "toccara", "todd", "toi", "toland", "tolbert", "toledo", "tolentino", "toler", "toliver", "tolle", "tollefson", "tolley", "tolliver", "tolman", "tolson", "tomas", "tomasa", "tomblin", "tomeka", "tomi", "tomika", "tomiko", "tomlin", "tomlinson", "tommie", "tommy", "tommye", "tomoko", "tompkins", "tona", "tonda", "tonette", "toni", "tonia", "tonie", "tonisha", "tonita", "tonja", "tony", "tonya", "toole", "tooley", "toombs", "toomer", "toomey", "tora", "torgerson", "tori", "torie", "toro", "torre", "torrence", "torres", "torrey", "torrez", "torri", "torrie", "tory", "toscano", "tosha", "toshia", "toshiko", "toth", "totten", "toussaint", "tova", "tovar", "towanda", "towe", "towle", "towne", "towner", "townes", "townley", "townsend", "townsley", "toya", "tracee", "tracey", "traci", "tracie", "tracy", "trahan", "trainor", "tramel", "trammell", "tran", "trang", "trantham", "trapp", "trask", "travers", "travis", "trawick", "traylor", "traynor", "treadway", "treadwell", "treasa", "treece", "treena", "trejo", "tremblay", "trena", "trent", "tresa", "tressa", "tressie", "treva", "trevino", "trexler", "tricia", "trigg", "trimble", "trina", "trinh", "trinidad", "triplett", "tripp", "trish", "trisha", "trista", "tristan", "trombley", "trost", "trotman", "trott", "trottier", "troup", "troutman", "trowbridge", "troxell", "troxler", "troy", "troyer", "truax", "trudeau", "trudi", "trudie", "trudy", "trueblood", "truelove", "truesdale", "truett", "truitt", "trujillo", "trula", "truman", "truong", "trussell", "tsai", "tsang", "tse", "tso", "tsosie", "tubbs", "tucci", "tudor", "tuggle", "tula", "tull", "tullis", "tully", "tunnell", "tunstall", "tupper", "turcotte", "turgeon", "turk", "turley", "turman", "turnage", "turnbow", "turnbull", "turney", "turpin", "tutt", "tuttle", "tuyet", "twana", "twanda", "twanna", "twigg", "twila", "twilley", "twitty", "twombly", "twomey", "twyla", "twyman", "tyesha", "tyisha", "tyler", "tyndall", "tyner", "tynisha", "tyra", "tyree", "tyrrell", "tyson", "tyus", "uhl", "ulibarri", "ullman", "ulloa", "ullrich", "ulmer", "ulrich", "ulrike", "underhill", "ung", "unger", "unknow", "unruh", "upchurch", "upshaw", "upton", "urbina", "urias", "uribe", "urquhart", "urrutia", "ursula", "usha", "ussery", "ute", "utley", "vaca", "vaccaro", "vachon", "vada", "vaden", "vadnais", "vaillancourt", "val", "valadez", "valarie", "valda", "valdes", "valdez", "valdivia", "valdovinos", "valencia", "valene", "valente", "valenti", "valentin", "valentina", "valentino", "valenzuela", "valeri", "valeria", "valerie", "valerio", "valero", "valery", "valladares", "valle", "vallee", "vallejo", "valles", "vallie", "valliere", "valorie", "valrie", "valverde", "vanatta", "vanburen", "vanbuskirk", "vance", "vancleave", "vanda", "vandenberg", "vanderpool", "vandiver", "vandusen", "vandyke", "vanegas", "vanesa", "vanessa", "vanetta", "vanhook", "vanhoose", "vanhorn", "vanhouten", "vania", "vanita", "vankirk", "vanlandingham", "vanmeter", "vann", "vanna", "vannatta", "vannesa", "vanness", "vannessa", "vannoy", "vanover", "vanpelt", "vanscoy", "vansickle", "vantassel", "vanwinkle", "vanzandt", "vanzant", "varela", "varga", "vargas", "vargo", "varnado", "varner", "varney", "vashti", "vasiliki", "vasques", "vasquez", "vassallo", "vassar", "vaughan", "vaughn", "vaught", "vazquez", "veach", "veasey", "veda", "veilleux", "velarde", "velasco", "velasquez", "velazquez", "velda", "velez", "velia", "veliz", "vella", "velma", "veloz", "velva", "vena", "venable", "venegas", "venessa", "venetta", "venice", "venita", "vennie", "ventura", "veola", "vera", "verda", "verdell", "verdie", "verdugo", "verduzco", "vereen", "verena", "vergara", "vergie", "verla", "verlene", "verlie", "verline", "vermillion", "verna", "vernell", "vernetta", "vernia", "vernice", "vernie", "vernita", "vernon", "verona", "veronica", "veronika", "veronique", "verret", "versie", "vertie", "vesta", "veta", "vetter", "vicenta", "vick", "vickers", "vickery", "vickey", "vicki", "vickie", "vicky", "victoria", "victorina", "vida", "vidal", "vidrine", "vieira", "viera", "vierra", "vigue", "viki", "vikki", "villagomez", "villalba", "villalobos", "villalpando", "villanueva", "villareal", "villarreal", "villasenor", "villatoro", "villegas", "villeneuve", "vilma", "vincent", "vincenza", "vinita", "vinnie", "vinson", "violeta", "violette", "virgen", "virgie", "virgil", "virgina", "virginia", "visser", "vitale", "vivan", "vivian", "viviana", "vivien", "vivienne", "voelker", "vogel", "vogler", "vogt", "voight", "voigt", "volkman", "vollmer", "volpe", "volz", "voncile", "vonda", "vonnie", "voorhees", "voss", "vowell", "voyles", "vue", "vuong", "wachter", "waddell", "wadley", "wadsworth", "wagner", "wagstaff", "wahl", "wai", "waite", "waites", "wakefield", "walcott", "walczak", "walden", "waldman", "waldon", "waldron", "waldrop", "waldrup", "wallace", "wallen", "walley", "wallin", "wallis", "walsh", "walston", "walter", "walters", "walther", "waltman", "walton", "waltraud", "walz", "wampler", "wanda", "waneta", "wanetta", "wanita", "wardell", "wardlaw", "warfield", "wargo", "warnke", "warnock", "warr", "warrick", "warrington", "warwick", "washburn", "washington", "wasson", "watanabe", "waterhouse", "watford", "watkins", "watson", "watters", "watterson", "wava", "wayland", "wayman", "wayne", "weatherby", "weatherford", "weathersby", "weatherspoon", "webb", "webber", "weddle", "weeden", "weekley", "weese", "wegner", "wei", "weidman", "weidner", "weigand", "weigel", "weiland", "weiler", "weimer", "weinberg", "weinberger", "weiner", "weinstein", "weintraub", "weis", "weisberg", "weise", "weiser", "weisman", "weiss", "weissman", "weitzel", "welborn", "weldon", "welker", "weller", "wellington", "wellman", "welton", "welty", "wendel", "wendell", "wendi", "wendie", "wendling", "wendolyn", "wendt", "wendy", "wenger", "wenona", "wentworth", "wentz", "wentzel", "wenzel", "werner", "werth", "wertz", "wescott", "wesley", "wessel", "wessels", "wesson", "westberry", "westbrook", "westbrooks", "westcott", "westerfield", "westerman", "westfall", "westlund", "westmoreland", "weston", "westover", "westphal", "wethington", "wetmore", "wetzel", "wexler", "whalen", "whaley", "wharton", "whatley", "wheatley", "wheaton", "wheelock", "whelan", "whipple", "whisenant", "whisenhunt", "whisler", "whitacre", "whitaker", "whitcomb", "whitehead", "whitehouse", "whitehurst", "whiteley", "whiteman", "whitesell", "whiteside", "whitfield", "whitford", "whitley", "whitlock", "whitman", "whitmer", "whitmire", "whitmore", "whitney", "whitson", "whitt", "whittaker", "whitted", "whittemore", "whitten", "whittier", "whittington", "whitton", "whitworth", "whorton", "whyte", "wickham", "wicklund", "wickman", "wideman", "widmer", "widner", "wiegand", "wieland", "wiener", "wiese", "wigfall", "wiggins", "wiggs", "wigley", "wilbanks", "wilber", "wilborn", "wilbourn", "wilbur", "wilburn", "wilcher", "wilcox", "wilda", "wilde", "wildman", "wiley", "wilfong", "wilford", "wilhelm", "wilhelmina", "wilhemina", "wilhite", "wilhoit", "wilk", "wilke", "wilkens", "wilkerson", "wilkes", "wilkey", "wilkie", "wilkins", "wilkinson", "wilks", "willa", "willaims", "willams", "willard", "wille", "willena", "willene", "willett", "willetta", "willette", "willhite", "willia", "william", "williams", "williamson", "willie", "williemae", "williford", "willingham", "willis", "willison", "willman", "willodean", "willoughby", "willson", "wilma", "wilmot", "wilmoth", "wilson", "wilton", "wimberly", "wimbush", "wimer", "wimmer", "winburn", "winchell", "winchester", "windham", "windom", "windsor", "winegar", "winfield", "winfrey", "wingard", "wingate", "wingfield", "wingo", "winifred", "winkelman", "winkler", "winn", "winnie", "winnifred", "winona", "winslow", "winstead", "winston", "winton", "wirth", "wiseman", "wisner", "wisniewski", "witcher", "witham", "witherspoon", "withrow", "witkowski", "witmer", "witt", "witte", "witten", "wittman", "wofford", "wojcik", "wolcott", "wolfe", "wolfenbarger", "wolff", "wolfgang", "wolford", "wolfson", "wolter", "wolters", "womack", "wonda", "wong", "woodall", "woodard", "woodbury", "woodford", "woodham", "woodley", "woodring", "woodrow", "woodrum", "woodson", "woodworth", "woolard", "wooldridge", "woolery", "wooley", "woolf", "woolfolk", "woolley", "woolridge", "woosley", "wooster", "wooten", "wooton", "worden", "worley", "worrell", "worsham", "worsley", "wortham", "worthen", "worthington", "wortman", "wozniak", "wray", "wrenn", "wulf", "wunderlich", "wurth", "wyant", "wyatt", "wyche", "wyckoff", "wylie", "wyman", "wynell", "wynne", "wynona", "wyrick", "wysocki", "xenia", "xiao", "xiomara", "xiong", "xochitl", "xuan", "yadira", "yaeko", "yael", "yahaira", "yajaira", "yamada", "yamamoto", "yan", "yancey", "yancy", "yandell", "yanez", "yanira", "yarber", "yarborough", "yarbrough", "yasmin", "yasmine", "yasuko", "yates", "yazzie", "ybarra", "yeager", "yee", "yeh", "yelena", "yepez", "yer", "yesenia", "yessenia", "yetta", "yeung", "yevette", "yi", "yim", "ying", "yingling", "yoakum", "yockey", "yocum", "yoder", "yoel", "yoho", "yoko", "yolanda", "yolande", "yolando", "yolonda", "yong", "yoo", "yoon", "yoshida", "yoshie", "yoshiko", "yost", "youlanda", "youmans", "youngblood", "youngman", "youngs", "yount", "younts", "yu", "yuen", "yuette", "yuk", "yuki", "yukiko", "yuko", "yulanda", "yun", "yung", "yuonne", "yuri", "yuriko", "yvette", "yvone", "yvonne", "zachary", "zack", "zada", "zahn", "zaida", "zajac", "zak", "zamarripa", "zambrano", "zamora", "zamudio", "zana", "zandra", "zaragoza", "zarate", "zavala", "zayas", "zeigler", "zelaya", "zelda", "zella", "zeller", "zellers", "zelma", "zena", "zenaida", "zendejas", "zenia", "zenobia", "zepeda", "zeringue", "zetta", "zhang", "zhao", "ziegler", "zielinski", "zimmerman", "zimmermann", "zina", "zink", "zinn", "zita", "zito", "zoe", "zofia", "zoila", "zola", "zona", "zonia", "zook", "zora", "zoraida", "zorn", "zuber", "zucker", "zula", "zulema", "zulma", "zumwalt", "zuniga"].join("|") + "))+\\b", "gim");
|
|
1883
|
-
class Hr {
|
|
1884
|
-
constructor(e = "PERSON_NAME") {
|
|
1885
|
-
this.replaceWith = e;
|
|
1886
|
-
}
|
|
1887
|
-
redact(e) {
|
|
1888
|
-
Ze.lastIndex = 0, xa.lastIndex = 0;
|
|
1889
|
-
let a = Ze.exec(e);
|
|
1890
|
-
for (; a !== null; ) {
|
|
1891
|
-
xa.lastIndex = Ze.lastIndex;
|
|
1892
|
-
let n = xa.exec(e);
|
|
1893
|
-
if (n !== null && n.index === Ze.lastIndex) {
|
|
1894
|
-
let r = n[5] === null ? "" : n[5];
|
|
1895
|
-
e = e.slice(0, n.index) + this.replaceWith + r + e.slice(n.index + n[0].length);
|
|
1896
|
-
}
|
|
1897
|
-
a = Ze.exec(e);
|
|
1898
|
-
}
|
|
1899
|
-
return e = e.replace(Kr, "$1" + this.replaceWith);
|
|
1900
|
-
}
|
|
1901
|
-
}
|
|
1902
|
-
const Yr = new RegExp("(\\d+\\s*(\\w+ ){1,2}" + /(street|st|road|rd|avenue|ave|drive|dr|loop|court|ct|circle|cir|lane|ln|boulevard|blvd|way)\.?\b/gi.source + "(\\s+" + /(apt|bldg|dept|fl|hngr|lot|pier|rm|ste|slip|trlr|unit|#)\.? *[a-z0-9-]+\b/gi.source + ")?)|(" + /P\.? ?O\.? *Box +\d+/gi.source + ")", "gi"), Ct = Object.freeze(Object.defineProperty({ __proto__: null, credentials: /(login( cred(ential)?s| info(rmation)?)?|cred(ential)?s) ?:\s*\S+\s+\/?\s*\S+/gi, creditCardNumber: /\d{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}|\d{4}[ -]?\d{6}[ -]?\d{4}\d?/g, digits: /\b\d{4,}\b/g, emailAddress: /([a-z0-9_\-.+]+)@\w+(\.\w+)*/gi, ipAddress: /(\d{1,3}(\.\d{1,3}){3}|[0-9A-F]{4}(:[0-9A-F]{4}){5}(::|(:0000)+))/gi, password: /(pass(word|phrase)?|secret): \S+/gi, phoneNumber: /(\(?\+?[0-9]{1,2}\)?[-. ]?)?(\(?[0-9]{3}\)?|[0-9]{3})[-. ]?([0-9]{3}[-. ]?[0-9]{4}|\b[A-Z0-9]{7}\b)/g, streetAddress: Yr, url: /([^\s:/?#]+):\/\/([^/?#\s]*)([^?#\s]*)(\?([^#\s]*))?(#([^\s]*))?/g, usSocialSecurityNumber: /\b\d{3}[ -.]\d{2}[ -.]\d{4}\b/g, username: /(user( ?name)?|login): \S+/gi, zipcode: /\b\d{5}\b(-\d{4})?\b/g }, Symbol.toStringTag, { value: "Module" }));
|
|
1903
|
-
function sn(t) {
|
|
1904
|
-
return t.replace(/[A-Z]/g, (e, a) => a !== 0 ? `_${e.toLowerCase()}` : e.toLowerCase());
|
|
1905
|
-
}
|
|
1906
|
-
class ln {
|
|
1907
|
-
constructor({ replaceWith: e = sn("default").toUpperCase(), regexpPattern: a }) {
|
|
1908
|
-
R(this, "regexpMatcher");
|
|
1909
|
-
R(this, "replaceWith");
|
|
1910
|
-
this.replaceWith = e, this.regexpMatcher = a;
|
|
1911
|
-
}
|
|
1912
|
-
redact(e) {
|
|
1913
|
-
return e.replace(this.regexpMatcher, this.replaceWith);
|
|
1914
|
-
}
|
|
1915
|
-
}
|
|
1916
|
-
function St(t) {
|
|
1917
|
-
return t.regexpPattern !== void 0 ? new ln({ regexpPattern: t.regexpPattern, replaceWith: t.replaceWith }) : t;
|
|
1918
|
-
}
|
|
1919
|
-
class Jr {
|
|
1920
|
-
constructor(e) {
|
|
1921
|
-
R(this, "childRedactors", []);
|
|
1922
|
-
R(this, "redact", (e) => {
|
|
1923
|
-
for (const a of this.childRedactors) e = a.redact(e);
|
|
1924
|
-
return e;
|
|
1925
|
-
});
|
|
1926
|
-
this.childRedactors = function(a = {}) {
|
|
1927
|
-
const n = [];
|
|
1928
|
-
a.customRedactors && a.customRedactors.before && a.customRedactors.before.map(St).forEach((r) => n.push(r));
|
|
1929
|
-
for (const r of Object.keys(Ct)) a.builtInRedactors && a.builtInRedactors[r] && a.builtInRedactors[r].enabled === !1 || n.push(new ln({ regexpPattern: Ct[r], replaceWith: a.globalReplaceWith || sn(r).toUpperCase() }));
|
|
1930
|
-
return a.builtInRedactors && a.builtInRedactors.names && a.builtInRedactors.names.enabled === !1 || n.push(new Hr(a.globalReplaceWith)), a.customRedactors && a.customRedactors.after && a.customRedactors.after.map(St).forEach((r) => n.push(r)), n;
|
|
1931
|
-
}(e);
|
|
1932
|
-
}
|
|
1933
|
-
}
|
|
1934
|
-
const Qr = { before: [{ regexpPattern: /\b[A-Z]\d{7}\b/g, replaceWith: "PASSPORT_NUMBER" }, { regexpPattern: new RegExp("(?<=password: )(.*)", "gi"), replaceWith: "[REDACTED]" }] };
|
|
1935
|
-
function Xr(t) {
|
|
1936
|
-
const e = document.createTreeWalker(t, NodeFilter.SHOW_TEXT, null);
|
|
1937
|
-
let a;
|
|
1938
|
-
for (; a = e.nextNode(); ) {
|
|
1939
|
-
const r = a.nodeValue, i = (n = r, new Jr({ builtInRedactors: { names: { replaceWith: "ANONYMOUS_PERSON" } }, customRedactors: Qr }).redact(n));
|
|
1940
|
-
r !== i && (a.nodeValue = i);
|
|
1941
|
-
}
|
|
1942
|
-
var n;
|
|
1943
|
-
(function(r) {
|
|
1944
|
-
Array.from(r.querySelectorAll('input[type="password"]')).forEach((o) => {
|
|
1945
|
-
o.value = "[REDACTED]";
|
|
1946
|
-
});
|
|
1947
|
-
})(t);
|
|
1948
|
-
}
|
|
1949
|
-
function $r() {
|
|
1950
|
-
return _(this, arguments, function* (t = {}) {
|
|
1951
|
-
const { maxWaitTime: e = 2e3, minStableFrames: a = 3, requiredSelectors: n = [] } = t;
|
|
1952
|
-
return new Promise((r) => {
|
|
1953
|
-
const i = performance.now();
|
|
1954
|
-
let o, s = 0, l = 0;
|
|
1955
|
-
const c = () => {
|
|
1956
|
-
if (performance.now() - i > e) return cancelAnimationFrame(o), void r();
|
|
1957
|
-
const h = document.documentElement.offsetHeight;
|
|
1958
|
-
if (h !== l || n.length && !n.every((d) => {
|
|
1959
|
-
const u = document.querySelector(d);
|
|
1960
|
-
if (!u) return !1;
|
|
1961
|
-
const b = u.getBoundingClientRect();
|
|
1962
|
-
return b.width > 0 && b.height > 0;
|
|
1963
|
-
})) s = 0;
|
|
1964
|
-
else if (s++, s >= a) return cancelAnimationFrame(o), void r();
|
|
1965
|
-
l = h, o = requestAnimationFrame(c);
|
|
1966
|
-
};
|
|
1967
|
-
document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", () => {
|
|
1968
|
-
o = requestAnimationFrame(c);
|
|
1969
|
-
}, { once: !0 }) : o = requestAnimationFrame(c);
|
|
1970
|
-
});
|
|
1971
|
-
});
|
|
1972
|
-
}
|
|
1973
|
-
var ie;
|
|
1974
|
-
function Je(t) {
|
|
1975
|
-
var e = t == null ? void 0 : t.host;
|
|
1976
|
-
return (e == null ? void 0 : e.shadowRoot) === t;
|
|
1977
|
-
}
|
|
1978
|
-
function Qe(t) {
|
|
1979
|
-
return Object.prototype.toString.call(t) === "[object ShadowRoot]";
|
|
1980
|
-
}
|
|
1981
|
-
function Wa(t) {
|
|
1982
|
-
try {
|
|
1983
|
-
var e = t.rules || t.cssRules;
|
|
1984
|
-
return e ? ((a = Array.from(e).map(cn).join("")).includes(" background-clip: text;") && !a.includes(" -webkit-background-clip: text;") && (a = a.replace(" background-clip: text;", " -webkit-background-clip: text; background-clip: text;")), a) : null;
|
|
1985
|
-
} catch (n) {
|
|
1986
|
-
return null;
|
|
1987
|
-
}
|
|
1988
|
-
var a;
|
|
1989
|
-
}
|
|
1990
|
-
function cn(t) {
|
|
1991
|
-
var e = t.cssText;
|
|
1992
|
-
if (function(a) {
|
|
1993
|
-
return "styleSheet" in a;
|
|
1994
|
-
}(t)) try {
|
|
1995
|
-
e = Wa(t.styleSheet) || e;
|
|
1996
|
-
} catch (a) {
|
|
1997
|
-
}
|
|
1998
|
-
return e;
|
|
1999
|
-
}
|
|
2000
|
-
(function(t) {
|
|
2001
|
-
t[t.Document = 0] = "Document", t[t.DocumentType = 1] = "DocumentType", t[t.Element = 2] = "Element", t[t.Text = 3] = "Text", t[t.CDATA = 4] = "CDATA", t[t.Comment = 5] = "Comment";
|
|
2002
|
-
})(ie || (ie = {}));
|
|
2003
|
-
var hn = function() {
|
|
2004
|
-
function t() {
|
|
2005
|
-
this.idNodeMap = /* @__PURE__ */ new Map(), this.nodeMetaMap = /* @__PURE__ */ new WeakMap();
|
|
2006
|
-
}
|
|
2007
|
-
return t.prototype.getId = function(e) {
|
|
2008
|
-
var a;
|
|
2009
|
-
if (!e) return -1;
|
|
2010
|
-
var n = (a = this.getMeta(e)) === null || a === void 0 ? void 0 : a.id;
|
|
2011
|
-
return n != null ? n : -1;
|
|
2012
|
-
}, t.prototype.getNode = function(e) {
|
|
2013
|
-
return this.idNodeMap.get(e) || null;
|
|
2014
|
-
}, t.prototype.getIds = function() {
|
|
2015
|
-
return Array.from(this.idNodeMap.keys());
|
|
2016
|
-
}, t.prototype.getMeta = function(e) {
|
|
2017
|
-
return this.nodeMetaMap.get(e) || null;
|
|
2018
|
-
}, t.prototype.removeNodeFromMap = function(e) {
|
|
2019
|
-
var a = this, n = this.getId(e);
|
|
2020
|
-
this.idNodeMap.delete(n), e.childNodes && e.childNodes.forEach(function(r) {
|
|
2021
|
-
return a.removeNodeFromMap(r);
|
|
2022
|
-
});
|
|
2023
|
-
}, t.prototype.has = function(e) {
|
|
2024
|
-
return this.idNodeMap.has(e);
|
|
2025
|
-
}, t.prototype.hasNode = function(e) {
|
|
2026
|
-
return this.nodeMetaMap.has(e);
|
|
2027
|
-
}, t.prototype.add = function(e, a) {
|
|
2028
|
-
var n = a.id;
|
|
2029
|
-
this.idNodeMap.set(n, e), this.nodeMetaMap.set(e, a);
|
|
2030
|
-
}, t.prototype.replace = function(e, a) {
|
|
2031
|
-
var n = this.getNode(e);
|
|
2032
|
-
if (n) {
|
|
2033
|
-
var r = this.nodeMetaMap.get(n);
|
|
2034
|
-
r && this.nodeMetaMap.set(a, r);
|
|
2035
|
-
}
|
|
2036
|
-
this.idNodeMap.set(e, a);
|
|
2037
|
-
}, t.prototype.reset = function() {
|
|
2038
|
-
this.idNodeMap = /* @__PURE__ */ new Map(), this.nodeMetaMap = /* @__PURE__ */ new WeakMap();
|
|
2039
|
-
}, t;
|
|
2040
|
-
}();
|
|
2041
|
-
function at(t) {
|
|
2042
|
-
var e = t.maskInputOptions, a = t.tagName, n = t.type, r = t.value, i = t.maskInputFn, o = r || "";
|
|
2043
|
-
return (e[a.toLowerCase()] || e[n]) && (o = i ? i(o) : "*".repeat(o.length)), o;
|
|
2044
|
-
}
|
|
2045
|
-
var At = "__rrweb_original__", Fe, Et, ei = 1, ai = new RegExp("[^a-z0-9-_:]");
|
|
2046
|
-
function dn() {
|
|
2047
|
-
return ei++;
|
|
2048
|
-
}
|
|
2049
|
-
var ti = /url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm, ni = /^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/, ri = /^(data:)([^,]*),(.*)/i;
|
|
2050
|
-
function ua(t, e) {
|
|
2051
|
-
return (t || "").replace(ti, function(a, n, r, i, o, s) {
|
|
2052
|
-
var l = r || o || s, c = n || i || "";
|
|
2053
|
-
if (!l) return a;
|
|
2054
|
-
if (!ni.test(l) || ri.test(l)) return "url(".concat(c).concat(l).concat(c, ")");
|
|
2055
|
-
if (l[0] === "/") return "url(".concat(c).concat(function(T) {
|
|
2056
|
-
return (T.indexOf("//") > -1 ? T.split("/").slice(0, 3).join("/") : T.split("/")[0]).split("?")[0];
|
|
2057
|
-
}(e) + l).concat(c, ")");
|
|
2058
|
-
var h = e.split("/"), d = l.split("/");
|
|
2059
|
-
h.pop();
|
|
2060
|
-
for (var u = 0, b = d; u < b.length; u++) {
|
|
2061
|
-
var v = b[u];
|
|
2062
|
-
v !== "." && (v === ".." ? h.pop() : h.push(v));
|
|
2063
|
-
}
|
|
2064
|
-
return "url(".concat(c).concat(h.join("/")).concat(c, ")");
|
|
2065
|
-
});
|
|
2066
|
-
}
|
|
2067
|
-
var ii = /^[^ \t\n\r\u000c]+/, oi = /^[, \t\n\r\u000c]+/;
|
|
2068
|
-
function Ge(t, e) {
|
|
2069
|
-
if (!e || e.trim() === "") return e;
|
|
2070
|
-
var a = t.createElement("a");
|
|
2071
|
-
return a.href = e, a.href;
|
|
2072
|
-
}
|
|
2073
|
-
function si(t) {
|
|
2074
|
-
return !!(t.tagName === "svg" || t.ownerSVGElement);
|
|
2075
|
-
}
|
|
2076
|
-
function Ua() {
|
|
2077
|
-
var t = document.createElement("a");
|
|
2078
|
-
return t.href = "", t.href;
|
|
2079
|
-
}
|
|
2080
|
-
function un(t, e, a, n) {
|
|
2081
|
-
return a === "src" || a === "href" && n && (e !== "use" || n[0] !== "#") || a === "xlink:href" && n && n[0] !== "#" ? Ge(t, n) : a !== "background" || !n || e !== "table" && e !== "td" && e !== "th" ? a === "srcset" && n ? function(r, i) {
|
|
2082
|
-
if (i.trim() === "") return i;
|
|
2083
|
-
var o = 0;
|
|
2084
|
-
function s(b) {
|
|
2085
|
-
var v, T = b.exec(i.substring(o));
|
|
2086
|
-
return T ? (v = T[0], o += v.length, v) : "";
|
|
2087
|
-
}
|
|
2088
|
-
for (var l = []; s(oi), !(o >= i.length); ) {
|
|
2089
|
-
var c = s(ii);
|
|
2090
|
-
if (c.slice(-1) === ",") c = Ge(r, c.substring(0, c.length - 1)), l.push(c);
|
|
2091
|
-
else {
|
|
2092
|
-
var h = "";
|
|
2093
|
-
c = Ge(r, c);
|
|
2094
|
-
for (var d = !1; ; ) {
|
|
2095
|
-
var u = i.charAt(o);
|
|
2096
|
-
if (u === "") {
|
|
2097
|
-
l.push((c + h).trim());
|
|
2098
|
-
break;
|
|
2099
|
-
}
|
|
2100
|
-
if (d) u === ")" && (d = !1);
|
|
2101
|
-
else {
|
|
2102
|
-
if (u === ",") {
|
|
2103
|
-
o += 1, l.push((c + h).trim());
|
|
2104
|
-
break;
|
|
2105
|
-
}
|
|
2106
|
-
u === "(" && (d = !0);
|
|
2107
|
-
}
|
|
2108
|
-
h += u, o += 1;
|
|
2109
|
-
}
|
|
2110
|
-
}
|
|
2111
|
-
}
|
|
2112
|
-
return l.join(", ");
|
|
2113
|
-
}(t, n) : a === "style" && n ? ua(n, Ua()) : e === "object" && a === "data" && n ? Ge(t, n) : n : Ge(t, n);
|
|
2114
|
-
}
|
|
2115
|
-
function fa(t, e, a) {
|
|
2116
|
-
if (!t) return !1;
|
|
2117
|
-
if (t.nodeType !== t.ELEMENT_NODE) return !!a && fa(t.parentNode, e, a);
|
|
2118
|
-
for (var n = t.classList.length; n--; ) {
|
|
2119
|
-
var r = t.classList[n];
|
|
2120
|
-
if (e.test(r)) return !0;
|
|
2121
|
-
}
|
|
2122
|
-
return !!a && fa(t.parentNode, e, a);
|
|
2123
|
-
}
|
|
2124
|
-
function mn(t, e, a) {
|
|
2125
|
-
var n = t.nodeType === t.ELEMENT_NODE ? t : t.parentElement;
|
|
2126
|
-
if (n === null) return !1;
|
|
2127
|
-
if (typeof e == "string") {
|
|
2128
|
-
if (n.classList.contains(e) || n.closest(".".concat(e))) return !0;
|
|
2129
|
-
} else if (fa(n, e, !0)) return !0;
|
|
2130
|
-
return !!(a && (n.matches(a) || n.closest(a)));
|
|
2131
|
-
}
|
|
2132
|
-
function li(t, e) {
|
|
2133
|
-
var a = e.doc, n = e.mirror, r = e.blockClass, i = e.blockSelector, o = e.maskTextClass, s = e.maskTextSelector, l = e.inlineStylesheet, c = e.maskInputOptions, h = c === void 0 ? {} : c, d = e.maskTextFn, u = e.maskInputFn, b = e.dataURLOptions, v = b === void 0 ? {} : b, T = e.inlineImages, p = e.recordCanvas, g = e.keepIframeSrcFn, C = e.newlyAddedElement, z = C !== void 0 && C, M = function(k, I) {
|
|
2134
|
-
if (I.hasNode(k)) {
|
|
2135
|
-
var m = I.getId(k);
|
|
2136
|
-
return m === 1 ? void 0 : m;
|
|
2137
|
-
}
|
|
2138
|
-
}(a, n);
|
|
2139
|
-
switch (t.nodeType) {
|
|
2140
|
-
case t.DOCUMENT_NODE:
|
|
2141
|
-
return t.compatMode !== "CSS1Compat" ? { type: ie.Document, childNodes: [], compatMode: t.compatMode } : { type: ie.Document, childNodes: [] };
|
|
2142
|
-
case t.DOCUMENT_TYPE_NODE:
|
|
2143
|
-
return { type: ie.DocumentType, name: t.name, publicId: t.publicId, systemId: t.systemId, rootId: M };
|
|
2144
|
-
case t.ELEMENT_NODE:
|
|
2145
|
-
return function(k, I) {
|
|
2146
|
-
for (var m = I.doc, w = I.blockClass, y = I.blockSelector, E = I.inlineStylesheet, S = I.maskInputOptions, j = S === void 0 ? {} : S, x = I.maskInputFn, f = I.dataURLOptions, F = f === void 0 ? {} : f, U = I.inlineImages, D = I.recordCanvas, me = I.keepIframeSrcFn, ne = I.newlyAddedElement, ce = ne !== void 0 && ne, oe = I.rootId, W = function(ee, ge, ke) {
|
|
2147
|
-
if (typeof ge == "string") {
|
|
2148
|
-
if (ee.classList.contains(ge)) return !0;
|
|
2149
|
-
} else for (var Ce = ee.classList.length; Ce--; ) {
|
|
2150
|
-
var ze = ee.classList[Ce];
|
|
2151
|
-
if (ge.test(ze)) return !0;
|
|
2152
|
-
}
|
|
2153
|
-
return !!ke && ee.matches(ke);
|
|
2154
|
-
}(k, w, y), P = function(ee) {
|
|
2155
|
-
if (ee instanceof HTMLFormElement) return "form";
|
|
2156
|
-
var ge = ee.tagName.toLowerCase().trim();
|
|
2157
|
-
return ai.test(ge) ? "div" : ge;
|
|
2158
|
-
}(k), O = {}, N = k.attributes.length, Y = 0; Y < N; Y++) {
|
|
2159
|
-
var X = k.attributes[Y];
|
|
2160
|
-
O[X.name] = un(m, P, X.name, X.value);
|
|
2161
|
-
}
|
|
2162
|
-
if (P === "link" && E) {
|
|
2163
|
-
var J = Array.from(m.styleSheets).find(function(ee) {
|
|
2164
|
-
return ee.href === k.href;
|
|
2165
|
-
}), re = null;
|
|
2166
|
-
J && (re = Wa(J)), re && (delete O.rel, delete O.href, O._cssText = ua(re, J.href));
|
|
2167
|
-
}
|
|
2168
|
-
if (P === "style" && k.sheet && !(k.innerText || k.textContent || "").trim().length && (re = Wa(k.sheet)) && (O._cssText = ua(re, Ua())), P === "input" || P === "textarea" || P === "select") {
|
|
2169
|
-
var L = k.value, A = k.checked;
|
|
2170
|
-
O.type !== "radio" && O.type !== "checkbox" && O.type !== "submit" && O.type !== "button" && L ? O.value = at({ type: O.type, tagName: P, value: L, maskInputOptions: j, maskInputFn: x }) : A && (O.checked = A);
|
|
2171
|
-
}
|
|
2172
|
-
if (P === "option" && (k.selected && !j.select ? O.selected = !0 : delete O.selected), P === "canvas" && D) {
|
|
2173
|
-
if (k.__context === "2d") (function(ee) {
|
|
2174
|
-
var ge = ee.getContext("2d");
|
|
2175
|
-
if (!ge) return !0;
|
|
2176
|
-
for (var ke = 0; ke < ee.width; ke += 50) for (var Ce = 0; Ce < ee.height; Ce += 50) {
|
|
2177
|
-
var ze = ge.getImageData, Ca = At in ze ? ze[At] : ze;
|
|
2178
|
-
if (new Uint32Array(Ca.call(ge, ke, Ce, Math.min(50, ee.width - ke), Math.min(50, ee.height - Ce)).data.buffer).some(function(ea) {
|
|
2179
|
-
return ea !== 0;
|
|
2180
|
-
})) return !1;
|
|
2181
|
-
}
|
|
2182
|
-
return !0;
|
|
2183
|
-
})(k) || (O.rr_dataURL = k.toDataURL(F.type, F.quality));
|
|
2184
|
-
else if (!("__context" in k)) {
|
|
2185
|
-
var G = k.toDataURL(F.type, F.quality), K = document.createElement("canvas");
|
|
2186
|
-
K.width = k.width, K.height = k.height, G !== K.toDataURL(F.type, F.quality) && (O.rr_dataURL = G);
|
|
2187
|
-
}
|
|
2188
|
-
}
|
|
2189
|
-
if (P === "img" && U) {
|
|
2190
|
-
Fe || (Fe = m.createElement("canvas"), Et = Fe.getContext("2d"));
|
|
2191
|
-
var Q = k, Z = Q.crossOrigin;
|
|
2192
|
-
Q.crossOrigin = "anonymous";
|
|
2193
|
-
var ye = function() {
|
|
2194
|
-
try {
|
|
2195
|
-
Fe.width = Q.naturalWidth, Fe.height = Q.naturalHeight, Et.drawImage(Q, 0, 0), O.rr_dataURL = Fe.toDataURL(F.type, F.quality);
|
|
2196
|
-
} catch (ee) {
|
|
2197
|
-
console.warn("Cannot inline img src=".concat(Q.currentSrc, "! Error: ").concat(ee));
|
|
2198
|
-
}
|
|
2199
|
-
Z ? O.crossOrigin = Z : Q.removeAttribute("crossorigin");
|
|
2200
|
-
};
|
|
2201
|
-
Q.complete && Q.naturalWidth !== 0 ? ye() : Q.onload = ye;
|
|
2202
|
-
}
|
|
2203
|
-
if (P !== "audio" && P !== "video" || (O.rr_mediaState = k.paused ? "paused" : "played", O.rr_mediaCurrentTime = k.currentTime), ce || (k.scrollLeft && (O.rr_scrollLeft = k.scrollLeft), k.scrollTop && (O.rr_scrollTop = k.scrollTop)), W) {
|
|
2204
|
-
var Ee = k.getBoundingClientRect(), Oe = Ee.width, $e = Ee.height;
|
|
2205
|
-
O = { class: O.class, rr_width: "".concat(Oe, "px"), rr_height: "".concat($e, "px") };
|
|
2206
|
-
}
|
|
2207
|
-
return P !== "iframe" || me(O.src) || (k.contentDocument || (O.rr_src = O.src), delete O.src), { type: ie.Element, tagName: P, attributes: O, childNodes: [], isSVG: si(k) || void 0, needBlock: W, rootId: oe };
|
|
2208
|
-
}(t, { doc: a, blockClass: r, blockSelector: i, inlineStylesheet: l, maskInputOptions: h, maskInputFn: u, dataURLOptions: v, inlineImages: T, recordCanvas: p, keepIframeSrcFn: g, newlyAddedElement: z, rootId: M });
|
|
2209
|
-
case t.TEXT_NODE:
|
|
2210
|
-
return function(k, I) {
|
|
2211
|
-
var m, w = I.maskTextClass, y = I.maskTextSelector, E = I.maskTextFn, S = I.rootId, j = k.parentNode && k.parentNode.tagName, x = k.textContent, f = j === "STYLE" || void 0, F = j === "SCRIPT" || void 0;
|
|
2212
|
-
if (f && x) {
|
|
2213
|
-
try {
|
|
2214
|
-
k.nextSibling || k.previousSibling || !((m = k.parentNode.sheet) === null || m === void 0) && m.cssRules && (x = (U = k.parentNode.sheet).cssRules ? Array.from(U.cssRules).map(function(D) {
|
|
2215
|
-
return D.cssText || "";
|
|
2216
|
-
}).join("") : "");
|
|
2217
|
-
} catch (D) {
|
|
2218
|
-
console.warn("Cannot get CSS styles from text's parentNode. Error: ".concat(D), k);
|
|
2219
|
-
}
|
|
2220
|
-
x = ua(x, Ua());
|
|
2221
|
-
}
|
|
2222
|
-
var U;
|
|
2223
|
-
return F && (x = "SCRIPT_PLACEHOLDER"), !f && !F && x && mn(k, w, y) && (x = E ? E(x) : x.replace(/[\S]/g, "*")), { type: ie.Text, textContent: x || "", isStyle: f, rootId: S };
|
|
2224
|
-
}(t, { maskTextClass: o, maskTextSelector: s, maskTextFn: d, rootId: M });
|
|
2225
|
-
case t.CDATA_SECTION_NODE:
|
|
2226
|
-
return { type: ie.CDATA, textContent: "", rootId: M };
|
|
2227
|
-
case t.COMMENT_NODE:
|
|
2228
|
-
return { type: ie.Comment, textContent: t.textContent || "", rootId: M };
|
|
2229
|
-
default:
|
|
2230
|
-
return !1;
|
|
2231
|
-
}
|
|
2232
|
-
}
|
|
2233
|
-
function H(t) {
|
|
2234
|
-
return t === void 0 ? "" : t.toLowerCase();
|
|
2235
|
-
}
|
|
2236
|
-
function We(t, e) {
|
|
2237
|
-
var a, n = e.doc, r = e.mirror, i = e.blockClass, o = e.blockSelector, s = e.maskTextClass, l = e.maskTextSelector, c = e.skipChild, h = c !== void 0 && c, d = e.inlineStylesheet, u = d === void 0 || d, b = e.maskInputOptions, v = b === void 0 ? {} : b, T = e.maskTextFn, p = e.maskInputFn, g = e.slimDOMOptions, C = e.dataURLOptions, z = C === void 0 ? {} : C, M = e.inlineImages, k = M !== void 0 && M, I = e.recordCanvas, m = I !== void 0 && I, w = e.onSerialize, y = e.onIframeLoad, E = e.iframeLoadTimeout, S = E === void 0 ? 5e3 : E, j = e.onStylesheetLoad, x = e.stylesheetLoadTimeout, f = x === void 0 ? 5e3 : x, F = e.keepIframeSrcFn, U = F === void 0 ? function() {
|
|
2238
|
-
return !1;
|
|
2239
|
-
} : F, D = e.newlyAddedElement, me = D !== void 0 && D, ne = e.preserveWhiteSpace, ce = ne === void 0 || ne, oe = li(t, { doc: n, mirror: r, blockClass: i, blockSelector: o, maskTextClass: s, maskTextSelector: l, inlineStylesheet: u, maskInputOptions: v, maskTextFn: T, maskInputFn: p, dataURLOptions: z, inlineImages: k, recordCanvas: m, keepIframeSrcFn: U, newlyAddedElement: me });
|
|
2240
|
-
if (!oe) return console.warn(t, "not serialized"), null;
|
|
2241
|
-
a = r.hasNode(t) ? r.getId(t) : !function(A, G) {
|
|
2242
|
-
return !!(G.comment && A.type === ie.Comment || A.type === ie.Element && (G.script && (A.tagName === "script" || A.tagName === "link" && A.attributes.rel === "preload" && A.attributes.as === "script" || A.tagName === "link" && A.attributes.rel === "prefetch" && typeof A.attributes.href == "string" && A.attributes.href.endsWith(".js")) || G.headFavicon && (A.tagName === "link" && A.attributes.rel === "shortcut icon" || A.tagName === "meta" && (H(A.attributes.name).match(/^msapplication-tile(image|color)$/) || H(A.attributes.name) === "application-name" || H(A.attributes.rel) === "icon" || H(A.attributes.rel) === "apple-touch-icon" || H(A.attributes.rel) === "shortcut icon")) || A.tagName === "meta" && (G.headMetaDescKeywords && H(A.attributes.name).match(/^description|keywords$/) || G.headMetaSocial && (H(A.attributes.property).match(/^(og|twitter|fb):/) || H(A.attributes.name).match(/^(og|twitter):/) || H(A.attributes.name) === "pinterest") || G.headMetaRobots && (H(A.attributes.name) === "robots" || H(A.attributes.name) === "googlebot" || H(A.attributes.name) === "bingbot") || G.headMetaHttpEquiv && A.attributes["http-equiv"] !== void 0 || G.headMetaAuthorship && (H(A.attributes.name) === "author" || H(A.attributes.name) === "generator" || H(A.attributes.name) === "framework" || H(A.attributes.name) === "publisher" || H(A.attributes.name) === "progid" || H(A.attributes.property).match(/^article:/) || H(A.attributes.property).match(/^product:/)) || G.headMetaVerification && (H(A.attributes.name) === "google-site-verification" || H(A.attributes.name) === "yandex-verification" || H(A.attributes.name) === "csrf-token" || H(A.attributes.name) === "p:domain_verify" || H(A.attributes.name) === "verify-v1" || H(A.attributes.name) === "verification" || H(A.attributes.name) === "shopify-checkout-api-token"))));
|
|
2243
|
-
}(oe, g) && (ce || oe.type !== ie.Text || oe.isStyle || oe.textContent.replace(/^\s+|\s+$/gm, "").length) ? dn() : -2;
|
|
2244
|
-
var W = Object.assign(oe, { id: a });
|
|
2245
|
-
if (r.add(t, W), a === -2) return null;
|
|
2246
|
-
w && w(t);
|
|
2247
|
-
var P = !h;
|
|
2248
|
-
if (W.type === ie.Element) {
|
|
2249
|
-
P = P && !W.needBlock, delete W.needBlock;
|
|
2250
|
-
var O = t.shadowRoot;
|
|
2251
|
-
O && Qe(O) && (W.isShadowHost = !0);
|
|
2252
|
-
}
|
|
2253
|
-
if ((W.type === ie.Document || W.type === ie.Element) && P) {
|
|
2254
|
-
g.headWhitespace && W.type === ie.Element && W.tagName === "head" && (ce = !1);
|
|
2255
|
-
for (var N = { doc: n, mirror: r, blockClass: i, blockSelector: o, maskTextClass: s, maskTextSelector: l, skipChild: h, inlineStylesheet: u, maskInputOptions: v, maskTextFn: T, maskInputFn: p, slimDOMOptions: g, dataURLOptions: z, inlineImages: k, recordCanvas: m, preserveWhiteSpace: ce, onSerialize: w, onIframeLoad: y, iframeLoadTimeout: S, onStylesheetLoad: j, stylesheetLoadTimeout: f, keepIframeSrcFn: U }, Y = 0, X = Array.from(t.childNodes); Y < X.length; Y++)
|
|
2256
|
-
(L = We(X[Y], N)) && W.childNodes.push(L);
|
|
2257
|
-
if (function(A) {
|
|
2258
|
-
return A.nodeType === A.ELEMENT_NODE;
|
|
2259
|
-
}(t) && t.shadowRoot) for (var J = 0, re = Array.from(t.shadowRoot.childNodes); J < re.length; J++) {
|
|
2260
|
-
var L;
|
|
2261
|
-
(L = We(re[J], N)) && (Qe(t.shadowRoot) && (L.isShadow = !0), W.childNodes.push(L));
|
|
2262
|
-
}
|
|
2263
|
-
}
|
|
2264
|
-
return t.parentNode && Je(t.parentNode) && Qe(t.parentNode) && (W.isShadow = !0), W.type === ie.Element && W.tagName === "iframe" && function(A, G, K) {
|
|
2265
|
-
var Q = A.contentWindow;
|
|
2266
|
-
if (Q) {
|
|
2267
|
-
var Z, ye = !1;
|
|
2268
|
-
try {
|
|
2269
|
-
Z = Q.document.readyState;
|
|
2270
|
-
} catch ($e) {
|
|
2271
|
-
return;
|
|
2272
|
-
}
|
|
2273
|
-
if (Z === "complete") {
|
|
2274
|
-
var Ee = "about:blank";
|
|
2275
|
-
if (Q.location.href !== Ee || A.src === Ee || A.src === "") return setTimeout(G, 0), A.addEventListener("load", G);
|
|
2276
|
-
A.addEventListener("load", G);
|
|
2277
|
-
} else {
|
|
2278
|
-
var Oe = setTimeout(function() {
|
|
2279
|
-
ye || (G(), ye = !0);
|
|
2280
|
-
}, K);
|
|
2281
|
-
A.addEventListener("load", function() {
|
|
2282
|
-
clearTimeout(Oe), ye = !0, G();
|
|
2283
|
-
});
|
|
2284
|
-
}
|
|
2285
|
-
}
|
|
2286
|
-
}(t, function() {
|
|
2287
|
-
var A = t.contentDocument;
|
|
2288
|
-
if (A && y) {
|
|
2289
|
-
var G = We(A, { doc: A, mirror: r, blockClass: i, blockSelector: o, maskTextClass: s, maskTextSelector: l, skipChild: !1, inlineStylesheet: u, maskInputOptions: v, maskTextFn: T, maskInputFn: p, slimDOMOptions: g, dataURLOptions: z, inlineImages: k, recordCanvas: m, preserveWhiteSpace: ce, onSerialize: w, onIframeLoad: y, iframeLoadTimeout: S, onStylesheetLoad: j, stylesheetLoadTimeout: f, keepIframeSrcFn: U });
|
|
2290
|
-
G && y(t, G);
|
|
2291
|
-
}
|
|
2292
|
-
}, S), W.type === ie.Element && W.tagName === "link" && W.attributes.rel === "stylesheet" && function(A, G, K) {
|
|
2293
|
-
var Q, Z = !1;
|
|
2294
|
-
try {
|
|
2295
|
-
Q = A.sheet;
|
|
2296
|
-
} catch (Ee) {
|
|
2297
|
-
return;
|
|
2298
|
-
}
|
|
2299
|
-
if (!Q) {
|
|
2300
|
-
var ye = setTimeout(function() {
|
|
2301
|
-
Z || (G(), Z = !0);
|
|
2302
|
-
}, K);
|
|
2303
|
-
A.addEventListener("load", function() {
|
|
2304
|
-
clearTimeout(ye), Z = !0, G();
|
|
2305
|
-
});
|
|
2306
|
-
}
|
|
2307
|
-
}(t, function() {
|
|
2308
|
-
if (j) {
|
|
2309
|
-
var A = We(t, { doc: n, mirror: r, blockClass: i, blockSelector: o, maskTextClass: s, maskTextSelector: l, skipChild: !1, inlineStylesheet: u, maskInputOptions: v, maskTextFn: T, maskInputFn: p, slimDOMOptions: g, dataURLOptions: z, inlineImages: k, recordCanvas: m, preserveWhiteSpace: ce, onSerialize: w, onIframeLoad: y, iframeLoadTimeout: S, onStylesheetLoad: j, stylesheetLoadTimeout: f, keepIframeSrcFn: U });
|
|
2310
|
-
A && j(t, A);
|
|
2311
|
-
}
|
|
2312
|
-
}, f), W;
|
|
2313
|
-
}
|
|
2314
|
-
function se(t, e, a = document) {
|
|
2315
|
-
const n = { capture: !0, passive: !0 };
|
|
2316
|
-
return a.addEventListener(t, e, n), () => a.removeEventListener(t, e, n);
|
|
2317
|
-
}
|
|
2318
|
-
const qe = `Please stop import mirror directly. Instead of that,\r
|
|
2319
|
-
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
2320
|
-
or you can use record.mirror to access the mirror instance during recording.`;
|
|
2321
|
-
let zt = { map: {}, getId: () => (console.error(qe), -1), getNode: () => (console.error(qe), null), removeNodeFromMap() {
|
|
2322
|
-
console.error(qe);
|
|
2323
|
-
}, has: () => (console.error(qe), !1), reset() {
|
|
2324
|
-
console.error(qe);
|
|
2325
|
-
} };
|
|
2326
|
-
function He(t, e, a = {}) {
|
|
2327
|
-
let n = null, r = 0;
|
|
2328
|
-
return function(...i) {
|
|
2329
|
-
const o = Date.now();
|
|
2330
|
-
r || a.leading !== !1 || (r = o);
|
|
2331
|
-
const s = e - (o - r), l = this;
|
|
2332
|
-
s <= 0 || s > e ? (n && (clearTimeout(n), n = null), r = o, t.apply(l, i)) : n || a.trailing === !1 || (n = setTimeout(() => {
|
|
2333
|
-
r = a.leading === !1 ? 0 : Date.now(), n = null, t.apply(l, i);
|
|
2334
|
-
}, s));
|
|
2335
|
-
};
|
|
2336
|
-
}
|
|
2337
|
-
function Ia(t, e, a, n, r = window) {
|
|
2338
|
-
const i = r.Object.getOwnPropertyDescriptor(t, e);
|
|
2339
|
-
return r.Object.defineProperty(t, e, n ? a : { set(o) {
|
|
2340
|
-
setTimeout(() => {
|
|
2341
|
-
a.set.call(this, o);
|
|
2342
|
-
}, 0), i && i.set && i.set.call(this, o);
|
|
2343
|
-
} }), () => Ia(t, e, i || {}, !0);
|
|
2344
|
-
}
|
|
2345
|
-
function _e(t, e, a) {
|
|
2346
|
-
try {
|
|
2347
|
-
if (!(e in t)) return () => {
|
|
2348
|
-
};
|
|
2349
|
-
const n = t[e], r = a(n);
|
|
2350
|
-
return typeof r == "function" && (r.prototype = r.prototype || {}, Object.defineProperties(r, { __rrweb_original__: { enumerable: !1, value: n } })), t[e] = r, () => {
|
|
2351
|
-
t[e] = n;
|
|
2352
|
-
};
|
|
2353
|
-
} catch (n) {
|
|
2354
|
-
return () => {
|
|
2355
|
-
};
|
|
2356
|
-
}
|
|
2357
|
-
}
|
|
2358
|
-
function gn() {
|
|
2359
|
-
return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;
|
|
2360
|
-
}
|
|
2361
|
-
function pn() {
|
|
2362
|
-
return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;
|
|
2363
|
-
}
|
|
2364
|
-
function le(t, e, a, n) {
|
|
2365
|
-
if (!t) return !1;
|
|
2366
|
-
const r = t.nodeType === t.ELEMENT_NODE ? t : t.parentElement;
|
|
2367
|
-
if (!r) return !1;
|
|
2368
|
-
if (typeof e == "string") {
|
|
2369
|
-
if (r.classList.contains(e) || n && r.closest("." + e) !== null) return !0;
|
|
2370
|
-
} else if (fa(r, e, n)) return !0;
|
|
2371
|
-
return !!(a && (t.matches(a) || n && r.closest(a) !== null));
|
|
2372
|
-
}
|
|
2373
|
-
function Ra(t, e) {
|
|
2374
|
-
return e.getId(t) === -2;
|
|
2375
|
-
}
|
|
2376
|
-
function yn(t, e) {
|
|
2377
|
-
if (Je(t)) return !1;
|
|
2378
|
-
const a = e.getId(t);
|
|
2379
|
-
return !e.has(a) || (!t.parentNode || t.parentNode.nodeType !== t.DOCUMENT_NODE) && (!t.parentNode || yn(t.parentNode, e));
|
|
2380
|
-
}
|
|
2381
|
-
function fn(t) {
|
|
2382
|
-
return !!t.changedTouches;
|
|
2383
|
-
}
|
|
2384
|
-
function bn(t, e) {
|
|
2385
|
-
return !!(t.nodeName === "IFRAME" && e.getMeta(t));
|
|
2386
|
-
}
|
|
2387
|
-
function kn(t, e) {
|
|
2388
|
-
return !!(t.nodeName === "LINK" && t.nodeType === t.ELEMENT_NODE && t.getAttribute && t.getAttribute("rel") === "stylesheet" && e.getMeta(t));
|
|
2389
|
-
}
|
|
2390
|
-
function wn(t) {
|
|
2391
|
-
return !!(t != null && t.shadowRoot);
|
|
2392
|
-
}
|
|
2393
|
-
typeof window != "undefined" && window.Proxy && window.Reflect && (zt = new Proxy(zt, { get: (t, e, a) => (e === "map" && console.error(qe), Reflect.get(t, e, a)) }));
|
|
2394
|
-
class ci {
|
|
2395
|
-
constructor() {
|
|
2396
|
-
this.id = 1, this.styleIDMap = /* @__PURE__ */ new WeakMap(), this.idStyleMap = /* @__PURE__ */ new Map();
|
|
2397
|
-
}
|
|
2398
|
-
getId(e) {
|
|
2399
|
-
var a;
|
|
2400
|
-
return (a = this.styleIDMap.get(e)) !== null && a !== void 0 ? a : -1;
|
|
2401
|
-
}
|
|
2402
|
-
has(e) {
|
|
2403
|
-
return this.styleIDMap.has(e);
|
|
2404
|
-
}
|
|
2405
|
-
add(e, a) {
|
|
2406
|
-
if (this.has(e)) return this.getId(e);
|
|
2407
|
-
let n;
|
|
2408
|
-
return n = a === void 0 ? this.id++ : a, this.styleIDMap.set(e, n), this.idStyleMap.set(n, e), n;
|
|
2409
|
-
}
|
|
2410
|
-
getStyle(e) {
|
|
2411
|
-
return this.idStyleMap.get(e) || null;
|
|
2412
|
-
}
|
|
2413
|
-
reset() {
|
|
2414
|
-
this.styleIDMap = /* @__PURE__ */ new WeakMap(), this.idStyleMap = /* @__PURE__ */ new Map(), this.id = 1;
|
|
2415
|
-
}
|
|
2416
|
-
generateId() {
|
|
2417
|
-
return this.id++;
|
|
2418
|
-
}
|
|
2419
|
-
}
|
|
2420
|
-
var q = ((t) => (t[t.DomContentLoaded = 0] = "DomContentLoaded", t[t.Load = 1] = "Load", t[t.FullSnapshot = 2] = "FullSnapshot", t[t.IncrementalSnapshot = 3] = "IncrementalSnapshot", t[t.Meta = 4] = "Meta", t[t.Custom = 5] = "Custom", t[t.Plugin = 6] = "Plugin", t))(q || {}), V = ((t) => (t[t.Mutation = 0] = "Mutation", t[t.MouseMove = 1] = "MouseMove", t[t.MouseInteraction = 2] = "MouseInteraction", t[t.Scroll = 3] = "Scroll", t[t.ViewportResize = 4] = "ViewportResize", t[t.Input = 5] = "Input", t[t.TouchMove = 6] = "TouchMove", t[t.MediaInteraction = 7] = "MediaInteraction", t[t.StyleSheetRule = 8] = "StyleSheetRule", t[t.CanvasMutation = 9] = "CanvasMutation", t[t.Font = 10] = "Font", t[t.Log = 11] = "Log", t[t.Drag = 12] = "Drag", t[t.StyleDeclaration = 13] = "StyleDeclaration", t[t.Selection = 14] = "Selection", t[t.AdoptedStyleSheet = 15] = "AdoptedStyleSheet", t))(V || {}), Pa = ((t) => (t[t.MouseUp = 0] = "MouseUp", t[t.MouseDown = 1] = "MouseDown", t[t.Click = 2] = "Click", t[t.ContextMenu = 3] = "ContextMenu", t[t.DblClick = 4] = "DblClick", t[t.Focus = 5] = "Focus", t[t.Blur = 6] = "Blur", t[t.TouchStart = 7] = "TouchStart", t[t.TouchMove_Departed = 8] = "TouchMove_Departed", t[t.TouchEnd = 9] = "TouchEnd", t[t.TouchCancel = 10] = "TouchCancel", t))(Pa || {}), Ve = ((t) => (t[t["2D"] = 0] = "2D", t[t.WebGL = 1] = "WebGL", t[t.WebGL2 = 2] = "WebGL2", t))(Ve || {});
|
|
2421
|
-
function jt(t) {
|
|
2422
|
-
return "__ln" in t;
|
|
2423
|
-
}
|
|
2424
|
-
class hi {
|
|
2425
|
-
constructor() {
|
|
2426
|
-
this.length = 0, this.head = null;
|
|
2427
|
-
}
|
|
2428
|
-
get(e) {
|
|
2429
|
-
if (e >= this.length) throw new Error("Position outside of list range");
|
|
2430
|
-
let a = this.head;
|
|
2431
|
-
for (let n = 0; n < e; n++) a = (a == null ? void 0 : a.next) || null;
|
|
2432
|
-
return a;
|
|
2433
|
-
}
|
|
2434
|
-
addNode(e) {
|
|
2435
|
-
const a = { value: e, previous: null, next: null };
|
|
2436
|
-
if (e.__ln = a, e.previousSibling && jt(e.previousSibling)) {
|
|
2437
|
-
const n = e.previousSibling.__ln.next;
|
|
2438
|
-
a.next = n, a.previous = e.previousSibling.__ln, e.previousSibling.__ln.next = a, n && (n.previous = a);
|
|
2439
|
-
} else if (e.nextSibling && jt(e.nextSibling) && e.nextSibling.__ln.previous) {
|
|
2440
|
-
const n = e.nextSibling.__ln.previous;
|
|
2441
|
-
a.previous = n, a.next = e.nextSibling.__ln, e.nextSibling.__ln.previous = a, n && (n.next = a);
|
|
2442
|
-
} else this.head && (this.head.previous = a), a.next = this.head, this.head = a;
|
|
2443
|
-
this.length++;
|
|
2444
|
-
}
|
|
2445
|
-
removeNode(e) {
|
|
2446
|
-
const a = e.__ln;
|
|
2447
|
-
this.head && (a.previous ? (a.previous.next = a.next, a.next && (a.next.previous = a.previous)) : (this.head = a.next, this.head && (this.head.previous = null)), e.__ln && delete e.__ln, this.length--);
|
|
2448
|
-
}
|
|
2449
|
-
}
|
|
2450
|
-
const Tt = (t, e) => `${t}@${e}`;
|
|
2451
|
-
class di {
|
|
2452
|
-
constructor() {
|
|
2453
|
-
this.frozen = !1, this.locked = !1, this.texts = [], this.attributes = [], this.removes = [], this.mapRemoves = [], this.movedMap = {}, this.addedSet = /* @__PURE__ */ new Set(), this.movedSet = /* @__PURE__ */ new Set(), this.droppedSet = /* @__PURE__ */ new Set(), this.processMutations = (e) => {
|
|
2454
|
-
e.forEach(this.processMutation), this.emit();
|
|
2455
|
-
}, this.emit = () => {
|
|
2456
|
-
if (this.frozen || this.locked) return;
|
|
2457
|
-
const e = [], a = new hi(), n = (s) => {
|
|
2458
|
-
let l = s, c = -2;
|
|
2459
|
-
for (; c === -2; ) l = l && l.nextSibling, c = l && this.mirror.getId(l);
|
|
2460
|
-
return c;
|
|
2461
|
-
}, r = (s) => {
|
|
2462
|
-
var l, c, h, d;
|
|
2463
|
-
let u = null;
|
|
2464
|
-
((c = (l = s.getRootNode) === null || l === void 0 ? void 0 : l.call(s)) === null || c === void 0 ? void 0 : c.nodeType) === Node.DOCUMENT_FRAGMENT_NODE && s.getRootNode().host && (u = s.getRootNode().host);
|
|
2465
|
-
let b = u;
|
|
2466
|
-
for (; ((d = (h = b == null ? void 0 : b.getRootNode) === null || h === void 0 ? void 0 : h.call(b)) === null || d === void 0 ? void 0 : d.nodeType) === Node.DOCUMENT_FRAGMENT_NODE && b.getRootNode().host; ) b = b.getRootNode().host;
|
|
2467
|
-
const v = !(this.doc.contains(s) || b && this.doc.contains(b));
|
|
2468
|
-
if (!s.parentNode || v) return;
|
|
2469
|
-
const T = Je(s.parentNode) ? this.mirror.getId(u) : this.mirror.getId(s.parentNode), p = n(s);
|
|
2470
|
-
if (T === -1 || p === -1) return a.addNode(s);
|
|
2471
|
-
const g = We(s, { doc: this.doc, mirror: this.mirror, blockClass: this.blockClass, blockSelector: this.blockSelector, maskTextClass: this.maskTextClass, maskTextSelector: this.maskTextSelector, skipChild: !0, newlyAddedElement: !0, inlineStylesheet: this.inlineStylesheet, maskInputOptions: this.maskInputOptions, maskTextFn: this.maskTextFn, maskInputFn: this.maskInputFn, slimDOMOptions: this.slimDOMOptions, dataURLOptions: this.dataURLOptions, recordCanvas: this.recordCanvas, inlineImages: this.inlineImages, onSerialize: (C) => {
|
|
2472
|
-
bn(C, this.mirror) && this.iframeManager.addIframe(C), kn(C, this.mirror) && this.stylesheetManager.trackLinkElement(C), wn(s) && this.shadowDomManager.addShadowRoot(s.shadowRoot, this.doc);
|
|
2473
|
-
}, onIframeLoad: (C, z) => {
|
|
2474
|
-
this.iframeManager.attachIframe(C, z), this.shadowDomManager.observeAttachShadow(C);
|
|
2475
|
-
}, onStylesheetLoad: (C, z) => {
|
|
2476
|
-
this.stylesheetManager.attachLinkElement(C, z);
|
|
2477
|
-
} });
|
|
2478
|
-
g && e.push({ parentId: T, nextId: p, node: g });
|
|
2479
|
-
};
|
|
2480
|
-
for (; this.mapRemoves.length; ) this.mirror.removeNodeFromMap(this.mapRemoves.shift());
|
|
2481
|
-
for (const s of Array.from(this.movedSet.values())) xt(this.removes, s, this.mirror) && !this.movedSet.has(s.parentNode) || r(s);
|
|
2482
|
-
for (const s of Array.from(this.addedSet.values())) Rt(this.droppedSet, s) || xt(this.removes, s, this.mirror) ? Rt(this.movedSet, s) ? r(s) : this.droppedSet.add(s) : r(s);
|
|
2483
|
-
let i = null;
|
|
2484
|
-
for (; a.length; ) {
|
|
2485
|
-
let s = null;
|
|
2486
|
-
if (i) {
|
|
2487
|
-
const l = this.mirror.getId(i.value.parentNode), c = n(i.value);
|
|
2488
|
-
l !== -1 && c !== -1 && (s = i);
|
|
2489
|
-
}
|
|
2490
|
-
if (!s) for (let l = a.length - 1; l >= 0; l--) {
|
|
2491
|
-
const c = a.get(l);
|
|
2492
|
-
if (c) {
|
|
2493
|
-
const h = this.mirror.getId(c.value.parentNode);
|
|
2494
|
-
if (n(c.value) === -1) continue;
|
|
2495
|
-
if (h !== -1) {
|
|
2496
|
-
s = c;
|
|
2497
|
-
break;
|
|
2498
|
-
}
|
|
2499
|
-
{
|
|
2500
|
-
const d = c.value;
|
|
2501
|
-
if (d.parentNode && d.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
2502
|
-
const u = d.parentNode.host;
|
|
2503
|
-
if (this.mirror.getId(u) !== -1) {
|
|
2504
|
-
s = c;
|
|
2505
|
-
break;
|
|
2506
|
-
}
|
|
2507
|
-
}
|
|
2508
|
-
}
|
|
2509
|
-
}
|
|
2510
|
-
}
|
|
2511
|
-
if (!s) {
|
|
2512
|
-
for (; a.head; ) a.removeNode(a.head.value);
|
|
2513
|
-
break;
|
|
2514
|
-
}
|
|
2515
|
-
i = s.previous, a.removeNode(s.value), r(s.value);
|
|
2516
|
-
}
|
|
2517
|
-
const o = { texts: this.texts.map((s) => ({ id: this.mirror.getId(s.node), value: s.value })).filter((s) => this.mirror.has(s.id)), attributes: this.attributes.map((s) => ({ id: this.mirror.getId(s.node), attributes: s.attributes })).filter((s) => this.mirror.has(s.id)), removes: this.removes, adds: e };
|
|
2518
|
-
(o.texts.length || o.attributes.length || o.removes.length || o.adds.length) && (this.texts = [], this.attributes = [], this.removes = [], this.addedSet = /* @__PURE__ */ new Set(), this.movedSet = /* @__PURE__ */ new Set(), this.droppedSet = /* @__PURE__ */ new Set(), this.movedMap = {}, this.mutationCb(o));
|
|
2519
|
-
}, this.processMutation = (e) => {
|
|
2520
|
-
if (!Ra(e.target, this.mirror)) switch (e.type) {
|
|
2521
|
-
case "characterData": {
|
|
2522
|
-
const a = e.target.textContent;
|
|
2523
|
-
le(e.target, this.blockClass, this.blockSelector, !1) || a === e.oldValue || this.texts.push({ value: mn(e.target, this.maskTextClass, this.maskTextSelector) && a ? this.maskTextFn ? this.maskTextFn(a) : a.replace(/[\S]/g, "*") : a, node: e.target });
|
|
2524
|
-
break;
|
|
2525
|
-
}
|
|
2526
|
-
case "attributes": {
|
|
2527
|
-
const a = e.target;
|
|
2528
|
-
let n = e.target.getAttribute(e.attributeName);
|
|
2529
|
-
if (e.attributeName === "value" && (n = at({ maskInputOptions: this.maskInputOptions, tagName: e.target.tagName, type: e.target.getAttribute("type"), value: n, maskInputFn: this.maskInputFn })), le(e.target, this.blockClass, this.blockSelector, !1) || n === e.oldValue) return;
|
|
2530
|
-
let r = this.attributes.find((i) => i.node === e.target);
|
|
2531
|
-
if (a.tagName === "IFRAME" && e.attributeName === "src" && !this.keepIframeSrcFn(n)) {
|
|
2532
|
-
if (a.contentDocument) return;
|
|
2533
|
-
e.attributeName = "rr_src";
|
|
2534
|
-
}
|
|
2535
|
-
if (r || (r = { node: e.target, attributes: {} }, this.attributes.push(r)), e.attributeName === "style") {
|
|
2536
|
-
const i = this.doc.createElement("span");
|
|
2537
|
-
e.oldValue && i.setAttribute("style", e.oldValue), r.attributes.style !== void 0 && r.attributes.style !== null || (r.attributes.style = {});
|
|
2538
|
-
const o = r.attributes.style;
|
|
2539
|
-
for (const s of Array.from(a.style)) {
|
|
2540
|
-
const l = a.style.getPropertyValue(s), c = a.style.getPropertyPriority(s);
|
|
2541
|
-
l === i.style.getPropertyValue(s) && c === i.style.getPropertyPriority(s) || (o[s] = c === "" ? l : [l, c]);
|
|
2542
|
-
}
|
|
2543
|
-
for (const s of Array.from(i.style)) a.style.getPropertyValue(s) === "" && (o[s] = !1);
|
|
2544
|
-
} else r.attributes[e.attributeName] = un(this.doc, a.tagName, e.attributeName, n);
|
|
2545
|
-
break;
|
|
2546
|
-
}
|
|
2547
|
-
case "childList":
|
|
2548
|
-
if (le(e.target, this.blockClass, this.blockSelector, !0)) return;
|
|
2549
|
-
e.addedNodes.forEach((a) => this.genAdds(a, e.target)), e.removedNodes.forEach((a) => {
|
|
2550
|
-
const n = this.mirror.getId(a), r = Je(e.target) ? this.mirror.getId(e.target.host) : this.mirror.getId(e.target);
|
|
2551
|
-
le(e.target, this.blockClass, this.blockSelector, !1) || Ra(a, this.mirror) || !function(i, o) {
|
|
2552
|
-
return o.getId(i) !== -1;
|
|
2553
|
-
}(a, this.mirror) || (this.addedSet.has(a) ? (Za(this.addedSet, a), this.droppedSet.add(a)) : this.addedSet.has(e.target) && n === -1 || yn(e.target, this.mirror) || (this.movedSet.has(a) && this.movedMap[Tt(n, r)] ? Za(this.movedSet, a) : this.removes.push({ parentId: r, id: n, isShadow: !(!Je(e.target) || !Qe(e.target)) || void 0 })), this.mapRemoves.push(a));
|
|
2554
|
-
});
|
|
2555
|
-
}
|
|
2556
|
-
}, this.genAdds = (e, a) => {
|
|
2557
|
-
if (this.mirror.hasNode(e)) {
|
|
2558
|
-
if (Ra(e, this.mirror)) return;
|
|
2559
|
-
this.movedSet.add(e);
|
|
2560
|
-
let n = null;
|
|
2561
|
-
a && this.mirror.hasNode(a) && (n = this.mirror.getId(a)), n && n !== -1 && (this.movedMap[Tt(this.mirror.getId(e), n)] = !0);
|
|
2562
|
-
} else this.addedSet.add(e), this.droppedSet.delete(e);
|
|
2563
|
-
le(e, this.blockClass, this.blockSelector, !1) || e.childNodes.forEach((n) => this.genAdds(n));
|
|
2564
|
-
};
|
|
2565
|
-
}
|
|
2566
|
-
init(e) {
|
|
2567
|
-
["mutationCb", "blockClass", "blockSelector", "maskTextClass", "maskTextSelector", "inlineStylesheet", "maskInputOptions", "maskTextFn", "maskInputFn", "keepIframeSrcFn", "recordCanvas", "inlineImages", "slimDOMOptions", "dataURLOptions", "doc", "mirror", "iframeManager", "stylesheetManager", "shadowDomManager", "canvasManager"].forEach((a) => {
|
|
2568
|
-
this[a] = e[a];
|
|
2569
|
-
});
|
|
2570
|
-
}
|
|
2571
|
-
freeze() {
|
|
2572
|
-
this.frozen = !0, this.canvasManager.freeze();
|
|
2573
|
-
}
|
|
2574
|
-
unfreeze() {
|
|
2575
|
-
this.frozen = !1, this.canvasManager.unfreeze(), this.emit();
|
|
2576
|
-
}
|
|
2577
|
-
isFrozen() {
|
|
2578
|
-
return this.frozen;
|
|
2579
|
-
}
|
|
2580
|
-
lock() {
|
|
2581
|
-
this.locked = !0, this.canvasManager.lock();
|
|
2582
|
-
}
|
|
2583
|
-
unlock() {
|
|
2584
|
-
this.locked = !1, this.canvasManager.unlock(), this.emit();
|
|
2585
|
-
}
|
|
2586
|
-
reset() {
|
|
2587
|
-
this.shadowDomManager.reset(), this.canvasManager.reset();
|
|
2588
|
-
}
|
|
2589
|
-
}
|
|
2590
|
-
function Za(t, e) {
|
|
2591
|
-
t.delete(e), e.childNodes.forEach((a) => Za(t, a));
|
|
2592
|
-
}
|
|
2593
|
-
function xt(t, e, a) {
|
|
2594
|
-
return t.length !== 0 && vn(t, e, a);
|
|
2595
|
-
}
|
|
2596
|
-
function vn(t, e, a) {
|
|
2597
|
-
const { parentNode: n } = e;
|
|
2598
|
-
if (!n) return !1;
|
|
2599
|
-
const r = a.getId(n);
|
|
2600
|
-
return !!t.some((i) => i.id === r) || vn(t, n, a);
|
|
2601
|
-
}
|
|
2602
|
-
function Rt(t, e) {
|
|
2603
|
-
return t.size !== 0 && In(t, e);
|
|
2604
|
-
}
|
|
2605
|
-
function In(t, e) {
|
|
2606
|
-
const { parentNode: a } = e;
|
|
2607
|
-
return !!a && (!!t.has(a) || In(t, a));
|
|
2608
|
-
}
|
|
2609
|
-
const Me = [], Cn = typeof CSSGroupingRule != "undefined", Sn = typeof CSSMediaRule != "undefined", An = typeof CSSSupportsRule != "undefined", En = typeof CSSConditionRule != "undefined";
|
|
2610
|
-
function Xe(t) {
|
|
2611
|
-
try {
|
|
2612
|
-
if ("composedPath" in t) {
|
|
2613
|
-
const e = t.composedPath();
|
|
2614
|
-
if (e.length) return e[0];
|
|
2615
|
-
} else if ("path" in t && t.path.length) return t.path[0];
|
|
2616
|
-
return t.target;
|
|
2617
|
-
} catch (e) {
|
|
2618
|
-
return t.target;
|
|
2619
|
-
}
|
|
2620
|
-
}
|
|
2621
|
-
function zn(t, e) {
|
|
2622
|
-
var a, n;
|
|
2623
|
-
const r = new di();
|
|
2624
|
-
Me.push(r), r.init(t);
|
|
2625
|
-
let i = window.MutationObserver || window.__rrMutationObserver;
|
|
2626
|
-
const o = (n = (a = window == null ? void 0 : window.Zone) === null || a === void 0 ? void 0 : a.__symbol__) === null || n === void 0 ? void 0 : n.call(a, "MutationObserver");
|
|
2627
|
-
o && window[o] && (i = window[o]);
|
|
2628
|
-
const s = new i(r.processMutations.bind(r));
|
|
2629
|
-
return s.observe(e, { attributes: !0, attributeOldValue: !0, characterData: !0, characterDataOldValue: !0, childList: !0, subtree: !0 }), s;
|
|
2630
|
-
}
|
|
2631
|
-
function ui({ mouseInteractionCb: t, doc: e, mirror: a, blockClass: n, blockSelector: r, sampling: i }) {
|
|
2632
|
-
if (i.mouseInteraction === !1) return () => {
|
|
2633
|
-
};
|
|
2634
|
-
const o = i.mouseInteraction === !0 || i.mouseInteraction === void 0 ? {} : i.mouseInteraction, s = [];
|
|
2635
|
-
return Object.keys(Pa).filter((l) => Number.isNaN(Number(l)) && !l.endsWith("_Departed") && o[l] !== !1).forEach((l) => {
|
|
2636
|
-
const c = l.toLowerCase(), h = /* @__PURE__ */ ((d) => (u) => {
|
|
2637
|
-
const b = Xe(u);
|
|
2638
|
-
if (le(b, n, r, !0)) return;
|
|
2639
|
-
const v = fn(u) ? u.changedTouches[0] : u;
|
|
2640
|
-
if (!v) return;
|
|
2641
|
-
const T = a.getId(b), { clientX: p, clientY: g } = v;
|
|
2642
|
-
t({ type: Pa[d], id: T, x: p, y: g });
|
|
2643
|
-
})(l);
|
|
2644
|
-
s.push(se(c, h, e));
|
|
2645
|
-
}), () => {
|
|
2646
|
-
s.forEach((l) => l());
|
|
2647
|
-
};
|
|
2648
|
-
}
|
|
2649
|
-
function jn({ scrollCb: t, doc: e, mirror: a, blockClass: n, blockSelector: r, sampling: i }) {
|
|
2650
|
-
return se("scroll", He((o) => {
|
|
2651
|
-
const s = Xe(o);
|
|
2652
|
-
if (!s || le(s, n, r, !0)) return;
|
|
2653
|
-
const l = a.getId(s);
|
|
2654
|
-
if (s === e) {
|
|
2655
|
-
const c = e.scrollingElement || e.documentElement;
|
|
2656
|
-
t({ id: l, x: c.scrollLeft, y: c.scrollTop });
|
|
2657
|
-
} else t({ id: l, x: s.scrollLeft, y: s.scrollTop });
|
|
2658
|
-
}, i.scroll || 100), e);
|
|
2659
|
-
}
|
|
2660
|
-
function Nt(t, e) {
|
|
2661
|
-
const a = Object.assign({}, t);
|
|
2662
|
-
return e || delete a.userTriggered, a;
|
|
2663
|
-
}
|
|
2664
|
-
const mi = ["INPUT", "TEXTAREA", "SELECT"], Mt = /* @__PURE__ */ new WeakMap();
|
|
2665
|
-
function ia(t) {
|
|
2666
|
-
return function(e, a) {
|
|
2667
|
-
if (Cn && e.parentRule instanceof CSSGroupingRule || Sn && e.parentRule instanceof CSSMediaRule || An && e.parentRule instanceof CSSSupportsRule || En && e.parentRule instanceof CSSConditionRule) {
|
|
2668
|
-
const n = Array.from(e.parentRule.cssRules).indexOf(e);
|
|
2669
|
-
a.unshift(n);
|
|
2670
|
-
} else if (e.parentStyleSheet) {
|
|
2671
|
-
const n = Array.from(e.parentStyleSheet.cssRules).indexOf(e);
|
|
2672
|
-
a.unshift(n);
|
|
2673
|
-
}
|
|
2674
|
-
return a;
|
|
2675
|
-
}(t, []);
|
|
2676
|
-
}
|
|
2677
|
-
function je(t, e, a) {
|
|
2678
|
-
let n, r;
|
|
2679
|
-
return t ? (t.ownerNode ? n = e.getId(t.ownerNode) : r = a.getId(t), { styleId: r, id: n }) : {};
|
|
2680
|
-
}
|
|
2681
|
-
function Tn({ mirror: t, stylesheetManager: e }, a) {
|
|
2682
|
-
var n, r, i;
|
|
2683
|
-
let o = null;
|
|
2684
|
-
o = a.nodeName === "#document" ? t.getId(a) : t.getId(a.host);
|
|
2685
|
-
const s = a.nodeName === "#document" ? (n = a.defaultView) === null || n === void 0 ? void 0 : n.Document : (i = (r = a.ownerDocument) === null || r === void 0 ? void 0 : r.defaultView) === null || i === void 0 ? void 0 : i.ShadowRoot, l = Object.getOwnPropertyDescriptor(s == null ? void 0 : s.prototype, "adoptedStyleSheets");
|
|
2686
|
-
return o !== null && o !== -1 && s && l ? (Object.defineProperty(a, "adoptedStyleSheets", { configurable: l.configurable, enumerable: l.enumerable, get() {
|
|
2687
|
-
var c;
|
|
2688
|
-
return (c = l.get) === null || c === void 0 ? void 0 : c.call(this);
|
|
2689
|
-
}, set(c) {
|
|
2690
|
-
var h;
|
|
2691
|
-
const d = (h = l.set) === null || h === void 0 ? void 0 : h.call(this, c);
|
|
2692
|
-
if (o !== null && o !== -1) try {
|
|
2693
|
-
e.adoptStyleSheets(c, o);
|
|
2694
|
-
} catch (u) {
|
|
2695
|
-
}
|
|
2696
|
-
return d;
|
|
2697
|
-
} }), () => {
|
|
2698
|
-
Object.defineProperty(a, "adoptedStyleSheets", { configurable: l.configurable, enumerable: l.enumerable, get: l.get, set: l.set });
|
|
2699
|
-
}) : () => {
|
|
2700
|
-
};
|
|
2701
|
-
}
|
|
2702
|
-
function gi(t, e = {}) {
|
|
2703
|
-
const a = t.doc.defaultView;
|
|
2704
|
-
if (!a) return () => {
|
|
2705
|
-
};
|
|
2706
|
-
(function(p, g) {
|
|
2707
|
-
const { mutationCb: C, mousemoveCb: z, mouseInteractionCb: M, scrollCb: k, viewportResizeCb: I, inputCb: m, mediaInteractionCb: w, styleSheetRuleCb: y, styleDeclarationCb: E, canvasMutationCb: S, fontCb: j, selectionCb: x } = p;
|
|
2708
|
-
p.mutationCb = (...f) => {
|
|
2709
|
-
g.mutation && g.mutation(...f), C(...f);
|
|
2710
|
-
}, p.mousemoveCb = (...f) => {
|
|
2711
|
-
g.mousemove && g.mousemove(...f), z(...f);
|
|
2712
|
-
}, p.mouseInteractionCb = (...f) => {
|
|
2713
|
-
g.mouseInteraction && g.mouseInteraction(...f), M(...f);
|
|
2714
|
-
}, p.scrollCb = (...f) => {
|
|
2715
|
-
g.scroll && g.scroll(...f), k(...f);
|
|
2716
|
-
}, p.viewportResizeCb = (...f) => {
|
|
2717
|
-
g.viewportResize && g.viewportResize(...f), I(...f);
|
|
2718
|
-
}, p.inputCb = (...f) => {
|
|
2719
|
-
g.input && g.input(...f), m(...f);
|
|
2720
|
-
}, p.mediaInteractionCb = (...f) => {
|
|
2721
|
-
g.mediaInteaction && g.mediaInteaction(...f), w(...f);
|
|
2722
|
-
}, p.styleSheetRuleCb = (...f) => {
|
|
2723
|
-
g.styleSheetRule && g.styleSheetRule(...f), y(...f);
|
|
2724
|
-
}, p.styleDeclarationCb = (...f) => {
|
|
2725
|
-
g.styleDeclaration && g.styleDeclaration(...f), E(...f);
|
|
2726
|
-
}, p.canvasMutationCb = (...f) => {
|
|
2727
|
-
g.canvasMutation && g.canvasMutation(...f), S(...f);
|
|
2728
|
-
}, p.fontCb = (...f) => {
|
|
2729
|
-
g.font && g.font(...f), j(...f);
|
|
2730
|
-
}, p.selectionCb = (...f) => {
|
|
2731
|
-
g.selection && g.selection(...f), x(...f);
|
|
2732
|
-
};
|
|
2733
|
-
})(t, e);
|
|
2734
|
-
const n = zn(t, t.doc), r = function({ mousemoveCb: p, sampling: g, doc: C, mirror: z }) {
|
|
2735
|
-
if (g.mousemove === !1) return () => {
|
|
2736
|
-
};
|
|
2737
|
-
const M = typeof g.mousemove == "number" ? g.mousemove : 50, k = typeof g.mousemoveCallback == "number" ? g.mousemoveCallback : 500;
|
|
2738
|
-
let I, m = [];
|
|
2739
|
-
const w = He((S) => {
|
|
2740
|
-
const j = Date.now() - I;
|
|
2741
|
-
p(m.map((x) => (x.timeOffset -= j, x)), S), m = [], I = null;
|
|
2742
|
-
}, k), y = He((S) => {
|
|
2743
|
-
const j = Xe(S), { clientX: x, clientY: f } = fn(S) ? S.changedTouches[0] : S;
|
|
2744
|
-
I || (I = Date.now()), m.push({ x, y: f, id: z.getId(j), timeOffset: Date.now() - I }), w(typeof DragEvent != "undefined" && S instanceof DragEvent ? V.Drag : S instanceof MouseEvent ? V.MouseMove : V.TouchMove);
|
|
2745
|
-
}, M, { trailing: !1 }), E = [se("mousemove", y, C), se("touchmove", y, C), se("drag", y, C)];
|
|
2746
|
-
return () => {
|
|
2747
|
-
E.forEach((S) => S());
|
|
2748
|
-
};
|
|
2749
|
-
}(t), i = ui(t), o = jn(t), s = function({ viewportResizeCb: p }) {
|
|
2750
|
-
let g = -1, C = -1;
|
|
2751
|
-
return se("resize", He(() => {
|
|
2752
|
-
const z = gn(), M = pn();
|
|
2753
|
-
g === z && C === M || (p({ width: Number(M), height: Number(z) }), g = z, C = M);
|
|
2754
|
-
}, 200), window);
|
|
2755
|
-
}(t), l = function({ inputCb: p, doc: g, mirror: C, blockClass: z, blockSelector: M, ignoreClass: k, maskInputOptions: I, maskInputFn: m, sampling: w, userTriggeredOnInput: y }) {
|
|
2756
|
-
function E(U) {
|
|
2757
|
-
let D = Xe(U);
|
|
2758
|
-
const me = U.isTrusted;
|
|
2759
|
-
if (D && D.tagName === "OPTION" && (D = D.parentElement), !D || !D.tagName || mi.indexOf(D.tagName) < 0 || le(D, z, M, !0)) return;
|
|
2760
|
-
const ne = D.type;
|
|
2761
|
-
if (D.classList.contains(k)) return;
|
|
2762
|
-
let ce = D.value, oe = !1;
|
|
2763
|
-
ne === "radio" || ne === "checkbox" ? oe = D.checked : (I[D.tagName.toLowerCase()] || I[ne]) && (ce = at({ maskInputOptions: I, tagName: D.tagName, type: ne, value: ce, maskInputFn: m })), S(D, Nt({ text: ce, isChecked: oe, userTriggered: me }, y));
|
|
2764
|
-
const W = D.name;
|
|
2765
|
-
ne === "radio" && W && oe && g.querySelectorAll(`input[type="radio"][name="${W}"]`).forEach((P) => {
|
|
2766
|
-
P !== D && S(P, Nt({ text: P.value, isChecked: !oe, userTriggered: !1 }, y));
|
|
2767
|
-
});
|
|
2768
|
-
}
|
|
2769
|
-
function S(U, D) {
|
|
2770
|
-
const me = Mt.get(U);
|
|
2771
|
-
if (!me || me.text !== D.text || me.isChecked !== D.isChecked) {
|
|
2772
|
-
Mt.set(U, D);
|
|
2773
|
-
const ne = C.getId(U);
|
|
2774
|
-
p(Object.assign(Object.assign({}, D), { id: ne }));
|
|
2775
|
-
}
|
|
2776
|
-
}
|
|
2777
|
-
const j = (w.input === "last" ? ["change"] : ["input", "change"]).map((U) => se(U, E, g)), x = g.defaultView;
|
|
2778
|
-
if (!x) return () => {
|
|
2779
|
-
j.forEach((U) => U());
|
|
2780
|
-
};
|
|
2781
|
-
const f = x.Object.getOwnPropertyDescriptor(x.HTMLInputElement.prototype, "value"), F = [[x.HTMLInputElement.prototype, "value"], [x.HTMLInputElement.prototype, "checked"], [x.HTMLSelectElement.prototype, "value"], [x.HTMLTextAreaElement.prototype, "value"], [x.HTMLSelectElement.prototype, "selectedIndex"], [x.HTMLOptionElement.prototype, "selected"]];
|
|
2782
|
-
return f && f.set && j.push(...F.map((U) => Ia(U[0], U[1], { set() {
|
|
2783
|
-
E({ target: this });
|
|
2784
|
-
} }, !1, x))), () => {
|
|
2785
|
-
j.forEach((U) => U());
|
|
2786
|
-
};
|
|
2787
|
-
}(t), c = function({ mediaInteractionCb: p, blockClass: g, blockSelector: C, mirror: z, sampling: M }) {
|
|
2788
|
-
const k = (m) => He((w) => {
|
|
2789
|
-
const y = Xe(w);
|
|
2790
|
-
if (!y || le(y, g, C, !0)) return;
|
|
2791
|
-
const { currentTime: E, volume: S, muted: j, playbackRate: x } = y;
|
|
2792
|
-
p({ type: m, id: z.getId(y), currentTime: E, volume: S, muted: j, playbackRate: x });
|
|
2793
|
-
}, M.media || 500), I = [se("play", k(0)), se("pause", k(1)), se("seeked", k(2)), se("volumechange", k(3)), se("ratechange", k(4))];
|
|
2794
|
-
return () => {
|
|
2795
|
-
I.forEach((m) => m());
|
|
2796
|
-
};
|
|
2797
|
-
}(t), h = function({ styleSheetRuleCb: p, mirror: g, stylesheetManager: C }, { win: z }) {
|
|
2798
|
-
const M = z.CSSStyleSheet.prototype.insertRule;
|
|
2799
|
-
z.CSSStyleSheet.prototype.insertRule = function(E, S) {
|
|
2800
|
-
const { id: j, styleId: x } = je(this, g, C.styleMirror);
|
|
2801
|
-
return (j && j !== -1 || x && x !== -1) && p({ id: j, styleId: x, adds: [{ rule: E, index: S }] }), M.apply(this, [E, S]);
|
|
2802
|
-
};
|
|
2803
|
-
const k = z.CSSStyleSheet.prototype.deleteRule;
|
|
2804
|
-
let I, m;
|
|
2805
|
-
z.CSSStyleSheet.prototype.deleteRule = function(E) {
|
|
2806
|
-
const { id: S, styleId: j } = je(this, g, C.styleMirror);
|
|
2807
|
-
return (S && S !== -1 || j && j !== -1) && p({ id: S, styleId: j, removes: [{ index: E }] }), k.apply(this, [E]);
|
|
2808
|
-
}, z.CSSStyleSheet.prototype.replace && (I = z.CSSStyleSheet.prototype.replace, z.CSSStyleSheet.prototype.replace = function(E) {
|
|
2809
|
-
const { id: S, styleId: j } = je(this, g, C.styleMirror);
|
|
2810
|
-
return (S && S !== -1 || j && j !== -1) && p({ id: S, styleId: j, replace: E }), I.apply(this, [E]);
|
|
2811
|
-
}), z.CSSStyleSheet.prototype.replaceSync && (m = z.CSSStyleSheet.prototype.replaceSync, z.CSSStyleSheet.prototype.replaceSync = function(E) {
|
|
2812
|
-
const { id: S, styleId: j } = je(this, g, C.styleMirror);
|
|
2813
|
-
return (S && S !== -1 || j && j !== -1) && p({ id: S, styleId: j, replaceSync: E }), m.apply(this, [E]);
|
|
2814
|
-
});
|
|
2815
|
-
const w = {};
|
|
2816
|
-
Cn ? w.CSSGroupingRule = z.CSSGroupingRule : (Sn && (w.CSSMediaRule = z.CSSMediaRule), En && (w.CSSConditionRule = z.CSSConditionRule), An && (w.CSSSupportsRule = z.CSSSupportsRule));
|
|
2817
|
-
const y = {};
|
|
2818
|
-
return Object.entries(w).forEach(([E, S]) => {
|
|
2819
|
-
y[E] = { insertRule: S.prototype.insertRule, deleteRule: S.prototype.deleteRule }, S.prototype.insertRule = function(j, x) {
|
|
2820
|
-
const { id: f, styleId: F } = je(this.parentStyleSheet, g, C.styleMirror);
|
|
2821
|
-
return (f && f !== -1 || F && F !== -1) && p({ id: f, styleId: F, adds: [{ rule: j, index: [...ia(this), x || 0] }] }), y[E].insertRule.apply(this, [j, x]);
|
|
2822
|
-
}, S.prototype.deleteRule = function(j) {
|
|
2823
|
-
const { id: x, styleId: f } = je(this.parentStyleSheet, g, C.styleMirror);
|
|
2824
|
-
return (x && x !== -1 || f && f !== -1) && p({ id: x, styleId: f, removes: [{ index: [...ia(this), j] }] }), y[E].deleteRule.apply(this, [j]);
|
|
2825
|
-
};
|
|
2826
|
-
}), () => {
|
|
2827
|
-
z.CSSStyleSheet.prototype.insertRule = M, z.CSSStyleSheet.prototype.deleteRule = k, I && (z.CSSStyleSheet.prototype.replace = I), m && (z.CSSStyleSheet.prototype.replaceSync = m), Object.entries(w).forEach(([E, S]) => {
|
|
2828
|
-
S.prototype.insertRule = y[E].insertRule, S.prototype.deleteRule = y[E].deleteRule;
|
|
2829
|
-
});
|
|
2830
|
-
};
|
|
2831
|
-
}(t, { win: a }), d = Tn(t, t.doc), u = function({ styleDeclarationCb: p, mirror: g, ignoreCSSAttributes: C, stylesheetManager: z }, { win: M }) {
|
|
2832
|
-
const k = M.CSSStyleDeclaration.prototype.setProperty;
|
|
2833
|
-
M.CSSStyleDeclaration.prototype.setProperty = function(m, w, y) {
|
|
2834
|
-
var E;
|
|
2835
|
-
if (C.has(m)) return k.apply(this, [m, w, y]);
|
|
2836
|
-
const { id: S, styleId: j } = je((E = this.parentRule) === null || E === void 0 ? void 0 : E.parentStyleSheet, g, z.styleMirror);
|
|
2837
|
-
return (S && S !== -1 || j && j !== -1) && p({ id: S, styleId: j, set: { property: m, value: w, priority: y }, index: ia(this.parentRule) }), k.apply(this, [m, w, y]);
|
|
2838
|
-
};
|
|
2839
|
-
const I = M.CSSStyleDeclaration.prototype.removeProperty;
|
|
2840
|
-
return M.CSSStyleDeclaration.prototype.removeProperty = function(m) {
|
|
2841
|
-
var w;
|
|
2842
|
-
if (C.has(m)) return I.apply(this, [m]);
|
|
2843
|
-
const { id: y, styleId: E } = je((w = this.parentRule) === null || w === void 0 ? void 0 : w.parentStyleSheet, g, z.styleMirror);
|
|
2844
|
-
return (y && y !== -1 || E && E !== -1) && p({ id: y, styleId: E, remove: { property: m }, index: ia(this.parentRule) }), I.apply(this, [m]);
|
|
2845
|
-
}, () => {
|
|
2846
|
-
M.CSSStyleDeclaration.prototype.setProperty = k, M.CSSStyleDeclaration.prototype.removeProperty = I;
|
|
2847
|
-
};
|
|
2848
|
-
}(t, { win: a }), b = t.collectFonts ? function({ fontCb: p, doc: g }) {
|
|
2849
|
-
const C = g.defaultView;
|
|
2850
|
-
if (!C) return () => {
|
|
2851
|
-
};
|
|
2852
|
-
const z = [], M = /* @__PURE__ */ new WeakMap(), k = C.FontFace;
|
|
2853
|
-
C.FontFace = function(m, w, y) {
|
|
2854
|
-
const E = new k(m, w, y);
|
|
2855
|
-
return M.set(E, { family: m, buffer: typeof w != "string", descriptors: y, fontSource: typeof w == "string" ? w : JSON.stringify(Array.from(new Uint8Array(w))) }), E;
|
|
2856
|
-
};
|
|
2857
|
-
const I = _e(g.fonts, "add", function(m) {
|
|
2858
|
-
return function(w) {
|
|
2859
|
-
return setTimeout(() => {
|
|
2860
|
-
const y = M.get(w);
|
|
2861
|
-
y && (p(y), M.delete(w));
|
|
2862
|
-
}, 0), m.apply(this, [w]);
|
|
2863
|
-
};
|
|
2864
|
-
});
|
|
2865
|
-
return z.push(() => {
|
|
2866
|
-
C.FontFace = k;
|
|
2867
|
-
}), z.push(I), () => {
|
|
2868
|
-
z.forEach((m) => m());
|
|
2869
|
-
};
|
|
2870
|
-
}(t) : () => {
|
|
2871
|
-
}, v = function(p) {
|
|
2872
|
-
const { doc: g, mirror: C, blockClass: z, blockSelector: M, selectionCb: k } = p;
|
|
2873
|
-
let I = !0;
|
|
2874
|
-
const m = () => {
|
|
2875
|
-
const w = g.getSelection();
|
|
2876
|
-
if (!w || I && (w != null && w.isCollapsed)) return;
|
|
2877
|
-
I = w.isCollapsed || !1;
|
|
2878
|
-
const y = [], E = w.rangeCount || 0;
|
|
2879
|
-
for (let S = 0; S < E; S++) {
|
|
2880
|
-
const j = w.getRangeAt(S), { startContainer: x, startOffset: f, endContainer: F, endOffset: U } = j;
|
|
2881
|
-
le(x, z, M, !0) || le(F, z, M, !0) || y.push({ start: C.getId(x), startOffset: f, end: C.getId(F), endOffset: U });
|
|
2882
|
-
}
|
|
2883
|
-
k({ ranges: y });
|
|
2884
|
-
};
|
|
2885
|
-
return m(), se("selectionchange", m);
|
|
2886
|
-
}(t), T = [];
|
|
2887
|
-
for (const p of t.plugins) T.push(p.observer(p.callback, a, p.options));
|
|
2888
|
-
return () => {
|
|
2889
|
-
Me.forEach((p) => p.reset()), n.disconnect(), r(), i(), o(), s(), l(), c(), h(), d(), u(), b(), v(), T.forEach((p) => p());
|
|
2890
|
-
};
|
|
2891
|
-
}
|
|
2892
|
-
class _t {
|
|
2893
|
-
constructor(e) {
|
|
2894
|
-
this.generateIdFn = e, this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap(), this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();
|
|
2895
|
-
}
|
|
2896
|
-
getId(e, a, n, r) {
|
|
2897
|
-
const i = n || this.getIdToRemoteIdMap(e), o = r || this.getRemoteIdToIdMap(e);
|
|
2898
|
-
let s = i.get(a);
|
|
2899
|
-
return s || (s = this.generateIdFn(), i.set(a, s), o.set(s, a)), s;
|
|
2900
|
-
}
|
|
2901
|
-
getIds(e, a) {
|
|
2902
|
-
const n = this.getIdToRemoteIdMap(e), r = this.getRemoteIdToIdMap(e);
|
|
2903
|
-
return a.map((i) => this.getId(e, i, n, r));
|
|
2904
|
-
}
|
|
2905
|
-
getRemoteId(e, a, n) {
|
|
2906
|
-
const r = n || this.getRemoteIdToIdMap(e);
|
|
2907
|
-
return typeof a != "number" ? a : r.get(a) || -1;
|
|
2908
|
-
}
|
|
2909
|
-
getRemoteIds(e, a) {
|
|
2910
|
-
const n = this.getRemoteIdToIdMap(e);
|
|
2911
|
-
return a.map((r) => this.getRemoteId(e, r, n));
|
|
2912
|
-
}
|
|
2913
|
-
reset(e) {
|
|
2914
|
-
if (!e) return this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap(), void (this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap());
|
|
2915
|
-
this.iframeIdToRemoteIdMap.delete(e), this.iframeRemoteIdToIdMap.delete(e);
|
|
2916
|
-
}
|
|
2917
|
-
getIdToRemoteIdMap(e) {
|
|
2918
|
-
let a = this.iframeIdToRemoteIdMap.get(e);
|
|
2919
|
-
return a || (a = /* @__PURE__ */ new Map(), this.iframeIdToRemoteIdMap.set(e, a)), a;
|
|
2920
|
-
}
|
|
2921
|
-
getRemoteIdToIdMap(e) {
|
|
2922
|
-
let a = this.iframeRemoteIdToIdMap.get(e);
|
|
2923
|
-
return a || (a = /* @__PURE__ */ new Map(), this.iframeRemoteIdToIdMap.set(e, a)), a;
|
|
2924
|
-
}
|
|
2925
|
-
}
|
|
2926
|
-
class pi {
|
|
2927
|
-
constructor(e) {
|
|
2928
|
-
this.iframes = /* @__PURE__ */ new WeakMap(), this.crossOriginIframeMap = /* @__PURE__ */ new WeakMap(), this.crossOriginIframeMirror = new _t(dn), this.mutationCb = e.mutationCb, this.wrappedEmit = e.wrappedEmit, this.stylesheetManager = e.stylesheetManager, this.recordCrossOriginIframes = e.recordCrossOriginIframes, this.crossOriginIframeStyleMirror = new _t(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)), this.mirror = e.mirror, this.recordCrossOriginIframes && window.addEventListener("message", this.handleMessage.bind(this));
|
|
2929
|
-
}
|
|
2930
|
-
addIframe(e) {
|
|
2931
|
-
this.iframes.set(e, !0), e.contentWindow && this.crossOriginIframeMap.set(e.contentWindow, e);
|
|
2932
|
-
}
|
|
2933
|
-
addLoadListener(e) {
|
|
2934
|
-
this.loadListener = e;
|
|
2935
|
-
}
|
|
2936
|
-
attachIframe(e, a) {
|
|
2937
|
-
var n;
|
|
2938
|
-
this.mutationCb({ adds: [{ parentId: this.mirror.getId(e), nextId: null, node: a }], removes: [], texts: [], attributes: [], isAttachIframe: !0 }), (n = this.loadListener) === null || n === void 0 || n.call(this, e), e.contentDocument && e.contentDocument.adoptedStyleSheets && e.contentDocument.adoptedStyleSheets.length > 0 && this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets, this.mirror.getId(e.contentDocument));
|
|
2939
|
-
}
|
|
2940
|
-
handleMessage(e) {
|
|
2941
|
-
if (e.data.type === "rrweb") {
|
|
2942
|
-
if (!e.source) return;
|
|
2943
|
-
const a = this.crossOriginIframeMap.get(e.source);
|
|
2944
|
-
if (!a) return;
|
|
2945
|
-
const n = this.transformCrossOriginEvent(a, e.data.event);
|
|
2946
|
-
n && this.wrappedEmit(n, e.data.isCheckout);
|
|
2947
|
-
}
|
|
2948
|
-
}
|
|
2949
|
-
transformCrossOriginEvent(e, a) {
|
|
2950
|
-
var n;
|
|
2951
|
-
switch (a.type) {
|
|
2952
|
-
case q.FullSnapshot:
|
|
2953
|
-
return this.crossOriginIframeMirror.reset(e), this.crossOriginIframeStyleMirror.reset(e), this.replaceIdOnNode(a.data.node, e), { timestamp: a.timestamp, type: q.IncrementalSnapshot, data: { source: V.Mutation, adds: [{ parentId: this.mirror.getId(e), nextId: null, node: a.data.node }], removes: [], texts: [], attributes: [], isAttachIframe: !0 } };
|
|
2954
|
-
case q.Meta:
|
|
2955
|
-
case q.Load:
|
|
2956
|
-
case q.DomContentLoaded:
|
|
2957
|
-
return !1;
|
|
2958
|
-
case q.Plugin:
|
|
2959
|
-
return a;
|
|
2960
|
-
case q.Custom:
|
|
2961
|
-
return this.replaceIds(a.data.payload, e, ["id", "parentId", "previousId", "nextId"]), a;
|
|
2962
|
-
case q.IncrementalSnapshot:
|
|
2963
|
-
switch (a.data.source) {
|
|
2964
|
-
case V.Mutation:
|
|
2965
|
-
return a.data.adds.forEach((r) => {
|
|
2966
|
-
this.replaceIds(r, e, ["parentId", "nextId", "previousId"]), this.replaceIdOnNode(r.node, e);
|
|
2967
|
-
}), a.data.removes.forEach((r) => {
|
|
2968
|
-
this.replaceIds(r, e, ["parentId", "id"]);
|
|
2969
|
-
}), a.data.attributes.forEach((r) => {
|
|
2970
|
-
this.replaceIds(r, e, ["id"]);
|
|
2971
|
-
}), a.data.texts.forEach((r) => {
|
|
2972
|
-
this.replaceIds(r, e, ["id"]);
|
|
2973
|
-
}), a;
|
|
2974
|
-
case V.Drag:
|
|
2975
|
-
case V.TouchMove:
|
|
2976
|
-
case V.MouseMove:
|
|
2977
|
-
return a.data.positions.forEach((r) => {
|
|
2978
|
-
this.replaceIds(r, e, ["id"]);
|
|
2979
|
-
}), a;
|
|
2980
|
-
case V.ViewportResize:
|
|
2981
|
-
return !1;
|
|
2982
|
-
case V.MediaInteraction:
|
|
2983
|
-
case V.MouseInteraction:
|
|
2984
|
-
case V.Scroll:
|
|
2985
|
-
case V.CanvasMutation:
|
|
2986
|
-
case V.Input:
|
|
2987
|
-
return this.replaceIds(a.data, e, ["id"]), a;
|
|
2988
|
-
case V.StyleSheetRule:
|
|
2989
|
-
case V.StyleDeclaration:
|
|
2990
|
-
return this.replaceIds(a.data, e, ["id"]), this.replaceStyleIds(a.data, e, ["styleId"]), a;
|
|
2991
|
-
case V.Font:
|
|
2992
|
-
return a;
|
|
2993
|
-
case V.Selection:
|
|
2994
|
-
return a.data.ranges.forEach((r) => {
|
|
2995
|
-
this.replaceIds(r, e, ["start", "end"]);
|
|
2996
|
-
}), a;
|
|
2997
|
-
case V.AdoptedStyleSheet:
|
|
2998
|
-
return this.replaceIds(a.data, e, ["id"]), this.replaceStyleIds(a.data, e, ["styleIds"]), (n = a.data.styles) === null || n === void 0 || n.forEach((r) => {
|
|
2999
|
-
this.replaceStyleIds(r, e, ["styleId"]);
|
|
3000
|
-
}), a;
|
|
3001
|
-
}
|
|
3002
|
-
}
|
|
3003
|
-
}
|
|
3004
|
-
replace(e, a, n, r) {
|
|
3005
|
-
for (const i of r) (Array.isArray(a[i]) || typeof a[i] == "number") && (Array.isArray(a[i]) ? a[i] = e.getIds(n, a[i]) : a[i] = e.getId(n, a[i]));
|
|
3006
|
-
return a;
|
|
3007
|
-
}
|
|
3008
|
-
replaceIds(e, a, n) {
|
|
3009
|
-
return this.replace(this.crossOriginIframeMirror, e, a, n);
|
|
3010
|
-
}
|
|
3011
|
-
replaceStyleIds(e, a, n) {
|
|
3012
|
-
return this.replace(this.crossOriginIframeStyleMirror, e, a, n);
|
|
3013
|
-
}
|
|
3014
|
-
replaceIdOnNode(e, a) {
|
|
3015
|
-
this.replaceIds(e, a, ["id"]), "childNodes" in e && e.childNodes.forEach((n) => {
|
|
3016
|
-
this.replaceIdOnNode(n, a);
|
|
3017
|
-
});
|
|
3018
|
-
}
|
|
3019
|
-
}
|
|
3020
|
-
class yi {
|
|
3021
|
-
constructor(e) {
|
|
3022
|
-
this.shadowDoms = /* @__PURE__ */ new WeakSet(), this.restorePatches = [], this.mutationCb = e.mutationCb, this.scrollCb = e.scrollCb, this.bypassOptions = e.bypassOptions, this.mirror = e.mirror;
|
|
3023
|
-
const a = this;
|
|
3024
|
-
this.restorePatches.push(_e(Element.prototype, "attachShadow", function(n) {
|
|
3025
|
-
return function(r) {
|
|
3026
|
-
const i = n.call(this, r);
|
|
3027
|
-
return this.shadowRoot && a.addShadowRoot(this.shadowRoot, this.ownerDocument), i;
|
|
3028
|
-
};
|
|
3029
|
-
}));
|
|
3030
|
-
}
|
|
3031
|
-
addShadowRoot(e, a) {
|
|
3032
|
-
Qe(e) && (this.shadowDoms.has(e) || (this.shadowDoms.add(e), zn(Object.assign(Object.assign({}, this.bypassOptions), { doc: a, mutationCb: this.mutationCb, mirror: this.mirror, shadowDomManager: this }), e), jn(Object.assign(Object.assign({}, this.bypassOptions), { scrollCb: this.scrollCb, doc: e, mirror: this.mirror })), setTimeout(() => {
|
|
3033
|
-
e.adoptedStyleSheets && e.adoptedStyleSheets.length > 0 && this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets, this.mirror.getId(e.host)), Tn({ mirror: this.mirror, stylesheetManager: this.bypassOptions.stylesheetManager }, e);
|
|
3034
|
-
}, 0)));
|
|
3035
|
-
}
|
|
3036
|
-
observeAttachShadow(e) {
|
|
3037
|
-
if (e.contentWindow) {
|
|
3038
|
-
const a = this;
|
|
3039
|
-
this.restorePatches.push(_e(e.contentWindow.HTMLElement.prototype, "attachShadow", function(n) {
|
|
3040
|
-
return function(r) {
|
|
3041
|
-
const i = n.call(this, r);
|
|
3042
|
-
return this.shadowRoot && a.addShadowRoot(this.shadowRoot, e.contentDocument), i;
|
|
3043
|
-
};
|
|
3044
|
-
}));
|
|
3045
|
-
}
|
|
3046
|
-
}
|
|
3047
|
-
reset() {
|
|
3048
|
-
this.restorePatches.forEach((e) => e()), this.shadowDoms = /* @__PURE__ */ new WeakSet();
|
|
3049
|
-
}
|
|
3050
|
-
}
|
|
3051
|
-
/*! *****************************************************************************
|
|
3052
|
-
Copyright (c) Microsoft Corporation.
|
|
3053
|
-
|
|
3054
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
3055
|
-
purpose with or without fee is hereby granted.
|
|
3056
|
-
|
|
3057
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
3058
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
3059
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
3060
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
3061
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
3062
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
3063
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
3064
|
-
***************************************************************************** */
|
|
3065
|
-
function fi(t, e, a, n) {
|
|
3066
|
-
return new (a || (a = Promise))(function(r, i) {
|
|
3067
|
-
function o(c) {
|
|
3068
|
-
try {
|
|
3069
|
-
l(n.next(c));
|
|
3070
|
-
} catch (h) {
|
|
3071
|
-
i(h);
|
|
3072
|
-
}
|
|
3073
|
-
}
|
|
3074
|
-
function s(c) {
|
|
3075
|
-
try {
|
|
3076
|
-
l(n.throw(c));
|
|
3077
|
-
} catch (h) {
|
|
3078
|
-
i(h);
|
|
3079
|
-
}
|
|
3080
|
-
}
|
|
3081
|
-
function l(c) {
|
|
3082
|
-
c.done ? r(c.value) : function(h) {
|
|
3083
|
-
return h instanceof a ? h : new a(function(d) {
|
|
3084
|
-
d(h);
|
|
3085
|
-
});
|
|
3086
|
-
}(c.value).then(o, s);
|
|
3087
|
-
}
|
|
3088
|
-
l((n = n.apply(t, [])).next());
|
|
3089
|
-
});
|
|
3090
|
-
}
|
|
3091
|
-
for (var Ye = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", bi = typeof Uint8Array == "undefined" ? [] : new Uint8Array(256), oa = 0; oa < 64; oa++) bi[Ye.charCodeAt(oa)] = oa;
|
|
3092
|
-
const Ot = /* @__PURE__ */ new Map(), xn = (t, e, a) => {
|
|
3093
|
-
if (!t || !Nn(t, e) && typeof t != "object") return;
|
|
3094
|
-
const n = function(i, o) {
|
|
3095
|
-
let s = Ot.get(i);
|
|
3096
|
-
return s || (s = /* @__PURE__ */ new Map(), Ot.set(i, s)), s.has(o) || s.set(o, []), s.get(o);
|
|
3097
|
-
}(a, t.constructor.name);
|
|
3098
|
-
let r = n.indexOf(t);
|
|
3099
|
-
return r === -1 && (r = n.length, n.push(t)), r;
|
|
3100
|
-
};
|
|
3101
|
-
function ma(t, e, a) {
|
|
3102
|
-
if (t instanceof Array) return t.map((n) => ma(n, e, a));
|
|
3103
|
-
if (t === null) return t;
|
|
3104
|
-
if (t instanceof Float32Array || t instanceof Float64Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Uint8Array || t instanceof Uint16Array || t instanceof Int16Array || t instanceof Int8Array || t instanceof Uint8ClampedArray)
|
|
3105
|
-
return { rr_type: t.constructor.name, args: [Object.values(t)] };
|
|
3106
|
-
if (t instanceof ArrayBuffer) {
|
|
3107
|
-
const n = t.constructor.name, r = function(i) {
|
|
3108
|
-
var o, s = new Uint8Array(i), l = s.length, c = "";
|
|
3109
|
-
for (o = 0; o < l; o += 3) c += Ye[s[o] >> 2], c += Ye[(3 & s[o]) << 4 | s[o + 1] >> 4], c += Ye[(15 & s[o + 1]) << 2 | s[o + 2] >> 6], c += Ye[63 & s[o + 2]];
|
|
3110
|
-
return l % 3 == 2 ? c = c.substring(0, c.length - 1) + "=" : l % 3 == 1 && (c = c.substring(0, c.length - 2) + "=="), c;
|
|
3111
|
-
}(t);
|
|
3112
|
-
return { rr_type: n, base64: r };
|
|
3113
|
-
}
|
|
3114
|
-
if (t instanceof DataView)
|
|
3115
|
-
return { rr_type: t.constructor.name, args: [ma(t.buffer, e, a), t.byteOffset, t.byteLength] };
|
|
3116
|
-
if (t instanceof HTMLImageElement) {
|
|
3117
|
-
const n = t.constructor.name, { src: r } = t;
|
|
3118
|
-
return { rr_type: n, src: r };
|
|
3119
|
-
}
|
|
3120
|
-
return t instanceof HTMLCanvasElement ? { rr_type: "HTMLImageElement", src: t.toDataURL() } : t instanceof ImageData ? { rr_type: t.constructor.name, args: [ma(t.data, e, a), t.width, t.height] } : Nn(t, e) || typeof t == "object" ? { rr_type: t.constructor.name, index: xn(t, e, a) } : t;
|
|
3121
|
-
}
|
|
3122
|
-
const Rn = (t, e, a) => [...t].map((n) => ma(n, e, a)), Nn = (t, e) => !!["WebGLActiveInfo", "WebGLBuffer", "WebGLFramebuffer", "WebGLProgram", "WebGLRenderbuffer", "WebGLShader", "WebGLShaderPrecisionFormat", "WebGLTexture", "WebGLUniformLocation", "WebGLVertexArrayObject", "WebGLVertexArrayObjectOES"].filter((n) => typeof e[n] == "function").find((n) => t instanceof e[n]);
|
|
3123
|
-
function Lt(t, e, a) {
|
|
3124
|
-
const n = [];
|
|
3125
|
-
try {
|
|
3126
|
-
const r = _e(t.HTMLCanvasElement.prototype, "getContext", function(i) {
|
|
3127
|
-
return function(o, ...s) {
|
|
3128
|
-
return le(this, e, a, !0) || "__context" in this || (this.__context = o), i.apply(this, [o, ...s]);
|
|
3129
|
-
};
|
|
3130
|
-
});
|
|
3131
|
-
n.push(r);
|
|
3132
|
-
} catch (r) {
|
|
3133
|
-
console.error("failed to patch HTMLCanvasElement.prototype.getContext");
|
|
3134
|
-
}
|
|
3135
|
-
return () => {
|
|
3136
|
-
n.forEach((r) => r());
|
|
3137
|
-
};
|
|
3138
|
-
}
|
|
3139
|
-
function Ft(t, e, a, n, r, i, o) {
|
|
3140
|
-
const s = [], l = Object.getOwnPropertyNames(t);
|
|
3141
|
-
for (const c of l) if (!["isContextLost", "canvas", "drawingBufferWidth", "drawingBufferHeight"].includes(c)) try {
|
|
3142
|
-
if (typeof t[c] != "function") continue;
|
|
3143
|
-
const h = _e(t, c, function(d) {
|
|
3144
|
-
return function(...u) {
|
|
3145
|
-
const b = d.apply(this, u);
|
|
3146
|
-
if (xn(b, o, this), !le(this.canvas, n, r, !0)) {
|
|
3147
|
-
const v = Rn([...u], o, this), T = { type: e, property: c, args: v };
|
|
3148
|
-
a(this.canvas, T);
|
|
3149
|
-
}
|
|
3150
|
-
return b;
|
|
3151
|
-
};
|
|
3152
|
-
});
|
|
3153
|
-
s.push(h);
|
|
3154
|
-
} catch (h) {
|
|
3155
|
-
const d = Ia(t, c, { set(u) {
|
|
3156
|
-
a(this.canvas, { type: e, property: c, args: [u], setter: !0 });
|
|
3157
|
-
} });
|
|
3158
|
-
s.push(d);
|
|
3159
|
-
}
|
|
3160
|
-
return s;
|
|
3161
|
-
}
|
|
3162
|
-
var Mn = null;
|
|
3163
|
-
try {
|
|
3164
|
-
var ki = typeof module != "undefined" && typeof module.require == "function" && module.require("worker_threads") || typeof __non_webpack_require__ == "function" && __non_webpack_require__("worker_threads") || typeof require == "function" && require("worker_threads");
|
|
3165
|
-
Mn = ki.Worker;
|
|
3166
|
-
} catch (t) {
|
|
3167
|
-
}
|
|
3168
|
-
function wi(t, e, a) {
|
|
3169
|
-
var n = function(o) {
|
|
3170
|
-
return Buffer.from(o, "base64").toString("utf8");
|
|
3171
|
-
}(t), r = n.indexOf(`
|
|
3172
|
-
`, 10) + 1, i = n.substring(r) + "";
|
|
3173
|
-
return function(o) {
|
|
3174
|
-
return new Mn(i, Object.assign({}, o, { eval: !0 }));
|
|
3175
|
-
};
|
|
3176
|
-
}
|
|
3177
|
-
function vi(t, e, a) {
|
|
3178
|
-
var n = function(s) {
|
|
3179
|
-
return atob(s);
|
|
3180
|
-
}(t), r = n.indexOf(`
|
|
3181
|
-
`, 10) + 1, i = n.substring(r) + "", o = new Blob([i], { type: "application/javascript" });
|
|
3182
|
-
return URL.createObjectURL(o);
|
|
3183
|
-
}
|
|
3184
|
-
var Ii = Object.prototype.toString.call(typeof process != "undefined" ? process : 0) === "[object process]", Na, Ci = (Na = "Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=", Ii ? wi(Na) : /* @__PURE__ */ function(t) {
|
|
3185
|
-
var e;
|
|
3186
|
-
return function(a) {
|
|
3187
|
-
return e = e || vi(t), new Worker(e, a);
|
|
3188
|
-
};
|
|
3189
|
-
}(Na));
|
|
3190
|
-
class Si {
|
|
3191
|
-
constructor(e) {
|
|
3192
|
-
this.pendingCanvasMutations = /* @__PURE__ */ new Map(), this.rafStamps = { latestId: 0, invokeId: null }, this.frozen = !1, this.locked = !1, this.processMutation = (l, c) => {
|
|
3193
|
-
!(this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId) && this.rafStamps.invokeId || (this.rafStamps.invokeId = this.rafStamps.latestId), this.pendingCanvasMutations.has(l) || this.pendingCanvasMutations.set(l, []), this.pendingCanvasMutations.get(l).push(c);
|
|
3194
|
-
};
|
|
3195
|
-
const { sampling: a = "all", win: n, blockClass: r, blockSelector: i, recordCanvas: o, dataURLOptions: s } = e;
|
|
3196
|
-
this.mutationCb = e.mutationCb, this.mirror = e.mirror, o && a === "all" && this.initCanvasMutationObserver(n, r, i), o && typeof a == "number" && this.initCanvasFPSObserver(a, n, r, i, { dataURLOptions: s });
|
|
3197
|
-
}
|
|
3198
|
-
reset() {
|
|
3199
|
-
this.pendingCanvasMutations.clear(), this.resetObservers && this.resetObservers();
|
|
3200
|
-
}
|
|
3201
|
-
freeze() {
|
|
3202
|
-
this.frozen = !0;
|
|
3203
|
-
}
|
|
3204
|
-
unfreeze() {
|
|
3205
|
-
this.frozen = !1;
|
|
3206
|
-
}
|
|
3207
|
-
lock() {
|
|
3208
|
-
this.locked = !0;
|
|
3209
|
-
}
|
|
3210
|
-
unlock() {
|
|
3211
|
-
this.locked = !1;
|
|
3212
|
-
}
|
|
3213
|
-
initCanvasFPSObserver(e, a, n, r, i) {
|
|
3214
|
-
const o = Lt(a, n, r), s = /* @__PURE__ */ new Map(), l = new Ci();
|
|
3215
|
-
l.onmessage = (b) => {
|
|
3216
|
-
const { id: v } = b.data;
|
|
3217
|
-
if (s.set(v, !1), !("base64" in b.data)) return;
|
|
3218
|
-
const { base64: T, type: p, width: g, height: C } = b.data;
|
|
3219
|
-
this.mutationCb({ id: v, type: Ve["2D"], commands: [{ property: "clearRect", args: [0, 0, g, C] }, { property: "drawImage", args: [{ rr_type: "ImageBitmap", args: [{ rr_type: "Blob", data: [{ rr_type: "ArrayBuffer", base64: T }], type: p }] }, 0, 0] }] });
|
|
3220
|
-
};
|
|
3221
|
-
const c = 1e3 / e;
|
|
3222
|
-
let h, d = 0;
|
|
3223
|
-
const u = (b) => {
|
|
3224
|
-
d && b - d < c || (d = b, (() => {
|
|
3225
|
-
const v = [];
|
|
3226
|
-
return a.document.querySelectorAll("canvas").forEach((T) => {
|
|
3227
|
-
le(T, n, r, !0) || v.push(T);
|
|
3228
|
-
}), v;
|
|
3229
|
-
})().forEach((v) => fi(this, 0, void 0, function* () {
|
|
3230
|
-
var T;
|
|
3231
|
-
const p = this.mirror.getId(v);
|
|
3232
|
-
if (s.get(p)) return;
|
|
3233
|
-
if (s.set(p, !0), ["webgl", "webgl2"].includes(v.__context)) {
|
|
3234
|
-
const C = v.getContext(v.__context);
|
|
3235
|
-
((T = C == null ? void 0 : C.getContextAttributes()) === null || T === void 0 ? void 0 : T.preserveDrawingBuffer) === !1 && (C == null || C.clear(C.COLOR_BUFFER_BIT));
|
|
3236
|
-
}
|
|
3237
|
-
const g = yield createImageBitmap(v);
|
|
3238
|
-
l.postMessage({ id: p, bitmap: g, width: v.width, height: v.height, dataURLOptions: i.dataURLOptions }, [g]);
|
|
3239
|
-
}))), h = requestAnimationFrame(u);
|
|
3240
|
-
};
|
|
3241
|
-
h = requestAnimationFrame(u), this.resetObservers = () => {
|
|
3242
|
-
o(), cancelAnimationFrame(h);
|
|
3243
|
-
};
|
|
3244
|
-
}
|
|
3245
|
-
initCanvasMutationObserver(e, a, n) {
|
|
3246
|
-
this.startRAFTimestamping(), this.startPendingCanvasMutationFlusher();
|
|
3247
|
-
const r = Lt(e, a, n), i = function(s, l, c, h) {
|
|
3248
|
-
const d = [], u = Object.getOwnPropertyNames(l.CanvasRenderingContext2D.prototype);
|
|
3249
|
-
for (const b of u) try {
|
|
3250
|
-
if (typeof l.CanvasRenderingContext2D.prototype[b] != "function") continue;
|
|
3251
|
-
const v = _e(l.CanvasRenderingContext2D.prototype, b, function(T) {
|
|
3252
|
-
return function(...p) {
|
|
3253
|
-
return le(this.canvas, c, h, !0) || setTimeout(() => {
|
|
3254
|
-
const g = Rn([...p], l, this);
|
|
3255
|
-
s(this.canvas, { type: Ve["2D"], property: b, args: g });
|
|
3256
|
-
}, 0), T.apply(this, p);
|
|
3257
|
-
};
|
|
3258
|
-
});
|
|
3259
|
-
d.push(v);
|
|
3260
|
-
} catch (v) {
|
|
3261
|
-
const T = Ia(l.CanvasRenderingContext2D.prototype, b, { set(p) {
|
|
3262
|
-
s(this.canvas, { type: Ve["2D"], property: b, args: [p], setter: !0 });
|
|
3263
|
-
} });
|
|
3264
|
-
d.push(T);
|
|
3265
|
-
}
|
|
3266
|
-
return () => {
|
|
3267
|
-
d.forEach((b) => b());
|
|
3268
|
-
};
|
|
3269
|
-
}(this.processMutation.bind(this), e, a, n), o = function(s, l, c, h) {
|
|
3270
|
-
const d = [];
|
|
3271
|
-
return d.push(...Ft(l.WebGLRenderingContext.prototype, Ve.WebGL, s, c, h, 0, l)), l.WebGL2RenderingContext !== void 0 && d.push(...Ft(l.WebGL2RenderingContext.prototype, Ve.WebGL2, s, c, h, 0, l)), () => {
|
|
3272
|
-
d.forEach((u) => u());
|
|
3273
|
-
};
|
|
3274
|
-
}(this.processMutation.bind(this), e, a, n, this.mirror);
|
|
3275
|
-
this.resetObservers = () => {
|
|
3276
|
-
r(), i(), o();
|
|
3277
|
-
};
|
|
3278
|
-
}
|
|
3279
|
-
startPendingCanvasMutationFlusher() {
|
|
3280
|
-
requestAnimationFrame(() => this.flushPendingCanvasMutations());
|
|
3281
|
-
}
|
|
3282
|
-
startRAFTimestamping() {
|
|
3283
|
-
const e = (a) => {
|
|
3284
|
-
this.rafStamps.latestId = a, requestAnimationFrame(e);
|
|
3285
|
-
};
|
|
3286
|
-
requestAnimationFrame(e);
|
|
3287
|
-
}
|
|
3288
|
-
flushPendingCanvasMutations() {
|
|
3289
|
-
this.pendingCanvasMutations.forEach((e, a) => {
|
|
3290
|
-
const n = this.mirror.getId(a);
|
|
3291
|
-
this.flushPendingCanvasMutationFor(a, n);
|
|
3292
|
-
}), requestAnimationFrame(() => this.flushPendingCanvasMutations());
|
|
3293
|
-
}
|
|
3294
|
-
flushPendingCanvasMutationFor(e, a) {
|
|
3295
|
-
if (this.frozen || this.locked) return;
|
|
3296
|
-
const n = this.pendingCanvasMutations.get(e);
|
|
3297
|
-
if (!n || a === -1) return;
|
|
3298
|
-
const r = n.map((o) => function(l, c) {
|
|
3299
|
-
var h = {};
|
|
3300
|
-
for (var d in l) Object.prototype.hasOwnProperty.call(l, d) && c.indexOf(d) < 0 && (h[d] = l[d]);
|
|
3301
|
-
if (l != null && typeof Object.getOwnPropertySymbols == "function") {
|
|
3302
|
-
var u = 0;
|
|
3303
|
-
for (d = Object.getOwnPropertySymbols(l); u < d.length; u++) c.indexOf(d[u]) < 0 && Object.prototype.propertyIsEnumerable.call(l, d[u]) && (h[d[u]] = l[d[u]]);
|
|
3304
|
-
}
|
|
3305
|
-
return h;
|
|
3306
|
-
}(o, ["type"])), { type: i } = n[0];
|
|
3307
|
-
this.mutationCb({ id: a, type: i, commands: r }), this.pendingCanvasMutations.delete(e);
|
|
3308
|
-
}
|
|
3309
|
-
}
|
|
3310
|
-
class Ai {
|
|
3311
|
-
constructor(e) {
|
|
3312
|
-
this.trackedLinkElements = /* @__PURE__ */ new WeakSet(), this.styleMirror = new ci(), this.mutationCb = e.mutationCb, this.adoptedStyleSheetCb = e.adoptedStyleSheetCb;
|
|
3313
|
-
}
|
|
3314
|
-
attachLinkElement(e, a) {
|
|
3315
|
-
"_cssText" in a.attributes && this.mutationCb({ adds: [], removes: [], texts: [], attributes: [{ id: a.id, attributes: a.attributes }] }), this.trackLinkElement(e);
|
|
3316
|
-
}
|
|
3317
|
-
trackLinkElement(e) {
|
|
3318
|
-
this.trackedLinkElements.has(e) || (this.trackedLinkElements.add(e), this.trackStylesheetInLinkElement(e));
|
|
3319
|
-
}
|
|
3320
|
-
adoptStyleSheets(e, a) {
|
|
3321
|
-
if (e.length === 0) return;
|
|
3322
|
-
const n = { id: a, styleIds: [] }, r = [];
|
|
3323
|
-
for (const i of e) {
|
|
3324
|
-
let o;
|
|
3325
|
-
if (this.styleMirror.has(i)) o = this.styleMirror.getId(i);
|
|
3326
|
-
else {
|
|
3327
|
-
o = this.styleMirror.add(i);
|
|
3328
|
-
const s = Array.from(i.rules || CSSRule);
|
|
3329
|
-
r.push({ styleId: o, rules: s.map((l, c) => ({ rule: cn(l), index: c })) });
|
|
3330
|
-
}
|
|
3331
|
-
n.styleIds.push(o);
|
|
3332
|
-
}
|
|
3333
|
-
r.length > 0 && (n.styles = r), this.adoptedStyleSheetCb(n);
|
|
3334
|
-
}
|
|
3335
|
-
reset() {
|
|
3336
|
-
this.styleMirror.reset(), this.trackedLinkElements = /* @__PURE__ */ new WeakSet();
|
|
3337
|
-
}
|
|
3338
|
-
trackStylesheetInLinkElement(e) {
|
|
3339
|
-
}
|
|
3340
|
-
}
|
|
3341
|
-
function te(t) {
|
|
3342
|
-
return Object.assign(Object.assign({}, t), { timestamp: Date.now() });
|
|
3343
|
-
}
|
|
3344
|
-
let $, ga, Ma, ba = !1;
|
|
3345
|
-
const fe = new hn();
|
|
3346
|
-
function Se(t = {}) {
|
|
3347
|
-
const { emit: e, checkoutEveryNms: a, checkoutEveryNth: n, blockClass: r = "rr-block", blockSelector: i = null, ignoreClass: o = "rr-ignore", maskTextClass: s = "rr-mask", maskTextSelector: l = null, inlineStylesheet: c = !0, maskAllInputs: h, maskInputOptions: d, slimDOMOptions: u, maskInputFn: b, maskTextFn: v, hooks: T, packFn: p, sampling: g = {}, dataURLOptions: C = {}, mousemoveWait: z, recordCanvas: M = !1, recordCrossOriginIframes: k = !1, userTriggeredOnInput: I = !1, collectFonts: m = !1, inlineImages: w = !1, plugins: y, keepIframeSrcFn: E = () => !1, ignoreCSSAttributes: S = /* @__PURE__ */ new Set([]) } = t, j = !k || window.parent === window;
|
|
3348
|
-
let x = !1;
|
|
3349
|
-
if (!j) try {
|
|
3350
|
-
window.parent.document, x = !1;
|
|
3351
|
-
} catch (N) {
|
|
3352
|
-
x = !0;
|
|
3353
|
-
}
|
|
3354
|
-
if (j && !e) throw new Error("emit function is required");
|
|
3355
|
-
z !== void 0 && g.mousemove === void 0 && (g.mousemove = z), fe.reset();
|
|
3356
|
-
const f = h === !0 ? { color: !0, date: !0, "datetime-local": !0, email: !0, month: !0, number: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0, textarea: !0, select: !0, password: !0 } : d !== void 0 ? d : { password: !0 }, F = u === !0 || u === "all" ? { script: !0, comment: !0, headFavicon: !0, headWhitespace: !0, headMetaSocial: !0, headMetaRobots: !0, headMetaHttpEquiv: !0, headMetaVerification: !0, headMetaAuthorship: u === "all", headMetaDescKeywords: u === "all" } : u || {};
|
|
3357
|
-
let U;
|
|
3358
|
-
(function(N = window) {
|
|
3359
|
-
"NodeList" in N && !N.NodeList.prototype.forEach && (N.NodeList.prototype.forEach = Array.prototype.forEach), "DOMTokenList" in N && !N.DOMTokenList.prototype.forEach && (N.DOMTokenList.prototype.forEach = Array.prototype.forEach), Node.prototype.contains || (Node.prototype.contains = (...Y) => {
|
|
3360
|
-
let X = Y[0];
|
|
3361
|
-
if (!(0 in Y)) throw new TypeError("1 argument is required");
|
|
3362
|
-
do
|
|
3363
|
-
if (this === X) return !0;
|
|
3364
|
-
while (X = X && X.parentNode);
|
|
3365
|
-
return !1;
|
|
3366
|
-
});
|
|
3367
|
-
})();
|
|
3368
|
-
let D = 0;
|
|
3369
|
-
const me = (N) => {
|
|
3370
|
-
for (const Y of y || []) Y.eventProcessor && (N = Y.eventProcessor(N));
|
|
3371
|
-
return p && (N = p(N)), N;
|
|
3372
|
-
};
|
|
3373
|
-
$ = (N, Y) => {
|
|
3374
|
-
var X;
|
|
3375
|
-
if (!(!((X = Me[0]) === null || X === void 0) && X.isFrozen()) || N.type === q.FullSnapshot || N.type === q.IncrementalSnapshot && N.data.source === V.Mutation || Me.forEach((J) => J.unfreeze()), j) e == null || e(me(N), Y);
|
|
3376
|
-
else if (x) {
|
|
3377
|
-
const J = { type: "rrweb", event: me(N), isCheckout: Y };
|
|
3378
|
-
window.parent.postMessage(J, "*");
|
|
3379
|
-
}
|
|
3380
|
-
if (N.type === q.FullSnapshot) U = N, D = 0;
|
|
3381
|
-
else if (N.type === q.IncrementalSnapshot) {
|
|
3382
|
-
if (N.data.source === V.Mutation && N.data.isAttachIframe) return;
|
|
3383
|
-
D++;
|
|
3384
|
-
const J = n && D >= n, re = a && N.timestamp - U.timestamp > a;
|
|
3385
|
-
(J || re) && ga(!0);
|
|
3386
|
-
}
|
|
3387
|
-
};
|
|
3388
|
-
const ne = (N) => {
|
|
3389
|
-
$(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.Mutation }, N) }));
|
|
3390
|
-
}, ce = (N) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.Scroll }, N) })), oe = (N) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.CanvasMutation }, N) })), W = new Ai({ mutationCb: ne, adoptedStyleSheetCb: (N) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.AdoptedStyleSheet }, N) })) }), P = new pi({ mirror: fe, mutationCb: ne, stylesheetManager: W, recordCrossOriginIframes: k, wrappedEmit: $ });
|
|
3391
|
-
for (const N of y || []) N.getMirror && N.getMirror({ nodeMirror: fe, crossOriginIframeMirror: P.crossOriginIframeMirror, crossOriginIframeStyleMirror: P.crossOriginIframeStyleMirror });
|
|
3392
|
-
Ma = new Si({ recordCanvas: M, mutationCb: oe, win: window, blockClass: r, blockSelector: i, mirror: fe, sampling: g.canvas, dataURLOptions: C });
|
|
3393
|
-
const O = new yi({ mutationCb: ne, scrollCb: ce, bypassOptions: { blockClass: r, blockSelector: i, maskTextClass: s, maskTextSelector: l, inlineStylesheet: c, maskInputOptions: f, dataURLOptions: C, maskTextFn: v, maskInputFn: b, recordCanvas: M, inlineImages: w, sampling: g, slimDOMOptions: F, iframeManager: P, stylesheetManager: W, canvasManager: Ma, keepIframeSrcFn: E }, mirror: fe });
|
|
3394
|
-
ga = (N = !1) => {
|
|
3395
|
-
var Y, X, J, re, L, A;
|
|
3396
|
-
$(te({ type: q.Meta, data: { href: window.location.href, width: pn(), height: gn() } }), N), W.reset(), Me.forEach((K) => K.lock());
|
|
3397
|
-
const G = function(K, Q) {
|
|
3398
|
-
var Z = Q || {}, ye = Z.mirror, Ee = ye === void 0 ? new hn() : ye, Oe = Z.blockClass, $e = Oe === void 0 ? "rr-block" : Oe, ee = Z.blockSelector, ge = ee === void 0 ? null : ee, ke = Z.maskTextClass, Ce = ke === void 0 ? "rr-mask" : ke, ze = Z.maskTextSelector, Ca = ze === void 0 ? null : ze, ea = Z.inlineStylesheet, Bn = ea === void 0 || ea, tt = Z.inlineImages, qn = tt !== void 0 && tt, nt = Z.recordCanvas, Vn = nt !== void 0 && nt, rt = Z.maskAllInputs, Sa = rt !== void 0 && rt, Wn = Z.maskTextFn, Un = Z.maskInputFn, it = Z.slimDOM, Ue = it !== void 0 && it, Pn = Z.dataURLOptions, Zn = Z.preserveWhiteSpace, Gn = Z.onSerialize, Kn = Z.onIframeLoad, Hn = Z.iframeLoadTimeout, Yn = Z.onStylesheetLoad, Jn = Z.stylesheetLoadTimeout, ot = Z.keepIframeSrcFn;
|
|
3399
|
-
return We(K, { doc: K, mirror: Ee, blockClass: $e, blockSelector: ge, maskTextClass: Ce, maskTextSelector: Ca, skipChild: !1, inlineStylesheet: Bn, maskInputOptions: Sa === !0 ? { color: !0, date: !0, "datetime-local": !0, email: !0, month: !0, number: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0, textarea: !0, select: !0, password: !0 } : Sa === !1 ? { password: !0 } : Sa, maskTextFn: Wn, maskInputFn: Un, slimDOMOptions: Ue === !0 || Ue === "all" ? { script: !0, comment: !0, headFavicon: !0, headWhitespace: !0, headMetaDescKeywords: Ue === "all", headMetaSocial: !0, headMetaRobots: !0, headMetaHttpEquiv: !0, headMetaAuthorship: !0, headMetaVerification: !0 } : Ue === !1 ? {} : Ue, dataURLOptions: Pn, inlineImages: qn, recordCanvas: Vn, preserveWhiteSpace: Zn, onSerialize: Gn, onIframeLoad: Kn, iframeLoadTimeout: Hn, onStylesheetLoad: Yn, stylesheetLoadTimeout: Jn, keepIframeSrcFn: ot === void 0 ? function() {
|
|
3400
|
-
return !1;
|
|
3401
|
-
} : ot, newlyAddedElement: !1 });
|
|
3402
|
-
}(document, { mirror: fe, blockClass: r, blockSelector: i, maskTextClass: s, maskTextSelector: l, inlineStylesheet: c, maskAllInputs: f, maskTextFn: v, slimDOM: F, dataURLOptions: C, recordCanvas: M, inlineImages: w, onSerialize: (K) => {
|
|
3403
|
-
bn(K, fe) && P.addIframe(K), kn(K, fe) && W.trackLinkElement(K), wn(K) && O.addShadowRoot(K.shadowRoot, document);
|
|
3404
|
-
}, onIframeLoad: (K, Q) => {
|
|
3405
|
-
P.attachIframe(K, Q), O.observeAttachShadow(K);
|
|
3406
|
-
}, onStylesheetLoad: (K, Q) => {
|
|
3407
|
-
W.attachLinkElement(K, Q);
|
|
3408
|
-
}, keepIframeSrcFn: E });
|
|
3409
|
-
if (!G) return console.warn("Failed to snapshot the document");
|
|
3410
|
-
$(te({ type: q.FullSnapshot, data: { node: G, initialOffset: { left: window.pageXOffset !== void 0 ? window.pageXOffset : (document == null ? void 0 : document.documentElement.scrollLeft) || ((X = (Y = document == null ? void 0 : document.body) === null || Y === void 0 ? void 0 : Y.parentElement) === null || X === void 0 ? void 0 : X.scrollLeft) || ((J = document == null ? void 0 : document.body) === null || J === void 0 ? void 0 : J.scrollLeft) || 0, top: window.pageYOffset !== void 0 ? window.pageYOffset : (document == null ? void 0 : document.documentElement.scrollTop) || ((L = (re = document == null ? void 0 : document.body) === null || re === void 0 ? void 0 : re.parentElement) === null || L === void 0 ? void 0 : L.scrollTop) || ((A = document == null ? void 0 : document.body) === null || A === void 0 ? void 0 : A.scrollTop) || 0 } } })), Me.forEach((K) => K.unlock()), document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0 && W.adoptStyleSheets(document.adoptedStyleSheets, fe.getId(document));
|
|
3411
|
-
};
|
|
3412
|
-
try {
|
|
3413
|
-
const N = [];
|
|
3414
|
-
N.push(se("DOMContentLoaded", () => {
|
|
3415
|
-
$(te({ type: q.DomContentLoaded, data: {} }));
|
|
3416
|
-
}));
|
|
3417
|
-
const Y = (J) => {
|
|
3418
|
-
var re;
|
|
3419
|
-
return gi({ mutationCb: ne, mousemoveCb: (L, A) => $(te({ type: q.IncrementalSnapshot, data: { source: A, positions: L } })), mouseInteractionCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.MouseInteraction }, L) })), scrollCb: ce, viewportResizeCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.ViewportResize }, L) })), inputCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.Input }, L) })), mediaInteractionCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.MediaInteraction }, L) })), styleSheetRuleCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.StyleSheetRule }, L) })), styleDeclarationCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.StyleDeclaration }, L) })), canvasMutationCb: oe, fontCb: (L) => $(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.Font }, L) })), selectionCb: (L) => {
|
|
3420
|
-
$(te({ type: q.IncrementalSnapshot, data: Object.assign({ source: V.Selection }, L) }));
|
|
3421
|
-
}, blockClass: r, ignoreClass: o, maskTextClass: s, maskTextSelector: l, maskInputOptions: f, inlineStylesheet: c, sampling: g, recordCanvas: M, inlineImages: w, userTriggeredOnInput: I, collectFonts: m, doc: J, maskInputFn: b, maskTextFn: v, keepIframeSrcFn: E, blockSelector: i, slimDOMOptions: F, dataURLOptions: C, mirror: fe, iframeManager: P, stylesheetManager: W, shadowDomManager: O, canvasManager: Ma, ignoreCSSAttributes: S, plugins: ((re = y == null ? void 0 : y.filter((L) => L.observer)) === null || re === void 0 ? void 0 : re.map((L) => ({ observer: L.observer, options: L.options, callback: (A) => $(te({ type: q.Plugin, data: { plugin: L.name, payload: A } })) }))) || [] }, T);
|
|
3422
|
-
};
|
|
3423
|
-
P.addLoadListener((J) => {
|
|
3424
|
-
N.push(Y(J.contentDocument));
|
|
3425
|
-
});
|
|
3426
|
-
const X = () => {
|
|
3427
|
-
ga(), N.push(Y(document)), ba = !0;
|
|
3428
|
-
};
|
|
3429
|
-
return document.readyState === "interactive" || document.readyState === "complete" ? X() : N.push(se("load", () => {
|
|
3430
|
-
$(te({ type: q.Load, data: {} })), X();
|
|
3431
|
-
}, window)), () => {
|
|
3432
|
-
N.forEach((J) => J()), ba = !1;
|
|
3433
|
-
};
|
|
3434
|
-
} catch (N) {
|
|
3435
|
-
console.warn(N);
|
|
3436
|
-
}
|
|
3437
|
-
}
|
|
3438
|
-
Se.addCustomEvent = (t, e) => {
|
|
3439
|
-
if (!ba) throw new Error("please add custom event after start recording");
|
|
3440
|
-
$(te({ type: q.Custom, data: { tag: t, payload: e } }));
|
|
3441
|
-
}, Se.freezePage = () => {
|
|
3442
|
-
Me.forEach((t) => t.freeze());
|
|
3443
|
-
}, Se.takeFullSnapshot = (t) => {
|
|
3444
|
-
if (!ba) throw new Error("please take full snapshot after start recording");
|
|
3445
|
-
ga(t);
|
|
3446
|
-
}, Se.mirror = fe;
|
|
3447
|
-
class De {
|
|
3448
|
-
constructor(e) {
|
|
3449
|
-
this.fileName = e.fileName || "", this.functionName = e.functionName || "", this.lineNumber = e.lineNumber, this.columnNumber = e.columnNumber;
|
|
3450
|
-
}
|
|
3451
|
-
toString() {
|
|
3452
|
-
const e = this.lineNumber || "", a = this.columnNumber || "";
|
|
3453
|
-
return this.functionName ? `${this.functionName} (${this.fileName}:${e}:${a})` : `${this.fileName}:${e}:${a}`;
|
|
3454
|
-
}
|
|
3455
|
-
}
|
|
3456
|
-
const Ei = /(^|@)\S+:\d+/, Dt = /^\s*at .*(\S+:\d+|\(native\))/m, zi = /^(eval@)?(\[native code])?$/, Bt = { parse: function(t) {
|
|
3457
|
-
if (!t) return [];
|
|
3458
|
-
if (t.stacktrace !== void 0 || t["opera#sourceloc"] !== void 0) return this.parseOpera(t);
|
|
3459
|
-
if (t.stack && t.stack.match(Dt)) return this.parseV8OrIE(t);
|
|
3460
|
-
if (t.stack) return this.parseFFOrSafari(t);
|
|
3461
|
-
throw new Error("Cannot parse given Error object");
|
|
3462
|
-
}, extractLocation: function(t) {
|
|
3463
|
-
if (t.indexOf(":") === -1) return [t];
|
|
3464
|
-
const e = /(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t.replace(/[()]/g, ""));
|
|
3465
|
-
if (!e) throw new Error(`Cannot parse given url: ${t}`);
|
|
3466
|
-
return [e[1], e[2] || void 0, e[3] || void 0];
|
|
3467
|
-
}, parseV8OrIE: function(t) {
|
|
3468
|
-
return t.stack.split(`
|
|
3469
|
-
`).filter(function(e) {
|
|
3470
|
-
return !!e.match(Dt);
|
|
3471
|
-
}, this).map(function(e) {
|
|
3472
|
-
e.indexOf("(eval ") > -1 && (e = e.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(\),.*$)/g, ""));
|
|
3473
|
-
let a = e.replace(/^\s+/, "").replace(/\(eval code/g, "(");
|
|
3474
|
-
const n = a.match(/ (\((.+):(\d+):(\d+)\)$)/);
|
|
3475
|
-
a = n ? a.replace(n[0], "") : a;
|
|
3476
|
-
const r = a.split(/\s+/).slice(1), i = this.extractLocation(n ? n[1] : r.pop()), o = r.join(" ") || void 0, s = ["eval", "<anonymous>"].indexOf(i[0]) > -1 ? void 0 : i[0];
|
|
3477
|
-
return new De({ functionName: o, fileName: s, lineNumber: i[1], columnNumber: i[2] });
|
|
3478
|
-
}, this);
|
|
3479
|
-
}, parseFFOrSafari: function(t) {
|
|
3480
|
-
return t.stack.split(`
|
|
3481
|
-
`).filter(function(e) {
|
|
3482
|
-
return !e.match(zi);
|
|
3483
|
-
}, this).map(function(e) {
|
|
3484
|
-
if (e.indexOf(" > eval") > -1 && (e = e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1")), e.indexOf("@") === -1 && e.indexOf(":") === -1) return new De({ functionName: e });
|
|
3485
|
-
{
|
|
3486
|
-
const a = /((.*".+"[^@]*)?[^@]*)(?:@)/, n = e.match(a), r = n && n[1] ? n[1] : void 0, i = this.extractLocation(e.replace(a, ""));
|
|
3487
|
-
return new De({ functionName: r, fileName: i[0], lineNumber: i[1], columnNumber: i[2] });
|
|
3488
|
-
}
|
|
3489
|
-
}, this);
|
|
3490
|
-
}, parseOpera: function(t) {
|
|
3491
|
-
return !t.stacktrace || t.message.indexOf(`
|
|
3492
|
-
`) > -1 && t.message.split(`
|
|
3493
|
-
`).length > t.stacktrace.split(`
|
|
3494
|
-
`).length ? this.parseOpera9(t) : t.stack ? this.parseOpera11(t) : this.parseOpera10(t);
|
|
3495
|
-
}, parseOpera9: function(t) {
|
|
3496
|
-
const e = /Line (\d+).*script (?:in )?(\S+)/i, a = t.message.split(`
|
|
3497
|
-
`), n = [];
|
|
3498
|
-
for (let r = 2, i = a.length; r < i; r += 2) {
|
|
3499
|
-
const o = e.exec(a[r]);
|
|
3500
|
-
o && n.push(new De({ fileName: o[2], lineNumber: parseFloat(o[1]) }));
|
|
3501
|
-
}
|
|
3502
|
-
return n;
|
|
3503
|
-
}, parseOpera10: function(t) {
|
|
3504
|
-
const e = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, a = t.stacktrace.split(`
|
|
3505
|
-
`), n = [];
|
|
3506
|
-
for (let r = 0, i = a.length; r < i; r += 2) {
|
|
3507
|
-
const o = e.exec(a[r]);
|
|
3508
|
-
o && n.push(new De({ functionName: o[3] || void 0, fileName: o[2], lineNumber: parseFloat(o[1]) }));
|
|
3509
|
-
}
|
|
3510
|
-
return n;
|
|
3511
|
-
}, parseOpera11: function(t) {
|
|
3512
|
-
return t.stack.split(`
|
|
3513
|
-
`).filter(function(e) {
|
|
3514
|
-
return !!e.match(Ei) && !e.match(/^Error created at/);
|
|
3515
|
-
}, this).map(function(e) {
|
|
3516
|
-
const a = e.split("@"), n = this.extractLocation(a.pop()), r = (a.shift() || "").replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^)]*\)/g, "") || void 0;
|
|
3517
|
-
return new De({ functionName: r, fileName: n[0], lineNumber: n[1], columnNumber: n[2] });
|
|
3518
|
-
}, this);
|
|
3519
|
-
} };
|
|
3520
|
-
function ji(t) {
|
|
3521
|
-
if (!t || !t.outerHTML) return "";
|
|
3522
|
-
let e = "";
|
|
3523
|
-
for (; t.parentElement; ) {
|
|
3524
|
-
let a = t.localName;
|
|
3525
|
-
if (!a) break;
|
|
3526
|
-
a = a.toLowerCase();
|
|
3527
|
-
const n = t.parentElement, r = [];
|
|
3528
|
-
if (n.children && n.children.length > 0) for (let i = 0; i < n.children.length; i++) {
|
|
3529
|
-
const o = n.children[i];
|
|
3530
|
-
o.localName && o.localName.toLowerCase && o.localName.toLowerCase() === a && r.push(o);
|
|
3531
|
-
}
|
|
3532
|
-
r.length > 1 && (a += `:eq(${r.indexOf(t)})`), e = a + (e ? ">" + e : ""), t = n;
|
|
3533
|
-
}
|
|
3534
|
-
return e;
|
|
3535
|
-
}
|
|
3536
|
-
function Ga(t) {
|
|
3537
|
-
return Object.prototype.toString.call(t) === "[object Object]";
|
|
3538
|
-
}
|
|
3539
|
-
function _n(t, e) {
|
|
3540
|
-
if (e === 0) return !0;
|
|
3541
|
-
const a = Object.keys(t);
|
|
3542
|
-
for (const n of a) if (Ga(t[n]) && _n(t[n], e - 1)) return !0;
|
|
3543
|
-
return !1;
|
|
3544
|
-
}
|
|
3545
|
-
function _a(t, e) {
|
|
3546
|
-
const a = { numOfKeysLimit: 50, depthOfLimit: 4 };
|
|
3547
|
-
Object.assign(a, e);
|
|
3548
|
-
const n = [], r = [];
|
|
3549
|
-
return JSON.stringify(t, function(i, o) {
|
|
3550
|
-
if (n.length > 0) {
|
|
3551
|
-
const s = n.indexOf(this);
|
|
3552
|
-
~s ? n.splice(s + 1) : n.push(this), ~s ? r.splice(s, 1 / 0, i) : r.push(i), ~n.indexOf(o) && (o = n[0] === o ? "[Circular ~]" : "[Circular ~." + r.slice(0, n.indexOf(o)).join(".") + "]");
|
|
3553
|
-
} else n.push(o);
|
|
3554
|
-
if (o === null) return o;
|
|
3555
|
-
if (o === void 0) return "undefined";
|
|
3556
|
-
if (function(s) {
|
|
3557
|
-
return !!(Ga(s) && Object.keys(s).length > a.numOfKeysLimit || typeof s == "function" || Ga(s) && _n(s, a.depthOfLimit));
|
|
3558
|
-
}(o)) return function(s) {
|
|
3559
|
-
let l = s.toString();
|
|
3560
|
-
return a.stringLengthLimit && l.length > a.stringLengthLimit && (l = `${l.slice(0, a.stringLengthLimit)}...`), l;
|
|
3561
|
-
}(o);
|
|
3562
|
-
if (o instanceof Event) {
|
|
3563
|
-
const s = {};
|
|
3564
|
-
for (const l in o) {
|
|
3565
|
-
const c = o[l];
|
|
3566
|
-
Array.isArray(c) ? s[l] = ji(c.length ? c[0] : null) : s[l] = c;
|
|
3567
|
-
}
|
|
3568
|
-
return s;
|
|
3569
|
-
}
|
|
3570
|
-
return o instanceof Node ? o instanceof HTMLElement ? o ? o.outerHTML : "" : o.nodeName : o instanceof Error ? o.stack ? o.stack + `
|
|
3571
|
-
End of stack for Error object` : o.name + ": " + o.message : o;
|
|
3572
|
-
});
|
|
3573
|
-
}
|
|
3574
|
-
const qt = { level: ["assert", "clear", "count", "countReset", "debug", "dir", "dirxml", "error", "group", "groupCollapsed", "groupEnd", "info", "log", "table", "time", "timeEnd", "timeLog", "trace", "warn"], lengthThreshold: 1e3, logger: "console" };
|
|
3575
|
-
function Ti(t, e, a) {
|
|
3576
|
-
const n = a ? Object.assign({}, qt, a) : qt, r = n.logger;
|
|
3577
|
-
if (!r) return () => {
|
|
3578
|
-
};
|
|
3579
|
-
let i;
|
|
3580
|
-
i = typeof r == "string" ? e[r] : r;
|
|
3581
|
-
let o = 0;
|
|
3582
|
-
const s = [];
|
|
3583
|
-
if (n.level.includes("error") && window) {
|
|
3584
|
-
const c = (h) => {
|
|
3585
|
-
const d = h.message, u = h.error, b = Bt.parse(u).map((T) => T.toString()), v = [_a(d, n.stringifyOptions)];
|
|
3586
|
-
t({ level: "error", trace: b, payload: v });
|
|
3587
|
-
};
|
|
3588
|
-
window.addEventListener("error", c), s.push(() => {
|
|
3589
|
-
window && window.removeEventListener("error", c);
|
|
3590
|
-
});
|
|
3591
|
-
}
|
|
3592
|
-
for (const c of n.level) s.push(l(i, c));
|
|
3593
|
-
return () => {
|
|
3594
|
-
s.forEach((c) => c());
|
|
3595
|
-
};
|
|
3596
|
-
function l(c, h) {
|
|
3597
|
-
return c[h] ? _e(c, h, (d) => (...u) => {
|
|
3598
|
-
d.apply(this, u);
|
|
3599
|
-
try {
|
|
3600
|
-
const b = Bt.parse(new Error()).map((T) => T.toString()).splice(1), v = u.map((T) => _a(T, n.stringifyOptions));
|
|
3601
|
-
o++, o < n.lengthThreshold ? t({ level: h, trace: b, payload: v }) : o === n.lengthThreshold && t({ level: "warn", trace: [], payload: [_a("The number of log records reached the threshold.")] });
|
|
3602
|
-
} catch (b) {
|
|
3603
|
-
d("rrweb logger error:", b, ...u);
|
|
3604
|
-
}
|
|
3605
|
-
}) : () => {
|
|
3606
|
-
};
|
|
3607
|
-
}
|
|
3608
|
-
}
|
|
3609
|
-
class xi extends Array {
|
|
3610
|
-
constructor() {
|
|
3611
|
-
super();
|
|
3612
|
-
}
|
|
3613
|
-
isEmpty() {
|
|
3614
|
-
return this.length === 0;
|
|
3615
|
-
}
|
|
3616
|
-
isFull() {
|
|
3617
|
-
return this.length === 10;
|
|
3618
|
-
}
|
|
3619
|
-
flush() {
|
|
3620
|
-
return this.splice(0, this.length);
|
|
3621
|
-
}
|
|
3622
|
-
}
|
|
3623
|
-
class Ri {
|
|
3624
|
-
constructor(e) {
|
|
3625
|
-
R(this, "agent");
|
|
3626
|
-
R(this, "eventBuffer");
|
|
3627
|
-
this.agent = e, this.eventBuffer = new xi();
|
|
3628
|
-
}
|
|
3629
|
-
start() {
|
|
3630
|
-
document.addEventListener("visibilitychange", () => {
|
|
3631
|
-
document.visibilityState === "hidden" && this.send();
|
|
3632
|
-
});
|
|
3633
|
-
}
|
|
3634
|
-
handle(e) {
|
|
3635
|
-
e.type === q.FullSnapshot && this.eventBuffer.find((a) => a.type === q.FullSnapshot) ? console.warn("Full snapshot already in buffer, ignoring...") : (this.eventBuffer.push(e), this.eventBuffer.isFull() && this.send());
|
|
3636
|
-
}
|
|
3637
|
-
send() {
|
|
3638
|
-
return _(this, null, function* () {
|
|
3639
|
-
if (!this.eventBuffer.isEmpty()) if (this.agent.sendEvents) {
|
|
3640
|
-
const e = this.eventBuffer.flush();
|
|
3641
|
-
yield this.agent.sendEvents(e);
|
|
3642
|
-
} else console.warn("No send function provided to Agent");
|
|
3643
|
-
});
|
|
3644
|
-
}
|
|
3645
|
-
}
|
|
3646
|
-
var pa = ((t) => (t[t.DomContentLoaded = 0] = "DomContentLoaded", t[t.Load = 1] = "Load", t[t.FullSnapshot = 2] = "FullSnapshot", t[t.IncrementalSnapshot = 3] = "IncrementalSnapshot", t[t.Meta = 4] = "Meta", t[t.Custom = 5] = "Custom", t[t.Plugin = 6] = "Plugin", t))(pa || {}), we = ((t) => (t[t.Mutation = 0] = "Mutation", t[t.MouseMove = 1] = "MouseMove", t[t.MouseInteraction = 2] = "MouseInteraction", t[t.Scroll = 3] = "Scroll", t[t.ViewportResize = 4] = "ViewportResize", t[t.Input = 5] = "Input", t[t.TouchMove = 6] = "TouchMove", t[t.MediaInteraction = 7] = "MediaInteraction", t[t.StyleSheetRule = 8] = "StyleSheetRule", t[t.CanvasMutation = 9] = "CanvasMutation", t[t.Font = 10] = "Font", t[t.Log = 11] = "Log", t[t.Drag = 12] = "Drag", t[t.StyleDeclaration = 13] = "StyleDeclaration", t[t.Selection = 14] = "Selection", t[t.AdoptedStyleSheet = 15] = "AdoptedStyleSheet", t[t.CustomElement = 16] = "CustomElement", t))(we || {}), On = ((t) => (t[t.MouseUp = 0] = "MouseUp", t[t.MouseDown = 1] = "MouseDown", t[t.Click = 2] = "Click", t[t.ContextMenu = 3] = "ContextMenu", t[t.DblClick = 4] = "DblClick", t[t.Focus = 5] = "Focus", t[t.Blur = 6] = "Blur", t[t.TouchStart = 7] = "TouchStart", t[t.TouchMove_Departed = 8] = "TouchMove_Departed", t[t.TouchEnd = 9] = "TouchEnd", t[t.TouchCancel = 10] = "TouchCancel", t))(On || {});
|
|
3647
|
-
const Vt = { recordOptions: { blockClass: "data-bf-suppress", blockSelector: void 0, ignoreClass: "data-bf-ignore", ignoreCSSAttributes: void 0, maskTextClass: "data-bf-mask", maskTextSelector: void 0, maskAllInputs: !0, maskInputOptions: { password: !0 }, maskInputFn: void 0, maskTextFn: void 0 }, recordConsolePlugin: { level: ["error"], lengthThreshold: Number.POSITIVE_INFINITY, stringifyOptions: { stringLengthLimit: Number.POSITIVE_INFINITY, numOfKeysLimit: Number.POSITIVE_INFINITY, depthOfLimit: Number.POSITIVE_INFINITY } } };
|
|
3648
|
-
class Wt {
|
|
3649
|
-
constructor(e) {
|
|
3650
|
-
R(this, "options");
|
|
3651
|
-
R(this, "stop");
|
|
3652
|
-
var a;
|
|
3653
|
-
this.options = Le(de({}, Vt.recordOptions), { recordConsolePlugin: Vt.recordConsolePlugin, emit: e, plugins: [{ name: "rrweb/console@1", observer: Ti, options: a }] }), this.stop = null;
|
|
3654
|
-
}
|
|
3655
|
-
static mockImplementation(e) {
|
|
3656
|
-
throw new Error("Method not implemented.");
|
|
3657
|
-
}
|
|
3658
|
-
start() {
|
|
3659
|
-
var e;
|
|
3660
|
-
this.stop = (e = Se(this.options)) != null ? e : null;
|
|
3661
|
-
}
|
|
3662
|
-
getMirror() {
|
|
3663
|
-
return Se.mirror;
|
|
3664
|
-
}
|
|
3665
|
-
takeFullSnapshot() {
|
|
3666
|
-
return Se.takeFullSnapshot();
|
|
3667
|
-
}
|
|
3668
|
-
}
|
|
3669
|
-
class Ni {
|
|
3670
|
-
constructor(e) {
|
|
3671
|
-
R(this, "recordingManager");
|
|
3672
|
-
R(this, "isRunning");
|
|
3673
|
-
R(this, "events");
|
|
3674
|
-
this.recordingManager = e, this.isRunning = !1, this.events = [];
|
|
3675
|
-
}
|
|
3676
|
-
start() {
|
|
3677
|
-
this.isRunning = !0;
|
|
3678
|
-
}
|
|
3679
|
-
handle(e) {
|
|
3680
|
-
this.isInitializingEvent(e) ? this.events.push(e) : this.stop(e);
|
|
3681
|
-
}
|
|
3682
|
-
isInitializingEvent(e) {
|
|
3683
|
-
return [2, 4].includes(e.type) || this.isSelectionEvent(e) || this.isConsoleEvent(e);
|
|
3684
|
-
}
|
|
3685
|
-
isSelectionEvent(e) {
|
|
3686
|
-
return e.type === 3 && e.data.source === 14;
|
|
3687
|
-
}
|
|
3688
|
-
isConsoleEvent(e) {
|
|
3689
|
-
return e.type === 6;
|
|
3690
|
-
}
|
|
3691
|
-
stop(e) {
|
|
3692
|
-
this.stamp(this.events, e.timestamp - 1), this.publish(...this.events, e), this.events = [], this.isRunning = !1;
|
|
3693
|
-
}
|
|
3694
|
-
stamp(e, a) {
|
|
3695
|
-
e.forEach((n) => n.timestamp = a);
|
|
3696
|
-
}
|
|
3697
|
-
publish(...e) {
|
|
3698
|
-
e.forEach((a) => {
|
|
3699
|
-
this.recordingManager.publishEvent(a);
|
|
3700
|
-
});
|
|
3701
|
-
}
|
|
3702
|
-
}
|
|
3703
|
-
function Mi(t, e) {
|
|
3704
|
-
e === void 0 && (e = {});
|
|
3705
|
-
for (var a = function(m) {
|
|
3706
|
-
for (var w = [], y = 0; y < m.length; ) {
|
|
3707
|
-
var E = m[y];
|
|
3708
|
-
if (E !== "*" && E !== "+" && E !== "?") if (E !== "\\") if (E !== "{") if (E !== "}") if (E !== ":") if (E !== "(") w.push({ type: "CHAR", index: y, value: m[y++] });
|
|
3709
|
-
else {
|
|
3710
|
-
var S = 1, j = "";
|
|
3711
|
-
if (m[f = y + 1] === "?") throw new TypeError('Pattern cannot start with "?" at '.concat(f));
|
|
3712
|
-
for (; f < m.length; ) if (m[f] !== "\\") {
|
|
3713
|
-
if (m[f] === ")") {
|
|
3714
|
-
if (--S == 0) {
|
|
3715
|
-
f++;
|
|
3716
|
-
break;
|
|
3717
|
-
}
|
|
3718
|
-
} else if (m[f] === "(" && (S++, m[f + 1] !== "?")) throw new TypeError("Capturing groups are not allowed at ".concat(f));
|
|
3719
|
-
j += m[f++];
|
|
3720
|
-
} else j += m[f++] + m[f++];
|
|
3721
|
-
if (S) throw new TypeError("Unbalanced pattern at ".concat(y));
|
|
3722
|
-
if (!j) throw new TypeError("Missing pattern at ".concat(y));
|
|
3723
|
-
w.push({ type: "PATTERN", index: y, value: j }), y = f;
|
|
3724
|
-
}
|
|
3725
|
-
else {
|
|
3726
|
-
for (var x = "", f = y + 1; f < m.length; ) {
|
|
3727
|
-
var F = m.charCodeAt(f);
|
|
3728
|
-
if (!(F >= 48 && F <= 57 || F >= 65 && F <= 90 || F >= 97 && F <= 122 || F === 95)) break;
|
|
3729
|
-
x += m[f++];
|
|
3730
|
-
}
|
|
3731
|
-
if (!x) throw new TypeError("Missing parameter name at ".concat(y));
|
|
3732
|
-
w.push({ type: "NAME", index: y, value: x }), y = f;
|
|
3733
|
-
}
|
|
3734
|
-
else w.push({ type: "CLOSE", index: y, value: m[y++] });
|
|
3735
|
-
else w.push({ type: "OPEN", index: y, value: m[y++] });
|
|
3736
|
-
else w.push({ type: "ESCAPED_CHAR", index: y++, value: m[y++] });
|
|
3737
|
-
else w.push({ type: "MODIFIER", index: y, value: m[y++] });
|
|
3738
|
-
}
|
|
3739
|
-
return w.push({ type: "END", index: y, value: "" }), w;
|
|
3740
|
-
}(t), n = e.prefixes, r = n === void 0 ? "./" : n, i = e.delimiter, o = i === void 0 ? "/#?" : i, s = [], l = 0, c = 0, h = "", d = function(m) {
|
|
3741
|
-
if (c < a.length && a[c].type === m) return a[c++].value;
|
|
3742
|
-
}, u = function(m) {
|
|
3743
|
-
var w = d(m);
|
|
3744
|
-
if (w !== void 0) return w;
|
|
3745
|
-
var y = a[c], E = y.type, S = y.index;
|
|
3746
|
-
throw new TypeError("Unexpected ".concat(E, " at ").concat(S, ", expected ").concat(m));
|
|
3747
|
-
}, b = function() {
|
|
3748
|
-
for (var m, w = ""; m = d("CHAR") || d("ESCAPED_CHAR"); ) w += m;
|
|
3749
|
-
return w;
|
|
3750
|
-
}, v = function(m) {
|
|
3751
|
-
var w = s[s.length - 1], y = m || (w && typeof w == "string" ? w : "");
|
|
3752
|
-
if (w && !y) throw new TypeError('Must have text between two parameters, missing text after "'.concat(w.name, '"'));
|
|
3753
|
-
return !y || function(E) {
|
|
3754
|
-
for (var S = 0, j = o; S < j.length; S++) {
|
|
3755
|
-
var x = j[S];
|
|
3756
|
-
if (E.indexOf(x) > -1) return !0;
|
|
3757
|
-
}
|
|
3758
|
-
return !1;
|
|
3759
|
-
}(y) ? "[^".concat(Te(o), "]+?") : "(?:(?!".concat(Te(y), ")[^").concat(Te(o), "])+?");
|
|
3760
|
-
}; c < a.length; ) {
|
|
3761
|
-
var T = d("CHAR"), p = d("NAME"), g = d("PATTERN");
|
|
3762
|
-
if (p || g) {
|
|
3763
|
-
var C = T || "";
|
|
3764
|
-
r.indexOf(C) === -1 && (h += C, C = ""), h && (s.push(h), h = ""), s.push({ name: p || l++, prefix: C, suffix: "", pattern: g || v(C), modifier: d("MODIFIER") || "" });
|
|
3765
|
-
} else {
|
|
3766
|
-
var z = T || d("ESCAPED_CHAR");
|
|
3767
|
-
if (z) h += z;
|
|
3768
|
-
else if (h && (s.push(h), h = ""), d("OPEN")) {
|
|
3769
|
-
C = b();
|
|
3770
|
-
var M = d("NAME") || "", k = d("PATTERN") || "", I = b();
|
|
3771
|
-
u("CLOSE"), s.push({ name: M || (k ? l++ : ""), pattern: M && !k ? v(C) : k, prefix: C, suffix: I, modifier: d("MODIFIER") || "" });
|
|
3772
|
-
} else u("END");
|
|
3773
|
-
}
|
|
3774
|
-
}
|
|
3775
|
-
return s;
|
|
3776
|
-
}
|
|
3777
|
-
function _i(t, e) {
|
|
3778
|
-
var a = [];
|
|
3779
|
-
return function(n, r, i) {
|
|
3780
|
-
i === void 0 && (i = {});
|
|
3781
|
-
var o = i.decode, s = o === void 0 ? function(l) {
|
|
3782
|
-
return l;
|
|
3783
|
-
} : o;
|
|
3784
|
-
return function(l) {
|
|
3785
|
-
var c = n.exec(l);
|
|
3786
|
-
if (!c) return !1;
|
|
3787
|
-
for (var h = c[0], d = c.index, u = /* @__PURE__ */ Object.create(null), b = function(T) {
|
|
3788
|
-
if (c[T] === void 0) return "continue";
|
|
3789
|
-
var p = r[T - 1];
|
|
3790
|
-
p.modifier === "*" || p.modifier === "+" ? u[p.name] = c[T].split(p.prefix + p.suffix).map(function(g) {
|
|
3791
|
-
return s(g, p);
|
|
3792
|
-
}) : u[p.name] = s(c[T], p);
|
|
3793
|
-
}, v = 1; v < c.length; v++) b(v);
|
|
3794
|
-
return { path: h, index: d, params: u };
|
|
3795
|
-
};
|
|
3796
|
-
}(Fn(t, a, e), a, e);
|
|
3797
|
-
}
|
|
3798
|
-
function Te(t) {
|
|
3799
|
-
return t.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
|
|
3800
|
-
}
|
|
3801
|
-
function Ln(t) {
|
|
3802
|
-
return t && t.sensitive ? "" : "i";
|
|
3803
|
-
}
|
|
3804
|
-
function Oi(t, e, a) {
|
|
3805
|
-
return function(n, r, i) {
|
|
3806
|
-
i === void 0 && (i = {});
|
|
3807
|
-
for (var o = i.strict, s = o !== void 0 && o, l = i.start, c = l === void 0 || l, h = i.end, d = h === void 0 || h, u = i.encode, b = u === void 0 ? function(j) {
|
|
3808
|
-
return j;
|
|
3809
|
-
} : u, v = i.delimiter, T = v === void 0 ? "/#?" : v, p = i.endsWith, g = "[".concat(Te(p === void 0 ? "" : p), "]|$"), C = "[".concat(Te(T), "]"), z = c ? "^" : "", M = 0, k = n; M < k.length; M++) {
|
|
3810
|
-
var I = k[M];
|
|
3811
|
-
if (typeof I == "string") z += Te(b(I));
|
|
3812
|
-
else {
|
|
3813
|
-
var m = Te(b(I.prefix)), w = Te(b(I.suffix));
|
|
3814
|
-
if (I.pattern) if (r && r.push(I), m || w) if (I.modifier === "+" || I.modifier === "*") {
|
|
3815
|
-
var y = I.modifier === "*" ? "?" : "";
|
|
3816
|
-
z += "(?:".concat(m, "((?:").concat(I.pattern, ")(?:").concat(w).concat(m, "(?:").concat(I.pattern, "))*)").concat(w, ")").concat(y);
|
|
3817
|
-
} else z += "(?:".concat(m, "(").concat(I.pattern, ")").concat(w, ")").concat(I.modifier);
|
|
3818
|
-
else {
|
|
3819
|
-
if (I.modifier === "+" || I.modifier === "*") throw new TypeError('Can not repeat "'.concat(I.name, '" without a prefix and suffix'));
|
|
3820
|
-
z += "(".concat(I.pattern, ")").concat(I.modifier);
|
|
3821
|
-
}
|
|
3822
|
-
else z += "(?:".concat(m).concat(w, ")").concat(I.modifier);
|
|
3823
|
-
}
|
|
3824
|
-
}
|
|
3825
|
-
if (d) s || (z += "".concat(C, "?")), z += i.endsWith ? "(?=".concat(g, ")") : "$";
|
|
3826
|
-
else {
|
|
3827
|
-
var E = n[n.length - 1], S = typeof E == "string" ? C.indexOf(E[E.length - 1]) > -1 : E === void 0;
|
|
3828
|
-
s || (z += "(?:".concat(C, "(?=").concat(g, "))?")), S || (z += "(?=".concat(C, "|").concat(g, ")"));
|
|
3829
|
-
}
|
|
3830
|
-
return new RegExp(z, Ln(i));
|
|
3831
|
-
}(Mi(t, a), e, a);
|
|
3832
|
-
}
|
|
3833
|
-
function Fn(t, e, a) {
|
|
3834
|
-
return t instanceof RegExp ? function(n, r) {
|
|
3835
|
-
if (!r) return n;
|
|
3836
|
-
for (var i = /\((?:\?<(.*?)>)?(?!\?)/g, o = 0, s = i.exec(n.source); s; ) r.push({ name: s[1] || o++, prefix: "", suffix: "", modifier: "", pattern: "" }), s = i.exec(n.source);
|
|
3837
|
-
return n;
|
|
3838
|
-
}(t, e) : Array.isArray(t) ? function(n, r, i) {
|
|
3839
|
-
var o = n.map(function(s) {
|
|
3840
|
-
return Fn(s, r, i).source;
|
|
3841
|
-
});
|
|
3842
|
-
return new RegExp("(?:".concat(o.join("|"), ")"), Ln(i));
|
|
3843
|
-
}(t, e, a) : Oi(t, e, a);
|
|
3844
|
-
}
|
|
3845
|
-
function Dn(t, e) {
|
|
3846
|
-
if (function() {
|
|
3847
|
-
if (typeof window == "undefined") return !1;
|
|
3848
|
-
const n = window.location.hostname;
|
|
3849
|
-
return n === "localhost" || n === "127.0.0.1";
|
|
3850
|
-
}() && !e) return !1;
|
|
3851
|
-
const a = window.location.pathname;
|
|
3852
|
-
for (const n of t) try {
|
|
3853
|
-
if (_i(n, { decode: decodeURIComponent })(a)) return !1;
|
|
3854
|
-
} catch (r) {
|
|
3855
|
-
if (n === a) return !1;
|
|
3856
|
-
}
|
|
3857
|
-
return !0;
|
|
3858
|
-
}
|
|
3859
|
-
const Li = [we.MouseMove, we.MouseInteraction, we.Scroll, we.ViewportResize, we.Input, we.TouchMove, we.MediaInteraction, we.Drag];
|
|
3860
|
-
class Fi {
|
|
3861
|
-
constructor(e) {
|
|
3862
|
-
R(this, "agent");
|
|
3863
|
-
R(this, "recorder");
|
|
3864
|
-
R(this, "stasher");
|
|
3865
|
-
this.agent = e, this.recorder = new Wt(this.handleEvent.bind(this)), this.stasher = new Ni(this);
|
|
3866
|
-
}
|
|
3867
|
-
start() {
|
|
3868
|
-
this.recorder.start();
|
|
3869
|
-
}
|
|
3870
|
-
handleEvent(e) {
|
|
3871
|
-
var r;
|
|
3872
|
-
const a = new URL(window.location.href), n = a.origin + a.pathname;
|
|
3873
|
-
if (Dn(this.agent.recordingBlocklist, this.agent._allowLocalhostRecording)) {
|
|
3874
|
-
if (this.agent.sessionManager.isIdle) {
|
|
3875
|
-
if (!this.isInteractiveEvent(e)) return;
|
|
3876
|
-
this.agent.handleActivityDuringIdle();
|
|
3877
|
-
}
|
|
3878
|
-
if (this.isClick(e)) {
|
|
3879
|
-
let i = Se.mirror.getNode(e.data.id);
|
|
3880
|
-
i && this.nodeIsInteresting(i) && (e.conversionData = {}, e.conversionData.eventType = "click", e.conversionData.textContent = i.textContent, e.conversionData.htmlElement = (r = i.nodeName) == null ? void 0 : r.toLowerCase(), e.conversionData.location = n);
|
|
3881
|
-
}
|
|
3882
|
-
this.isCustom(e) && (e.conversionData = {}, e.conversionData.eventType = "custom", e.conversionData.customEventType = e.data.tag, e.conversionData.location = n), this.stasher.isRunning ? this.stasher.handle(e) : this.publishEvent(e);
|
|
3883
|
-
}
|
|
3884
|
-
}
|
|
3885
|
-
publishEvent(e) {
|
|
3886
|
-
this.agent.sender.handle(e), this.agent.timer && this.agent.timer.restart();
|
|
3887
|
-
}
|
|
3888
|
-
startRecorderWithStasher() {
|
|
3889
|
-
this.stasher.start(), this.recorder = new Wt(this.handleEvent.bind(this)), this.recorder.start();
|
|
3890
|
-
}
|
|
3891
|
-
isClick(e) {
|
|
3892
|
-
return e.type === pa.IncrementalSnapshot && e.data.source === we.MouseInteraction && e.data.type === On.Click;
|
|
3893
|
-
}
|
|
3894
|
-
nodeIsInteresting(e) {
|
|
3895
|
-
return e.nodeName === "BUTTON" || e.nodeName === "ANCHOR";
|
|
3896
|
-
}
|
|
3897
|
-
isCustom(e) {
|
|
3898
|
-
return e.type === pa.Custom;
|
|
3899
|
-
}
|
|
3900
|
-
isInteractiveEvent(e) {
|
|
3901
|
-
var a;
|
|
3902
|
-
return e.type === pa.IncrementalSnapshot && Li.includes((a = e.data) == null ? void 0 : a.source);
|
|
3903
|
-
}
|
|
3904
|
-
}
|
|
3905
|
-
class Di {
|
|
3906
|
-
constructor(e, a) {
|
|
3907
|
-
R(this, "agent");
|
|
3908
|
-
R(this, "MAX_IDLE_TIME");
|
|
3909
|
-
R(this, "timeoutId");
|
|
3910
|
-
this.agent = e, this.MAX_IDLE_TIME = a, this.timeoutId = 0;
|
|
3911
|
-
}
|
|
3912
|
-
restart() {
|
|
3913
|
-
this.stop(), this.start();
|
|
3914
|
-
}
|
|
3915
|
-
stop() {
|
|
3916
|
-
clearTimeout(this.timeoutId);
|
|
3917
|
-
}
|
|
3918
|
-
start() {
|
|
3919
|
-
this.timeoutId = window.setTimeout(this.agent.handleTimeout.bind(this.agent), this.MAX_IDLE_TIME);
|
|
3920
|
-
}
|
|
3921
|
-
}
|
|
3922
|
-
const Re = class Re {
|
|
3923
|
-
constructor() {
|
|
3924
|
-
R(this, "sessionId", null);
|
|
3925
|
-
R(this, "lastScreenViewEventTime", 0);
|
|
3926
|
-
R(this, "isIdle", !1);
|
|
3927
|
-
}
|
|
3928
|
-
static getInstance() {
|
|
3929
|
-
return Re.instance || (Re.instance = new Re()), Re.instance;
|
|
3930
|
-
}
|
|
3931
|
-
determineSessionState(e) {
|
|
3932
|
-
return !this.sessionId && e ? "new" : this.sessionId && e && this.sessionId !== e ? "changed" : this.sessionId === e && this.sessionId !== null ? "active" : "expired";
|
|
3933
|
-
}
|
|
3934
|
-
handleSessionTransition(e, a) {
|
|
3935
|
-
var n;
|
|
3936
|
-
switch (e) {
|
|
3937
|
-
case "new":
|
|
3938
|
-
case "changed":
|
|
3939
|
-
this.updateIdleStatus(!1), (n = a.takeFullSnapshot) == null || n.call(a);
|
|
3940
|
-
}
|
|
3941
|
-
}
|
|
3942
|
-
updateSession(e, a = {}) {
|
|
3943
|
-
const n = this.determineSessionState(e);
|
|
3944
|
-
this.handleSessionTransition(n, a), this.sessionId = e;
|
|
3945
|
-
}
|
|
3946
|
-
updateLastScreenViewEventTime() {
|
|
3947
|
-
this.lastScreenViewEventTime = Date.now();
|
|
3948
|
-
}
|
|
3949
|
-
updateIdleStatus(e) {
|
|
3950
|
-
this.isIdle = e;
|
|
3951
|
-
}
|
|
3952
|
-
getLastScreenViewEventTime() {
|
|
3953
|
-
return this.lastScreenViewEventTime;
|
|
3954
|
-
}
|
|
3955
|
-
getCurrentSessionId() {
|
|
3956
|
-
return this.sessionId;
|
|
3957
|
-
}
|
|
3958
|
-
};
|
|
3959
|
-
R(Re, "instance");
|
|
3960
|
-
let ka = Re;
|
|
3961
|
-
const Ne = class Ne {
|
|
3962
|
-
constructor() {
|
|
3963
|
-
R(this, "recordingManager");
|
|
3964
|
-
R(this, "sender");
|
|
3965
|
-
R(this, "MAX_IDLE_TIME");
|
|
3966
|
-
R(this, "timer");
|
|
3967
|
-
R(this, "sendEvents");
|
|
3968
|
-
R(this, "sendScreenViewEvent");
|
|
3969
|
-
R(this, "recordingBlocklist", []);
|
|
3970
|
-
R(this, "_allowLocalhostRecording");
|
|
3971
|
-
R(this, "_allowScreenRecording");
|
|
3972
|
-
R(this, "sessionCreationPromise", null);
|
|
3973
|
-
this.recordingManager = new Fi(this), this.sender = new Ri(this);
|
|
3974
|
-
}
|
|
3975
|
-
get sessionManager() {
|
|
3976
|
-
return Ne._sessionManager;
|
|
3977
|
-
}
|
|
3978
|
-
start(o) {
|
|
3979
|
-
return _(this, arguments, function* ({ sendEvents: e, sendScreenViewEvent: a, recordingBlocklist: n, _allowLocalhostRecording: r, _allowScreenRecording: i }) {
|
|
3980
|
-
this.sendEvents = e, this.sendScreenViewEvent = a, this.recordingBlocklist = n, this._allowLocalhostRecording = r, this._allowScreenRecording = i, this.MAX_IDLE_TIME = 6e4, this.timer = new Di(this, this.MAX_IDLE_TIME), this.sender.start(), this.recordingManager.start();
|
|
3981
|
-
});
|
|
3982
|
-
}
|
|
3983
|
-
handleTimeout() {
|
|
3984
|
-
this.recordingManager.recorder.stop && this.recordingManager.recorder.stop(), this.sender.send(), this.recordingManager.startRecorderWithStasher(), Ne._sessionManager.updateIdleStatus(!0);
|
|
3985
|
-
}
|
|
3986
|
-
handleActivityDuringIdle() {
|
|
3987
|
-
Ne._sessionManager.getCurrentSessionId() === null && (Ne._sessionManager.getLastScreenViewEventTime() > Date.now() - 5e3 || this.sessionCreationPromise || (this.sessionCreationPromise = this.createSession().finally(() => {
|
|
3988
|
-
this.sessionCreationPromise = null;
|
|
3989
|
-
})));
|
|
3990
|
-
}
|
|
3991
|
-
takeFullSnapshot() {
|
|
3992
|
-
return this.recordingManager.recorder.takeFullSnapshot();
|
|
3993
|
-
}
|
|
3994
|
-
static handleCustomEvent(e) {
|
|
3995
|
-
Se.addCustomEvent(e, null);
|
|
3996
|
-
}
|
|
3997
|
-
createSession() {
|
|
3998
|
-
return _(this, null, function* () {
|
|
3999
|
-
if (this.sendScreenViewEvent) try {
|
|
4000
|
-
this.sendScreenViewEvent({ __path: window.location.href, __title: document.title, __is_session_refresh: !0 });
|
|
4001
|
-
} catch (e) {
|
|
4002
|
-
console.error("Failed to send screen_view event:", e);
|
|
4003
|
-
}
|
|
4004
|
-
});
|
|
4005
|
-
}
|
|
4006
|
-
};
|
|
4007
|
-
R(Ne, "_sessionManager", ka.getInstance());
|
|
4008
|
-
let Ka = Ne;
|
|
4009
|
-
const Bi = "0.0.16";
|
|
4010
|
-
class Vi extends Rr {
|
|
4011
|
-
constructor(a) {
|
|
4012
|
-
super(de({ sdk: "web", sdkVersion: Bi }, a));
|
|
4013
|
-
R(this, "lastPath", "");
|
|
4014
|
-
R(this, "debounceTimer", null);
|
|
4015
|
-
R(this, "agent");
|
|
4016
|
-
R(this, "sessionManager", ka.getInstance());
|
|
4017
|
-
R(this, "recordingBlocklist", []);
|
|
4018
|
-
R(this, "MAX_SCREENSHOT_SIZE", 768e3);
|
|
4019
|
-
this.options = a, this.agent = new Ka(), this.recordingBlocklist = a.recordingBlocklist || [], this.isServer() || (this.setGlobalProperties({ __referrer: document.referrer }), this.options.trackOutgoingLinks && this.trackOutgoingLinks(), this.options.trackScreenViews && this.trackScreenViews(), this.options.trackAttributes && this.trackAttributes(), this.options.enableRecording && this.options._allowScreenRecording && this.startRecording());
|
|
4020
|
-
}
|
|
4021
|
-
debounce(a, n) {
|
|
4022
|
-
this.debounceTimer && clearTimeout(this.debounceTimer), this.debounceTimer = setTimeout(a, n);
|
|
4023
|
-
}
|
|
4024
|
-
isServer() {
|
|
4025
|
-
return typeof document == "undefined";
|
|
4026
|
-
}
|
|
4027
|
-
trackOutgoingLinks() {
|
|
4028
|
-
this.isServer() || document.addEventListener("click", (a) => {
|
|
4029
|
-
const n = a.target, r = n.closest("a");
|
|
4030
|
-
if (r && n) {
|
|
4031
|
-
const i = r.getAttribute("href");
|
|
4032
|
-
i != null && i.startsWith("http") && super.track("link_out", { href: i, text: r.innerText || r.getAttribute("title") || n.getAttribute("alt") || n.getAttribute("title") });
|
|
4033
|
-
}
|
|
4034
|
-
});
|
|
4035
|
-
}
|
|
4036
|
-
trackScreenViews() {
|
|
4037
|
-
if (this.isServer()) return;
|
|
4038
|
-
this.screenView();
|
|
4039
|
-
const a = history.pushState;
|
|
4040
|
-
history.pushState = function(...i) {
|
|
4041
|
-
const o = a.apply(this, i);
|
|
4042
|
-
return window.dispatchEvent(new Event("pushstate")), window.dispatchEvent(new Event("locationchange")), o;
|
|
4043
|
-
};
|
|
4044
|
-
const n = history.replaceState;
|
|
4045
|
-
history.replaceState = function(...i) {
|
|
4046
|
-
const o = n.apply(this, i);
|
|
4047
|
-
return window.dispatchEvent(new Event("replacestate")), window.dispatchEvent(new Event("locationchange")), o;
|
|
4048
|
-
}, window.addEventListener("popstate", function() {
|
|
4049
|
-
window.dispatchEvent(new Event("locationchange"));
|
|
4050
|
-
});
|
|
4051
|
-
const r = () => this.debounce(() => this.screenView(), 100);
|
|
4052
|
-
this.options.trackHashChanges ? window.addEventListener("hashchange", r) : window.addEventListener("locationchange", r);
|
|
4053
|
-
}
|
|
4054
|
-
trackAttributes() {
|
|
4055
|
-
this.isServer() || document.addEventListener("click", (a) => {
|
|
4056
|
-
const n = a.target, r = n.closest("button"), i = n.closest("a"), o = r != null && r.getAttribute("data-track") ? r : i != null && i.getAttribute("data-track") ? i : null;
|
|
4057
|
-
if (o) {
|
|
4058
|
-
const l = {};
|
|
4059
|
-
for (const h of o.attributes) h.name.startsWith("data-") && h.name !== "data-track" && (l[s = h.name.replace(/^data-/, ""), s.replace(/([-_][a-z])/gi, (d) => d.toUpperCase().replace("-", "").replace("_", ""))] = h.value);
|
|
4060
|
-
const c = o.getAttribute("data-track");
|
|
4061
|
-
c && super.track(c, l);
|
|
4062
|
-
}
|
|
4063
|
-
var s;
|
|
4064
|
-
});
|
|
4065
|
-
}
|
|
4066
|
-
startRecording() {
|
|
4067
|
-
this.isServer() || this.agent.start({ sendEvents: this.recordEventsToServer.bind(this), sendScreenViewEvent: this.sendScreenViewEvent.bind(this), recordingBlocklist: this.recordingBlocklist, _allowLocalhostRecording: this.options._allowLocalhostRecording });
|
|
4068
|
-
}
|
|
4069
|
-
screenView(a, n) {
|
|
4070
|
-
return _(this, null, function* () {
|
|
4071
|
-
if (this.isServer()) return;
|
|
4072
|
-
let r, i;
|
|
4073
|
-
if (typeof a == "string" ? (r = a, i = n) : (r = window.location.href, i = a), this.lastPath === r) return;
|
|
4074
|
-
this.lastPath = r;
|
|
4075
|
-
const o = Le(de({}, i != null ? i : {}), { __path: r, __title: document.title });
|
|
4076
|
-
if (this.options.enableRecording && Dn(this.recordingBlocklist, this.options._allowLocalhostRecording)) try {
|
|
4077
|
-
const s = yield function(l) {
|
|
4078
|
-
return _(this, null, function* () {
|
|
4079
|
-
try {
|
|
4080
|
-
yield $r(l);
|
|
4081
|
-
const c = document.body.cloneNode(!0);
|
|
4082
|
-
return Xr(c), yield Gr(c);
|
|
4083
|
-
} catch (c) {
|
|
4084
|
-
console.error("An error occurred:", c);
|
|
4085
|
-
}
|
|
4086
|
-
});
|
|
4087
|
-
}();
|
|
4088
|
-
s && (s.length <= this.MAX_SCREENSHOT_SIZE ? o.__screenshot = s : (o.__screenshotOmitted = !0, o.__screenshotSizeInBytes = s.length));
|
|
4089
|
-
} catch (s) {
|
|
4090
|
-
o.__screenshotOmitted = !0, o.__screenshotError = s.message;
|
|
4091
|
-
}
|
|
4092
|
-
this.sendScreenViewEvent(o);
|
|
4093
|
-
});
|
|
4094
|
-
}
|
|
4095
|
-
recordEventsToServer(a) {
|
|
4096
|
-
return _(this, null, function* () {
|
|
4097
|
-
this.record(a, (n) => {
|
|
4098
|
-
this.sessionManager.updateSession(n.sessionId, { takeFullSnapshot: () => {
|
|
4099
|
-
this.agent.takeFullSnapshot();
|
|
4100
|
-
} });
|
|
4101
|
-
});
|
|
4102
|
-
});
|
|
4103
|
-
}
|
|
4104
|
-
sendScreenViewEvent(a) {
|
|
4105
|
-
super.track("screen_view", a), this.sessionManager.updateLastScreenViewEventTime();
|
|
4106
|
-
}
|
|
4107
|
-
}
|
|
4108
|
-
export {
|
|
4109
|
-
Vi as Tracker,
|
|
4110
|
-
Bi as VERSION
|
|
4111
|
-
};
|
|
4112
|
-
//# sourceMappingURL=index.js.map
|