@alxxsck/ai-assistant 2.1.0 → 2.2.0
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/{Avatar-Ibu0CcG1.js → Avatar-DKGkEfXe.js} +1 -1
- package/dist/{ChatWidgetContent-C0K4VaTO.js → ChatWidgetContent-Coj_NDep.js} +1 -1
- package/dist/avatar/Avatar.d.ts +2 -2
- package/dist/avatar/publicAnimations.d.ts +3 -0
- package/dist/bridge-ai-chat-widget.es.js +4 -2
- package/dist/{index-BpMaADjw.js → index-Dt2DYOP-.js} +287 -286
- package/dist/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -951,7 +951,7 @@ function Ss({
|
|
|
951
951
|
}
|
|
952
952
|
);
|
|
953
953
|
}
|
|
954
|
-
function
|
|
954
|
+
function Vd({
|
|
955
955
|
to: n,
|
|
956
956
|
replace: e,
|
|
957
957
|
state: t,
|
|
@@ -1043,7 +1043,7 @@ function Es({
|
|
|
1043
1043
|
`<Router basename="${a}"> is not able to match the URL "${l}${d}${u}" because it does not start with the basename, so the <Router> won't render anything.`
|
|
1044
1044
|
), b == null ? null : /* @__PURE__ */ g.createElement(ne.Provider, { value: c }, /* @__PURE__ */ g.createElement(Ke.Provider, { children: e, value: b }));
|
|
1045
1045
|
}
|
|
1046
|
-
function
|
|
1046
|
+
function Gd({
|
|
1047
1047
|
children: n,
|
|
1048
1048
|
location: e
|
|
1049
1049
|
}) {
|
|
@@ -3897,9 +3897,9 @@ const Ft = (n) => n.status === K.Completed || n.status === K.Failed, en = (n) =>
|
|
|
3897
3897
|
n({ currentThreadId: r.conversationId }), e().actions.handleMessage(r);
|
|
3898
3898
|
}
|
|
3899
3899
|
}
|
|
3900
|
-
})),
|
|
3900
|
+
})), Ld = () => Q((n) => n.currentThreadId), ia = () => Q((n) => n.currentThreadMessages), Dd = () => Q((n) => n.threadsPreviews), Bd = () => Q((n) => n.currentThreadId), sa = () => Q((n) => n.latestReadMessageDate), Kr = () => Q((n) => n.latestMessageDate), Xd = () => Q((n) => n.sendError), oa = (n) => !!(n.currentThreadId && !n.loadedThreadIds.has(n.currentThreadId)), Wd = () => Q(oa), zd = () => Q((n) => n.responsePhase === "awaiting-first-token"), Zd = () => Q(
|
|
3901
3901
|
(n) => n.sendInFlight || n.responsePhase !== "idle"
|
|
3902
|
-
), aa = (n) => n.pendingCustomerMessage?.conversationId === n.currentThreadId ? n.pendingCustomerMessage : null,
|
|
3902
|
+
), aa = (n) => n.pendingCustomerMessage?.conversationId === n.currentThreadId ? n.pendingCustomerMessage : null, Ud = () => Q(aa), Fd = (n) => Q((e) => e.messageStreams.get(n)), ca = () => Q((n) => n.actions), vt = (n) => !!n && typeof n == "object" && !Array.isArray(n), la = 2e5, da = (n) => {
|
|
3903
3903
|
if (!vt(n)) return null;
|
|
3904
3904
|
const e = n.event?.conversationCreated;
|
|
3905
3905
|
if (!e || !vt(e.conversation)) return null;
|
|
@@ -4123,13 +4123,13 @@ const ie = {
|
|
|
4123
4123
|
voice: "/chat/voice",
|
|
4124
4124
|
text: "/chat/text"
|
|
4125
4125
|
};
|
|
4126
|
-
function
|
|
4126
|
+
function Hd(n) {
|
|
4127
4127
|
if (!n || typeof n != "object" || !("chatMode" in n))
|
|
4128
4128
|
return null;
|
|
4129
4129
|
const { chatMode: e } = n;
|
|
4130
4130
|
return e === "text" || e === "voice" ? e : null;
|
|
4131
4131
|
}
|
|
4132
|
-
function
|
|
4132
|
+
function _d(n) {
|
|
4133
4133
|
return n === ie.text || n.endsWith(ie.text) ? "text" : "voice";
|
|
4134
4134
|
}
|
|
4135
4135
|
function nn(n) {
|
|
@@ -4138,7 +4138,7 @@ function nn(n) {
|
|
|
4138
4138
|
function rn(n) {
|
|
4139
4139
|
return n === ie.voice || n.endsWith(ie.voice) || n === ie.text || n.endsWith(ie.text);
|
|
4140
4140
|
}
|
|
4141
|
-
function
|
|
4141
|
+
function jd(n, e) {
|
|
4142
4142
|
return rn(n) && nn(e) ? "forward" : nn(n) && rn(e) ? "backward" : null;
|
|
4143
4143
|
}
|
|
4144
4144
|
function Ta(n) {
|
|
@@ -4164,6 +4164,17 @@ function Ga(n, e) {
|
|
|
4164
4164
|
return () => window.clearInterval(s);
|
|
4165
4165
|
}, [i]);
|
|
4166
4166
|
}
|
|
4167
|
+
const Oa = [
|
|
4168
|
+
"deposit",
|
|
4169
|
+
"excited",
|
|
4170
|
+
"fix_hair",
|
|
4171
|
+
"kiss",
|
|
4172
|
+
"spin",
|
|
4173
|
+
"win_small"
|
|
4174
|
+
];
|
|
4175
|
+
function Pa(n) {
|
|
4176
|
+
return Oa.includes(n);
|
|
4177
|
+
}
|
|
4167
4178
|
const Qn = 640, pe = /* @__PURE__ */ Object.create(null);
|
|
4168
4179
|
pe.open = "0";
|
|
4169
4180
|
pe.close = "1";
|
|
@@ -4187,7 +4198,7 @@ function er(n) {
|
|
|
4187
4198
|
return n instanceof Uint8Array ? n : n instanceof ArrayBuffer ? new Uint8Array(n) : new Uint8Array(n.buffer, n.byteOffset, n.byteLength);
|
|
4188
4199
|
}
|
|
4189
4200
|
let Ht;
|
|
4190
|
-
function
|
|
4201
|
+
function La(n, e) {
|
|
4191
4202
|
if ($r && n.data instanceof Blob)
|
|
4192
4203
|
return n.data.arrayBuffer().then(er).then(e);
|
|
4193
4204
|
if (ei && (n.data instanceof ArrayBuffer || ti(n.data)))
|
|
@@ -4199,14 +4210,14 @@ function Oa(n, e) {
|
|
|
4199
4210
|
const tr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", je = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
|
|
4200
4211
|
for (let n = 0; n < tr.length; n++)
|
|
4201
4212
|
je[tr.charCodeAt(n)] = n;
|
|
4202
|
-
const
|
|
4213
|
+
const Da = (n) => {
|
|
4203
4214
|
let e = n.length * 0.75, t = n.length, r, i = 0, s, o, a, c;
|
|
4204
4215
|
n[n.length - 1] === "=" && (e--, n[n.length - 2] === "=" && e--);
|
|
4205
4216
|
const l = new ArrayBuffer(e), d = new Uint8Array(l);
|
|
4206
4217
|
for (r = 0; r < t; r += 4)
|
|
4207
4218
|
s = je[n.charCodeAt(r)], o = je[n.charCodeAt(r + 1)], a = je[n.charCodeAt(r + 2)], c = je[n.charCodeAt(r + 3)], d[i++] = s << 2 | o >> 4, d[i++] = (o & 15) << 4 | a >> 2, d[i++] = (a & 3) << 6 | c & 63;
|
|
4208
4219
|
return l;
|
|
4209
|
-
},
|
|
4220
|
+
}, Ba = typeof ArrayBuffer == "function", An = (n, e) => {
|
|
4210
4221
|
if (typeof n != "string")
|
|
4211
4222
|
return {
|
|
4212
4223
|
type: "message",
|
|
@@ -4215,20 +4226,20 @@ const Pa = (n) => {
|
|
|
4215
4226
|
const t = n.charAt(0);
|
|
4216
4227
|
return t === "b" ? {
|
|
4217
4228
|
type: "message",
|
|
4218
|
-
data:
|
|
4229
|
+
data: Xa(n.substring(1), e)
|
|
4219
4230
|
} : pt[t] ? n.length > 1 ? {
|
|
4220
4231
|
type: pt[t],
|
|
4221
4232
|
data: n.substring(1)
|
|
4222
4233
|
} : {
|
|
4223
4234
|
type: pt[t]
|
|
4224
4235
|
} : sn;
|
|
4225
|
-
},
|
|
4226
|
-
if (
|
|
4227
|
-
const t =
|
|
4236
|
+
}, Xa = (n, e) => {
|
|
4237
|
+
if (Ba) {
|
|
4238
|
+
const t = Da(n);
|
|
4228
4239
|
return ni(t, e);
|
|
4229
4240
|
} else
|
|
4230
4241
|
return { base64: !0, data: n };
|
|
4231
|
-
}, ni = (n, e) => e === "blob" ? n instanceof Blob ? n : new Blob([n]) : n instanceof ArrayBuffer ? n : n.buffer, ri = "",
|
|
4242
|
+
}, ni = (n, e) => e === "blob" ? n instanceof Blob ? n : new Blob([n]) : n instanceof ArrayBuffer ? n : n.buffer, ri = "", Wa = (n, e) => {
|
|
4232
4243
|
const t = n.length, r = new Array(t);
|
|
4233
4244
|
let i = 0;
|
|
4234
4245
|
n.forEach((s, o) => {
|
|
@@ -4236,7 +4247,7 @@ const Pa = (n) => {
|
|
|
4236
4247
|
r[o] = a, ++i === t && e(r.join(ri));
|
|
4237
4248
|
});
|
|
4238
4249
|
});
|
|
4239
|
-
},
|
|
4250
|
+
}, za = (n, e) => {
|
|
4240
4251
|
const t = n.split(ri), r = [];
|
|
4241
4252
|
for (let i = 0; i < t.length; i++) {
|
|
4242
4253
|
const s = An(t[i], e);
|
|
@@ -4245,10 +4256,10 @@ const Pa = (n) => {
|
|
|
4245
4256
|
}
|
|
4246
4257
|
return r;
|
|
4247
4258
|
};
|
|
4248
|
-
function
|
|
4259
|
+
function Za() {
|
|
4249
4260
|
return new TransformStream({
|
|
4250
4261
|
transform(n, e) {
|
|
4251
|
-
|
|
4262
|
+
La(n, (t) => {
|
|
4252
4263
|
const r = t.length;
|
|
4253
4264
|
let i;
|
|
4254
4265
|
if (r < 126)
|
|
@@ -4280,7 +4291,7 @@ function at(n, e) {
|
|
|
4280
4291
|
t[i] = n[0][r++], r === n[0].length && (n.shift(), r = 0);
|
|
4281
4292
|
return n.length && r < n[0].length && (n[0] = n[0].slice(r)), t;
|
|
4282
4293
|
}
|
|
4283
|
-
function
|
|
4294
|
+
function Ua(n, e) {
|
|
4284
4295
|
_t || (_t = new TextDecoder());
|
|
4285
4296
|
const t = [];
|
|
4286
4297
|
let r = 0, i = -1, s = !1;
|
|
@@ -4322,9 +4333,9 @@ function za(n, e) {
|
|
|
4322
4333
|
}
|
|
4323
4334
|
const ii = 4;
|
|
4324
4335
|
function j(n) {
|
|
4325
|
-
if (n) return
|
|
4336
|
+
if (n) return Fa(n);
|
|
4326
4337
|
}
|
|
4327
|
-
function
|
|
4338
|
+
function Fa(n) {
|
|
4328
4339
|
for (var e in j.prototype)
|
|
4329
4340
|
n[e] = j.prototype[e];
|
|
4330
4341
|
return n;
|
|
@@ -4370,19 +4381,19 @@ j.prototype.listeners = function(n) {
|
|
|
4370
4381
|
j.prototype.hasListeners = function(n) {
|
|
4371
4382
|
return !!this.listeners(n).length;
|
|
4372
4383
|
};
|
|
4373
|
-
const Lt = typeof Promise == "function" && typeof Promise.resolve == "function" ? (e) => Promise.resolve().then(e) : (e, t) => t(e, 0), re = typeof self < "u" ? self : typeof window < "u" ? window : Function("return this")(),
|
|
4384
|
+
const Lt = typeof Promise == "function" && typeof Promise.resolve == "function" ? (e) => Promise.resolve().then(e) : (e, t) => t(e, 0), re = typeof self < "u" ? self : typeof window < "u" ? window : Function("return this")(), Ha = "arraybuffer";
|
|
4374
4385
|
function si(n, ...e) {
|
|
4375
4386
|
return e.reduce((t, r) => (n.hasOwnProperty(r) && (t[r] = n[r]), t), {});
|
|
4376
4387
|
}
|
|
4377
|
-
const
|
|
4388
|
+
const _a = re.setTimeout, ja = re.clearTimeout;
|
|
4378
4389
|
function Dt(n, e) {
|
|
4379
|
-
e.useNativeTimers ? (n.setTimeoutFn =
|
|
4390
|
+
e.useNativeTimers ? (n.setTimeoutFn = _a.bind(re), n.clearTimeoutFn = ja.bind(re)) : (n.setTimeoutFn = re.setTimeout.bind(re), n.clearTimeoutFn = re.clearTimeout.bind(re));
|
|
4380
4391
|
}
|
|
4381
|
-
const
|
|
4382
|
-
function
|
|
4383
|
-
return typeof n == "string" ?
|
|
4392
|
+
const Ya = 1.33;
|
|
4393
|
+
function Ka(n) {
|
|
4394
|
+
return typeof n == "string" ? qa(n) : Math.ceil((n.byteLength || n.size) * Ya);
|
|
4384
4395
|
}
|
|
4385
|
-
function
|
|
4396
|
+
function qa(n) {
|
|
4386
4397
|
let e = 0, t = 0;
|
|
4387
4398
|
for (let r = 0, i = n.length; r < i; r++)
|
|
4388
4399
|
e = n.charCodeAt(r), e < 128 ? t += 1 : e < 2048 ? t += 2 : e < 55296 || e >= 57344 ? t += 3 : (r++, t += 4);
|
|
@@ -4391,13 +4402,13 @@ function Ya(n) {
|
|
|
4391
4402
|
function oi() {
|
|
4392
4403
|
return Date.now().toString(36).substring(3) + Math.random().toString(36).substring(2, 5);
|
|
4393
4404
|
}
|
|
4394
|
-
function
|
|
4405
|
+
function Ja(n) {
|
|
4395
4406
|
let e = "";
|
|
4396
4407
|
for (let t in n)
|
|
4397
4408
|
n.hasOwnProperty(t) && (e.length && (e += "&"), e += encodeURIComponent(t) + "=" + encodeURIComponent(n[t]));
|
|
4398
4409
|
return e;
|
|
4399
4410
|
}
|
|
4400
|
-
function
|
|
4411
|
+
function Qa(n) {
|
|
4401
4412
|
let e = {}, t = n.split("&");
|
|
4402
4413
|
for (let r = 0, i = t.length; r < i; r++) {
|
|
4403
4414
|
let s = t[r].split("=");
|
|
@@ -4405,7 +4416,7 @@ function qa(n) {
|
|
|
4405
4416
|
}
|
|
4406
4417
|
return e;
|
|
4407
4418
|
}
|
|
4408
|
-
class
|
|
4419
|
+
class $a extends Error {
|
|
4409
4420
|
constructor(e, t, r) {
|
|
4410
4421
|
super(e), this.description = t, this.context = r, this.type = "TransportError";
|
|
4411
4422
|
}
|
|
@@ -4430,7 +4441,7 @@ class xn extends j {
|
|
|
4430
4441
|
* @protected
|
|
4431
4442
|
*/
|
|
4432
4443
|
onError(e, t, r) {
|
|
4433
|
-
return super.emitReserved("error", new
|
|
4444
|
+
return super.emitReserved("error", new $a(e, t, r)), this;
|
|
4434
4445
|
}
|
|
4435
4446
|
/**
|
|
4436
4447
|
* Opens the transport.
|
|
@@ -4504,11 +4515,11 @@ class xn extends j {
|
|
|
4504
4515
|
return this.opts.port && (this.opts.secure && Number(this.opts.port) !== 443 || !this.opts.secure && Number(this.opts.port) !== 80) ? ":" + this.opts.port : "";
|
|
4505
4516
|
}
|
|
4506
4517
|
_query(e) {
|
|
4507
|
-
const t =
|
|
4518
|
+
const t = Ja(e);
|
|
4508
4519
|
return t.length ? "?" + t : "";
|
|
4509
4520
|
}
|
|
4510
4521
|
}
|
|
4511
|
-
class
|
|
4522
|
+
class ec extends xn {
|
|
4512
4523
|
constructor() {
|
|
4513
4524
|
super(...arguments), this._polling = !1;
|
|
4514
4525
|
}
|
|
@@ -4564,7 +4575,7 @@ class Qa extends xn {
|
|
|
4564
4575
|
return this.onClose({ description: "transport closed by the server" }), !1;
|
|
4565
4576
|
this.onPacket(r);
|
|
4566
4577
|
};
|
|
4567
|
-
|
|
4578
|
+
za(e, this.socket.binaryType).forEach(t), this.readyState !== "closed" && (this._polling = !1, this.emitReserved("pollComplete"), this.readyState === "open" && this._poll());
|
|
4568
4579
|
}
|
|
4569
4580
|
/**
|
|
4570
4581
|
* For polling, send a close packet.
|
|
@@ -4584,7 +4595,7 @@ class Qa extends xn {
|
|
|
4584
4595
|
* @protected
|
|
4585
4596
|
*/
|
|
4586
4597
|
write(e) {
|
|
4587
|
-
this.writable = !1,
|
|
4598
|
+
this.writable = !1, Wa(e, (t) => {
|
|
4588
4599
|
this.doWrite(t, () => {
|
|
4589
4600
|
this.writable = !0, this.emitReserved("drain");
|
|
4590
4601
|
});
|
|
@@ -4605,10 +4616,10 @@ try {
|
|
|
4605
4616
|
ai = typeof XMLHttpRequest < "u" && "withCredentials" in new XMLHttpRequest();
|
|
4606
4617
|
} catch {
|
|
4607
4618
|
}
|
|
4608
|
-
const
|
|
4609
|
-
function
|
|
4619
|
+
const tc = ai;
|
|
4620
|
+
function nc() {
|
|
4610
4621
|
}
|
|
4611
|
-
class
|
|
4622
|
+
class rc extends ec {
|
|
4612
4623
|
/**
|
|
4613
4624
|
* XHR Polling constructor.
|
|
4614
4625
|
*
|
|
@@ -4721,7 +4732,7 @@ let Le = class ft extends j {
|
|
|
4721
4732
|
*/
|
|
4722
4733
|
_cleanup(e) {
|
|
4723
4734
|
if (!(typeof this._xhr > "u" || this._xhr === null)) {
|
|
4724
|
-
if (this._xhr.onreadystatechange =
|
|
4735
|
+
if (this._xhr.onreadystatechange = nc, e)
|
|
4725
4736
|
try {
|
|
4726
4737
|
this._xhr.abort();
|
|
4727
4738
|
} catch {
|
|
@@ -4761,17 +4772,17 @@ function nr() {
|
|
|
4761
4772
|
for (let n in Le.requests)
|
|
4762
4773
|
Le.requests.hasOwnProperty(n) && Le.requests[n].abort();
|
|
4763
4774
|
}
|
|
4764
|
-
const
|
|
4775
|
+
const ic = (function() {
|
|
4765
4776
|
const n = ci({
|
|
4766
4777
|
xdomain: !1
|
|
4767
4778
|
});
|
|
4768
4779
|
return n && n.responseType !== null;
|
|
4769
4780
|
})();
|
|
4770
|
-
class
|
|
4781
|
+
class sc extends rc {
|
|
4771
4782
|
constructor(e) {
|
|
4772
4783
|
super(e);
|
|
4773
4784
|
const t = e && e.forceBase64;
|
|
4774
|
-
this.supportsBinary =
|
|
4785
|
+
this.supportsBinary = ic && !t;
|
|
4775
4786
|
}
|
|
4776
4787
|
request(e = {}) {
|
|
4777
4788
|
return Object.assign(e, { xd: this.xd }, this.opts), new Le(ci, this.uri(), e);
|
|
@@ -4780,7 +4791,7 @@ class rc extends tc {
|
|
|
4780
4791
|
function ci(n) {
|
|
4781
4792
|
const e = n.xdomain;
|
|
4782
4793
|
try {
|
|
4783
|
-
if (typeof XMLHttpRequest < "u" && (!e ||
|
|
4794
|
+
if (typeof XMLHttpRequest < "u" && (!e || tc))
|
|
4784
4795
|
return new XMLHttpRequest();
|
|
4785
4796
|
} catch {
|
|
4786
4797
|
}
|
|
@@ -4791,7 +4802,7 @@ function ci(n) {
|
|
|
4791
4802
|
}
|
|
4792
4803
|
}
|
|
4793
4804
|
const li = typeof navigator < "u" && typeof navigator.product == "string" && navigator.product.toLowerCase() === "reactnative";
|
|
4794
|
-
class
|
|
4805
|
+
class oc extends xn {
|
|
4795
4806
|
get name() {
|
|
4796
4807
|
return "websocket";
|
|
4797
4808
|
}
|
|
@@ -4848,7 +4859,7 @@ class ic extends xn {
|
|
|
4848
4859
|
}
|
|
4849
4860
|
}
|
|
4850
4861
|
const jt = re.WebSocket || re.MozWebSocket;
|
|
4851
|
-
class
|
|
4862
|
+
class ac extends oc {
|
|
4852
4863
|
createSocket(e, t, r) {
|
|
4853
4864
|
return li ? new jt(e, t, r) : t ? new jt(e, t) : new jt(e);
|
|
4854
4865
|
}
|
|
@@ -4856,7 +4867,7 @@ class sc extends ic {
|
|
|
4856
4867
|
this.ws.send(t);
|
|
4857
4868
|
}
|
|
4858
4869
|
}
|
|
4859
|
-
class
|
|
4870
|
+
class cc extends xn {
|
|
4860
4871
|
get name() {
|
|
4861
4872
|
return "webtransport";
|
|
4862
4873
|
}
|
|
@@ -4872,7 +4883,7 @@ class oc extends xn {
|
|
|
4872
4883
|
this.onError("webtransport error", e);
|
|
4873
4884
|
}), this._transport.ready.then(() => {
|
|
4874
4885
|
this._transport.createBidirectionalStream().then((e) => {
|
|
4875
|
-
const t =
|
|
4886
|
+
const t = Ua(Number.MAX_SAFE_INTEGER, this.socket.binaryType), r = e.readable.pipeThrough(t).getReader(), i = Za();
|
|
4876
4887
|
i.readable.pipeTo(e.writable), this._writer = i.writable.getWriter();
|
|
4877
4888
|
const s = () => {
|
|
4878
4889
|
r.read().then(({ done: a, value: c }) => {
|
|
@@ -4902,11 +4913,11 @@ class oc extends xn {
|
|
|
4902
4913
|
(e = this._transport) === null || e === void 0 || e.close();
|
|
4903
4914
|
}
|
|
4904
4915
|
}
|
|
4905
|
-
const
|
|
4906
|
-
websocket:
|
|
4907
|
-
webtransport:
|
|
4908
|
-
polling:
|
|
4909
|
-
},
|
|
4916
|
+
const lc = {
|
|
4917
|
+
websocket: ac,
|
|
4918
|
+
webtransport: cc,
|
|
4919
|
+
polling: sc
|
|
4920
|
+
}, dc = /^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/, uc = [
|
|
4910
4921
|
"source",
|
|
4911
4922
|
"protocol",
|
|
4912
4923
|
"authority",
|
|
@@ -4927,16 +4938,16 @@ function on(n) {
|
|
|
4927
4938
|
throw "URI too long";
|
|
4928
4939
|
const e = n, t = n.indexOf("["), r = n.indexOf("]");
|
|
4929
4940
|
t != -1 && r != -1 && (n = n.substring(0, t) + n.substring(t, r).replace(/:/g, ";") + n.substring(r, n.length));
|
|
4930
|
-
let i =
|
|
4941
|
+
let i = dc.exec(n || ""), s = {}, o = 14;
|
|
4931
4942
|
for (; o--; )
|
|
4932
|
-
s[
|
|
4933
|
-
return t != -1 && r != -1 && (s.source = e, s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, ":"), s.authority = s.authority.replace("[", "").replace("]", "").replace(/;/g, ":"), s.ipv6uri = !0), s.pathNames =
|
|
4943
|
+
s[uc[o]] = i[o] || "";
|
|
4944
|
+
return t != -1 && r != -1 && (s.source = e, s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, ":"), s.authority = s.authority.replace("[", "").replace("]", "").replace(/;/g, ":"), s.ipv6uri = !0), s.pathNames = hc(s, s.path), s.queryKey = pc(s, s.query), s;
|
|
4934
4945
|
}
|
|
4935
|
-
function
|
|
4946
|
+
function hc(n, e) {
|
|
4936
4947
|
const t = /\/{2,9}/g, r = e.replace(t, "/").split("/");
|
|
4937
4948
|
return (e.slice(0, 1) == "/" || e.length === 0) && r.splice(0, 1), e.slice(-1) == "/" && r.splice(r.length - 1, 1), r;
|
|
4938
4949
|
}
|
|
4939
|
-
function
|
|
4950
|
+
function pc(n, e) {
|
|
4940
4951
|
const t = {};
|
|
4941
4952
|
return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(r, i, s) {
|
|
4942
4953
|
i && (t[i] = s);
|
|
@@ -4954,7 +4965,7 @@ class Se extends j {
|
|
|
4954
4965
|
* @param {Object} opts - options
|
|
4955
4966
|
*/
|
|
4956
4967
|
constructor(e, t) {
|
|
4957
|
-
if (super(), this.binaryType =
|
|
4968
|
+
if (super(), this.binaryType = Ha, this.writeBuffer = [], this._prevBufferLen = 0, this._pingInterval = -1, this._pingTimeout = -1, this._maxPayload = -1, this._pingTimeoutTime = 1 / 0, e && typeof e == "object" && (t = e, e = null), e) {
|
|
4958
4969
|
const r = on(e);
|
|
4959
4970
|
t.hostname = r.host, t.secure = r.protocol === "https" || r.protocol === "wss", t.port = r.port, r.query && (t.query = r.query);
|
|
4960
4971
|
} else t.host && (t.hostname = on(t.host).host);
|
|
@@ -4975,7 +4986,7 @@ class Se extends j {
|
|
|
4975
4986
|
},
|
|
4976
4987
|
transportOptions: {},
|
|
4977
4988
|
closeOnBeforeunload: !1
|
|
4978
|
-
}, t), this.opts.path = this.opts.path.replace(/\/$/, "") + (this.opts.addTrailingSlash ? "/" : ""), typeof this.opts.query == "string" && (this.opts.query =
|
|
4989
|
+
}, t), this.opts.path = this.opts.path.replace(/\/$/, "") + (this.opts.addTrailingSlash ? "/" : ""), typeof this.opts.query == "string" && (this.opts.query = Qa(this.opts.query)), an && (this.opts.closeOnBeforeunload && (this._beforeunloadEventListener = () => {
|
|
4979
4990
|
this.transport && (this.transport.removeAllListeners(), this.transport.close());
|
|
4980
4991
|
}, addEventListener("beforeunload", this._beforeunloadEventListener, !1)), this.hostname !== "localhost" && (this._offlineEventListener = () => {
|
|
4981
4992
|
this._onClose("transport close", {
|
|
@@ -5110,7 +5121,7 @@ class Se extends j {
|
|
|
5110
5121
|
let t = 1;
|
|
5111
5122
|
for (let r = 0; r < this.writeBuffer.length; r++) {
|
|
5112
5123
|
const i = this.writeBuffer[r].data;
|
|
5113
|
-
if (i && (t +=
|
|
5124
|
+
if (i && (t += Ka(i)), r > 0 && t > this._maxPayload)
|
|
5114
5125
|
return this.writeBuffer.slice(0, r);
|
|
5115
5126
|
t += 2;
|
|
5116
5127
|
}
|
|
@@ -5217,7 +5228,7 @@ class Se extends j {
|
|
|
5217
5228
|
}
|
|
5218
5229
|
}
|
|
5219
5230
|
Se.protocol = ii;
|
|
5220
|
-
class
|
|
5231
|
+
class fc extends Se {
|
|
5221
5232
|
constructor() {
|
|
5222
5233
|
super(...arguments), this._upgrades = [];
|
|
5223
5234
|
}
|
|
@@ -5289,21 +5300,21 @@ class hc extends Se {
|
|
|
5289
5300
|
return t;
|
|
5290
5301
|
}
|
|
5291
5302
|
}
|
|
5292
|
-
let
|
|
5303
|
+
let gc = class extends fc {
|
|
5293
5304
|
constructor(e, t = {}) {
|
|
5294
5305
|
const r = typeof e == "object", i = r ? { ...e } : { ...t };
|
|
5295
|
-
(!i.transports || i.transports && typeof i.transports[0] == "string") && (i.transports = (i.transports || ["polling", "websocket", "webtransport"]).map((s) =>
|
|
5306
|
+
(!i.transports || i.transports && typeof i.transports[0] == "string") && (i.transports = (i.transports || ["polling", "websocket", "webtransport"]).map((s) => lc[s]).filter((s) => !!s)), super(r ? i : e, i);
|
|
5296
5307
|
}
|
|
5297
5308
|
};
|
|
5298
|
-
function
|
|
5309
|
+
function mc(n, e = "", t) {
|
|
5299
5310
|
let r = n;
|
|
5300
5311
|
t = t || typeof location < "u" && location, n == null && (n = t.protocol + "//" + t.host), typeof n == "string" && (n.charAt(0) === "/" && (n.charAt(1) === "/" ? n = t.protocol + n : n = t.host + n), /^(https?|wss?):\/\//.test(n) || (typeof t < "u" ? n = t.protocol + "//" + n : n = "https://" + n), r = on(n)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = "80" : /^(http|ws)s$/.test(r.protocol) && (r.port = "443")), r.path = r.path || "/";
|
|
5301
5312
|
const s = r.host.indexOf(":") !== -1 ? "[" + r.host + "]" : r.host;
|
|
5302
5313
|
return r.id = r.protocol + "://" + s + ":" + r.port + e, r.href = r.protocol + "://" + s + (t && t.port === r.port ? "" : ":" + r.port), r;
|
|
5303
5314
|
}
|
|
5304
|
-
const
|
|
5315
|
+
const bc = typeof ArrayBuffer == "function", wc = (n) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(n) : n.buffer instanceof ArrayBuffer, di = Object.prototype.toString, yc = typeof Blob == "function" || typeof Blob < "u" && di.call(Blob) === "[object BlobConstructor]", Ic = typeof File == "function" || typeof File < "u" && di.call(File) === "[object FileConstructor]";
|
|
5305
5316
|
function Sn(n) {
|
|
5306
|
-
return
|
|
5317
|
+
return bc && (n instanceof ArrayBuffer || wc(n)) || yc && n instanceof Blob || Ic && n instanceof File;
|
|
5307
5318
|
}
|
|
5308
5319
|
function mt(n, e) {
|
|
5309
5320
|
if (!n || typeof n != "object")
|
|
@@ -5323,7 +5334,7 @@ function mt(n, e) {
|
|
|
5323
5334
|
return !0;
|
|
5324
5335
|
return !1;
|
|
5325
5336
|
}
|
|
5326
|
-
function
|
|
5337
|
+
function Cc(n) {
|
|
5327
5338
|
const e = [], t = n.data, r = n;
|
|
5328
5339
|
return r.data = bt(t, e), r.attachments = e.length, { packet: r, buffers: e };
|
|
5329
5340
|
}
|
|
@@ -5348,7 +5359,7 @@ function bt(n, e, t) {
|
|
|
5348
5359
|
}
|
|
5349
5360
|
return n;
|
|
5350
5361
|
}
|
|
5351
|
-
function
|
|
5362
|
+
function vc(n, e) {
|
|
5352
5363
|
return n.data = cn(n.data, e), delete n.attachments, n;
|
|
5353
5364
|
}
|
|
5354
5365
|
function cn(n, e) {
|
|
@@ -5379,12 +5390,12 @@ const ui = [
|
|
|
5379
5390
|
// used by the Node.js EventEmitter
|
|
5380
5391
|
"removeListener"
|
|
5381
5392
|
// used by the Node.js EventEmitter
|
|
5382
|
-
],
|
|
5393
|
+
], Ac = 5;
|
|
5383
5394
|
var P;
|
|
5384
5395
|
(function(n) {
|
|
5385
5396
|
n[n.CONNECT = 0] = "CONNECT", n[n.DISCONNECT = 1] = "DISCONNECT", n[n.EVENT = 2] = "EVENT", n[n.ACK = 3] = "ACK", n[n.CONNECT_ERROR = 4] = "CONNECT_ERROR", n[n.BINARY_EVENT = 5] = "BINARY_EVENT", n[n.BINARY_ACK = 6] = "BINARY_ACK";
|
|
5386
5397
|
})(P || (P = {}));
|
|
5387
|
-
class
|
|
5398
|
+
class xc {
|
|
5388
5399
|
/**
|
|
5389
5400
|
* Encoder constructor
|
|
5390
5401
|
*
|
|
@@ -5420,7 +5431,7 @@ class vc {
|
|
|
5420
5431
|
* a list of buffers.
|
|
5421
5432
|
*/
|
|
5422
5433
|
encodeAsBinary(e) {
|
|
5423
|
-
const t =
|
|
5434
|
+
const t = Cc(e), r = this.encodeAsString(t.packet), i = t.buffers;
|
|
5424
5435
|
return i.unshift(r), i;
|
|
5425
5436
|
}
|
|
5426
5437
|
}
|
|
@@ -5446,7 +5457,7 @@ class kn extends j {
|
|
|
5446
5457
|
throw new Error("got plaintext data when reconstructing a packet");
|
|
5447
5458
|
t = this.decodeString(e);
|
|
5448
5459
|
const r = t.type === P.BINARY_EVENT;
|
|
5449
|
-
r || t.type === P.BINARY_ACK ? (t.type = r ? P.EVENT : P.ACK, this.reconstructor = new
|
|
5460
|
+
r || t.type === P.BINARY_ACK ? (t.type = r ? P.EVENT : P.ACK, this.reconstructor = new Sc(t)) : super.emitReserved("decoded", t);
|
|
5450
5461
|
} else if (Sn(e) || e.base64)
|
|
5451
5462
|
if (this.reconstructor)
|
|
5452
5463
|
t = this.reconstructor.takeBinaryData(e), t && (this.reconstructor = null, super.emitReserved("decoded", t));
|
|
@@ -5542,7 +5553,7 @@ class kn extends j {
|
|
|
5542
5553
|
this.reconstructor && (this.reconstructor.finishedReconstruction(), this.reconstructor = null);
|
|
5543
5554
|
}
|
|
5544
5555
|
}
|
|
5545
|
-
class
|
|
5556
|
+
class Sc {
|
|
5546
5557
|
constructor(e) {
|
|
5547
5558
|
this.packet = e, this.buffers = [], this.reconPack = e;
|
|
5548
5559
|
}
|
|
@@ -5556,7 +5567,7 @@ class Ac {
|
|
|
5556
5567
|
*/
|
|
5557
5568
|
takeBinaryData(e) {
|
|
5558
5569
|
if (this.buffers.push(e), this.buffers.length === this.reconPack.attachments) {
|
|
5559
|
-
const t =
|
|
5570
|
+
const t = vc(this.reconPack, this.buffers);
|
|
5560
5571
|
return this.finishedReconstruction(), t;
|
|
5561
5572
|
}
|
|
5562
5573
|
return null;
|
|
@@ -5568,19 +5579,19 @@ class Ac {
|
|
|
5568
5579
|
this.reconPack = null, this.buffers = [];
|
|
5569
5580
|
}
|
|
5570
5581
|
}
|
|
5571
|
-
function
|
|
5582
|
+
function kc(n) {
|
|
5572
5583
|
return typeof n == "string";
|
|
5573
5584
|
}
|
|
5574
5585
|
const hi = Number.isInteger || function(n) {
|
|
5575
5586
|
return typeof n == "number" && isFinite(n) && Math.floor(n) === n;
|
|
5576
5587
|
};
|
|
5577
|
-
function
|
|
5588
|
+
function Ec(n) {
|
|
5578
5589
|
return n === void 0 || hi(n);
|
|
5579
5590
|
}
|
|
5580
5591
|
function At(n) {
|
|
5581
5592
|
return Object.prototype.toString.call(n) === "[object Object]";
|
|
5582
5593
|
}
|
|
5583
|
-
function
|
|
5594
|
+
function Rc(n, e) {
|
|
5584
5595
|
switch (n) {
|
|
5585
5596
|
case P.CONNECT:
|
|
5586
5597
|
return e === void 0 || At(e);
|
|
@@ -5596,25 +5607,25 @@ function kc(n, e) {
|
|
|
5596
5607
|
return !1;
|
|
5597
5608
|
}
|
|
5598
5609
|
}
|
|
5599
|
-
function
|
|
5600
|
-
return
|
|
5610
|
+
function Tc(n) {
|
|
5611
|
+
return kc(n.nsp) && Ec(n.id) && Rc(n.type, n.data);
|
|
5601
5612
|
}
|
|
5602
|
-
const
|
|
5613
|
+
const Mc = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5603
5614
|
__proto__: null,
|
|
5604
5615
|
Decoder: kn,
|
|
5605
|
-
Encoder:
|
|
5616
|
+
Encoder: xc,
|
|
5606
5617
|
get PacketType() {
|
|
5607
5618
|
return P;
|
|
5608
5619
|
},
|
|
5609
|
-
isPacketValid:
|
|
5610
|
-
protocol:
|
|
5620
|
+
isPacketValid: Tc,
|
|
5621
|
+
protocol: Ac
|
|
5611
5622
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
5612
5623
|
function ae(n, e, t) {
|
|
5613
5624
|
return n.on(e, t), function() {
|
|
5614
5625
|
n.off(e, t);
|
|
5615
5626
|
};
|
|
5616
5627
|
}
|
|
5617
|
-
const
|
|
5628
|
+
const Nc = Object.freeze({
|
|
5618
5629
|
connect: 1,
|
|
5619
5630
|
connect_error: 1,
|
|
5620
5631
|
disconnect: 1,
|
|
@@ -5739,7 +5750,7 @@ class pi extends j {
|
|
|
5739
5750
|
*/
|
|
5740
5751
|
emit(e, ...t) {
|
|
5741
5752
|
var r, i, s;
|
|
5742
|
-
if (
|
|
5753
|
+
if (Nc.hasOwnProperty(e))
|
|
5743
5754
|
throw new Error('"' + e.toString() + '" is a reserved event name');
|
|
5744
5755
|
if (t.unshift(e), this._opts.retries && !this.flags.fromQueue && !this.flags.volatile)
|
|
5745
5756
|
return this._addToQueue(t), this;
|
|
@@ -6246,7 +6257,7 @@ class ln extends j {
|
|
|
6246
6257
|
max: this.reconnectionDelayMax(),
|
|
6247
6258
|
jitter: this.randomizationFactor()
|
|
6248
6259
|
}), this.timeout(t.timeout == null ? 2e4 : t.timeout), this._readyState = "closed", this.uri = e;
|
|
6249
|
-
const i = t.parser ||
|
|
6260
|
+
const i = t.parser || Mc;
|
|
6250
6261
|
this.encoder = new i.Encoder(), this.decoder = new i.Decoder(), this._autoConnect = t.autoConnect !== !1, this._autoConnect && this.open();
|
|
6251
6262
|
}
|
|
6252
6263
|
reconnection(e) {
|
|
@@ -6289,7 +6300,7 @@ class ln extends j {
|
|
|
6289
6300
|
open(e) {
|
|
6290
6301
|
if (~this._readyState.indexOf("open"))
|
|
6291
6302
|
return this;
|
|
6292
|
-
this.engine = new
|
|
6303
|
+
this.engine = new gc(this.uri, this.opts);
|
|
6293
6304
|
const t = this.engine, r = this;
|
|
6294
6305
|
this._readyState = "opening", this.skipReconnect = !1;
|
|
6295
6306
|
const i = ae(t, "open", function() {
|
|
@@ -6479,7 +6490,7 @@ class ln extends j {
|
|
|
6479
6490
|
const Ue = {};
|
|
6480
6491
|
function wt(n, e) {
|
|
6481
6492
|
typeof n == "object" && (e = n, n = void 0), e = e || {};
|
|
6482
|
-
const t =
|
|
6493
|
+
const t = mc(n, e.path || "/socket.io"), r = t.source, i = t.id, s = t.path, o = Ue[i] && s in Ue[i].nsps, a = e.forceNew || e["force new connection"] || e.multiplex === !1 || o;
|
|
6483
6494
|
let c;
|
|
6484
6495
|
return a ? c = new ln(r, e) : (Ue[i] || (Ue[i] = new ln(r, e)), c = Ue[i]), t.query && !e.query && (e.query = t.queryKey), c.socket(t.path, e);
|
|
6485
6496
|
}
|
|
@@ -6489,13 +6500,13 @@ Object.assign(wt, {
|
|
|
6489
6500
|
io: wt,
|
|
6490
6501
|
connect: wt
|
|
6491
6502
|
});
|
|
6492
|
-
const
|
|
6503
|
+
const Vc = "data:text/javascript;base64,Y2xhc3MgUGNtQ2FwdHVyZVByb2Nlc3NvciBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3NvciB7CiAgY29uc3RydWN0b3Iob3B0aW9ucykgewogICAgc3VwZXIoKTsKICAgIGNvbnN0IGNvbmZpZyA9IG9wdGlvbnMucHJvY2Vzc29yT3B0aW9ucyA/PyB7fTsKICAgIHRoaXMudGFyZ2V0U2FtcGxlUmF0ZSA9IE1hdGgubWF4KAogICAgICAxLAogICAgICBOdW1iZXIoY29uZmlnLnRhcmdldFNhbXBsZVJhdGUpIHx8IDI0MDAwLAogICAgKTsKICAgIHRoaXMuY2h1bmtTYW1wbGVzID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoCiAgICAgICAgKHRoaXMudGFyZ2V0U2FtcGxlUmF0ZSAqIChOdW1iZXIoY29uZmlnLmNodW5rRHVyYXRpb25NcykgfHwgMTAwKSkgLwogICAgICAgICAgMTAwMCwKICAgICAgKSwKICAgICk7CiAgICB0aGlzLnNvdXJjZVN0ZXAgPSBzYW1wbGVSYXRlIC8gdGhpcy50YXJnZXRTYW1wbGVSYXRlOwogICAgdGhpcy5zb3VyY2VQb3NpdGlvbiA9IDA7CiAgICB0aGlzLnNvdXJjZVNhbXBsZXMgPSBbXTsKICAgIHRoaXMub3V0cHV0U2FtcGxlcyA9IG5ldyBJbnQxNkFycmF5KHRoaXMuY2h1bmtTYW1wbGVzKTsKICAgIHRoaXMub3V0cHV0T2Zmc2V0ID0gMDsKICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7CgogICAgdGhpcy5wb3J0Lm9ubWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4gewogICAgICBpZiAoZGF0YS50eXBlID09PSAiZW5hYmxlZCIpIHRoaXMuZW5hYmxlZCA9IEJvb2xlYW4oZGF0YS52YWx1ZSk7CiAgICAgIGlmIChkYXRhLnR5cGUgPT09ICJyZXNldCIpIHRoaXMucmVzZXQoKTsKICAgIH07CiAgfQoKICByZXNldCgpIHsKICAgIHRoaXMuc291cmNlUG9zaXRpb24gPSAwOwogICAgdGhpcy5zb3VyY2VTYW1wbGVzLmxlbmd0aCA9IDA7CiAgICB0aGlzLm91dHB1dE9mZnNldCA9IDA7CiAgfQoKICBwdXNoU2FtcGxlKHNhbXBsZSkgewogICAgY29uc3QgY2xpcHBlZCA9IE1hdGgubWF4KC0xLCBNYXRoLm1pbigxLCBzYW1wbGUpKTsKICAgIHRoaXMub3V0cHV0U2FtcGxlc1t0aGlzLm91dHB1dE9mZnNldF0gPQogICAgICBjbGlwcGVkIDwgMCA/IE1hdGgucm91bmQoY2xpcHBlZCAqIDMyNzY4KSA6IE1hdGgucm91bmQoY2xpcHBlZCAqIDMyNzY3KTsKICAgIHRoaXMub3V0cHV0T2Zmc2V0ICs9IDE7CiAgICBpZiAodGhpcy5vdXRwdXRPZmZzZXQgPCB0aGlzLmNodW5rU2FtcGxlcykgcmV0dXJuOwoKICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5vdXRwdXRTYW1wbGVzLmJ1ZmZlcjsKICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7IHR5cGU6ICJjaHVuayIsIGJ5dGVzIH0sIFtieXRlc10pOwogICAgdGhpcy5vdXRwdXRTYW1wbGVzID0gbmV3IEludDE2QXJyYXkodGhpcy5jaHVua1NhbXBsZXMpOwogICAgdGhpcy5vdXRwdXRPZmZzZXQgPSAwOwogIH0KCiAgcHJvY2VzcyhpbnB1dHMpIHsKICAgIGNvbnN0IGNoYW5uZWxzID0gaW5wdXRzWzBdOwogICAgY29uc3QgaW5wdXQgPSBjaGFubmVscz8uWzBdOwogICAgaWYgKCFpbnB1dD8ubGVuZ3RoKSByZXR1cm4gdHJ1ZTsKICAgIGlmICghdGhpcy5lbmFibGVkKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgZm9yIChjb25zdCBzYW1wbGUgb2YgaW5wdXQpIHRoaXMuc291cmNlU2FtcGxlcy5wdXNoKHNhbXBsZSk7CiAgICB3aGlsZSAodGhpcy5zb3VyY2VQb3NpdGlvbiArIDEgPCB0aGlzLnNvdXJjZVNhbXBsZXMubGVuZ3RoKSB7CiAgICAgIGNvbnN0IGxvd2VySW5kZXggPSBNYXRoLmZsb29yKHRoaXMuc291cmNlUG9zaXRpb24pOwogICAgICBjb25zdCBmcmFjdGlvbiA9IHRoaXMuc291cmNlUG9zaXRpb24gLSBsb3dlckluZGV4OwogICAgICBjb25zdCBsb3dlciA9IHRoaXMuc291cmNlU2FtcGxlc1tsb3dlckluZGV4XTsKICAgICAgY29uc3QgdXBwZXIgPSB0aGlzLnNvdXJjZVNhbXBsZXNbbG93ZXJJbmRleCArIDFdOwogICAgICB0aGlzLnB1c2hTYW1wbGUobG93ZXIgKyAodXBwZXIgLSBsb3dlcikgKiBmcmFjdGlvbik7CiAgICAgIHRoaXMuc291cmNlUG9zaXRpb24gKz0gdGhpcy5zb3VyY2VTdGVwOwogICAgfQoKICAgIGNvbnN0IGNvbnN1bWVkID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgIGlmIChjb25zdW1lZCA+IDApIHsKICAgICAgdGhpcy5zb3VyY2VTYW1wbGVzLnNwbGljZSgwLCBjb25zdW1lZCk7CiAgICAgIHRoaXMuc291cmNlUG9zaXRpb24gLT0gY29uc3VtZWQ7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KCnJlZ2lzdGVyUHJvY2Vzc29yKCJsb2xhLXBjbS1jYXB0dXJlIiwgUGNtQ2FwdHVyZVByb2Nlc3Nvcik7Cg==";
|
|
6493
6504
|
class fi extends Error {
|
|
6494
6505
|
constructor(e, t) {
|
|
6495
6506
|
super(t), this.status = e;
|
|
6496
6507
|
}
|
|
6497
6508
|
}
|
|
6498
|
-
const dn = (n) => !!n && typeof n == "object" && !Array.isArray(n),
|
|
6509
|
+
const dn = (n) => !!n && typeof n == "object" && !Array.isArray(n), Gc = /* @__PURE__ */ new Set([
|
|
6499
6510
|
"CREATED",
|
|
6500
6511
|
"CONNECTING",
|
|
6501
6512
|
"ACTIVE",
|
|
@@ -6509,7 +6520,7 @@ const dn = (n) => !!n && typeof n == "object" && !Array.isArray(n), Nc = /* @__P
|
|
|
6509
6520
|
disconnectEvent: "voice.disconnect",
|
|
6510
6521
|
serverEvent: "voice.event",
|
|
6511
6522
|
eventProtocol: "xai-realtime-v1"
|
|
6512
|
-
},
|
|
6523
|
+
}, Oc = (n) => {
|
|
6513
6524
|
if (!dn(n))
|
|
6514
6525
|
throw new Error("Invalid voice session websocket contract");
|
|
6515
6526
|
for (const [e, t] of Object.entries(rr))
|
|
@@ -6519,7 +6530,7 @@ const dn = (n) => !!n && typeof n == "object" && !Array.isArray(n), Nc = /* @__P
|
|
|
6519
6530
|
}, En = (n) => {
|
|
6520
6531
|
if (!dn(n)) throw new Error("Invalid voice session response");
|
|
6521
6532
|
const e = n.voiceConfig;
|
|
6522
|
-
if (typeof n.voiceSessionId != "string" || !n.voiceSessionId || typeof n.conversationId != "string" || !n.conversationId || typeof n.status != "string" || !
|
|
6533
|
+
if (typeof n.voiceSessionId != "string" || !n.voiceSessionId || typeof n.conversationId != "string" || !n.conversationId || typeof n.status != "string" || !Gc.has(n.status) || !dn(e) || typeof e.voice != "string" || !e.voice || !Number.isSafeInteger(n.voiceProtocolVersion))
|
|
6523
6534
|
throw new Error("Invalid voice session response");
|
|
6524
6535
|
return {
|
|
6525
6536
|
voiceSessionId: n.voiceSessionId,
|
|
@@ -6527,9 +6538,9 @@ const dn = (n) => !!n && typeof n == "object" && !Array.isArray(n), Nc = /* @__P
|
|
|
6527
6538
|
status: n.status,
|
|
6528
6539
|
voiceConfig: { voice: e.voice },
|
|
6529
6540
|
voiceProtocolVersion: n.voiceProtocolVersion,
|
|
6530
|
-
websocket:
|
|
6541
|
+
websocket: Oc(n.websocket)
|
|
6531
6542
|
};
|
|
6532
|
-
},
|
|
6543
|
+
}, Pc = async (n) => {
|
|
6533
6544
|
try {
|
|
6534
6545
|
const e = await n.json();
|
|
6535
6546
|
if (typeof e.error == "object" && e.error?.message)
|
|
@@ -6550,14 +6561,14 @@ const dn = (n) => !!n && typeof n == "object" && !Array.isArray(n), Nc = /* @__P
|
|
|
6550
6561
|
...r.body ? { body: JSON.stringify(r.body) } : {}
|
|
6551
6562
|
});
|
|
6552
6563
|
if (!i.ok)
|
|
6553
|
-
throw i.status === 401 && e.onSessionExpired(), new fi(i.status, await
|
|
6564
|
+
throw i.status === 401 && e.onSessionExpired(), new fi(i.status, await Pc(i));
|
|
6554
6565
|
return i.json();
|
|
6555
6566
|
}, ir = (n, e, t) => Rn(n, e, "/voice/sessions", {
|
|
6556
6567
|
method: "POST",
|
|
6557
6568
|
body: {
|
|
6558
6569
|
...t ? { conversationId: t } : {}
|
|
6559
6570
|
}
|
|
6560
|
-
}).then(En),
|
|
6571
|
+
}).then(En), Lc = (n, e, t) => Rn(
|
|
6561
6572
|
n,
|
|
6562
6573
|
e,
|
|
6563
6574
|
`/voice/sessions/${encodeURIComponent(t)}`,
|
|
@@ -6583,7 +6594,7 @@ const gi = async (n) => {
|
|
|
6583
6594
|
} catch {
|
|
6584
6595
|
}
|
|
6585
6596
|
return `Audio request failed: ${n.status} ${n.statusText}`;
|
|
6586
|
-
},
|
|
6597
|
+
}, Dc = async (n, e, t) => {
|
|
6587
6598
|
if (!t.audioPath.startsWith("/") || t.audioPath.startsWith("//"))
|
|
6588
6599
|
throw new xe(0, "Audio path must be relative to Lola API");
|
|
6589
6600
|
const r = await fetch(`${$e}${t.audioPath}`, {
|
|
@@ -6605,7 +6616,7 @@ const gi = async (n) => {
|
|
|
6605
6616
|
if (s.size === 0)
|
|
6606
6617
|
throw new xe(r.status, "Audio response is empty");
|
|
6607
6618
|
return s;
|
|
6608
|
-
},
|
|
6619
|
+
}, Bc = async (n, e, t, r) => {
|
|
6609
6620
|
if (!t.audioPath.startsWith("/") || t.audioPath.startsWith("//"))
|
|
6610
6621
|
throw new xe(0, "Audio path must be relative to Lola API");
|
|
6611
6622
|
const i = await fetch(`${$e}${t.audioPath}`, {
|
|
@@ -6627,7 +6638,7 @@ const gi = async (n) => {
|
|
|
6627
6638
|
if (!i.body)
|
|
6628
6639
|
throw new xe(i.status, "Audio response has no body");
|
|
6629
6640
|
return i.body;
|
|
6630
|
-
}, Dc = "audio/wav", sr = "audio/pcm", Bc = "data:text/javascript;base64,Y2xhc3MgUGNtUGxheWJhY2tQcm9jZXNzb3IgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3IgewogIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHsKICAgIHN1cGVyKCk7CiAgICBjb25zdCBjb25maWcgPSBvcHRpb25zLnByb2Nlc3Nvck9wdGlvbnMgPz8ge307CiAgICB0aGlzLnNvdXJjZVNhbXBsZVJhdGUgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTnVtYmVyKGNvbmZpZy5zb3VyY2VTYW1wbGVSYXRlKSB8fCAyNDAwMCwKICAgICk7CiAgICB0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTWF0aC5yb3VuZCgKICAgICAgICAodGhpcy5zb3VyY2VTYW1wbGVSYXRlICogKE51bWJlcihjb25maWcuaml0dGVyQnVmZmVyTXMpIHx8IDUwMCkpIC8gMTAwMCwKICAgICAgKSwKICAgICk7CiAgICB0aGlzLmNodW5rcyA9IFtdOwogICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB0aGlzLnF1ZXVlZFNhbXBsZXMgPSAwOwogICAgdGhpcy5zb3VyY2VQb3NpdGlvbiA9IDA7CiAgICB0aGlzLmNhcnJ5Qnl0ZSA9IG51bGw7CiAgICB0aGlzLmlucHV0RW5kZWQgPSBmYWxzZTsKICAgIHRoaXMucGxheWluZyA9IGZhbHNlOwogICAgdGhpcy5zdGFydGVkID0gZmFsc2U7CiAgICB0aGlzLmZpbmlzaGVkID0gZmFsc2U7CiAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICB0aGlzLnBsYXllZFNvdXJjZVNhbXBsZXMgPSAwOwogICAgdGhpcy5ybXNXaW5kb3dGcmFtZXMgPSBNYXRoLm1heCgxLCBNYXRoLnJvdW5kKHNhbXBsZVJhdGUgKiAwLjAxKSk7CiAgICB0aGlzLnByb2dyZXNzUmVwb3J0RnJhbWVzID0gTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChzYW1wbGVSYXRlICogMC4wMikpOwogICAgdGhpcy5ybXNGcmFtZXMgPSAwOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgPSAwOwogICAgdGhpcy5zdW1TcXVhcmVzID0gMDsKICAgIHRoaXMud2luZG93UGVhayA9IDA7CiAgICB0aGlzLmxhc3RQZWFrID0gMDsKICAgIHRoaXMubW91dGhPcGVuID0gMDsKICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSAwOwogICAgdGhpcy5wcmV2aW91c1JtcyA9IDA7CiAgICB0aGlzLnNpbGVuY2VXaW5kb3dzID0gMDsKICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSAwOwogICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gMDsKICAgIHRoaXMubGFzdFJlbmRlckNvbnRleHRGcmFtZSA9IDA7CiAgICB0aGlzLmF0dGFja0NvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMTUpKTsKICAgIHRoaXMucmVsZWFzZUNvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMjUpKTsKICAgIHRoaXMubGV2ZWxBdHRhY2tDb2VmZmljaWVudCA9CiAgICAgIDEgLSBNYXRoLmV4cCgtdGhpcy5ybXNXaW5kb3dGcmFtZXMgLyAoc2FtcGxlUmF0ZSAqIDAuMTIpKTsKICAgIHRoaXMubGV2ZWxSZWxlYXNlQ29lZmZpY2llbnQgPQogICAgICAxIC0gTWF0aC5leHAoLXRoaXMucm1zV2luZG93RnJhbWVzIC8gKHNhbXBsZVJhdGUgKiAwLjQpKTsKICAgIHRoaXMuY2xvc3VyZUhvbGRXaW5kb3dzID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjAzKSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CiAgICB0aGlzLmNsb3N1cmVDb29sZG93bkR1cmF0aW9uID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjA4KSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CgogICAgdGhpcy5wb3J0Lm9ubWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4gewogICAgICBpZiAoZGF0YS50eXBlID09PSAiY2h1bmsiICYmIGRhdGEuYnl0ZXMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgewogICAgICAgIHRoaXMuZW5xdWV1ZVBjbTE2KG5ldyBVaW50OEFycmF5KGRhdGEuYnl0ZXMpKTsKICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09ICJlbmQiKSB7CiAgICAgICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7IHR5cGU6ICJlcnJvciIgfSk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHRoaXMuaW5wdXRFbmRlZCA9IHRydWU7CiAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAic3RvcCIpIHsKICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgfQogICAgfTsKICB9CgogIGVucXVldWVQY20xNihieXRlcykgewogICAgY29uc3Qgc2FtcGxlQ291bnQgPSBNYXRoLmZsb29yKAogICAgICAoYnl0ZXMubGVuZ3RoICsgKHRoaXMuY2FycnlCeXRlID09PSBudWxsID8gMCA6IDEpKSAvIDIsCiAgICApOwogICAgaWYgKCFzYW1wbGVDb3VudCkgewogICAgICBpZiAoYnl0ZXMubGVuZ3RoKSB0aGlzLmNhcnJ5Qnl0ZSA9IGJ5dGVzWzBdOwogICAgICByZXR1cm47CiAgICB9CgogICAgY29uc3Qgc2FtcGxlcyA9IG5ldyBGbG9hdDMyQXJyYXkoc2FtcGxlQ291bnQpOwogICAgbGV0IGJ5dGVJbmRleCA9IDA7CiAgICBsZXQgc2FtcGxlSW5kZXggPSAwOwogICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYXJyeUJ5dGUgfCAoYnl0ZXNbYnl0ZUluZGV4KytdIDw8IDgpOwogICAgICBzYW1wbGVzW3NhbXBsZUluZGV4KytdID0gKHZhbHVlIDw8IDE2KSAvIDIxNDc0ODM2NDg7CiAgICAgIHRoaXMuY2FycnlCeXRlID0gbnVsbDsKICAgIH0KICAgIHdoaWxlIChieXRlSW5kZXggKyAxIDwgYnl0ZXMubGVuZ3RoKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gYnl0ZXNbYnl0ZUluZGV4XSB8IChieXRlc1tieXRlSW5kZXggKyAxXSA8PCA4KTsKICAgICAgc2FtcGxlc1tzYW1wbGVJbmRleCsrXSA9ICh2YWx1ZSA8PCAxNikgLyAyMTQ3NDgzNjQ4OwogICAgICBieXRlSW5kZXggKz0gMjsKICAgIH0KICAgIGlmIChieXRlSW5kZXggPCBieXRlcy5sZW5ndGgpIHRoaXMuY2FycnlCeXRlID0gYnl0ZXNbYnl0ZUluZGV4XTsKICAgIGlmICh0aGlzLmNodW5rSGVhZCA9PT0gdGhpcy5jaHVua3MubGVuZ3RoKSB7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCA9IDA7CiAgICAgIHRoaXMuY2h1bmtIZWFkID0gMDsKICAgIH0gZWxzZSBpZiAodGhpcy5jaHVua0hlYWQgPj0gNjQpIHsKICAgICAgdGhpcy5jaHVua3MuY29weVdpdGhpbigwLCB0aGlzLmNodW5rSGVhZCk7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCAtPSB0aGlzLmNodW5rSGVhZDsKICAgICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgfQogICAgdGhpcy5jaHVua3MucHVzaChzYW1wbGVzKTsKICAgIHRoaXMucXVldWVkU2FtcGxlcyArPSBzYW1wbGVzLmxlbmd0aDsKICB9CgogIHNhbXBsZUF0KGluZGV4KSB7CiAgICBsZXQgcmVtYWluaW5nID0gaW5kZXggKyB0aGlzLmNodW5rT2Zmc2V0OwogICAgZm9yICgKICAgICAgbGV0IGNodW5rSW5kZXggPSB0aGlzLmNodW5rSGVhZDsKICAgICAgY2h1bmtJbmRleCA8IHRoaXMuY2h1bmtzLmxlbmd0aDsKICAgICAgY2h1bmtJbmRleCArPSAxCiAgICApIHsKICAgICAgY29uc3QgY2h1bmsgPSB0aGlzLmNodW5rc1tjaHVua0luZGV4XTsKICAgICAgaWYgKHJlbWFpbmluZyA8IGNodW5rLmxlbmd0aCkgcmV0dXJuIGNodW5rW3JlbWFpbmluZ107CiAgICAgIHJlbWFpbmluZyAtPSBjaHVuay5sZW5ndGg7CiAgICB9CiAgICByZXR1cm4gMDsKICB9CgogIGRpc2NhcmQoY291bnQpIHsKICAgIGNvbnN0IGRpc2NhcmRlZCA9IE1hdGgubWluKGNvdW50LCB0aGlzLnF1ZXVlZFNhbXBsZXMpOwogICAgbGV0IHJlbWFpbmluZyA9IGRpc2NhcmRlZDsKICAgIHRoaXMucXVldWVkU2FtcGxlcyAtPSBkaXNjYXJkZWQ7CiAgICB3aGlsZSAocmVtYWluaW5nID4gMCAmJiB0aGlzLmNodW5rSGVhZCA8IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICBjb25zdCBhdmFpbGFibGUgPSB0aGlzLmNodW5rc1t0aGlzLmNodW5rSGVhZF0ubGVuZ3RoIC0gdGhpcy5jaHVua09mZnNldDsKICAgICAgaWYgKHJlbWFpbmluZyA8IGF2YWlsYWJsZSkgewogICAgICAgIHRoaXMuY2h1bmtPZmZzZXQgKz0gcmVtYWluaW5nOwogICAgICAgIHJldHVybiBkaXNjYXJkZWQ7CiAgICAgIH0KICAgICAgcmVtYWluaW5nIC09IGF2YWlsYWJsZTsKICAgICAgdGhpcy5jaHVua0hlYWQgKz0gMTsKICAgICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB9CiAgICBpZiAodGhpcy5jaHVua0hlYWQgPT09IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICB0aGlzLmNodW5rcy5sZW5ndGggPSAwOwogICAgICB0aGlzLmNodW5rSGVhZCA9IDA7CiAgICB9CiAgICByZXR1cm4gZGlzY2FyZGVkOwogIH0KCiAgZmluaXNoUm1zV2luZG93KCkgewogICAgaWYgKHRoaXMucm1zRnJhbWVzID09PSAwKSByZXR1cm47CiAgICBjb25zdCBybXMgPSBNYXRoLnNxcnQodGhpcy5zdW1TcXVhcmVzIC8gdGhpcy5ybXNGcmFtZXMpOwogICAgY29uc3QgYWJzb2x1dGVUYXJnZXQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCAocm1zIC0gMC4wMDgpIC8gMC4xMTIpKTsKICAgIGlmIChybXMgPD0gMC4wMDgpIHsKICAgICAgdGhpcy5zaWxlbmNlV2luZG93cyArPSAxOwogICAgICBpZiAodGhpcy5zaWxlbmNlV2luZG93cyA+PSA4KSB0aGlzLnNwZWVjaExldmVsID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuc2lsZW5jZVdpbmRvd3MgPSAwOwogICAgICBpZiAodGhpcy5zcGVlY2hMZXZlbCA9PT0gMCkgewogICAgICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSBybXM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgbGV2ZWxDb2VmZmljaWVudCA9CiAgICAgICAgICBybXMgPiB0aGlzLnNwZWVjaExldmVsCiAgICAgICAgICAgID8gdGhpcy5sZXZlbEF0dGFja0NvZWZmaWNpZW50CiAgICAgICAgICAgIDogdGhpcy5sZXZlbFJlbGVhc2VDb2VmZmljaWVudDsKICAgICAgICB0aGlzLnNwZWVjaExldmVsICs9IChybXMgLSB0aGlzLnNwZWVjaExldmVsKSAqIGxldmVsQ29lZmZpY2llbnQ7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdCByZWxhdGl2ZUxldmVsID0KICAgICAgdGhpcy5zcGVlY2hMZXZlbCA+IDAgPyBybXMgLyB0aGlzLnNwZWVjaExldmVsIDogYWJzb2x1dGVUYXJnZXQ7CiAgICBjb25zdCByZWxhdGl2ZVRhcmdldCA9IE1hdGgubWF4KAogICAgICAwLAogICAgICBNYXRoLm1pbigxLCAocmVsYXRpdmVMZXZlbCAtIDAuMzUpIC8gMC42NSksCiAgICApOwogICAgbGV0IHRhcmdldCA9IE1hdGgubWluKGFic29sdXRlVGFyZ2V0LCByZWxhdGl2ZVRhcmdldCk7CgogICAgaWYgKHRoaXMuY2xvc3VyZUNvb2xkb3duV2luZG93cyA+IDApIHsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzIC09IDE7CiAgICB9CiAgICBjb25zdCBmZWxsU2hhcnBseSA9IHRoaXMucHJldmlvdXNSbXMgPiAwICYmIHJtcyA8IHRoaXMucHJldmlvdXNSbXMgKiAwLjU1OwogICAgaWYgKAogICAgICBybXMgPiAwLjAwOCAmJgogICAgICB0aGlzLmNsb3N1cmVDb29sZG93bldpbmRvd3MgPT09IDAgJiYKICAgICAgKHJlbGF0aXZlTGV2ZWwgPCAwLjU1IHx8IGZlbGxTaGFycGx5KQogICAgKSB7CiAgICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSB0aGlzLmNsb3N1cmVIb2xkV2luZG93czsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gdGhpcy5jbG9zdXJlQ29vbGRvd25EdXJhdGlvbjsKICAgIH0KICAgIGlmICh0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nID4gMCkgewogICAgICB0YXJnZXQgPSAwOwogICAgICB0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nIC09IDE7CiAgICB9CgogICAgY29uc3QgY29lZmZpY2llbnQgPQogICAgICB0YXJnZXQgPiB0aGlzLm1vdXRoT3BlbgogICAgICAgID8gdGhpcy5hdHRhY2tDb2VmZmljaWVudAogICAgICAgIDogdGhpcy5yZWxlYXNlQ29lZmZpY2llbnQ7CiAgICB0aGlzLm1vdXRoT3BlbiArPSAodGFyZ2V0IC0gdGhpcy5tb3V0aE9wZW4pICogY29lZmZpY2llbnQ7CiAgICB0aGlzLnByZXZpb3VzUm1zID0gcm1zOwogICAgdGhpcy5sYXN0UGVhayA9IHRoaXMud2luZG93UGVhazsKICAgIHRoaXMucm1zRnJhbWVzID0gMDsKICAgIHRoaXMuc3VtU3F1YXJlcyA9IDA7CiAgICB0aGlzLndpbmRvd1BlYWsgPSAwOwogIH0KCiAgY29tcGxldGUoKSB7CiAgICBpZiAodGhpcy5maW5pc2hlZCkgcmV0dXJuOwogICAgaWYgKHRoaXMuc3RhcnRlZCAmJiB0aGlzLnJlcG9ydEZyYW1lcyA+IDApIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgICB0eXBlOiAicHJvZ3Jlc3MiLAogICAgICAgIHNvdXJjZVNhbXBsZTogdGhpcy5wbGF5ZWRTb3VyY2VTYW1wbGVzLAogICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lLAogICAgICAgIG1vdXRoT3BlbjogdGhpcy5tb3V0aE9wZW4sCiAgICAgICAgcGVhazogdGhpcy5sYXN0UGVhaywKICAgICAgfSk7CiAgICAgIHRoaXMucmVwb3J0RnJhbWVzID0gMDsKICAgIH0KICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlOwogICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgdHlwZTogImVuZGVkIiwKICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiB0aGlzLmxhc3RSZW5kZXJDb250ZXh0RnJhbWUsCiAgICB9KTsKICB9CgogIGNvbGxlY3RQcm9ncmVzcyhzYW1wbGUsIHJlbmRlckNvbnRleHRGcmFtZSkgewogICAgdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lID0gcmVuZGVyQ29udGV4dEZyYW1lOwogICAgdGhpcy5zdW1TcXVhcmVzICs9IHNhbXBsZSAqIHNhbXBsZTsKICAgIHRoaXMud2luZG93UGVhayA9IE1hdGgubWF4KHRoaXMud2luZG93UGVhaywgTWF0aC5hYnMoc2FtcGxlKSk7CiAgICB0aGlzLnJtc0ZyYW1lcyArPSAxOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgKz0gMTsKCiAgICBpZiAodGhpcy5ybXNGcmFtZXMgPj0gdGhpcy5ybXNXaW5kb3dGcmFtZXMpIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgIH0KCiAgICBpZiAodGhpcy5yZXBvcnRGcmFtZXMgPj0gdGhpcy5wcm9ncmVzc1JlcG9ydEZyYW1lcykgewogICAgICB0aGlzLnJlcG9ydEZyYW1lcyA9IDA7CiAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgdHlwZTogInByb2dyZXNzIiwKICAgICAgICBzb3VyY2VTYW1wbGU6IHRoaXMucGxheWVkU291cmNlU2FtcGxlcywKICAgICAgICByZW5kZXJDb250ZXh0RnJhbWUsCiAgICAgICAgbW91dGhPcGVuOiB0aGlzLm1vdXRoT3BlbiwKICAgICAgICBwZWFrOiB0aGlzLmxhc3RQZWFrLAogICAgICB9KTsKICAgIH0KICB9CgogIHByb2Nlc3MoX2lucHV0cywgb3V0cHV0cykgewogICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1swXT8uWzBdOwogICAgaWYgKCFvdXRwdXQpIHJldHVybiAhdGhpcy5maW5pc2hlZDsKICAgIG91dHB1dC5maWxsKDApOwogICAgaWYgKHRoaXMuZmluaXNoZWQpIHJldHVybiBmYWxzZTsKCiAgICBjb25zdCBzb3VyY2VTdGVwID0gdGhpcy5zb3VyY2VTYW1wbGVSYXRlIC8gc2FtcGxlUmF0ZTsKICAgIGNvbnN0IHJlcXVpcmVkU2FtcGxlcyA9CiAgICAgIE1hdGguY2VpbCh0aGlzLnNvdXJjZVBvc2l0aW9uICsgb3V0cHV0Lmxlbmd0aCAqIHNvdXJjZVN0ZXApICsgMTsKICAgIGlmICgKICAgICAgdGhpcy5wbGF5aW5nICYmCiAgICAgICF0aGlzLmlucHV0RW5kZWQgJiYKICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzIDwgcmVxdWlyZWRTYW1wbGVzCiAgICApIHsKICAgICAgdGhpcy5wbGF5aW5nID0gZmFsc2U7CiAgICAgIGlmICghdGhpcy51bmRlcnJ1bikgewogICAgICAgIHRoaXMudW5kZXJydW4gPSB0cnVlOwogICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAidW5kZXJydW4iLAogICAgICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiBjdXJyZW50RnJhbWUsCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoIXRoaXMucGxheWluZykgewogICAgICBpZiAoCiAgICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzID49CiAgICAgICAgICBNYXRoLm1heCh0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMsIHJlcXVpcmVkU2FtcGxlcykgfHwKICAgICAgICAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA+IDApCiAgICAgICkgewogICAgICAgIHRoaXMucGxheWluZyA9IHRydWU7CiAgICAgICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHsKICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAic3RhcnRlZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVuZGVycnVuKSB7CiAgICAgICAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAicmVzdW1lZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbmRlZCkgewogICAgICAgIHRoaXMuY29tcGxldGUoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICBmb3IgKGxldCBvdXRwdXRJbmRleCA9IDA7IG91dHB1dEluZGV4IDwgb3V0cHV0Lmxlbmd0aDsgb3V0cHV0SW5kZXggKz0gMSkgewogICAgICBjb25zdCBsb3dlckluZGV4ID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGxvd2VySW5kZXggPj0gdGhpcy5xdWV1ZWRTYW1wbGVzKSBicmVhazsKICAgICAgY29uc3QgdXBwZXJJbmRleCA9IGxvd2VySW5kZXggKyAxOwogICAgICBpZiAoIXRoaXMuaW5wdXRFbmRlZCAmJiB1cHBlckluZGV4ID49IHRoaXMucXVldWVkU2FtcGxlcykgYnJlYWs7CiAgICAgIGNvbnN0IGxvd2VyID0gdGhpcy5zYW1wbGVBdChsb3dlckluZGV4KTsKICAgICAgY29uc3QgdXBwZXIgPSB0aGlzLnNhbXBsZUF0KE1hdGgubWluKHVwcGVySW5kZXgsIHRoaXMucXVldWVkU2FtcGxlcyAtIDEpKTsKICAgICAgY29uc3QgZnJhY3Rpb24gPSB0aGlzLnNvdXJjZVBvc2l0aW9uIC0gbG93ZXJJbmRleDsKICAgICAgb3V0cHV0W291dHB1dEluZGV4XSA9IGxvd2VyICsgKHVwcGVyIC0gbG93ZXIpICogZnJhY3Rpb247CgogICAgICB0aGlzLnNvdXJjZVBvc2l0aW9uICs9IHNvdXJjZVN0ZXA7CiAgICAgIGNvbnN0IGNvbnN1bWVkID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGNvbnN1bWVkID4gMCkgewogICAgICAgIHRoaXMucGxheWVkU291cmNlU2FtcGxlcyArPSB0aGlzLmRpc2NhcmQoY29uc3VtZWQpOwogICAgICAgIHRoaXMuc291cmNlUG9zaXRpb24gLT0gY29uc3VtZWQ7CiAgICAgIH0KICAgICAgdGhpcy5jb2xsZWN0UHJvZ3Jlc3Mob3V0cHV0W291dHB1dEluZGV4XSwgY3VycmVudEZyYW1lICsgb3V0cHV0SW5kZXggKyAxKTsKICAgIH0KCiAgICBpZiAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA9PT0gMCkgewogICAgICB0aGlzLmNvbXBsZXRlKCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoImxvbGEtcGNtLXBsYXliYWNrIiwgUGNtUGxheWJhY2tQcm9jZXNzb3IpOwo=", Xc = 1e3, Wc = 3e3, zc = 45e3, mi = (n, e, t, r) => new Promise((i, s) => {
|
|
6641
|
+
}, Xc = "audio/wav", sr = "audio/pcm", Wc = "data:text/javascript;base64,Y2xhc3MgUGNtUGxheWJhY2tQcm9jZXNzb3IgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3IgewogIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHsKICAgIHN1cGVyKCk7CiAgICBjb25zdCBjb25maWcgPSBvcHRpb25zLnByb2Nlc3Nvck9wdGlvbnMgPz8ge307CiAgICB0aGlzLnNvdXJjZVNhbXBsZVJhdGUgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTnVtYmVyKGNvbmZpZy5zb3VyY2VTYW1wbGVSYXRlKSB8fCAyNDAwMCwKICAgICk7CiAgICB0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTWF0aC5yb3VuZCgKICAgICAgICAodGhpcy5zb3VyY2VTYW1wbGVSYXRlICogKE51bWJlcihjb25maWcuaml0dGVyQnVmZmVyTXMpIHx8IDUwMCkpIC8gMTAwMCwKICAgICAgKSwKICAgICk7CiAgICB0aGlzLmNodW5rcyA9IFtdOwogICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB0aGlzLnF1ZXVlZFNhbXBsZXMgPSAwOwogICAgdGhpcy5zb3VyY2VQb3NpdGlvbiA9IDA7CiAgICB0aGlzLmNhcnJ5Qnl0ZSA9IG51bGw7CiAgICB0aGlzLmlucHV0RW5kZWQgPSBmYWxzZTsKICAgIHRoaXMucGxheWluZyA9IGZhbHNlOwogICAgdGhpcy5zdGFydGVkID0gZmFsc2U7CiAgICB0aGlzLmZpbmlzaGVkID0gZmFsc2U7CiAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICB0aGlzLnBsYXllZFNvdXJjZVNhbXBsZXMgPSAwOwogICAgdGhpcy5ybXNXaW5kb3dGcmFtZXMgPSBNYXRoLm1heCgxLCBNYXRoLnJvdW5kKHNhbXBsZVJhdGUgKiAwLjAxKSk7CiAgICB0aGlzLnByb2dyZXNzUmVwb3J0RnJhbWVzID0gTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChzYW1wbGVSYXRlICogMC4wMikpOwogICAgdGhpcy5ybXNGcmFtZXMgPSAwOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgPSAwOwogICAgdGhpcy5zdW1TcXVhcmVzID0gMDsKICAgIHRoaXMud2luZG93UGVhayA9IDA7CiAgICB0aGlzLmxhc3RQZWFrID0gMDsKICAgIHRoaXMubW91dGhPcGVuID0gMDsKICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSAwOwogICAgdGhpcy5wcmV2aW91c1JtcyA9IDA7CiAgICB0aGlzLnNpbGVuY2VXaW5kb3dzID0gMDsKICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSAwOwogICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gMDsKICAgIHRoaXMubGFzdFJlbmRlckNvbnRleHRGcmFtZSA9IDA7CiAgICB0aGlzLmF0dGFja0NvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMTUpKTsKICAgIHRoaXMucmVsZWFzZUNvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMjUpKTsKICAgIHRoaXMubGV2ZWxBdHRhY2tDb2VmZmljaWVudCA9CiAgICAgIDEgLSBNYXRoLmV4cCgtdGhpcy5ybXNXaW5kb3dGcmFtZXMgLyAoc2FtcGxlUmF0ZSAqIDAuMTIpKTsKICAgIHRoaXMubGV2ZWxSZWxlYXNlQ29lZmZpY2llbnQgPQogICAgICAxIC0gTWF0aC5leHAoLXRoaXMucm1zV2luZG93RnJhbWVzIC8gKHNhbXBsZVJhdGUgKiAwLjQpKTsKICAgIHRoaXMuY2xvc3VyZUhvbGRXaW5kb3dzID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjAzKSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CiAgICB0aGlzLmNsb3N1cmVDb29sZG93bkR1cmF0aW9uID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjA4KSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CgogICAgdGhpcy5wb3J0Lm9ubWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4gewogICAgICBpZiAoZGF0YS50eXBlID09PSAiY2h1bmsiICYmIGRhdGEuYnl0ZXMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgewogICAgICAgIHRoaXMuZW5xdWV1ZVBjbTE2KG5ldyBVaW50OEFycmF5KGRhdGEuYnl0ZXMpKTsKICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09ICJlbmQiKSB7CiAgICAgICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7IHR5cGU6ICJlcnJvciIgfSk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHRoaXMuaW5wdXRFbmRlZCA9IHRydWU7CiAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAic3RvcCIpIHsKICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgfQogICAgfTsKICB9CgogIGVucXVldWVQY20xNihieXRlcykgewogICAgY29uc3Qgc2FtcGxlQ291bnQgPSBNYXRoLmZsb29yKAogICAgICAoYnl0ZXMubGVuZ3RoICsgKHRoaXMuY2FycnlCeXRlID09PSBudWxsID8gMCA6IDEpKSAvIDIsCiAgICApOwogICAgaWYgKCFzYW1wbGVDb3VudCkgewogICAgICBpZiAoYnl0ZXMubGVuZ3RoKSB0aGlzLmNhcnJ5Qnl0ZSA9IGJ5dGVzWzBdOwogICAgICByZXR1cm47CiAgICB9CgogICAgY29uc3Qgc2FtcGxlcyA9IG5ldyBGbG9hdDMyQXJyYXkoc2FtcGxlQ291bnQpOwogICAgbGV0IGJ5dGVJbmRleCA9IDA7CiAgICBsZXQgc2FtcGxlSW5kZXggPSAwOwogICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYXJyeUJ5dGUgfCAoYnl0ZXNbYnl0ZUluZGV4KytdIDw8IDgpOwogICAgICBzYW1wbGVzW3NhbXBsZUluZGV4KytdID0gKHZhbHVlIDw8IDE2KSAvIDIxNDc0ODM2NDg7CiAgICAgIHRoaXMuY2FycnlCeXRlID0gbnVsbDsKICAgIH0KICAgIHdoaWxlIChieXRlSW5kZXggKyAxIDwgYnl0ZXMubGVuZ3RoKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gYnl0ZXNbYnl0ZUluZGV4XSB8IChieXRlc1tieXRlSW5kZXggKyAxXSA8PCA4KTsKICAgICAgc2FtcGxlc1tzYW1wbGVJbmRleCsrXSA9ICh2YWx1ZSA8PCAxNikgLyAyMTQ3NDgzNjQ4OwogICAgICBieXRlSW5kZXggKz0gMjsKICAgIH0KICAgIGlmIChieXRlSW5kZXggPCBieXRlcy5sZW5ndGgpIHRoaXMuY2FycnlCeXRlID0gYnl0ZXNbYnl0ZUluZGV4XTsKICAgIGlmICh0aGlzLmNodW5rSGVhZCA9PT0gdGhpcy5jaHVua3MubGVuZ3RoKSB7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCA9IDA7CiAgICAgIHRoaXMuY2h1bmtIZWFkID0gMDsKICAgIH0gZWxzZSBpZiAodGhpcy5jaHVua0hlYWQgPj0gNjQpIHsKICAgICAgdGhpcy5jaHVua3MuY29weVdpdGhpbigwLCB0aGlzLmNodW5rSGVhZCk7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCAtPSB0aGlzLmNodW5rSGVhZDsKICAgICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgfQogICAgdGhpcy5jaHVua3MucHVzaChzYW1wbGVzKTsKICAgIHRoaXMucXVldWVkU2FtcGxlcyArPSBzYW1wbGVzLmxlbmd0aDsKICB9CgogIHNhbXBsZUF0KGluZGV4KSB7CiAgICBsZXQgcmVtYWluaW5nID0gaW5kZXggKyB0aGlzLmNodW5rT2Zmc2V0OwogICAgZm9yICgKICAgICAgbGV0IGNodW5rSW5kZXggPSB0aGlzLmNodW5rSGVhZDsKICAgICAgY2h1bmtJbmRleCA8IHRoaXMuY2h1bmtzLmxlbmd0aDsKICAgICAgY2h1bmtJbmRleCArPSAxCiAgICApIHsKICAgICAgY29uc3QgY2h1bmsgPSB0aGlzLmNodW5rc1tjaHVua0luZGV4XTsKICAgICAgaWYgKHJlbWFpbmluZyA8IGNodW5rLmxlbmd0aCkgcmV0dXJuIGNodW5rW3JlbWFpbmluZ107CiAgICAgIHJlbWFpbmluZyAtPSBjaHVuay5sZW5ndGg7CiAgICB9CiAgICByZXR1cm4gMDsKICB9CgogIGRpc2NhcmQoY291bnQpIHsKICAgIGNvbnN0IGRpc2NhcmRlZCA9IE1hdGgubWluKGNvdW50LCB0aGlzLnF1ZXVlZFNhbXBsZXMpOwogICAgbGV0IHJlbWFpbmluZyA9IGRpc2NhcmRlZDsKICAgIHRoaXMucXVldWVkU2FtcGxlcyAtPSBkaXNjYXJkZWQ7CiAgICB3aGlsZSAocmVtYWluaW5nID4gMCAmJiB0aGlzLmNodW5rSGVhZCA8IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICBjb25zdCBhdmFpbGFibGUgPSB0aGlzLmNodW5rc1t0aGlzLmNodW5rSGVhZF0ubGVuZ3RoIC0gdGhpcy5jaHVua09mZnNldDsKICAgICAgaWYgKHJlbWFpbmluZyA8IGF2YWlsYWJsZSkgewogICAgICAgIHRoaXMuY2h1bmtPZmZzZXQgKz0gcmVtYWluaW5nOwogICAgICAgIHJldHVybiBkaXNjYXJkZWQ7CiAgICAgIH0KICAgICAgcmVtYWluaW5nIC09IGF2YWlsYWJsZTsKICAgICAgdGhpcy5jaHVua0hlYWQgKz0gMTsKICAgICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB9CiAgICBpZiAodGhpcy5jaHVua0hlYWQgPT09IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICB0aGlzLmNodW5rcy5sZW5ndGggPSAwOwogICAgICB0aGlzLmNodW5rSGVhZCA9IDA7CiAgICB9CiAgICByZXR1cm4gZGlzY2FyZGVkOwogIH0KCiAgZmluaXNoUm1zV2luZG93KCkgewogICAgaWYgKHRoaXMucm1zRnJhbWVzID09PSAwKSByZXR1cm47CiAgICBjb25zdCBybXMgPSBNYXRoLnNxcnQodGhpcy5zdW1TcXVhcmVzIC8gdGhpcy5ybXNGcmFtZXMpOwogICAgY29uc3QgYWJzb2x1dGVUYXJnZXQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCAocm1zIC0gMC4wMDgpIC8gMC4xMTIpKTsKICAgIGlmIChybXMgPD0gMC4wMDgpIHsKICAgICAgdGhpcy5zaWxlbmNlV2luZG93cyArPSAxOwogICAgICBpZiAodGhpcy5zaWxlbmNlV2luZG93cyA+PSA4KSB0aGlzLnNwZWVjaExldmVsID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuc2lsZW5jZVdpbmRvd3MgPSAwOwogICAgICBpZiAodGhpcy5zcGVlY2hMZXZlbCA9PT0gMCkgewogICAgICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSBybXM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgbGV2ZWxDb2VmZmljaWVudCA9CiAgICAgICAgICBybXMgPiB0aGlzLnNwZWVjaExldmVsCiAgICAgICAgICAgID8gdGhpcy5sZXZlbEF0dGFja0NvZWZmaWNpZW50CiAgICAgICAgICAgIDogdGhpcy5sZXZlbFJlbGVhc2VDb2VmZmljaWVudDsKICAgICAgICB0aGlzLnNwZWVjaExldmVsICs9IChybXMgLSB0aGlzLnNwZWVjaExldmVsKSAqIGxldmVsQ29lZmZpY2llbnQ7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdCByZWxhdGl2ZUxldmVsID0KICAgICAgdGhpcy5zcGVlY2hMZXZlbCA+IDAgPyBybXMgLyB0aGlzLnNwZWVjaExldmVsIDogYWJzb2x1dGVUYXJnZXQ7CiAgICBjb25zdCByZWxhdGl2ZVRhcmdldCA9IE1hdGgubWF4KAogICAgICAwLAogICAgICBNYXRoLm1pbigxLCAocmVsYXRpdmVMZXZlbCAtIDAuMzUpIC8gMC42NSksCiAgICApOwogICAgbGV0IHRhcmdldCA9IE1hdGgubWluKGFic29sdXRlVGFyZ2V0LCByZWxhdGl2ZVRhcmdldCk7CgogICAgaWYgKHRoaXMuY2xvc3VyZUNvb2xkb3duV2luZG93cyA+IDApIHsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzIC09IDE7CiAgICB9CiAgICBjb25zdCBmZWxsU2hhcnBseSA9IHRoaXMucHJldmlvdXNSbXMgPiAwICYmIHJtcyA8IHRoaXMucHJldmlvdXNSbXMgKiAwLjU1OwogICAgaWYgKAogICAgICBybXMgPiAwLjAwOCAmJgogICAgICB0aGlzLmNsb3N1cmVDb29sZG93bldpbmRvd3MgPT09IDAgJiYKICAgICAgKHJlbGF0aXZlTGV2ZWwgPCAwLjU1IHx8IGZlbGxTaGFycGx5KQogICAgKSB7CiAgICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSB0aGlzLmNsb3N1cmVIb2xkV2luZG93czsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gdGhpcy5jbG9zdXJlQ29vbGRvd25EdXJhdGlvbjsKICAgIH0KICAgIGlmICh0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nID4gMCkgewogICAgICB0YXJnZXQgPSAwOwogICAgICB0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nIC09IDE7CiAgICB9CgogICAgY29uc3QgY29lZmZpY2llbnQgPQogICAgICB0YXJnZXQgPiB0aGlzLm1vdXRoT3BlbgogICAgICAgID8gdGhpcy5hdHRhY2tDb2VmZmljaWVudAogICAgICAgIDogdGhpcy5yZWxlYXNlQ29lZmZpY2llbnQ7CiAgICB0aGlzLm1vdXRoT3BlbiArPSAodGFyZ2V0IC0gdGhpcy5tb3V0aE9wZW4pICogY29lZmZpY2llbnQ7CiAgICB0aGlzLnByZXZpb3VzUm1zID0gcm1zOwogICAgdGhpcy5sYXN0UGVhayA9IHRoaXMud2luZG93UGVhazsKICAgIHRoaXMucm1zRnJhbWVzID0gMDsKICAgIHRoaXMuc3VtU3F1YXJlcyA9IDA7CiAgICB0aGlzLndpbmRvd1BlYWsgPSAwOwogIH0KCiAgY29tcGxldGUoKSB7CiAgICBpZiAodGhpcy5maW5pc2hlZCkgcmV0dXJuOwogICAgaWYgKHRoaXMuc3RhcnRlZCAmJiB0aGlzLnJlcG9ydEZyYW1lcyA+IDApIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgICB0eXBlOiAicHJvZ3Jlc3MiLAogICAgICAgIHNvdXJjZVNhbXBsZTogdGhpcy5wbGF5ZWRTb3VyY2VTYW1wbGVzLAogICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lLAogICAgICAgIG1vdXRoT3BlbjogdGhpcy5tb3V0aE9wZW4sCiAgICAgICAgcGVhazogdGhpcy5sYXN0UGVhaywKICAgICAgfSk7CiAgICAgIHRoaXMucmVwb3J0RnJhbWVzID0gMDsKICAgIH0KICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlOwogICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgdHlwZTogImVuZGVkIiwKICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiB0aGlzLmxhc3RSZW5kZXJDb250ZXh0RnJhbWUsCiAgICB9KTsKICB9CgogIGNvbGxlY3RQcm9ncmVzcyhzYW1wbGUsIHJlbmRlckNvbnRleHRGcmFtZSkgewogICAgdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lID0gcmVuZGVyQ29udGV4dEZyYW1lOwogICAgdGhpcy5zdW1TcXVhcmVzICs9IHNhbXBsZSAqIHNhbXBsZTsKICAgIHRoaXMud2luZG93UGVhayA9IE1hdGgubWF4KHRoaXMud2luZG93UGVhaywgTWF0aC5hYnMoc2FtcGxlKSk7CiAgICB0aGlzLnJtc0ZyYW1lcyArPSAxOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgKz0gMTsKCiAgICBpZiAodGhpcy5ybXNGcmFtZXMgPj0gdGhpcy5ybXNXaW5kb3dGcmFtZXMpIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgIH0KCiAgICBpZiAodGhpcy5yZXBvcnRGcmFtZXMgPj0gdGhpcy5wcm9ncmVzc1JlcG9ydEZyYW1lcykgewogICAgICB0aGlzLnJlcG9ydEZyYW1lcyA9IDA7CiAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgdHlwZTogInByb2dyZXNzIiwKICAgICAgICBzb3VyY2VTYW1wbGU6IHRoaXMucGxheWVkU291cmNlU2FtcGxlcywKICAgICAgICByZW5kZXJDb250ZXh0RnJhbWUsCiAgICAgICAgbW91dGhPcGVuOiB0aGlzLm1vdXRoT3BlbiwKICAgICAgICBwZWFrOiB0aGlzLmxhc3RQZWFrLAogICAgICB9KTsKICAgIH0KICB9CgogIHByb2Nlc3MoX2lucHV0cywgb3V0cHV0cykgewogICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1swXT8uWzBdOwogICAgaWYgKCFvdXRwdXQpIHJldHVybiAhdGhpcy5maW5pc2hlZDsKICAgIG91dHB1dC5maWxsKDApOwogICAgaWYgKHRoaXMuZmluaXNoZWQpIHJldHVybiBmYWxzZTsKCiAgICBjb25zdCBzb3VyY2VTdGVwID0gdGhpcy5zb3VyY2VTYW1wbGVSYXRlIC8gc2FtcGxlUmF0ZTsKICAgIGNvbnN0IHJlcXVpcmVkU2FtcGxlcyA9CiAgICAgIE1hdGguY2VpbCh0aGlzLnNvdXJjZVBvc2l0aW9uICsgb3V0cHV0Lmxlbmd0aCAqIHNvdXJjZVN0ZXApICsgMTsKICAgIGlmICgKICAgICAgdGhpcy5wbGF5aW5nICYmCiAgICAgICF0aGlzLmlucHV0RW5kZWQgJiYKICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzIDwgcmVxdWlyZWRTYW1wbGVzCiAgICApIHsKICAgICAgdGhpcy5wbGF5aW5nID0gZmFsc2U7CiAgICAgIGlmICghdGhpcy51bmRlcnJ1bikgewogICAgICAgIHRoaXMudW5kZXJydW4gPSB0cnVlOwogICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAidW5kZXJydW4iLAogICAgICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiBjdXJyZW50RnJhbWUsCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoIXRoaXMucGxheWluZykgewogICAgICBpZiAoCiAgICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzID49CiAgICAgICAgICBNYXRoLm1heCh0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMsIHJlcXVpcmVkU2FtcGxlcykgfHwKICAgICAgICAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA+IDApCiAgICAgICkgewogICAgICAgIHRoaXMucGxheWluZyA9IHRydWU7CiAgICAgICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHsKICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAic3RhcnRlZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVuZGVycnVuKSB7CiAgICAgICAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAicmVzdW1lZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbmRlZCkgewogICAgICAgIHRoaXMuY29tcGxldGUoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICBmb3IgKGxldCBvdXRwdXRJbmRleCA9IDA7IG91dHB1dEluZGV4IDwgb3V0cHV0Lmxlbmd0aDsgb3V0cHV0SW5kZXggKz0gMSkgewogICAgICBjb25zdCBsb3dlckluZGV4ID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGxvd2VySW5kZXggPj0gdGhpcy5xdWV1ZWRTYW1wbGVzKSBicmVhazsKICAgICAgY29uc3QgdXBwZXJJbmRleCA9IGxvd2VySW5kZXggKyAxOwogICAgICBpZiAoIXRoaXMuaW5wdXRFbmRlZCAmJiB1cHBlckluZGV4ID49IHRoaXMucXVldWVkU2FtcGxlcykgYnJlYWs7CiAgICAgIGNvbnN0IGxvd2VyID0gdGhpcy5zYW1wbGVBdChsb3dlckluZGV4KTsKICAgICAgY29uc3QgdXBwZXIgPSB0aGlzLnNhbXBsZUF0KE1hdGgubWluKHVwcGVySW5kZXgsIHRoaXMucXVldWVkU2FtcGxlcyAtIDEpKTsKICAgICAgY29uc3QgZnJhY3Rpb24gPSB0aGlzLnNvdXJjZVBvc2l0aW9uIC0gbG93ZXJJbmRleDsKICAgICAgb3V0cHV0W291dHB1dEluZGV4XSA9IGxvd2VyICsgKHVwcGVyIC0gbG93ZXIpICogZnJhY3Rpb247CgogICAgICB0aGlzLnNvdXJjZVBvc2l0aW9uICs9IHNvdXJjZVN0ZXA7CiAgICAgIGNvbnN0IGNvbnN1bWVkID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGNvbnN1bWVkID4gMCkgewogICAgICAgIHRoaXMucGxheWVkU291cmNlU2FtcGxlcyArPSB0aGlzLmRpc2NhcmQoY29uc3VtZWQpOwogICAgICAgIHRoaXMuc291cmNlUG9zaXRpb24gLT0gY29uc3VtZWQ7CiAgICAgIH0KICAgICAgdGhpcy5jb2xsZWN0UHJvZ3Jlc3Mob3V0cHV0W291dHB1dEluZGV4XSwgY3VycmVudEZyYW1lICsgb3V0cHV0SW5kZXggKyAxKTsKICAgIH0KCiAgICBpZiAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA9PT0gMCkgewogICAgICB0aGlzLmNvbXBsZXRlKCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoImxvbGEtcGNtLXBsYXliYWNrIiwgUGNtUGxheWJhY2tQcm9jZXNzb3IpOwo=", zc = 1e3, Zc = 3e3, Uc = 45e3, mi = (n, e, t, r) => new Promise((i, s) => {
|
|
6631
6642
|
let o = !1;
|
|
6632
6643
|
const a = (d) => {
|
|
6633
6644
|
o || (o = !0, clearTimeout(l), r.removeEventListener("abort", c), d());
|
|
@@ -6639,12 +6650,12 @@ const gi = async (n) => {
|
|
|
6639
6650
|
(d) => a(() => i(d)),
|
|
6640
6651
|
(d) => a(() => s(d))
|
|
6641
6652
|
);
|
|
6642
|
-
}),
|
|
6653
|
+
}), Fc = (n, e) => mi(
|
|
6643
6654
|
n.resume(),
|
|
6644
|
-
|
|
6655
|
+
Zc,
|
|
6645
6656
|
"Audio playback was blocked",
|
|
6646
6657
|
e
|
|
6647
|
-
),
|
|
6658
|
+
), Hc = (n) => {
|
|
6648
6659
|
let e = Number.NaN;
|
|
6649
6660
|
try {
|
|
6650
6661
|
const r = n.getOutputTimestamp?.()?.contextTime;
|
|
@@ -6653,7 +6664,7 @@ const gi = async (n) => {
|
|
|
6653
6664
|
}
|
|
6654
6665
|
return Number.isFinite(e) || (e = n.currentTime - n.baseLatency - (n.outputLatency || 0)), !Number.isFinite(e) || !Number.isFinite(n.sampleRate) || n.sampleRate <= 0 ? null : Math.max(0, e * n.sampleRate);
|
|
6655
6666
|
};
|
|
6656
|
-
class
|
|
6667
|
+
class _c {
|
|
6657
6668
|
active = null;
|
|
6658
6669
|
get isPlaying() {
|
|
6659
6670
|
return this.active !== null;
|
|
@@ -6711,13 +6722,13 @@ class Fc {
|
|
|
6711
6722
|
}), this.active === E && (this.active = null));
|
|
6712
6723
|
}, b = (x, k) => {
|
|
6713
6724
|
if (l) return;
|
|
6714
|
-
const T = i ?
|
|
6725
|
+
const T = i ? Hc(i) : null;
|
|
6715
6726
|
if (T === null || !Number.isFinite(x) || !i || x <= T) {
|
|
6716
6727
|
k();
|
|
6717
6728
|
return;
|
|
6718
6729
|
}
|
|
6719
6730
|
const B = Math.min(
|
|
6720
|
-
|
|
6731
|
+
zc,
|
|
6721
6732
|
(x - T) / i.sampleRate * 1e3
|
|
6722
6733
|
), D = setTimeout(() => {
|
|
6723
6734
|
c.delete(D), l || k();
|
|
@@ -6746,7 +6757,7 @@ class Fc {
|
|
|
6746
6757
|
return this.active = E, (async () => {
|
|
6747
6758
|
try {
|
|
6748
6759
|
i = new AudioContext({ latencyHint: "interactive" });
|
|
6749
|
-
const x =
|
|
6760
|
+
const x = Fc(
|
|
6750
6761
|
i,
|
|
6751
6762
|
r.signal
|
|
6752
6763
|
);
|
|
@@ -6757,10 +6768,10 @@ class Fc {
|
|
|
6757
6768
|
const [, , k] = await mi(
|
|
6758
6769
|
Promise.all([
|
|
6759
6770
|
x,
|
|
6760
|
-
i.audioWorklet.addModule(
|
|
6771
|
+
i.audioWorklet.addModule(Wc),
|
|
6761
6772
|
a
|
|
6762
6773
|
]),
|
|
6763
|
-
|
|
6774
|
+
Uc,
|
|
6764
6775
|
"Audio playback setup timed out",
|
|
6765
6776
|
r.signal
|
|
6766
6777
|
);
|
|
@@ -6859,7 +6870,7 @@ class Fc {
|
|
|
6859
6870
|
this.active?.stop();
|
|
6860
6871
|
}
|
|
6861
6872
|
}
|
|
6862
|
-
const
|
|
6873
|
+
const jc = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]), Yc = 128, Kc = 256, qc = 5, or = {
|
|
6863
6874
|
playbackId: null,
|
|
6864
6875
|
phase: "idle",
|
|
6865
6876
|
sampleRate: 0,
|
|
@@ -6867,7 +6878,7 @@ const Hc = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]
|
|
|
6867
6878
|
mouthOpen: 0,
|
|
6868
6879
|
activeViseme: null
|
|
6869
6880
|
};
|
|
6870
|
-
class
|
|
6881
|
+
class Jc {
|
|
6871
6882
|
snapshot = or;
|
|
6872
6883
|
listeners = /* @__PURE__ */ new Set();
|
|
6873
6884
|
cues = [];
|
|
@@ -6939,26 +6950,26 @@ class Kc {
|
|
|
6939
6950
|
};
|
|
6940
6951
|
}
|
|
6941
6952
|
acceptCueBatch(e, t) {
|
|
6942
|
-
if (!this.cuesEnabled || !Number.isSafeInteger(e) || e !== this.nextCueSequence || t.length >
|
|
6953
|
+
if (!this.cuesEnabled || !Number.isSafeInteger(e) || e !== this.nextCueSequence || t.length > Yc)
|
|
6943
6954
|
return !1;
|
|
6944
6955
|
this.cueIndex > 0 && (this.cues.splice(0, this.cueIndex), this.cueIndex = 0);
|
|
6945
6956
|
let r = this.cues.at(-1)?.endSample ?? -1;
|
|
6946
|
-
const i = this.snapshot.sourceSample + this.snapshot.sampleRate *
|
|
6957
|
+
const i = this.snapshot.sourceSample + this.snapshot.sampleRate * qc;
|
|
6947
6958
|
let s = 0;
|
|
6948
6959
|
for (let o = 0; o < t.length; o += 1) {
|
|
6949
6960
|
const a = t[o];
|
|
6950
|
-
if (!
|
|
6961
|
+
if (!jc.has(a.viseme) || !Number.isSafeInteger(a.startSample) || !Number.isSafeInteger(a.endSample) || a.startSample < 0 || a.startSample < r || a.endSample <= a.startSample || a.endSample > i)
|
|
6951
6962
|
return !1;
|
|
6952
6963
|
r = a.endSample, a.endSample > this.snapshot.sourceSample && (s += 1);
|
|
6953
6964
|
}
|
|
6954
|
-
if (this.cues.length + s >
|
|
6965
|
+
if (this.cues.length + s > Kc) return !1;
|
|
6955
6966
|
for (let o = 0; o < t.length; o += 1)
|
|
6956
6967
|
t[o].endSample > this.snapshot.sourceSample && this.cues.push(t[o]);
|
|
6957
6968
|
return this.nextCueSequence += 1, !0;
|
|
6958
6969
|
}
|
|
6959
6970
|
}
|
|
6960
|
-
const de = new
|
|
6961
|
-
async function
|
|
6971
|
+
const de = new Jc(), Qc = 256;
|
|
6972
|
+
async function $c({
|
|
6962
6973
|
source: n,
|
|
6963
6974
|
runtime: e,
|
|
6964
6975
|
playbackId: t,
|
|
@@ -6972,7 +6983,7 @@ async function Jc({
|
|
|
6972
6983
|
if (i.aborted) return;
|
|
6973
6984
|
if (a.playbackId !== t)
|
|
6974
6985
|
continue;
|
|
6975
|
-
const c =
|
|
6986
|
+
const c = el(a);
|
|
6976
6987
|
if (a.sequence < s) {
|
|
6977
6988
|
if (o.get(a.sequence) === c) continue;
|
|
6978
6989
|
Yt(e, a, r);
|
|
@@ -6982,7 +6993,7 @@ async function Jc({
|
|
|
6982
6993
|
Yt(e, a, r);
|
|
6983
6994
|
return;
|
|
6984
6995
|
}
|
|
6985
|
-
for (Yt(e, a, r), o.set(a.sequence, c); o.size >
|
|
6996
|
+
for (Yt(e, a, r), o.set(a.sequence, c); o.size > Qc; ) {
|
|
6986
6997
|
const l = o.keys().next().value;
|
|
6987
6998
|
if (l === void 0) break;
|
|
6988
6999
|
o.delete(l);
|
|
@@ -7004,7 +7015,7 @@ function Yt(n, e, t) {
|
|
|
7004
7015
|
}))
|
|
7005
7016
|
});
|
|
7006
7017
|
}
|
|
7007
|
-
function
|
|
7018
|
+
function el(n) {
|
|
7008
7019
|
return JSON.stringify(
|
|
7009
7020
|
n.cues.map((e) => [e.viseme, e.startMs, e.endMs])
|
|
7010
7021
|
);
|
|
@@ -7026,7 +7037,7 @@ const Te = {
|
|
|
7026
7037
|
assistantMessageTranscriptVisible: !1,
|
|
7027
7038
|
assistantResponseInProgress: !1,
|
|
7028
7039
|
microphoneEnabled: !1
|
|
7029
|
-
}, Fe = 24e3,
|
|
7040
|
+
}, Fe = 24e3, tl = 4, nl = 100, ar = 120, rl = 1e4, il = 1e4, un = 256 * 1024, sl = 4 * 1024 * 1024, ol = 6e4, cr = 1e5, al = 200, cl = /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i, lr = (n) => ({
|
|
7030
7041
|
onProgress: ({ sourceSample: e, mouthOpen: t }) => de.dispatch({
|
|
7031
7042
|
type: "playback-progress",
|
|
7032
7043
|
playbackId: n,
|
|
@@ -7036,7 +7047,7 @@ const Te = {
|
|
|
7036
7047
|
onUnderrun: () => de.dispatch({ type: "playback-underrun", playbackId: n }),
|
|
7037
7048
|
onResumed: () => de.dispatch({ type: "playback-resumed", playbackId: n }),
|
|
7038
7049
|
onStopped: () => de.dispatch({ type: "playback-stopped", playbackId: n })
|
|
7039
|
-
}),
|
|
7050
|
+
}), ll = /* @__PURE__ */ new Set([
|
|
7040
7051
|
"input_audio_buffer.speech_started",
|
|
7041
7052
|
"input_audio_buffer.speech_stopped",
|
|
7042
7053
|
"conversation.item.input_audio_transcription.updated",
|
|
@@ -7050,17 +7061,17 @@ const Te = {
|
|
|
7050
7061
|
"response.text.delta",
|
|
7051
7062
|
"response.done",
|
|
7052
7063
|
"error"
|
|
7053
|
-
]), ce = (n) => !!n && typeof n == "object" && !Array.isArray(n), ct = (n) => n instanceof Error ? n.message : "Voice session failed",
|
|
7064
|
+
]), ce = (n) => !!n && typeof n == "object" && !Array.isArray(n), ct = (n) => n instanceof Error ? n.message : "Voice session failed", dl = (n) => {
|
|
7054
7065
|
const e = ce(n) ? n.error : void 0, t = ce(e) ? e.message : ce(n) ? n.message : void 0;
|
|
7055
7066
|
return typeof t == "string" ? t : null;
|
|
7056
7067
|
}, dr = (n) => {
|
|
7057
7068
|
n?.getTracks().forEach((e) => e.stop());
|
|
7058
|
-
},
|
|
7069
|
+
}, ul = (n) => {
|
|
7059
7070
|
let e = "";
|
|
7060
7071
|
for (let t = 0; t < n.length; t += 1)
|
|
7061
7072
|
e += String.fromCharCode(n[t]);
|
|
7062
7073
|
return btoa(e);
|
|
7063
|
-
},
|
|
7074
|
+
}, hl = (n) => {
|
|
7064
7075
|
if (n.length > Math.ceil(un * 4 / 3) + 4)
|
|
7065
7076
|
throw new Error("Voice audio chunk is too large");
|
|
7066
7077
|
const e = atob(n);
|
|
@@ -7070,8 +7081,8 @@ const Te = {
|
|
|
7070
7081
|
for (let r = 0; r < e.length; r += 1)
|
|
7071
7082
|
t[r] = e.charCodeAt(r);
|
|
7072
7083
|
return t;
|
|
7073
|
-
},
|
|
7074
|
-
const e = ce(n) ? n.delta ?? n.audio : n, t = e instanceof Uint8Array ? e.slice() : e instanceof ArrayBuffer ? new Uint8Array(e.slice(0)) : typeof e == "string" && e ?
|
|
7084
|
+
}, pl = (n) => {
|
|
7085
|
+
const e = ce(n) ? n.delta ?? n.audio : n, t = e instanceof Uint8Array ? e.slice() : e instanceof ArrayBuffer ? new Uint8Array(e.slice(0)) : typeof e == "string" && e ? hl(e) : null;
|
|
7075
7086
|
if (!t || !t.byteLength || t.byteLength % 2 !== 0)
|
|
7076
7087
|
throw new Error("Voice audio delta is invalid");
|
|
7077
7088
|
if (t.byteLength > un)
|
|
@@ -7089,7 +7100,7 @@ const Te = {
|
|
|
7089
7100
|
if (t.length > cr)
|
|
7090
7101
|
throw new Error("Voice transcript is too large");
|
|
7091
7102
|
return t;
|
|
7092
|
-
}, Pe = (n) => ce(n) ? typeof n.response_id == "string" ? n.response_id : ce(n.response) && typeof n.response.id == "string" ? n.response.id : null : null,
|
|
7103
|
+
}, Pe = (n) => ce(n) ? typeof n.response_id == "string" ? n.response_id : ce(n.response) && typeof n.response.id == "string" ? n.response.id : null : null, fl = (n) => {
|
|
7093
7104
|
const e = new URL($e);
|
|
7094
7105
|
if (e.protocol !== "https:" && !["localhost", "127.0.0.1", "[::1]"].includes(e.hostname))
|
|
7095
7106
|
throw new Error("Voice proxy must use HTTPS");
|
|
@@ -7097,8 +7108,8 @@ const Te = {
|
|
|
7097
7108
|
url: `${e.origin}${n.websocket.namespace}`,
|
|
7098
7109
|
path: "/socket.io"
|
|
7099
7110
|
};
|
|
7100
|
-
},
|
|
7101
|
-
if (e.voiceProtocolVersion !==
|
|
7111
|
+
}, gl = (n, e) => {
|
|
7112
|
+
if (e.voiceProtocolVersion !== tl)
|
|
7102
7113
|
throw new Error(
|
|
7103
7114
|
`Unsupported voice protocol version: ${e.voiceProtocolVersion}`
|
|
7104
7115
|
);
|
|
@@ -7108,7 +7119,7 @@ const Te = {
|
|
|
7108
7119
|
throw new Error(
|
|
7109
7120
|
`Voice session cannot connect from status ${e.status}`
|
|
7110
7121
|
);
|
|
7111
|
-
const t =
|
|
7122
|
+
const t = fl(e);
|
|
7112
7123
|
return wt(t.url, {
|
|
7113
7124
|
path: t.path,
|
|
7114
7125
|
transports: ["websocket"],
|
|
@@ -7118,10 +7129,10 @@ const Te = {
|
|
|
7118
7129
|
token: n.customerInteractionSession.accessToken
|
|
7119
7130
|
}
|
|
7120
7131
|
});
|
|
7121
|
-
},
|
|
7132
|
+
}, ml = (n) => new Promise((e, t) => {
|
|
7122
7133
|
const r = setTimeout(() => {
|
|
7123
7134
|
i(), t(new Error("Voice connection timed out"));
|
|
7124
|
-
},
|
|
7135
|
+
}, rl), i = () => {
|
|
7125
7136
|
clearTimeout(r), n.off("connect", s), n.off("connect_error", o);
|
|
7126
7137
|
}, s = () => {
|
|
7127
7138
|
i(), e();
|
|
@@ -7135,7 +7146,7 @@ const Te = {
|
|
|
7135
7146
|
}, wi = (n, e, t) => new Promise((r, i) => {
|
|
7136
7147
|
const s = setTimeout(
|
|
7137
7148
|
() => i(new Error(`${e} timed out`)),
|
|
7138
|
-
|
|
7149
|
+
il
|
|
7139
7150
|
);
|
|
7140
7151
|
n.emit(e, t, (o) => {
|
|
7141
7152
|
clearTimeout(s);
|
|
@@ -7146,31 +7157,31 @@ const Te = {
|
|
|
7146
7157
|
}
|
|
7147
7158
|
r(a);
|
|
7148
7159
|
});
|
|
7149
|
-
}),
|
|
7160
|
+
}), bl = async (n, e) => {
|
|
7150
7161
|
const t = await wi(n, e.websocket.connectEvent, {
|
|
7151
7162
|
voiceSessionId: e.voiceSessionId
|
|
7152
7163
|
});
|
|
7153
7164
|
if (t.voiceSessionId !== e.voiceSessionId || t.protocol !== e.websocket.eventProtocol || t.turnDetection !== "server_vad")
|
|
7154
7165
|
throw new Error("Invalid voice.connect acknowledgement");
|
|
7155
|
-
},
|
|
7166
|
+
}, wl = async (n, e, t) => !n?.connected || !e ? !1 : (await wi(n, e.websocket.disconnectEvent, {
|
|
7156
7167
|
voiceSessionId: e.voiceSessionId,
|
|
7157
7168
|
reason: t
|
|
7158
|
-
}), !0),
|
|
7169
|
+
}), !0), yl = (n, e, t) => {
|
|
7159
7170
|
if (!ce(n) || !ce(n.event))
|
|
7160
7171
|
throw new Error("Invalid voice.event envelope");
|
|
7161
7172
|
if (n.contractVersion !== 1 || n.protocol !== e.websocket.eventProtocol || n.voiceSessionId !== e.voiceSessionId || n.sequence !== t)
|
|
7162
7173
|
throw new Error("Invalid voice.event envelope");
|
|
7163
7174
|
const r = n.event.type;
|
|
7164
|
-
if (typeof r != "string" || !
|
|
7175
|
+
if (typeof r != "string" || !ll.has(r))
|
|
7165
7176
|
throw new Error("Unsupported voice provider event");
|
|
7166
7177
|
return { type: r, event: n.event };
|
|
7167
|
-
},
|
|
7178
|
+
}, Il = async (n, e) => {
|
|
7168
7179
|
const t = Q.getState().currentThreadId;
|
|
7169
7180
|
try {
|
|
7170
7181
|
return await ir(n, e, t);
|
|
7171
7182
|
} catch (r) {
|
|
7172
7183
|
if (!(r instanceof fi) || r.status !== 409) throw r;
|
|
7173
|
-
const i = r.message.match(
|
|
7184
|
+
const i = r.message.match(cl)?.[0];
|
|
7174
7185
|
if (!i) throw r;
|
|
7175
7186
|
return await Me(
|
|
7176
7187
|
n,
|
|
@@ -7180,7 +7191,7 @@ const Te = {
|
|
|
7180
7191
|
), ir(n, e, t);
|
|
7181
7192
|
}
|
|
7182
7193
|
}, yt = _r((n, e) => {
|
|
7183
|
-
const t = new
|
|
7194
|
+
const t = new _c();
|
|
7184
7195
|
let r = !1, i = null, s = null, o = null, a = null, c = 0, l = 0, d = null, u = 0;
|
|
7185
7196
|
const p = /* @__PURE__ */ new Set();
|
|
7186
7197
|
let h = !1, m = !0, b = 0, w = !1;
|
|
@@ -7291,10 +7302,10 @@ const Te = {
|
|
|
7291
7302
|
if (I && p.has(I) || d && I && I !== d)
|
|
7292
7303
|
break;
|
|
7293
7304
|
!d && I && (d = I);
|
|
7294
|
-
const V =
|
|
7295
|
-
if (l += V.byteLength, l >
|
|
7305
|
+
const V = pl(v);
|
|
7306
|
+
if (l += V.byteLength, l > sl)
|
|
7296
7307
|
throw new Error("Voice audio response is too large");
|
|
7297
|
-
if (x(y), c = Math.max(performance.now(), c) + V.byteLength / 2 / Fe * 1e3, c - performance.now() >
|
|
7308
|
+
if (x(y), c = Math.max(performance.now(), c) + V.byteLength / 2 / Fe * 1e3, c - performance.now() > ol)
|
|
7298
7309
|
throw new Error("Voice audio buffer is too large");
|
|
7299
7310
|
n({ status: "speaking", assistantResponseInProgress: !0 }), s.enqueue(V);
|
|
7300
7311
|
break;
|
|
@@ -7336,7 +7347,7 @@ const Te = {
|
|
|
7336
7347
|
break;
|
|
7337
7348
|
}
|
|
7338
7349
|
case "error": {
|
|
7339
|
-
const I =
|
|
7350
|
+
const I = dl(v);
|
|
7340
7351
|
E(), n((V) => ({
|
|
7341
7352
|
status: V.microphoneEnabled ? "listening" : "idle",
|
|
7342
7353
|
errorMessage: I ?? "Voice session failed"
|
|
@@ -7420,7 +7431,7 @@ const Te = {
|
|
|
7420
7431
|
type: "playback-started",
|
|
7421
7432
|
playbackId: I,
|
|
7422
7433
|
sampleRate: v
|
|
7423
|
-
}), V && (R =
|
|
7434
|
+
}), V && (R = $c({
|
|
7424
7435
|
source: V,
|
|
7425
7436
|
runtime: de,
|
|
7426
7437
|
playbackId: I,
|
|
@@ -7444,7 +7455,7 @@ const Te = {
|
|
|
7444
7455
|
try {
|
|
7445
7456
|
if (await Promise.all([
|
|
7446
7457
|
f.resume(),
|
|
7447
|
-
f.audioWorklet.addModule(
|
|
7458
|
+
f.audioWorklet.addModule(Vc)
|
|
7448
7459
|
]), f.state !== "running")
|
|
7449
7460
|
throw new Error("Microphone processing was blocked");
|
|
7450
7461
|
const N = f.createMediaStreamSource(A);
|
|
@@ -7454,7 +7465,7 @@ const Te = {
|
|
|
7454
7465
|
outputChannelCount: [1],
|
|
7455
7466
|
processorOptions: {
|
|
7456
7467
|
targetSampleRate: Fe,
|
|
7457
|
-
chunkDurationMs:
|
|
7468
|
+
chunkDurationMs: nl
|
|
7458
7469
|
}
|
|
7459
7470
|
});
|
|
7460
7471
|
let Z = 1;
|
|
@@ -7467,7 +7478,7 @@ const Te = {
|
|
|
7467
7478
|
{
|
|
7468
7479
|
voiceSessionId: y.voiceSessionId,
|
|
7469
7480
|
sequence: Y,
|
|
7470
|
-
audio:
|
|
7481
|
+
audio: ul(new Uint8Array(J.data.bytes))
|
|
7471
7482
|
},
|
|
7472
7483
|
(te) => {
|
|
7473
7484
|
if (e().generation !== I || e().socket !== v)
|
|
@@ -7545,7 +7556,7 @@ const Te = {
|
|
|
7545
7556
|
return;
|
|
7546
7557
|
}
|
|
7547
7558
|
if (await new Promise(
|
|
7548
|
-
(U) => setTimeout(U,
|
|
7559
|
+
(U) => setTimeout(U, al)
|
|
7549
7560
|
), !h || b !== N) {
|
|
7550
7561
|
w = !1;
|
|
7551
7562
|
return;
|
|
@@ -7588,11 +7599,11 @@ const Te = {
|
|
|
7588
7599
|
}
|
|
7589
7600
|
}), Ge(), J.getAudioTracks().forEach(
|
|
7590
7601
|
(ge) => ge.enabled = !R && N
|
|
7591
|
-
), te ??= V ? await V() : await
|
|
7602
|
+
), te ??= V ? await V() : await Il(A, v), Ge(), Y = gl(A, te);
|
|
7592
7603
|
let ye = !1, We = 1;
|
|
7593
7604
|
Y.on(te.websocket.serverEvent, (ge) => {
|
|
7594
7605
|
try {
|
|
7595
|
-
const nt =
|
|
7606
|
+
const nt = yl(
|
|
7596
7607
|
ge,
|
|
7597
7608
|
te,
|
|
7598
7609
|
We
|
|
@@ -7605,7 +7616,7 @@ const Te = {
|
|
|
7605
7616
|
ye && H(Y, ge);
|
|
7606
7617
|
}), n({ session: te, socket: Y, localStream: J });
|
|
7607
7618
|
try {
|
|
7608
|
-
await
|
|
7619
|
+
await ml(Y), Ge(), await bl(Y, te);
|
|
7609
7620
|
} catch (ge) {
|
|
7610
7621
|
throw Pt(ge) && v.onSessionExpired(), ge;
|
|
7611
7622
|
}
|
|
@@ -7623,10 +7634,10 @@ const Te = {
|
|
|
7623
7634
|
microphoneEnabled: !R && N
|
|
7624
7635
|
}), R) {
|
|
7625
7636
|
if (!await G(
|
|
7626
|
-
() =>
|
|
7637
|
+
() => Dc(A, v, {
|
|
7627
7638
|
audioPath: R.path,
|
|
7628
7639
|
method: "POST",
|
|
7629
|
-
mimeType:
|
|
7640
|
+
mimeType: Xc
|
|
7630
7641
|
}),
|
|
7631
7642
|
U,
|
|
7632
7643
|
R.text
|
|
@@ -7700,7 +7711,7 @@ const Te = {
|
|
|
7700
7711
|
}), Q.getState().actions.setCurrentThreadMessages(y.conversationId);
|
|
7701
7712
|
try {
|
|
7702
7713
|
h = !0, m = !0, await we(A, v, {
|
|
7703
|
-
loadSession: () =>
|
|
7714
|
+
loadSession: () => Lc(A, v, y.voiceSessionId),
|
|
7704
7715
|
existingSessionId: y.voiceSessionId,
|
|
7705
7716
|
scriptedIntro: {
|
|
7706
7717
|
path: y.introAudioPath,
|
|
@@ -7738,7 +7749,7 @@ const Te = {
|
|
|
7738
7749
|
}), n({ microphoneEnabled: !1 });
|
|
7739
7750
|
try {
|
|
7740
7751
|
if (!await z(
|
|
7741
|
-
(Z) =>
|
|
7752
|
+
(Z) => Bc(
|
|
7742
7753
|
A,
|
|
7743
7754
|
v,
|
|
7744
7755
|
{
|
|
@@ -7778,7 +7789,7 @@ const Te = {
|
|
|
7778
7789
|
i = null, y?.reject(new Error("Voice invitation was dismissed"));
|
|
7779
7790
|
let I = !1;
|
|
7780
7791
|
try {
|
|
7781
|
-
I = await
|
|
7792
|
+
I = await wl(
|
|
7782
7793
|
v.socket,
|
|
7783
7794
|
v.session,
|
|
7784
7795
|
A
|
|
@@ -7801,14 +7812,7 @@ const Te = {
|
|
|
7801
7812
|
}
|
|
7802
7813
|
}
|
|
7803
7814
|
};
|
|
7804
|
-
}),
|
|
7805
|
-
"deposit",
|
|
7806
|
-
"excited",
|
|
7807
|
-
"fix_hair",
|
|
7808
|
-
"kiss",
|
|
7809
|
-
"spin",
|
|
7810
|
-
"win_small"
|
|
7811
|
-
], Il = ({
|
|
7815
|
+
}), Kd = () => yt((n) => n.actions), yi = pn(null), Cl = ({
|
|
7812
7816
|
children: n,
|
|
7813
7817
|
config: e,
|
|
7814
7818
|
api: t
|
|
@@ -7841,14 +7845,9 @@ const Te = {
|
|
|
7841
7845
|
C(M), M && S(ie.text);
|
|
7842
7846
|
},
|
|
7843
7847
|
playAnimation: async (M, H) => {
|
|
7844
|
-
if (!
|
|
7845
|
-
M
|
|
7846
|
-
))
|
|
7848
|
+
if (!Pa(M))
|
|
7847
7849
|
throw new Error(`Unsupported animation: ${M}`);
|
|
7848
|
-
await t.playAvatarAnimation(
|
|
7849
|
-
M,
|
|
7850
|
-
H
|
|
7851
|
-
);
|
|
7850
|
+
await t.playAvatarAnimation(M, H);
|
|
7852
7851
|
},
|
|
7853
7852
|
showCta: m,
|
|
7854
7853
|
speakText: (M) => yt.getState().actions.speakText(e, t, M),
|
|
@@ -7892,17 +7891,17 @@ function Tn() {
|
|
|
7892
7891
|
throw new Error("ChatWidget components must be used inside <ChatWidget>");
|
|
7893
7892
|
return n;
|
|
7894
7893
|
}
|
|
7895
|
-
const
|
|
7894
|
+
const vl = (n) => {
|
|
7896
7895
|
if (!n || typeof n != "object") return !1;
|
|
7897
7896
|
const e = n;
|
|
7898
7897
|
return typeof e.id == "string" && e.id.trim().length > 0 && typeof e.label == "string" && e.label.trim().length > 0;
|
|
7899
|
-
},
|
|
7898
|
+
}, Al = (n) => {
|
|
7900
7899
|
const e = n.data?.commands;
|
|
7901
7900
|
if (!Array.isArray(e)) return null;
|
|
7902
7901
|
for (const t of e) {
|
|
7903
7902
|
if (!t || typeof t != "object") continue;
|
|
7904
7903
|
const r = t;
|
|
7905
|
-
if (!(r.type !== "ask_choice" || typeof r.inputRequestId != "string" || !r.inputRequestId.trim() || !Array.isArray(r.options) || r.options.length < 2 || !r.options.every(
|
|
7904
|
+
if (!(r.type !== "ask_choice" || typeof r.inputRequestId != "string" || !r.inputRequestId.trim() || !Array.isArray(r.options) || r.options.length < 2 || !r.options.every(vl)))
|
|
7906
7905
|
return {
|
|
7907
7906
|
type: "ask_choice",
|
|
7908
7907
|
inputRequestId: r.inputRequestId,
|
|
@@ -7910,13 +7909,13 @@ const Cl = (n) => {
|
|
|
7910
7909
|
};
|
|
7911
7910
|
}
|
|
7912
7911
|
return null;
|
|
7913
|
-
},
|
|
7912
|
+
}, xl = (n) => {
|
|
7914
7913
|
for (let e = n.length - 1; e >= 0; e -= 1) {
|
|
7915
|
-
const t =
|
|
7914
|
+
const t = Al(n[e]);
|
|
7916
7915
|
if (t) return t;
|
|
7917
7916
|
}
|
|
7918
7917
|
return null;
|
|
7919
|
-
}, ue = 52, ee = 16, Mn = 240,
|
|
7918
|
+
}, ue = 52, ee = 16, Mn = 240, Sl = 360, Nn = 320, kl = 680;
|
|
7920
7919
|
function Ce() {
|
|
7921
7920
|
const n = window.visualViewport;
|
|
7922
7921
|
return {
|
|
@@ -7924,7 +7923,7 @@ function Ce() {
|
|
|
7924
7923
|
height: n?.height || window.innerHeight
|
|
7925
7924
|
};
|
|
7926
7925
|
}
|
|
7927
|
-
function
|
|
7926
|
+
function El(n) {
|
|
7928
7927
|
return xt(
|
|
7929
7928
|
{
|
|
7930
7929
|
x: n.width - ue - 24,
|
|
@@ -7976,7 +7975,7 @@ function Ii(n, e, t) {
|
|
|
7976
7975
|
t
|
|
7977
7976
|
);
|
|
7978
7977
|
}
|
|
7979
|
-
function
|
|
7978
|
+
function Rl(n, e, t, r) {
|
|
7980
7979
|
const i = n.x + n.width, s = n.y + n.height, o = Math.max(1, i - ee), a = Math.max(1, s - ee), c = Math.min(Mn, o), l = Math.min(Nn, a), d = t === "left" || t === "corner" ? Ne(n.x + e.x, ee, i - c) : n.x, u = t === "top" || t === "corner" ? Ne(n.y + e.y, ee, s - l) : n.y;
|
|
7981
7980
|
return Ye(
|
|
7982
7981
|
{
|
|
@@ -7988,7 +7987,7 @@ function El(n, e, t, r) {
|
|
|
7988
7987
|
r
|
|
7989
7988
|
);
|
|
7990
7989
|
}
|
|
7991
|
-
function
|
|
7990
|
+
function Tl(n, e, t) {
|
|
7992
7991
|
const r = Math.max(1, t.width - ee - n.x), i = Math.max(1, t.height - ee - n.y);
|
|
7993
7992
|
return {
|
|
7994
7993
|
...n,
|
|
@@ -8007,7 +8006,7 @@ function Ne(n, e, t) {
|
|
|
8007
8006
|
return t < e ? Math.max(0, t) : Math.min(t, Math.max(e, n));
|
|
8008
8007
|
}
|
|
8009
8008
|
const Ci = "bridge-chat-widget-ui";
|
|
8010
|
-
function
|
|
8009
|
+
function Ml() {
|
|
8011
8010
|
try {
|
|
8012
8011
|
const n = localStorage.getItem(Ci);
|
|
8013
8012
|
if (!n) return null;
|
|
@@ -8020,7 +8019,7 @@ function Tl() {
|
|
|
8020
8019
|
};
|
|
8021
8020
|
if (e.version !== 2 || !kt(e.panel)) return null;
|
|
8022
8021
|
const t = e.panel;
|
|
8023
|
-
return !dt(t.width) || !dt(t.height) || !
|
|
8022
|
+
return !dt(t.width) || !dt(t.height) || !Nl(t) || e.launcher !== void 0 && !Vl(e.launcher) ? null : e;
|
|
8024
8023
|
} catch {
|
|
8025
8024
|
return null;
|
|
8026
8025
|
}
|
|
@@ -8037,18 +8036,18 @@ function kt(n) {
|
|
|
8037
8036
|
function dt(n) {
|
|
8038
8037
|
return typeof n == "number" && Number.isFinite(n) && n > 0;
|
|
8039
8038
|
}
|
|
8040
|
-
function
|
|
8039
|
+
function Nl(n) {
|
|
8041
8040
|
if (!kt(n)) return !1;
|
|
8042
8041
|
const e = n.x !== void 0, t = n.y !== void 0;
|
|
8043
8042
|
return e !== t ? !1 : !e || Et(n.x) && Et(n.y);
|
|
8044
8043
|
}
|
|
8045
|
-
function
|
|
8044
|
+
function Vl(n) {
|
|
8046
8045
|
return kt(n) && Et(n.x) && Et(n.y);
|
|
8047
8046
|
}
|
|
8048
8047
|
function Et(n) {
|
|
8049
8048
|
return typeof n == "number" && Number.isFinite(n);
|
|
8050
8049
|
}
|
|
8051
|
-
const hr = 5, pr = 16,
|
|
8050
|
+
const hr = 5, pr = 16, Gl = {
|
|
8052
8051
|
launcher: "grabbing",
|
|
8053
8052
|
panel: "grabbing",
|
|
8054
8053
|
top: "ns-resize",
|
|
@@ -8056,7 +8055,7 @@ const hr = 5, pr = 16, Vl = {
|
|
|
8056
8055
|
northWestCorner: "nwse-resize",
|
|
8057
8056
|
southEastCorner: "nwse-resize"
|
|
8058
8057
|
};
|
|
8059
|
-
function
|
|
8058
|
+
function Ol({
|
|
8060
8059
|
open: n,
|
|
8061
8060
|
onOpenChange: e,
|
|
8062
8061
|
isMobile: t,
|
|
@@ -8067,7 +8066,7 @@ function Gl({
|
|
|
8067
8066
|
unreadIndicator: a,
|
|
8068
8067
|
children: c
|
|
8069
8068
|
}) {
|
|
8070
|
-
const [l] = $(
|
|
8069
|
+
const [l] = $(Pl), [d, u] = $(l.launcher), [p, h] = $(l.panel), [m, b] = $(null), w = q({ launcher: d, panel: p }), S = q({ launcher: d, panel: p }), C = q(!1), E = q(!1), X = q(null), x = q(!1), k = q(null), T = q(null), B = q(r), D = Ae((f, R = !0) => {
|
|
8071
8070
|
w.current = { ...w.current, launcher: f }, R && (S.current = {
|
|
8072
8071
|
...S.current,
|
|
8073
8072
|
launcher: f
|
|
@@ -8111,11 +8110,11 @@ function Gl({
|
|
|
8111
8110
|
);
|
|
8112
8111
|
return;
|
|
8113
8112
|
case "southEastCorner":
|
|
8114
|
-
G(
|
|
8113
|
+
G(Tl(N, Z, Ce()));
|
|
8115
8114
|
return;
|
|
8116
8115
|
default:
|
|
8117
8116
|
G(
|
|
8118
|
-
|
|
8117
|
+
Rl(
|
|
8119
8118
|
N,
|
|
8120
8119
|
Z,
|
|
8121
8120
|
f === "northWestCorner" ? "corner" : f,
|
|
@@ -8129,7 +8128,7 @@ function Gl({
|
|
|
8129
8128
|
_(() => {
|
|
8130
8129
|
if (!m) return;
|
|
8131
8130
|
const f = document.body.style.cursor, R = document.body.style.userSelect;
|
|
8132
|
-
document.body.style.cursor =
|
|
8131
|
+
document.body.style.cursor = Gl[m.kind], document.body.style.userSelect = "none";
|
|
8133
8132
|
const N = (U) => {
|
|
8134
8133
|
if (U.pointerId !== m.pointerId) return;
|
|
8135
8134
|
const J = {
|
|
@@ -8349,9 +8348,9 @@ function Gl({
|
|
|
8349
8348
|
}
|
|
8350
8349
|
);
|
|
8351
8350
|
}
|
|
8352
|
-
function
|
|
8353
|
-
const n = Ce(), e =
|
|
8354
|
-
e?.launcher ??
|
|
8351
|
+
function Pl() {
|
|
8352
|
+
const n = Ce(), e = Ml(), t = xt(
|
|
8353
|
+
e?.launcher ?? El(n),
|
|
8355
8354
|
n
|
|
8356
8355
|
), r = e?.panel;
|
|
8357
8356
|
return {
|
|
@@ -8367,14 +8366,14 @@ function Ol() {
|
|
|
8367
8366
|
) : Ii(
|
|
8368
8367
|
t,
|
|
8369
8368
|
{
|
|
8370
|
-
width: r?.width ??
|
|
8371
|
-
height: r?.height ??
|
|
8369
|
+
width: r?.width ?? Sl,
|
|
8370
|
+
height: r?.height ?? kl
|
|
8372
8371
|
},
|
|
8373
8372
|
n
|
|
8374
8373
|
)
|
|
8375
8374
|
};
|
|
8376
8375
|
}
|
|
8377
|
-
function
|
|
8376
|
+
function Ll() {
|
|
8378
8377
|
const { open: n, loadingProgress: e } = Tn(), t = sa(), r = Kr(), i = e >= 1, s = r && t && new Date(r) > new Date(t);
|
|
8379
8378
|
return /* @__PURE__ */ W(
|
|
8380
8379
|
"div",
|
|
@@ -8385,7 +8384,7 @@ function Pl() {
|
|
|
8385
8384
|
);
|
|
8386
8385
|
}
|
|
8387
8386
|
const vi = "data:image/png;base64,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";
|
|
8388
|
-
function
|
|
8387
|
+
function Dl() {
|
|
8389
8388
|
const {
|
|
8390
8389
|
open: n,
|
|
8391
8390
|
isChromeVisible: e,
|
|
@@ -8415,7 +8414,7 @@ function Ll() {
|
|
|
8415
8414
|
});
|
|
8416
8415
|
let x = null;
|
|
8417
8416
|
const k = t.onAvatarLoadStarted();
|
|
8418
|
-
return import("./Avatar-
|
|
8417
|
+
return import("./Avatar-DKGkEfXe.js").then(({ Avatar: T }) => {
|
|
8419
8418
|
if (S) return;
|
|
8420
8419
|
const B = {
|
|
8421
8420
|
...t,
|
|
@@ -8476,12 +8475,12 @@ function Ll() {
|
|
|
8476
8475
|
)
|
|
8477
8476
|
] });
|
|
8478
8477
|
}
|
|
8479
|
-
const
|
|
8478
|
+
const Bl = Ri(() => import("./ChatWidgetContent-Coj_NDep.js")), He = (n) => {
|
|
8480
8479
|
n.catch(
|
|
8481
8480
|
(e) => console.warn("[ChatWidget] Message history recovery failed", e)
|
|
8482
8481
|
);
|
|
8483
8482
|
};
|
|
8484
|
-
function
|
|
8483
|
+
function Xl() {
|
|
8485
8484
|
const {
|
|
8486
8485
|
open: n,
|
|
8487
8486
|
setOpen: e,
|
|
@@ -8492,7 +8491,7 @@ function Bl() {
|
|
|
8492
8491
|
api: o,
|
|
8493
8492
|
isChromeVisible: a,
|
|
8494
8493
|
loadingProgress: c
|
|
8495
|
-
} = Tn(), { anycableService: l } = Ea(), d = Nt(), u = le(), p = ia(), h = Kr(), m =
|
|
8494
|
+
} = Tn(), { anycableService: l } = Ea(), d = Nt(), u = le(), p = ia(), h = Kr(), m = xl(
|
|
8496
8495
|
p
|
|
8497
8496
|
)?.inputRequestId, b = q(void 0), w = q(h), { initMessageStore: S, recoverMessages: C, updateConfig: E } = ca(), X = q({
|
|
8498
8497
|
accessToken: s.customerInteractionSession.accessToken,
|
|
@@ -8537,7 +8536,7 @@ function Bl() {
|
|
|
8537
8536
|
"aria-hidden": !a,
|
|
8538
8537
|
inert: a ? void 0 : !0,
|
|
8539
8538
|
children: /* @__PURE__ */ ve(
|
|
8540
|
-
|
|
8539
|
+
Ol,
|
|
8541
8540
|
{
|
|
8542
8541
|
open: n,
|
|
8543
8542
|
onOpenChange: e,
|
|
@@ -8546,21 +8545,21 @@ function Bl() {
|
|
|
8546
8545
|
hideOpenButton: !!s.hideOpenButton,
|
|
8547
8546
|
loadingProgress: c,
|
|
8548
8547
|
launcherImageSrc: vi,
|
|
8549
|
-
unreadIndicator: /* @__PURE__ */ W(
|
|
8548
|
+
unreadIndicator: /* @__PURE__ */ W(Ll, {}),
|
|
8550
8549
|
children: [
|
|
8551
|
-
/* @__PURE__ */ W(
|
|
8552
|
-
r && /* @__PURE__ */ W(Ei, { fallback: null, children: /* @__PURE__ */ W(
|
|
8550
|
+
/* @__PURE__ */ W(Dl, {}),
|
|
8551
|
+
r && /* @__PURE__ */ W(Ei, { fallback: null, children: /* @__PURE__ */ W(Bl, {}) })
|
|
8553
8552
|
]
|
|
8554
8553
|
}
|
|
8555
8554
|
)
|
|
8556
8555
|
}
|
|
8557
8556
|
);
|
|
8558
8557
|
}
|
|
8559
|
-
const
|
|
8558
|
+
const Wl = pn(null), Kt = {
|
|
8560
8559
|
didCatch: !1,
|
|
8561
8560
|
error: null
|
|
8562
8561
|
};
|
|
8563
|
-
class
|
|
8562
|
+
class zl extends Ti {
|
|
8564
8563
|
constructor(e) {
|
|
8565
8564
|
super(e), this.resetErrorBoundary = this.resetErrorBoundary.bind(this), this.state = Kt;
|
|
8566
8565
|
}
|
|
@@ -8579,7 +8578,7 @@ class Wl extends Ti {
|
|
|
8579
8578
|
}
|
|
8580
8579
|
componentDidUpdate(e, t) {
|
|
8581
8580
|
const { didCatch: r } = this.state, { resetKeys: i } = this.props;
|
|
8582
|
-
r && t.error !== null &&
|
|
8581
|
+
r && t.error !== null && Zl(e.resetKeys, i) && (this.props.onReset?.({
|
|
8583
8582
|
next: i,
|
|
8584
8583
|
prev: e.resetKeys,
|
|
8585
8584
|
reason: "keys"
|
|
@@ -8603,7 +8602,7 @@ class Wl extends Ti {
|
|
|
8603
8602
|
throw o;
|
|
8604
8603
|
}
|
|
8605
8604
|
return Gn(
|
|
8606
|
-
|
|
8605
|
+
Wl.Provider,
|
|
8607
8606
|
{
|
|
8608
8607
|
value: {
|
|
8609
8608
|
didCatch: s,
|
|
@@ -8615,10 +8614,10 @@ class Wl extends Ti {
|
|
|
8615
8614
|
);
|
|
8616
8615
|
}
|
|
8617
8616
|
}
|
|
8618
|
-
function
|
|
8617
|
+
function Zl(n = [], e = []) {
|
|
8619
8618
|
return n.length !== e.length || n.some((t, r) => !Object.is(t, e[r]));
|
|
8620
8619
|
}
|
|
8621
|
-
function
|
|
8620
|
+
function Ul({ config: n, api: e }) {
|
|
8622
8621
|
const [t, r] = $(n);
|
|
8623
8622
|
return _(() => (e.registerSetSession((i) => {
|
|
8624
8623
|
r((s) => ({
|
|
@@ -8626,7 +8625,7 @@ function Zl({ config: n, api: e }) {
|
|
|
8626
8625
|
customerInteractionSession: i
|
|
8627
8626
|
}));
|
|
8628
8627
|
}), () => e.registerSetSession(null)), [e]), /* @__PURE__ */ W(
|
|
8629
|
-
|
|
8628
|
+
zl,
|
|
8630
8629
|
{
|
|
8631
8630
|
fallbackRender: ({ resetErrorBoundary: i }) => /* @__PURE__ */ W("button", { type: "button", onClick: i, children: "Restart Lola assistant" }),
|
|
8632
8631
|
onError: (i, s) => {
|
|
@@ -8638,62 +8637,62 @@ function Zl({ config: n, api: e }) {
|
|
|
8638
8637
|
config: t,
|
|
8639
8638
|
commandRuntime: e.commandRuntime,
|
|
8640
8639
|
onSessionExpired: e.onSessionExpired,
|
|
8641
|
-
children: /* @__PURE__ */ W(Ss, { children: /* @__PURE__ */ W(
|
|
8640
|
+
children: /* @__PURE__ */ W(Ss, { children: /* @__PURE__ */ W(Cl, { config: t, api: e, children: /* @__PURE__ */ W(Xl, {}) }) })
|
|
8642
8641
|
}
|
|
8643
8642
|
)
|
|
8644
8643
|
}
|
|
8645
8644
|
);
|
|
8646
8645
|
}
|
|
8647
|
-
function
|
|
8646
|
+
function Fl(n, e, t) {
|
|
8648
8647
|
const r = Mi(n);
|
|
8649
|
-
return r.render(/* @__PURE__ */ W(
|
|
8648
|
+
return r.render(/* @__PURE__ */ W(Ul, { config: { ...e }, api: t })), r;
|
|
8650
8649
|
}
|
|
8651
|
-
const Fl = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-xs:4px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-preview{border-style:var(--tw-border-style);border-width:5px;border-color:var(--color-blue-500);border-radius:3.40282e38px}.message{background:var(--chat-surface-agent);max-width:100%;color:var(--chat-text-primary);border:0;border-radius:17px;padding:7px 11px;font-size:14px;font-weight:400;line-height:20px;box-shadow:0 6px 18px #00000029}.chat-message-row[data-author=customer]>.message,.message[data-author=customer]{background:var(--chat-surface-customer)}.chat-message-row[data-author=agent]+.chat-message-row[data-author=agent],.chat-message-row[data-author=customer]+.chat-message-row[data-author=customer]{margin-top:-4px}.chat-message-content p+p{margin-top:8px}.chat-message-content strong{font-weight:650}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:8px 0 4px;font-weight:650;line-height:1.3}.chat-message-content h1,.chat-message-content h2{font-size:1.12em}.chat-message-content ul,.chat-message-content ol{margin:6px 0;padding-left:20px}.chat-message-content ul{list-style:outside}.chat-message-content ol{list-style:decimal}.chat-message-content blockquote{color:#f3f0f4c2;border-left:2px solid #68d8ff7a;margin:6px 0;padding-left:9px}.chat-message-content code{background:#ffffff17;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.chat-message-content pre{background:#0003;border:1px solid #ffffff14;border-radius:8px;max-width:100%;margin:7px 0;padding:8px;overflow-x:auto}.chat-message-content pre code{background:0 0;padding:0}.chat-message-link{color:var(--chat-accent-cyan);text-underline-offset:2px;-webkit-text-decoration:underline #68d8ff61;text-decoration:underline #68d8ff61}.chat-message-link:hover{text-decoration-color:currentColor}.chat-message-link:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px;border-radius:2px}.chat-citation{vertical-align:super;margin-left:1px;font-size:.72em;line-height:0}.chat-citation .chat-message-link{text-decoration:none}.chat-icon-button{color:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f157a;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-icon-button:hover{color:var(--chat-accent-cyan);background:#141921c7;border-color:#68d8ff57}.chat-icon-button:active{transform:scale(.96)}.chat-icon-button:focus-visible,.chat-launcher:focus-visible,.chat-composer-button:focus-visible,.chat-send-button:focus-visible,.chat-microphone-button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}[data-lola-widget-shell]{backface-visibility:hidden;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 100%;transition:visibility 0s linear .2s,opacity .13s ease-in,transform .2s cubic-bezier(.4,0,.7,.2);transform:translateY(10px)scale(.985);box-shadow:0 24px 64px #00000052,0 8px 24px #0003}[data-lola-widget-shell][data-state=open]{visibility:visible;opacity:1;pointer-events:auto;transition:visibility,opacity .15s ease-out,transform .28s cubic-bezier(.16,1,.3,1);transition-timing-function:linear,ease-out,var(--chat-route-enter-easing);transform:translate(0)scale(1)}[data-lola-widget-shell][data-layout=fullscreen]{width:100vw;height:100vh}@supports (width:100dvw) and (height:100dvh){[data-lola-widget-shell][data-layout=fullscreen]{width:100dvw;height:100dvh}}[data-lola-widget-shell][data-layout=fullscreen] .chat-widget-panel{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.chat-widget-panel{transform:translateZ(0)}.chat-launcher{visibility:visible;opacity:1;transition:visibility,opacity .14s ease-out,transform .18s ease-out;transform:translateZ(0)scale(1)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .16s,opacity .12s ease-in,transform .16s ease-in;transform:translateZ(0)scale(.88)}.chat-launcher{color:#fff;cursor:grab;isolation:isolate;touch-action:none;background:#090f16e0;border:0;border-radius:9999px;place-items:center;padding:3px;display:grid}.chat-launcher:active{cursor:grabbing}.chat-launcher__portrait{z-index:2;border:3px solid var(--chat-accent-cyan);background:radial-gradient(circle at 50% 35%,#3d4c5d,#0c1219 72%);border-radius:9999px;width:46px;height:46px;animation:2.8s ease-in-out infinite lola-launcher-breathe;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 13px #68d8ffa3,0 0 30px #45bdff42}.chat-launcher__portrait img{object-fit:cover;object-position:50% 20%;-webkit-user-select:none;user-select:none;width:100%;height:100%;transform:scale(1.22)translateY(6%)}.chat-launcher__aura{z-index:1;filter:blur(7px);opacity:.7;background:conic-gradient(from 45deg,#68d8ff47,#775cff14,#68d8ff5c,#775cff14,#68d8ff47);border:1px solid #68d8ff61;border-radius:9999px;animation:3.6s ease-in-out infinite lola-launcher-aura;position:absolute;inset:-7px}.chat-widget-resize-corner:after{content:"";border-top:2px solid #68d8ffc2;border-left:2px solid #68d8ffc2;border-radius:3px 0 0;width:8px;height:8px;position:absolute;top:5px;left:5px}.chat-widget-resize-corner-mobile:after{content:"";border-bottom:2px solid #68d8ffc2;border-right:2px solid #68d8ffc2;border-radius:0 0 4px;width:14px;height:14px;position:absolute;bottom:10px;right:10px}.bridge-ai-chat-widget[data-mobile=true] .chat-icon-button{width:48px;height:48px}@keyframes lola-launcher-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes lola-launcher-aura{0%,to{opacity:.48;transform:scale(.94)rotate(0)}50%{opacity:.82;transform:scale(1.08)rotate(18deg)}}.chat-composer{background:linear-gradient(145deg,#1d142af0,#0a0f16f5);border:0;border-radius:22px;min-height:42px;box-shadow:0 12px 34px #0000004d,0 0 0 1px #b564ff29,inset 0 1px #ffffff12}.chat-composer:focus-within{box-shadow:0 12px 34px #0000004d,0 0 0 1px #68d8ff57,0 0 24px #68d8ff14,inset 0 1px #ffffff14}.chat-composer-button{background:var(--chat-surface-customer);border-radius:15px;box-shadow:0 4px 14px #00000024}.chat-composer-button:hover{background:#684b6c}.chat-talk-button{box-shadow:none;background:0 0;border-radius:0;transition:none;transform:translateZ(0)}.chat-composer-button.chat-talk-button:hover{background:0 0}.chat-talk-button__surface{background:var(--chat-surface-customer);pointer-events:none;transform-origin:0;border-radius:15px;height:32px;transition:opacity .1s ease-out,transform .22s cubic-bezier(.16,1,.3,1),background-color .15s ease-out;position:absolute;top:0;left:0;box-shadow:0 4px 14px #00000024}.chat-talk-button:hover .chat-talk-button__surface{background:#684b6c}.chat-talk-button__surface_expanded{opacity:1;width:80px;transform:translateZ(0)scaleX(1)}.chat-talk-button__surface_compact{opacity:0;width:32px;transform:translateZ(0)scale(.88)}.chat-talk-button[data-compact=true] .chat-talk-button__surface_expanded{opacity:0;transform:translateZ(0)scaleX(.4)}.chat-talk-button[data-compact=true] .chat-talk-button__surface_compact{opacity:1;transform:translateZ(0)scale(1)}.chat-talk-button__icon{z-index:1;transition:transform .22s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:18px;transform:translateY(-50%)}.chat-talk-button[data-compact=true] .chat-talk-button__icon{transform:translate(-9px,-50%)}.chat-talk-button__label{z-index:1;opacity:1;transition:opacity 90ms ease-out,transform .18s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:38px;transform:translateY(-50%)}.chat-talk-button[data-compact=true] .chat-talk-button__label{opacity:0;transform:translate(-6px,-50%)}.chat-composer-main{clip-path:inset(-4px 0 -4px -4px)}.chat-composer-input-motion{transition:transform .22s cubic-bezier(.16,1,.3,1);transform:translate(0)}.chat-composer-input-motion[data-talk-offset=true]{transform:translate(48px)}.chat-send-button{background:var(--chat-accent-lime);color:#081207;border-radius:9999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;transition:filter .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 6px 18px #d7ff6438}.chat-send-button:hover:not(:disabled){filter:brightness(1.08)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{box-shadow:none;color:#ffffff3d;background:#ffffff13}.chat-cta-primary,.chat-cta-secondary{border-radius:9999px;padding:7px 12px;font-size:12px;font-weight:600;line-height:16px;transition:background-color .16s,border-color .16s,transform .16s}.chat-cta-primary{background:var(--chat-accent-lime);color:#081207;border:0;box-shadow:0 6px 18px #d7ff642e}.chat-cta-primary:hover{filter:brightness(1.07)}.chat-cta-secondary{color:#ffffffb8;background:#fff1;border:1px solid #ffffff1f}.chat-cta-secondary:hover{background:#68d8ff14;border-color:#68d8ff47}.chat-voice-card{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#0d1016c7;border:1px solid #ffffff1c;border-radius:20px;box-shadow:0 12px 36px #0000003d}.chat-microphone-button{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1016a6;border:1px solid #ffffff21;border-radius:9999px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .16s,border-color .16s,background-color .16s;display:flex;position:relative;box-shadow:0 12px 32px #0000003d,inset 0 1px #ffffff0f}.chat-microphone-button:hover{border-color:#68d8ff6b;transform:translateY(-1px)}.chat-microphone-button_active{background:#68d8ff2e;border-color:#68d8ff75;box-shadow:0 12px 32px #0000003d,0 0 0 6px #68d8ff0f}.chat-list-surface{background:radial-gradient(circle at 92% 0,#68d8ff1a,#0000 26%),radial-gradient(circle at 8% 0,#ef6b7f1a,#0000 28%),#0d1016;box-shadow:inset 0 1px #ffffff0d}.chat-list-item_selected{background:linear-gradient(100deg,#70265757,#14475e47);box-shadow:inset 0 1px #ffffff0d}.chat-list-entry{content-visibility:auto;contain-intrinsic-block-size:64px}.chat-route-stage{border-radius:inherit;isolation:isolate;overflow:hidden}.chat-route-page{border-radius:inherit;height:100%;position:absolute;inset:0;overflow:hidden}.chat-route-page_background{z-index:1}.chat-route-pane{z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.chat-route-pane_exit{pointer-events:none}.chat-route-pane .chat-list-entry{content-visibility:visible}.chat-route-pane_enter.chat-route-pane_forward{animation:.3s cubic-bezier(.16,1,.3,1) both chat-route-forward-enter;animation-timing-function:var(--chat-route-enter-easing)}.chat-route-pane_exit.chat-route-pane_backward{animation:.24s cubic-bezier(.4,0,.7,.2) both chat-route-backward-exit}@keyframes chat-route-forward-enter{0%{opacity:.88;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes chat-route-backward-exit{0%{opacity:1;transform:translate(0)}to{opacity:.94;transform:translate(100%)}}.chat-message-skeleton{justify-content:flex-end;min-height:min(420px,62vh)}.chat-message-skeleton-bubble{animation:1.2s ease-in-out infinite alternate chat-message-skeleton-pulse;animation-delay:var(--chat-skeleton-delay);will-change:opacity;position:relative;overflow:hidden}.chat-message-skeleton-bubble:after{content:"";pointer-events:none;animation:1.45s cubic-bezier(.4,0,.2,1) infinite chat-message-skeleton-shimmer;animation-delay:var(--chat-skeleton-delay);will-change:transform;background:linear-gradient(105deg,#0000 24%,#ffffff16,#0000 72%);position:absolute;inset:-1px;transform:translate(-125%)}.chat-avatar-ring{background:linear-gradient(145deg,var(--chat-accent-cherry),var(--chat-accent-cyan));border-radius:9999px;padding:1px;display:inline-flex;box-shadow:0 4px 14px #0003}.chat-scrollbar{overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-y}.chat-scrollbar:hover{scrollbar-color:#ffffff38 transparent}.chat-scrollbar::-webkit-scrollbar{width:4px;height:4px}.chat-scrollbar::-webkit-scrollbar-track{background:0 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:0 0;border-radius:9999px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:#ffffff38}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.chat-pending-assistant-message{transform-origin:0 100%;animation:.22s cubic-bezier(.22,1,.36,1) both chat-pending-assistant-message-in}.chat-typing-indicator{align-items:center;gap:5px;display:flex}.chat-typing-indicator__dot{background-color:var(--chat-accent-cyan);opacity:.38;border-radius:50%;width:7px;height:7px;animation:1.2s cubic-bezier(.45,0,.55,1) infinite both chat-typing-dot;transform:translateY(0)scale(.82)}.chat-typing-indicator__dot_left{animation-delay:0s}.chat-typing-indicator__dot_center{animation-delay:.14s}.chat-typing-indicator__dot_right{animation-delay:.28s}.chat-stream-fragment{animation:.12s cubic-bezier(.22,1,.36,1) both chat-stream-fragment-in}@keyframes chat-stream-fragment-in{0%{opacity:.15}to{opacity:1}}@keyframes chat-message-skeleton-pulse{0%{opacity:.58}to{opacity:1}}@keyframes chat-message-skeleton-shimmer{to{transform:translate(125%)}}@media(prefers-reduced-motion:reduce){[data-lola-widget-shell],.chat-widget-panel,.chat-launcher,.chat-talk-button,.chat-talk-button__surface,.chat-talk-button__icon,.chat-talk-button__label,.chat-composer-input-motion{transition:none}.chat-launcher__portrait,.chat-launcher__aura,.chat-pending-assistant-message,.chat-typing-indicator__dot{animation:none}.chat-route-pane{animation-duration:1ms!important}.chat-typing-indicator__dot{opacity:.72;transform:none}.chat-stream-fragment{animation:none}.chat-message-skeleton-bubble{opacity:.82;will-change:auto;animation:none}.chat-message-skeleton-bubble:after{will-change:auto;animation:none;display:none}}@keyframes chat-pending-assistant-message-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chat-typing-dot{0%,60%,to{opacity:.38;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-3px)scale(1.05)}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-0\\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-5{top:calc(var(--spacing)*5)}.-right-0\\.5{right:calc(var(--spacing)*-.5)}.right-0{right:calc(var(--spacing)*0)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-5{bottom:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.left-5{left:calc(var(--spacing)*5)}.z-0{z-index:0}.z-1{z-index:1}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-51{z-index:51}.z-\\[9999999\\]{z-index:9999999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.ml-2{margin-left:calc(var(--spacing)*2)}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-fit{height:fit-content}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-\\[48\\%\\]{width:48%}.w-\\[52\\%\\]{width:52%}.w-\\[56\\%\\]{width:56%}.w-\\[58\\%\\]{width:58%}.w-\\[62\\%\\]{width:62%}.w-\\[64\\%\\]{width:64%}.w-\\[66\\%\\]{width:66%}.w-\\[70\\%\\]{width:70%}.w-\\[72\\%\\]{width:72%}.w-\\[74\\%\\]{width:74%}.w-\\[78\\%\\]{width:78%}.w-\\[80px\\]{width:80px}.w-\\[86\\%\\]{width:86%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-8{max-width:calc(var(--spacing)*8)}.max-w-70{max-width:calc(var(--spacing)*70)}.max-w-\\[86\\%\\]{max-width:86%}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-n-resize{cursor:n-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-w-resize{cursor:w-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-\\[3px\\]{gap:3px}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\\[17px\\]{border-radius:17px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-br-\\[5px\\]{border-bottom-right-radius:5px}.rounded-bl-\\[5px\\]{border-bottom-left-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#68d8ff\\]\\/10{border-color:#68d8ff1a}.border-\\[\\#68d8ff\\]\\/65{border-color:#68d8ffa6}.border-white\\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/16{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.border-white\\/16{border-color:color-mix(in oklab,var(--color-white)16%,transparent)}}.border-white\\/\\[0\\.06\\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-\\[\\#5b405f\\]\\/70{background-color:#5b405fb3}.bg-\\[\\#68d8ff\\]{background-color:#68d8ff}.bg-\\[\\#68d8ff\\]\\/12{background-color:#68d8ff1f}.bg-\\[\\#68d8ff\\]\\/\\[0\\.13\\]{background-color:#68d8ff21}.bg-\\[\\#090b10\\]\\/58{background-color:#090b1094}.bg-\\[\\#17131b\\]{background-color:#17131b}.bg-\\[\\#111319\\]{background-color:#111319}.bg-\\[\\#ef6b7f\\]{background-color:#ef6b7f}.bg-\\[var\\(--chat-surface-agent\\)\\]{background-color:var(--chat-surface-agent)}.bg-black{background-color:var(--color-black)}.bg-black\\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\\/8{background-color:color-mix(in oklab,var(--color-black)8%,transparent)}}.bg-black\\/28{background-color:#00000047}@supports (color:color-mix(in lab,red,red)){.bg-black\\/28{background-color:color-mix(in oklab,var(--color-black)28%,transparent)}}.bg-black\\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\\/35{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.bg-current{background-color:currentColor}.bg-transparent{background-color:#0000}.bg-white\\/\\[0\\.11\\]{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.11\\]{background-color:color-mix(in oklab,var(--color-white)11%,transparent)}}.bg-\\[linear-gradient\\(to_bottom\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_0\\%\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_20\\%\\,rgba\\(0\\,0\\,0\\,0\\.2\\)_60\\%\\,rgba\\(0\\,0\\,0\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#000000b3 0% 20%,#0003 60%,#0000)}.bg-\\[linear-gradient\\(to_top\\,rgba\\(8\\,10\\,15\\,0\\.78\\)_0\\%\\,rgba\\(8\\,10\\,15\\,0\\.42\\)_42\\%\\,rgba\\(8\\,10\\,15\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#080a0f00,#080a0f6b 58%,#080a0fc7)}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-3{padding-top:calc(var(--spacing)*3)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.005em\\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#68d8ff\\]{color:#68d8ff}.text-red-200{color:var(--color-red-200)}.text-white{color:var(--color-white)}.text-white\\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\\/42{color:color-mix(in oklab,var(--color-white)42%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\\[\\#111319\\]{outline-color:#111319}.outline-black\\/9{outline-color:#00000017}@supports (color:color-mix(in lab,red,red)){.outline-black\\/9{outline-color:color-mix(in oklab,var(--color-black)9%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,transform\\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.outline-none{--tw-outline-style:none;outline-style:none}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:hidden:is(:where(.group):hover *){display:none}.group-hover\\:opacity-70:is(:where(.group):hover *){opacity:.7}}.group-aria-\\[current\\=page\\]\\:opacity-100:is(:where(.group)[aria-current=page] *){opacity:1}.placeholder\\:text-white\\/38::placeholder{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/38::placeholder{color:color-mix(in oklab,var(--color-white)38%,transparent)}}@media(hover:hover){.hover\\:bg-white\\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/6:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}}.active\\:scale-\\[0\\.992\\]:active{scale:.992}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-white\\/8:active{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.active\\:bg-white\\/8:active{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.data-disabled\\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\\:opacity-45[data-disabled]{opacity:.45}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-hover\\:border-\\[\\#68d8ff\\]\\/55[data-hover]{border-color:#68d8ff8c}.data-hover\\:bg-white\\/10[data-hover]{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.data-hover\\:bg-white\\/10[data-hover]{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\\:transition-none{transition-property:none}.motion-reduce\\:delay-0{--tw-animation-delay:0s;transition-delay:0s;animation-delay:0s}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.bridge-ai-chat-widget{--radius:.625rem;--chat-accent-cherry:#ef6b7f;--chat-accent-cyan:#68d8ff;--chat-accent-lime:#d7ff64;--chat-surface-agent:#1a191bd1;--chat-surface-customer:#5b405f;--chat-text-primary:#f3f0f4;--chat-route-enter-easing:linear(0,.062 5%,.192 10%,.338 15%,.477 20%,.596 25%,.694 30%,.771 35%,.831 40%,.877 45%,.911 50%,.937 55%,.955 60%,.969 65%,.979 70%,.986 75%,.991 80%,.994 85%,.997 90%,.999 95%,1);color-scheme:dark;font-synthesis:none;letter-spacing:-.006em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InterVariable,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bridge-ai-chat-widget button,.bridge-ai-chat-widget textarea{font-family:inherit}.bridge-ai-chat-widget :where(button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href]){cursor:pointer}.bridge-ai-chat-widget button:disabled{cursor:not-allowed}.bridge-ai-chat-widget .chat-launcher,.bridge-ai-chat-widget [data-lola-drag-handle]{cursor:grab}.bridge-ai-chat-widget .chat-launcher:active,.bridge-ai-chat-widget [data-lola-drag-handle]:active{cursor:grabbing}.bridge-ai-chat-widget [data-lola-resize=top]{cursor:n-resize}.bridge-ai-chat-widget [data-lola-resize=left]{cursor:w-resize}.bridge-ai-chat-widget [data-lola-resize=corner]{cursor:nwse-resize}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}';
|
|
8652
|
-
var
|
|
8653
|
-
function
|
|
8654
|
-
var e =
|
|
8650
|
+
const Hl = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-xs:4px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-preview{border-style:var(--tw-border-style);border-width:5px;border-color:var(--color-blue-500);border-radius:3.40282e38px}.message{background:var(--chat-surface-agent);max-width:100%;color:var(--chat-text-primary);border:0;border-radius:17px;padding:7px 11px;font-size:14px;font-weight:400;line-height:20px;box-shadow:0 6px 18px #00000029}.chat-message-row[data-author=customer]>.message,.message[data-author=customer]{background:var(--chat-surface-customer)}.chat-message-row[data-author=agent]+.chat-message-row[data-author=agent],.chat-message-row[data-author=customer]+.chat-message-row[data-author=customer]{margin-top:-4px}.chat-message-content p+p{margin-top:8px}.chat-message-content strong{font-weight:650}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:8px 0 4px;font-weight:650;line-height:1.3}.chat-message-content h1,.chat-message-content h2{font-size:1.12em}.chat-message-content ul,.chat-message-content ol{margin:6px 0;padding-left:20px}.chat-message-content ul{list-style:outside}.chat-message-content ol{list-style:decimal}.chat-message-content blockquote{color:#f3f0f4c2;border-left:2px solid #68d8ff7a;margin:6px 0;padding-left:9px}.chat-message-content code{background:#ffffff17;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.chat-message-content pre{background:#0003;border:1px solid #ffffff14;border-radius:8px;max-width:100%;margin:7px 0;padding:8px;overflow-x:auto}.chat-message-content pre code{background:0 0;padding:0}.chat-message-link{color:var(--chat-accent-cyan);text-underline-offset:2px;-webkit-text-decoration:underline #68d8ff61;text-decoration:underline #68d8ff61}.chat-message-link:hover{text-decoration-color:currentColor}.chat-message-link:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px;border-radius:2px}.chat-citation{vertical-align:super;margin-left:1px;font-size:.72em;line-height:0}.chat-citation .chat-message-link{text-decoration:none}.chat-icon-button{color:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f157a;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-icon-button:hover{color:var(--chat-accent-cyan);background:#141921c7;border-color:#68d8ff57}.chat-icon-button:active{transform:scale(.96)}.chat-icon-button:focus-visible,.chat-launcher:focus-visible,.chat-composer-button:focus-visible,.chat-send-button:focus-visible,.chat-microphone-button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}[data-lola-widget-shell]{backface-visibility:hidden;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 100%;transition:visibility 0s linear .2s,opacity .13s ease-in,transform .2s cubic-bezier(.4,0,.7,.2);transform:translateY(10px)scale(.985);box-shadow:0 24px 64px #00000052,0 8px 24px #0003}[data-lola-widget-shell][data-state=open]{visibility:visible;opacity:1;pointer-events:auto;transition:visibility,opacity .15s ease-out,transform .28s cubic-bezier(.16,1,.3,1);transition-timing-function:linear,ease-out,var(--chat-route-enter-easing);transform:translate(0)scale(1)}[data-lola-widget-shell][data-layout=fullscreen]{width:100vw;height:100vh}@supports (width:100dvw) and (height:100dvh){[data-lola-widget-shell][data-layout=fullscreen]{width:100dvw;height:100dvh}}[data-lola-widget-shell][data-layout=fullscreen] .chat-widget-panel{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.chat-widget-panel{transform:translateZ(0)}.chat-launcher{visibility:visible;opacity:1;transition:visibility,opacity .14s ease-out,transform .18s ease-out;transform:translateZ(0)scale(1)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .16s,opacity .12s ease-in,transform .16s ease-in;transform:translateZ(0)scale(.88)}.chat-launcher{color:#fff;cursor:grab;isolation:isolate;touch-action:none;background:#090f16e0;border:0;border-radius:9999px;place-items:center;padding:3px;display:grid}.chat-launcher:active{cursor:grabbing}.chat-launcher__portrait{z-index:2;border:3px solid var(--chat-accent-cyan);background:radial-gradient(circle at 50% 35%,#3d4c5d,#0c1219 72%);border-radius:9999px;width:46px;height:46px;animation:2.8s ease-in-out infinite lola-launcher-breathe;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 13px #68d8ffa3,0 0 30px #45bdff42}.chat-launcher__portrait img{object-fit:cover;object-position:50% 20%;-webkit-user-select:none;user-select:none;width:100%;height:100%;transform:scale(1.22)translateY(6%)}.chat-launcher__aura{z-index:1;filter:blur(7px);opacity:.7;background:conic-gradient(from 45deg,#68d8ff47,#775cff14,#68d8ff5c,#775cff14,#68d8ff47);border:1px solid #68d8ff61;border-radius:9999px;animation:3.6s ease-in-out infinite lola-launcher-aura;position:absolute;inset:-7px}.chat-widget-resize-corner:after{content:"";border-top:2px solid #68d8ffc2;border-left:2px solid #68d8ffc2;border-radius:3px 0 0;width:8px;height:8px;position:absolute;top:5px;left:5px}.chat-widget-resize-corner-mobile:after{content:"";border-bottom:2px solid #68d8ffc2;border-right:2px solid #68d8ffc2;border-radius:0 0 4px;width:14px;height:14px;position:absolute;bottom:10px;right:10px}.bridge-ai-chat-widget[data-mobile=true] .chat-icon-button{width:48px;height:48px}@keyframes lola-launcher-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes lola-launcher-aura{0%,to{opacity:.48;transform:scale(.94)rotate(0)}50%{opacity:.82;transform:scale(1.08)rotate(18deg)}}.chat-composer{background:linear-gradient(145deg,#1d142af0,#0a0f16f5);border:0;border-radius:22px;min-height:42px;box-shadow:0 12px 34px #0000004d,0 0 0 1px #b564ff29,inset 0 1px #ffffff12}.chat-composer:focus-within{box-shadow:0 12px 34px #0000004d,0 0 0 1px #68d8ff57,0 0 24px #68d8ff14,inset 0 1px #ffffff14}.chat-composer-button{background:var(--chat-surface-customer);border-radius:15px;box-shadow:0 4px 14px #00000024}.chat-composer-button:hover{background:#684b6c}.chat-talk-button{box-shadow:none;background:0 0;border-radius:0;transition:none;transform:translateZ(0)}.chat-composer-button.chat-talk-button:hover{background:0 0}.chat-talk-button__surface{background:var(--chat-surface-customer);pointer-events:none;transform-origin:0;border-radius:15px;height:32px;transition:opacity .1s ease-out,transform .22s cubic-bezier(.16,1,.3,1),background-color .15s ease-out;position:absolute;top:0;left:0;box-shadow:0 4px 14px #00000024}.chat-talk-button:hover .chat-talk-button__surface{background:#684b6c}.chat-talk-button__surface_expanded{opacity:1;width:80px;transform:translateZ(0)scaleX(1)}.chat-talk-button__surface_compact{opacity:0;width:32px;transform:translateZ(0)scale(.88)}.chat-talk-button[data-compact=true] .chat-talk-button__surface_expanded{opacity:0;transform:translateZ(0)scaleX(.4)}.chat-talk-button[data-compact=true] .chat-talk-button__surface_compact{opacity:1;transform:translateZ(0)scale(1)}.chat-talk-button__icon{z-index:1;transition:transform .22s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:18px;transform:translateY(-50%)}.chat-talk-button[data-compact=true] .chat-talk-button__icon{transform:translate(-9px,-50%)}.chat-talk-button__label{z-index:1;opacity:1;transition:opacity 90ms ease-out,transform .18s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:38px;transform:translateY(-50%)}.chat-talk-button[data-compact=true] .chat-talk-button__label{opacity:0;transform:translate(-6px,-50%)}.chat-composer-main{clip-path:inset(-4px 0 -4px -4px)}.chat-composer-input-motion{transition:transform .22s cubic-bezier(.16,1,.3,1);transform:translate(0)}.chat-composer-input-motion[data-talk-offset=true]{transform:translate(48px)}.chat-send-button{background:var(--chat-accent-lime);color:#081207;border-radius:9999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;transition:filter .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 6px 18px #d7ff6438}.chat-send-button:hover:not(:disabled){filter:brightness(1.08)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{box-shadow:none;color:#ffffff3d;background:#ffffff13}.chat-cta-primary,.chat-cta-secondary{border-radius:9999px;padding:7px 12px;font-size:12px;font-weight:600;line-height:16px;transition:background-color .16s,border-color .16s,transform .16s}.chat-cta-primary{background:var(--chat-accent-lime);color:#081207;border:0;box-shadow:0 6px 18px #d7ff642e}.chat-cta-primary:hover{filter:brightness(1.07)}.chat-cta-secondary{color:#ffffffb8;background:#fff1;border:1px solid #ffffff1f}.chat-cta-secondary:hover{background:#68d8ff14;border-color:#68d8ff47}.chat-voice-card{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#0d1016c7;border:1px solid #ffffff1c;border-radius:20px;box-shadow:0 12px 36px #0000003d}.chat-microphone-button{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1016a6;border:1px solid #ffffff21;border-radius:9999px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .16s,border-color .16s,background-color .16s;display:flex;position:relative;box-shadow:0 12px 32px #0000003d,inset 0 1px #ffffff0f}.chat-microphone-button:hover{border-color:#68d8ff6b;transform:translateY(-1px)}.chat-microphone-button_active{background:#68d8ff2e;border-color:#68d8ff75;box-shadow:0 12px 32px #0000003d,0 0 0 6px #68d8ff0f}.chat-list-surface{background:radial-gradient(circle at 92% 0,#68d8ff1a,#0000 26%),radial-gradient(circle at 8% 0,#ef6b7f1a,#0000 28%),#0d1016;box-shadow:inset 0 1px #ffffff0d}.chat-list-item_selected{background:linear-gradient(100deg,#70265757,#14475e47);box-shadow:inset 0 1px #ffffff0d}.chat-list-entry{content-visibility:auto;contain-intrinsic-block-size:64px}.chat-route-stage{border-radius:inherit;isolation:isolate;overflow:hidden}.chat-route-page{border-radius:inherit;height:100%;position:absolute;inset:0;overflow:hidden}.chat-route-page_background{z-index:1}.chat-route-pane{z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.chat-route-pane_exit{pointer-events:none}.chat-route-pane .chat-list-entry{content-visibility:visible}.chat-route-pane_enter.chat-route-pane_forward{animation:.3s cubic-bezier(.16,1,.3,1) both chat-route-forward-enter;animation-timing-function:var(--chat-route-enter-easing)}.chat-route-pane_exit.chat-route-pane_backward{animation:.24s cubic-bezier(.4,0,.7,.2) both chat-route-backward-exit}@keyframes chat-route-forward-enter{0%{opacity:.88;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes chat-route-backward-exit{0%{opacity:1;transform:translate(0)}to{opacity:.94;transform:translate(100%)}}.chat-message-skeleton{justify-content:flex-end;min-height:min(420px,62vh)}.chat-message-skeleton-bubble{animation:1.2s ease-in-out infinite alternate chat-message-skeleton-pulse;animation-delay:var(--chat-skeleton-delay);will-change:opacity;position:relative;overflow:hidden}.chat-message-skeleton-bubble:after{content:"";pointer-events:none;animation:1.45s cubic-bezier(.4,0,.2,1) infinite chat-message-skeleton-shimmer;animation-delay:var(--chat-skeleton-delay);will-change:transform;background:linear-gradient(105deg,#0000 24%,#ffffff16,#0000 72%);position:absolute;inset:-1px;transform:translate(-125%)}.chat-avatar-ring{background:linear-gradient(145deg,var(--chat-accent-cherry),var(--chat-accent-cyan));border-radius:9999px;padding:1px;display:inline-flex;box-shadow:0 4px 14px #0003}.chat-scrollbar{overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-y}.chat-scrollbar:hover{scrollbar-color:#ffffff38 transparent}.chat-scrollbar::-webkit-scrollbar{width:4px;height:4px}.chat-scrollbar::-webkit-scrollbar-track{background:0 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:0 0;border-radius:9999px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:#ffffff38}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.chat-pending-assistant-message{transform-origin:0 100%;animation:.22s cubic-bezier(.22,1,.36,1) both chat-pending-assistant-message-in}.chat-typing-indicator{align-items:center;gap:5px;display:flex}.chat-typing-indicator__dot{background-color:var(--chat-accent-cyan);opacity:.38;border-radius:50%;width:7px;height:7px;animation:1.2s cubic-bezier(.45,0,.55,1) infinite both chat-typing-dot;transform:translateY(0)scale(.82)}.chat-typing-indicator__dot_left{animation-delay:0s}.chat-typing-indicator__dot_center{animation-delay:.14s}.chat-typing-indicator__dot_right{animation-delay:.28s}.chat-stream-fragment{animation:.12s cubic-bezier(.22,1,.36,1) both chat-stream-fragment-in}@keyframes chat-stream-fragment-in{0%{opacity:.15}to{opacity:1}}@keyframes chat-message-skeleton-pulse{0%{opacity:.58}to{opacity:1}}@keyframes chat-message-skeleton-shimmer{to{transform:translate(125%)}}@media(prefers-reduced-motion:reduce){[data-lola-widget-shell],.chat-widget-panel,.chat-launcher,.chat-talk-button,.chat-talk-button__surface,.chat-talk-button__icon,.chat-talk-button__label,.chat-composer-input-motion{transition:none}.chat-launcher__portrait,.chat-launcher__aura,.chat-pending-assistant-message,.chat-typing-indicator__dot{animation:none}.chat-route-pane{animation-duration:1ms!important}.chat-typing-indicator__dot{opacity:.72;transform:none}.chat-stream-fragment{animation:none}.chat-message-skeleton-bubble{opacity:.82;will-change:auto;animation:none}.chat-message-skeleton-bubble:after{will-change:auto;animation:none;display:none}}@keyframes chat-pending-assistant-message-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chat-typing-dot{0%,60%,to{opacity:.38;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-3px)scale(1.05)}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-0\\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-5{top:calc(var(--spacing)*5)}.-right-0\\.5{right:calc(var(--spacing)*-.5)}.right-0{right:calc(var(--spacing)*0)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-5{bottom:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.left-5{left:calc(var(--spacing)*5)}.z-0{z-index:0}.z-1{z-index:1}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-51{z-index:51}.z-\\[9999999\\]{z-index:9999999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.ml-2{margin-left:calc(var(--spacing)*2)}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-fit{height:fit-content}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-\\[48\\%\\]{width:48%}.w-\\[52\\%\\]{width:52%}.w-\\[56\\%\\]{width:56%}.w-\\[58\\%\\]{width:58%}.w-\\[62\\%\\]{width:62%}.w-\\[64\\%\\]{width:64%}.w-\\[66\\%\\]{width:66%}.w-\\[70\\%\\]{width:70%}.w-\\[72\\%\\]{width:72%}.w-\\[74\\%\\]{width:74%}.w-\\[78\\%\\]{width:78%}.w-\\[80px\\]{width:80px}.w-\\[86\\%\\]{width:86%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-8{max-width:calc(var(--spacing)*8)}.max-w-70{max-width:calc(var(--spacing)*70)}.max-w-\\[86\\%\\]{max-width:86%}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-n-resize{cursor:n-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-w-resize{cursor:w-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-\\[3px\\]{gap:3px}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\\[17px\\]{border-radius:17px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-br-\\[5px\\]{border-bottom-right-radius:5px}.rounded-bl-\\[5px\\]{border-bottom-left-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#68d8ff\\]\\/10{border-color:#68d8ff1a}.border-\\[\\#68d8ff\\]\\/65{border-color:#68d8ffa6}.border-white\\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/16{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.border-white\\/16{border-color:color-mix(in oklab,var(--color-white)16%,transparent)}}.border-white\\/\\[0\\.06\\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-\\[\\#5b405f\\]\\/70{background-color:#5b405fb3}.bg-\\[\\#68d8ff\\]{background-color:#68d8ff}.bg-\\[\\#68d8ff\\]\\/12{background-color:#68d8ff1f}.bg-\\[\\#68d8ff\\]\\/\\[0\\.13\\]{background-color:#68d8ff21}.bg-\\[\\#090b10\\]\\/58{background-color:#090b1094}.bg-\\[\\#17131b\\]{background-color:#17131b}.bg-\\[\\#111319\\]{background-color:#111319}.bg-\\[\\#ef6b7f\\]{background-color:#ef6b7f}.bg-\\[var\\(--chat-surface-agent\\)\\]{background-color:var(--chat-surface-agent)}.bg-black{background-color:var(--color-black)}.bg-black\\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\\/8{background-color:color-mix(in oklab,var(--color-black)8%,transparent)}}.bg-black\\/28{background-color:#00000047}@supports (color:color-mix(in lab,red,red)){.bg-black\\/28{background-color:color-mix(in oklab,var(--color-black)28%,transparent)}}.bg-black\\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\\/35{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.bg-current{background-color:currentColor}.bg-transparent{background-color:#0000}.bg-white\\/\\[0\\.11\\]{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.11\\]{background-color:color-mix(in oklab,var(--color-white)11%,transparent)}}.bg-\\[linear-gradient\\(to_bottom\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_0\\%\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_20\\%\\,rgba\\(0\\,0\\,0\\,0\\.2\\)_60\\%\\,rgba\\(0\\,0\\,0\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#000000b3 0% 20%,#0003 60%,#0000)}.bg-\\[linear-gradient\\(to_top\\,rgba\\(8\\,10\\,15\\,0\\.78\\)_0\\%\\,rgba\\(8\\,10\\,15\\,0\\.42\\)_42\\%\\,rgba\\(8\\,10\\,15\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#080a0f00,#080a0f6b 58%,#080a0fc7)}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-3{padding-top:calc(var(--spacing)*3)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.005em\\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#68d8ff\\]{color:#68d8ff}.text-red-200{color:var(--color-red-200)}.text-white{color:var(--color-white)}.text-white\\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\\/42{color:color-mix(in oklab,var(--color-white)42%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\\[\\#111319\\]{outline-color:#111319}.outline-black\\/9{outline-color:#00000017}@supports (color:color-mix(in lab,red,red)){.outline-black\\/9{outline-color:color-mix(in oklab,var(--color-black)9%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,transform\\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.outline-none{--tw-outline-style:none;outline-style:none}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:hidden:is(:where(.group):hover *){display:none}.group-hover\\:opacity-70:is(:where(.group):hover *){opacity:.7}}.group-aria-\\[current\\=page\\]\\:opacity-100:is(:where(.group)[aria-current=page] *){opacity:1}.placeholder\\:text-white\\/38::placeholder{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/38::placeholder{color:color-mix(in oklab,var(--color-white)38%,transparent)}}@media(hover:hover){.hover\\:bg-white\\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/6:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}}.active\\:scale-\\[0\\.992\\]:active{scale:.992}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-white\\/8:active{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.active\\:bg-white\\/8:active{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.data-disabled\\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\\:opacity-45[data-disabled]{opacity:.45}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-hover\\:border-\\[\\#68d8ff\\]\\/55[data-hover]{border-color:#68d8ff8c}.data-hover\\:bg-white\\/10[data-hover]{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.data-hover\\:bg-white\\/10[data-hover]{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\\:transition-none{transition-property:none}.motion-reduce\\:delay-0{--tw-animation-delay:0s;transition-delay:0s;animation-delay:0s}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.bridge-ai-chat-widget{--radius:.625rem;--chat-accent-cherry:#ef6b7f;--chat-accent-cyan:#68d8ff;--chat-accent-lime:#d7ff64;--chat-surface-agent:#1a191bd1;--chat-surface-customer:#5b405f;--chat-text-primary:#f3f0f4;--chat-route-enter-easing:linear(0,.062 5%,.192 10%,.338 15%,.477 20%,.596 25%,.694 30%,.771 35%,.831 40%,.877 45%,.911 50%,.937 55%,.955 60%,.969 65%,.979 70%,.986 75%,.991 80%,.994 85%,.997 90%,.999 95%,1);color-scheme:dark;font-synthesis:none;letter-spacing:-.006em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InterVariable,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bridge-ai-chat-widget button,.bridge-ai-chat-widget textarea{font-family:inherit}.bridge-ai-chat-widget :where(button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href]){cursor:pointer}.bridge-ai-chat-widget button:disabled{cursor:not-allowed}.bridge-ai-chat-widget .chat-launcher,.bridge-ai-chat-widget [data-lola-drag-handle]{cursor:grab}.bridge-ai-chat-widget .chat-launcher:active,.bridge-ai-chat-widget [data-lola-drag-handle]:active{cursor:grabbing}.bridge-ai-chat-widget [data-lola-resize=top]{cursor:n-resize}.bridge-ai-chat-widget [data-lola-resize=left]{cursor:w-resize}.bridge-ai-chat-widget [data-lola-resize=corner]{cursor:nwse-resize}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}';
|
|
8651
|
+
var _l = typeof global == "object" && global && global.Object === Object && global, jl = typeof self == "object" && self && self.Object === Object && self, Ai = _l || jl || Function("return this")(), Rt = Ai.Symbol, xi = Object.prototype, Yl = xi.hasOwnProperty, Kl = xi.toString, _e = Rt ? Rt.toStringTag : void 0;
|
|
8652
|
+
function ql(n) {
|
|
8653
|
+
var e = Yl.call(n, _e), t = n[_e];
|
|
8655
8654
|
try {
|
|
8656
8655
|
n[_e] = void 0;
|
|
8657
8656
|
var r = !0;
|
|
8658
8657
|
} catch {
|
|
8659
8658
|
}
|
|
8660
|
-
var i =
|
|
8659
|
+
var i = Kl.call(n);
|
|
8661
8660
|
return r && (e ? n[_e] = t : delete n[_e]), i;
|
|
8662
8661
|
}
|
|
8663
|
-
var
|
|
8664
|
-
function
|
|
8665
|
-
return
|
|
8666
|
-
}
|
|
8667
|
-
var $l = "[object Null]", ed = "[object Undefined]", fr = Rt ? Rt.toStringTag : void 0;
|
|
8668
|
-
function td(n) {
|
|
8669
|
-
return n == null ? n === void 0 ? ed : $l : fr && fr in Object(n) ? Kl(n) : Ql(n);
|
|
8662
|
+
var Jl = Object.prototype, Ql = Jl.toString;
|
|
8663
|
+
function $l(n) {
|
|
8664
|
+
return Ql.call(n);
|
|
8670
8665
|
}
|
|
8666
|
+
var ed = "[object Null]", td = "[object Undefined]", fr = Rt ? Rt.toStringTag : void 0;
|
|
8671
8667
|
function nd(n) {
|
|
8668
|
+
return n == null ? n === void 0 ? td : ed : fr && fr in Object(n) ? ql(n) : $l(n);
|
|
8669
|
+
}
|
|
8670
|
+
function rd(n) {
|
|
8672
8671
|
return n != null && typeof n == "object";
|
|
8673
8672
|
}
|
|
8674
|
-
var
|
|
8675
|
-
function
|
|
8676
|
-
return typeof n == "symbol" ||
|
|
8673
|
+
var id = "[object Symbol]";
|
|
8674
|
+
function sd(n) {
|
|
8675
|
+
return typeof n == "symbol" || rd(n) && nd(n) == id;
|
|
8677
8676
|
}
|
|
8678
|
-
var
|
|
8679
|
-
function
|
|
8680
|
-
for (var e = n.length; e-- &&
|
|
8677
|
+
var od = /\s/;
|
|
8678
|
+
function ad(n) {
|
|
8679
|
+
for (var e = n.length; e-- && od.test(n.charAt(e)); )
|
|
8681
8680
|
;
|
|
8682
8681
|
return e;
|
|
8683
8682
|
}
|
|
8684
|
-
var
|
|
8685
|
-
function
|
|
8686
|
-
return n && n.slice(0,
|
|
8683
|
+
var cd = /^\s+/;
|
|
8684
|
+
function ld(n) {
|
|
8685
|
+
return n && n.slice(0, ad(n) + 1).replace(cd, "");
|
|
8687
8686
|
}
|
|
8688
8687
|
function hn(n) {
|
|
8689
8688
|
var e = typeof n;
|
|
8690
8689
|
return n != null && (e == "object" || e == "function");
|
|
8691
8690
|
}
|
|
8692
|
-
var gr = NaN,
|
|
8691
|
+
var gr = NaN, dd = /^[-+]0x[0-9a-f]+$/i, ud = /^0b[01]+$/i, hd = /^0o[0-7]+$/i, pd = parseInt;
|
|
8693
8692
|
function mr(n) {
|
|
8694
8693
|
if (typeof n == "number")
|
|
8695
8694
|
return n;
|
|
8696
|
-
if (
|
|
8695
|
+
if (sd(n))
|
|
8697
8696
|
return gr;
|
|
8698
8697
|
if (hn(n)) {
|
|
8699
8698
|
var e = typeof n.valueOf == "function" ? n.valueOf() : n;
|
|
@@ -8701,18 +8700,18 @@ function mr(n) {
|
|
|
8701
8700
|
}
|
|
8702
8701
|
if (typeof n != "string")
|
|
8703
8702
|
return n === 0 ? n : +n;
|
|
8704
|
-
n =
|
|
8705
|
-
var t =
|
|
8706
|
-
return t ||
|
|
8703
|
+
n = ld(n);
|
|
8704
|
+
var t = ud.test(n);
|
|
8705
|
+
return t || hd.test(n) ? pd(n.slice(2), t ? 2 : 8) : dd.test(n) ? gr : +n;
|
|
8707
8706
|
}
|
|
8708
8707
|
var qt = function() {
|
|
8709
8708
|
return Ai.Date.now();
|
|
8710
|
-
},
|
|
8711
|
-
function
|
|
8709
|
+
}, fd = "Expected a function", gd = Math.max, md = Math.min;
|
|
8710
|
+
function bd(n, e, t) {
|
|
8712
8711
|
var r, i, s, o, a, c, l = 0, d = !1, u = !1, p = !0;
|
|
8713
8712
|
if (typeof n != "function")
|
|
8714
|
-
throw new TypeError(
|
|
8715
|
-
e = mr(e) || 0, hn(t) && (d = !0, u = "maxWait" in t, s = u ?
|
|
8713
|
+
throw new TypeError(fd);
|
|
8714
|
+
e = mr(e) || 0, hn(t) && (d = !0, u = "maxWait" in t, s = u ? gd(mr(t.maxWait) || 0, e) : s, p = "trailing" in t ? !!t.trailing : p);
|
|
8716
8715
|
function h(k) {
|
|
8717
8716
|
var T = r, B = i;
|
|
8718
8717
|
return r = i = void 0, l = k, o = n.apply(B, T), o;
|
|
@@ -8722,7 +8721,7 @@ function md(n, e, t) {
|
|
|
8722
8721
|
}
|
|
8723
8722
|
function b(k) {
|
|
8724
8723
|
var T = k - c, B = k - l, D = e - T;
|
|
8725
|
-
return u ?
|
|
8724
|
+
return u ? md(D, s - B) : D;
|
|
8726
8725
|
}
|
|
8727
8726
|
function w(k) {
|
|
8728
8727
|
var T = k - c, B = k - l;
|
|
@@ -8760,13 +8759,13 @@ class O extends Error {
|
|
|
8760
8759
|
super(e, r), this.code = e, this.status = t;
|
|
8761
8760
|
}
|
|
8762
8761
|
}
|
|
8763
|
-
const
|
|
8762
|
+
const wd = /^[a-zA-Z0-9_.:-]{1,200}$/, yd = /* @__PURE__ */ new Set([
|
|
8764
8763
|
"button",
|
|
8765
8764
|
"element",
|
|
8766
8765
|
"modal",
|
|
8767
8766
|
"page"
|
|
8768
8767
|
]);
|
|
8769
|
-
class
|
|
8768
|
+
class Id {
|
|
8770
8769
|
targets = /* @__PURE__ */ new Map();
|
|
8771
8770
|
handlers = {};
|
|
8772
8771
|
constructor(e = {}, t = {}) {
|
|
@@ -8898,7 +8897,7 @@ class yd {
|
|
|
8898
8897
|
});
|
|
8899
8898
|
}
|
|
8900
8899
|
assertLegacyTarget(e) {
|
|
8901
|
-
if (!e || typeof e != "object" || !
|
|
8900
|
+
if (!e || typeof e != "object" || !yd.has(e.kind))
|
|
8902
8901
|
throw new O("TARGET_INVALID");
|
|
8903
8902
|
for (const t of [
|
|
8904
8903
|
e.selector,
|
|
@@ -8953,11 +8952,11 @@ class yd {
|
|
|
8953
8952
|
return e.trim();
|
|
8954
8953
|
}
|
|
8955
8954
|
assertTargetCode(e) {
|
|
8956
|
-
if (!
|
|
8955
|
+
if (!wd.test(e))
|
|
8957
8956
|
throw new O("TARGET_INVALID");
|
|
8958
8957
|
}
|
|
8959
8958
|
}
|
|
8960
|
-
const
|
|
8959
|
+
const Cd = [
|
|
8961
8960
|
"show_assistant",
|
|
8962
8961
|
"hide_assistant",
|
|
8963
8962
|
"open_chat",
|
|
@@ -8975,10 +8974,10 @@ const Id = [
|
|
|
8975
8974
|
"failed",
|
|
8976
8975
|
"expired",
|
|
8977
8976
|
"unsupported"
|
|
8978
|
-
]),
|
|
8979
|
-
class
|
|
8977
|
+
]), vd = 600 * 1e3, Ad = /^[a-zA-Z0-9_.:-]{1,200}$/, Jt = "rgba(167, 139, 250, 0.82)", xd = "rgba(196, 181, 253, 1)", Qt = "0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 0 4px rgba(139, 92, 246, 0.12), 0 0 18px 2px rgba(124, 58, 237, 0.28), inset 0 0 12px rgba(139, 92, 246, 0.06)", Sd = "0 0 0 1px rgba(255, 255, 255, 0.28), 0 0 0 5px rgba(139, 92, 246, 0.2), 0 0 26px 4px rgba(124, 58, 237, 0.5), inset 0 0 14px rgba(139, 92, 246, 0.12)";
|
|
8978
|
+
class kd {
|
|
8980
8979
|
constructor(e = {}, t = {}, r) {
|
|
8981
|
-
this.onStatus = r, this.uiCommands = new
|
|
8980
|
+
this.onStatus = r, this.uiCommands = new Id(e, t), this.internalHandlersReady = new Promise((i) => {
|
|
8982
8981
|
this.resolveInternalHandlers = i;
|
|
8983
8982
|
});
|
|
8984
8983
|
}
|
|
@@ -9082,7 +9081,7 @@ class Sd {
|
|
|
9082
9081
|
);
|
|
9083
9082
|
return;
|
|
9084
9083
|
}
|
|
9085
|
-
if (!
|
|
9084
|
+
if (!Cd.includes(s)) {
|
|
9086
9085
|
await this.finish(
|
|
9087
9086
|
{ commandId: i, status: "unsupported", errorCode: "COMMAND_UNSUPPORTED" },
|
|
9088
9087
|
t,
|
|
@@ -9276,7 +9275,7 @@ class Sd {
|
|
|
9276
9275
|
}
|
|
9277
9276
|
requireTarget(e, t) {
|
|
9278
9277
|
const r = e && typeof e == "object" ? e.code ?? e.id : e, i = this.requireString(r, "TARGET_INVALID");
|
|
9279
|
-
if (!
|
|
9278
|
+
if (!Ad.test(i))
|
|
9280
9279
|
throw new O("TARGET_INVALID");
|
|
9281
9280
|
const s = this.uiCommands.getTarget(i);
|
|
9282
9281
|
if (s && !t.includes(s.kind))
|
|
@@ -9341,8 +9340,8 @@ class Sd {
|
|
|
9341
9340
|
boxShadow: Qt
|
|
9342
9341
|
},
|
|
9343
9342
|
{
|
|
9344
|
-
borderColor:
|
|
9345
|
-
boxShadow:
|
|
9343
|
+
borderColor: xd,
|
|
9344
|
+
boxShadow: Sd
|
|
9346
9345
|
},
|
|
9347
9346
|
{
|
|
9348
9347
|
borderColor: Jt,
|
|
@@ -9384,7 +9383,7 @@ class Sd {
|
|
|
9384
9383
|
async finish(e, t, r, i) {
|
|
9385
9384
|
br.has(e.status) && (this.completed.set(e.commandId, {
|
|
9386
9385
|
...e,
|
|
9387
|
-
storedUntil: Date.now() +
|
|
9386
|
+
storedUntil: Date.now() + vd
|
|
9388
9387
|
}), this.saveCompleted(t)), this.onStatus?.({ ...e, commandType: i }), await r(e);
|
|
9389
9388
|
}
|
|
9390
9389
|
storageKey(e) {
|
|
@@ -9419,8 +9418,8 @@ class Sd {
|
|
|
9419
9418
|
};
|
|
9420
9419
|
}
|
|
9421
9420
|
}
|
|
9422
|
-
const wr = Uo, yr = 3e4,
|
|
9423
|
-
class
|
|
9421
|
+
const wr = Uo, yr = 3e4, Ed = 300 * 1e3, Rd = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
9422
|
+
class qd extends EventTarget {
|
|
9424
9423
|
root = null;
|
|
9425
9424
|
hostElement;
|
|
9426
9425
|
shadowRoot;
|
|
@@ -9436,18 +9435,18 @@ class Kd extends EventTarget {
|
|
|
9436
9435
|
resolveAssetPath;
|
|
9437
9436
|
setSessionImpl = null;
|
|
9438
9437
|
commandRuntime;
|
|
9439
|
-
onSessionExpired =
|
|
9438
|
+
onSessionExpired = bd(
|
|
9440
9439
|
() => {
|
|
9441
9440
|
this.destroyed || this.dispatchEvent(new CustomEvent("renew_session"));
|
|
9442
9441
|
},
|
|
9443
|
-
|
|
9442
|
+
Ed,
|
|
9444
9443
|
{ leading: !0 }
|
|
9445
9444
|
);
|
|
9446
9445
|
addEventListener(e, t, r) {
|
|
9447
9446
|
super.addEventListener(e, t, r);
|
|
9448
9447
|
}
|
|
9449
9448
|
constructor(e) {
|
|
9450
|
-
if (super(), this.validateCustomerInteractionSession(e.customerInteractionSession), this.config = e, this.commandRuntime = new
|
|
9449
|
+
if (super(), this.validateCustomerInteractionSession(e.customerInteractionSession), this.config = e, this.commandRuntime = new kd(
|
|
9451
9450
|
{},
|
|
9452
9451
|
e.handlers,
|
|
9453
9452
|
this.onCommandStatus
|
|
@@ -9482,7 +9481,7 @@ class Kd extends EventTarget {
|
|
|
9482
9481
|
},
|
|
9483
9482
|
commandRuntime: this.commandRuntime
|
|
9484
9483
|
};
|
|
9485
|
-
this.destroyed || (this.root =
|
|
9484
|
+
this.destroyed || (this.root = Fl(e, this.config, s));
|
|
9486
9485
|
}
|
|
9487
9486
|
onAvatarReady = (e) => {
|
|
9488
9487
|
if (!this.destroyed) {
|
|
@@ -9562,7 +9561,7 @@ class Kd extends EventTarget {
|
|
|
9562
9561
|
};
|
|
9563
9562
|
injectStyles(e) {
|
|
9564
9563
|
const t = document.createElement("style");
|
|
9565
|
-
t.textContent =
|
|
9564
|
+
t.textContent = Hl, e.appendChild(t);
|
|
9566
9565
|
}
|
|
9567
9566
|
validateCustomerInteractionSession(e) {
|
|
9568
9567
|
if (!e?.accessToken?.trim())
|
|
@@ -9573,7 +9572,7 @@ class Kd extends EventTarget {
|
|
|
9573
9572
|
throw new Error(
|
|
9574
9573
|
"ChatWidget: customerInteractionSession.interactionSessionId is invalid"
|
|
9575
9574
|
);
|
|
9576
|
-
if (!
|
|
9575
|
+
if (!Rd.test(e.expiresAt) || !Number.isFinite(Date.parse(e.expiresAt)))
|
|
9577
9576
|
throw new Error(
|
|
9578
9577
|
"ChatWidget: customerInteractionSession.expiresAt is invalid"
|
|
9579
9578
|
);
|
|
@@ -9594,38 +9593,40 @@ class Kd extends EventTarget {
|
|
|
9594
9593
|
}
|
|
9595
9594
|
}
|
|
9596
9595
|
export {
|
|
9597
|
-
|
|
9596
|
+
Vd as A,
|
|
9598
9597
|
L as B,
|
|
9599
9598
|
ie as C,
|
|
9600
|
-
|
|
9599
|
+
qd as D,
|
|
9600
|
+
Oa as E,
|
|
9601
|
+
Pa as F,
|
|
9601
9602
|
K as M,
|
|
9602
9603
|
Ie as N,
|
|
9603
9604
|
me as P,
|
|
9604
|
-
|
|
9605
|
+
Gd as R,
|
|
9605
9606
|
Nt as a,
|
|
9606
9607
|
Ea as b,
|
|
9607
|
-
|
|
9608
|
+
Kd as c,
|
|
9608
9609
|
yt as d,
|
|
9609
9610
|
Zt as e,
|
|
9610
9611
|
ca as f,
|
|
9611
|
-
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
|
|
9616
|
-
|
|
9617
|
-
|
|
9612
|
+
Fd as g,
|
|
9613
|
+
Al as h,
|
|
9614
|
+
Xd as i,
|
|
9615
|
+
zd as j,
|
|
9616
|
+
Wd as k,
|
|
9617
|
+
Zd as l,
|
|
9618
|
+
Ud as m,
|
|
9618
9619
|
ia as n,
|
|
9619
|
-
|
|
9620
|
+
Bd as o,
|
|
9620
9621
|
le as p,
|
|
9621
|
-
|
|
9622
|
+
_d as q,
|
|
9622
9623
|
Ra as r,
|
|
9623
9624
|
vi as s,
|
|
9624
|
-
|
|
9625
|
+
Ld as t,
|
|
9625
9626
|
Tn as u,
|
|
9626
|
-
|
|
9627
|
-
|
|
9628
|
-
|
|
9627
|
+
Dd as v,
|
|
9628
|
+
Hd as w,
|
|
9629
|
+
jd as x,
|
|
9629
9630
|
nn as y,
|
|
9630
9631
|
ks as z
|
|
9631
9632
|
};
|