@enegelai/bot-widget 1.16.5 → 1.16.6
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/enegelaibot.umd.js +258 -234
- package/dist/index.es.js +563 -501
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { css as J, LitElement as Fe, html as u, nothing as Ae, svg as
|
|
2
|
-
import { property as x, customElement as
|
|
1
|
+
import { css as J, LitElement as Fe, html as u, nothing as Ae, svg as pe } from "lit";
|
|
2
|
+
import { property as x, customElement as Z, query as xe, state as Ha, queryAll as Va, eventOptions as sa } from "lit/decorators.js";
|
|
3
3
|
import { when as W } from "lit/directives/when.js";
|
|
4
|
-
import { unsafeHTML as
|
|
5
|
-
import { registerIconLibrary as
|
|
4
|
+
import { unsafeHTML as G } from "lit-html/directives/unsafe-html.js";
|
|
5
|
+
import { registerIconLibrary as Bi } from "@shoelace-style/shoelace";
|
|
6
6
|
import "@shoelace-style/shoelace/dist/components/button/button.js";
|
|
7
7
|
import "@shoelace-style/shoelace/dist/components/avatar/avatar.js";
|
|
8
8
|
import "@shoelace-style/shoelace/dist/components/input/input.js";
|
|
@@ -22,29 +22,29 @@ import "@shoelace-style/shoelace/dist/components/alert/alert.js";
|
|
|
22
22
|
import "@shoelace-style/shoelace/dist/components/progress-bar/progress-bar.js";
|
|
23
23
|
import "@shoelace-style/shoelace/dist/components/badge/badge.js";
|
|
24
24
|
import { repeat as et } from "lit/directives/repeat.js";
|
|
25
|
-
import { until as
|
|
25
|
+
import { until as Pt } from "lit-html/directives/until.js";
|
|
26
26
|
import qi from "markdown-it";
|
|
27
27
|
import Di from "markdown-it-link-attributes";
|
|
28
28
|
import Ut from "highlight.js";
|
|
29
29
|
import "@shoelace-style/shoelace/dist/components/popup/popup.js";
|
|
30
30
|
import "@shoelace-style/shoelace/dist/components/rating/rating.js";
|
|
31
31
|
import { createRef as Fi, ref as At } from "lit/directives/ref.js";
|
|
32
|
-
function
|
|
32
|
+
function Na(a) {
|
|
33
33
|
return typeof a == "function" ? a() : a;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
35
|
+
const Ht = class Ht extends Event {
|
|
36
36
|
/**
|
|
37
37
|
* @param {string} key of the state that has changed
|
|
38
38
|
* @param {unknown} value for the changed key
|
|
39
39
|
*/
|
|
40
40
|
constructor(e, t, i) {
|
|
41
|
-
super(
|
|
41
|
+
super(Ht.eventName, {
|
|
42
42
|
cancelable: !1
|
|
43
43
|
}), this.key = e, this.value = t, this.state = i;
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
|
|
47
|
-
let at =
|
|
46
|
+
Ht.eventName = "lit-state-changed";
|
|
47
|
+
let at = Ht;
|
|
48
48
|
const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends EventTarget {
|
|
49
49
|
static initPropertyMap() {
|
|
50
50
|
this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
|
|
@@ -58,7 +58,7 @@ const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends Even
|
|
|
58
58
|
constructor() {
|
|
59
59
|
super(), this.hookMap = /* @__PURE__ */ new Map(), this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([e, t]) => {
|
|
60
60
|
if (t.initialValue !== void 0) {
|
|
61
|
-
const i =
|
|
61
|
+
const i = Na(t.initialValue);
|
|
62
62
|
this[e] = i, t.value = i;
|
|
63
63
|
}
|
|
64
64
|
});
|
|
@@ -167,7 +167,7 @@ function ce(a) {
|
|
|
167
167
|
const s = `${a?.prefix || ""}_${a?.key || String(t)}`, r = e.constructor, o = r.propertyMap.get(t), f = o?.type;
|
|
168
168
|
if (o) {
|
|
169
169
|
const w = o.initialValue;
|
|
170
|
-
o.initialValue = () => Hi(localStorage.getItem(s), f) ??
|
|
170
|
+
o.initialValue = () => Hi(localStorage.getItem(s), f) ?? Na(w), r.propertyMap.set(t, { ...o, ...a });
|
|
171
171
|
}
|
|
172
172
|
const p = i?.set, k = {
|
|
173
173
|
...i,
|
|
@@ -178,15 +178,15 @@ function ce(a) {
|
|
|
178
178
|
Object.defineProperty(r.prototype, t, k);
|
|
179
179
|
};
|
|
180
180
|
}
|
|
181
|
-
function
|
|
181
|
+
function Ua(a) {
|
|
182
182
|
return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
|
|
183
183
|
}
|
|
184
|
-
var
|
|
185
|
-
function
|
|
184
|
+
var Lt = { exports: {} }, Ni = Lt.exports, ka;
|
|
185
|
+
function Ui() {
|
|
186
186
|
return ka || (ka = 1, (function(a) {
|
|
187
187
|
(function(e, t) {
|
|
188
188
|
a.exports ? a.exports = t() : e.log = t();
|
|
189
|
-
})(
|
|
189
|
+
})(Ni, function() {
|
|
190
190
|
var e = function() {
|
|
191
191
|
}, t = "undefined", i = typeof window !== t && typeof window.navigator !== t && /Trident\/|MSIE /.test(window.navigator.userAgent), s = [
|
|
192
192
|
"trace",
|
|
@@ -230,7 +230,7 @@ function Ni() {
|
|
|
230
230
|
return v(M) || w.apply(this, arguments);
|
|
231
231
|
}
|
|
232
232
|
function P(M, L) {
|
|
233
|
-
var C = this,
|
|
233
|
+
var C = this, K, U, X, te = "loglevel";
|
|
234
234
|
typeof M == "string" ? te += ":" + M : typeof M == "symbol" && (te = void 0);
|
|
235
235
|
function He(j) {
|
|
236
236
|
var V = (s[j] || "silent").toUpperCase();
|
|
@@ -276,7 +276,7 @@ function Ni() {
|
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
-
function
|
|
279
|
+
function ge(j) {
|
|
280
280
|
var V = j;
|
|
281
281
|
if (typeof V == "string" && C.levels[V.toUpperCase()] !== void 0 && (V = C.levels[V.toUpperCase()]), typeof V == "number" && V >= 0 && V <= C.levels.SILENT)
|
|
282
282
|
return V;
|
|
@@ -290,26 +290,26 @@ function Ni() {
|
|
|
290
290
|
ERROR: 4,
|
|
291
291
|
SILENT: 5
|
|
292
292
|
}, C.methodFactory = L || _, C.getLevel = function() {
|
|
293
|
-
return
|
|
293
|
+
return X ?? U ?? K;
|
|
294
294
|
}, C.setLevel = function(j, V) {
|
|
295
|
-
return
|
|
295
|
+
return X = ge(j), V !== !1 && He(X), k.call(C);
|
|
296
296
|
}, C.setDefaultLevel = function(j) {
|
|
297
|
-
|
|
297
|
+
U = ge(j), ae() || C.setLevel(j, !1);
|
|
298
298
|
}, C.resetLevel = function() {
|
|
299
|
-
|
|
299
|
+
X = null, he(), k.call(C);
|
|
300
300
|
}, C.enableAll = function(j) {
|
|
301
301
|
C.setLevel(C.levels.TRACE, j);
|
|
302
302
|
}, C.disableAll = function(j) {
|
|
303
303
|
C.setLevel(C.levels.SILENT, j);
|
|
304
304
|
}, C.rebuild = function() {
|
|
305
|
-
if (o !== C && (
|
|
305
|
+
if (o !== C && (K = ge(o.getLevel())), k.call(C), o === C)
|
|
306
306
|
for (var j in r)
|
|
307
307
|
r[j].rebuild();
|
|
308
|
-
},
|
|
308
|
+
}, K = ge(
|
|
309
309
|
o ? o.getLevel() : "WARN"
|
|
310
310
|
);
|
|
311
311
|
var F = ae();
|
|
312
|
-
F != null && (
|
|
312
|
+
F != null && (X = ge(F)), k.call(C);
|
|
313
313
|
}
|
|
314
314
|
o = new P(), o.getLogger = function(L) {
|
|
315
315
|
if (typeof L != "symbol" && typeof L != "string" || L === "")
|
|
@@ -320,17 +320,17 @@ function Ni() {
|
|
|
320
320
|
o.methodFactory
|
|
321
321
|
)), C;
|
|
322
322
|
};
|
|
323
|
-
var
|
|
323
|
+
var E = typeof window !== t ? window.log : void 0;
|
|
324
324
|
return o.noConflict = function() {
|
|
325
|
-
return typeof window !== t && window.log === o && (window.log =
|
|
325
|
+
return typeof window !== t && window.log === o && (window.log = E), o;
|
|
326
326
|
}, o.getLoggers = function() {
|
|
327
327
|
return r;
|
|
328
328
|
}, o.default = o, o;
|
|
329
329
|
});
|
|
330
|
-
})(
|
|
330
|
+
})(Lt)), Lt.exports;
|
|
331
331
|
}
|
|
332
|
-
var Wi =
|
|
333
|
-
const Je = /* @__PURE__ */
|
|
332
|
+
var Wi = Ui();
|
|
333
|
+
const Je = /* @__PURE__ */ Ua(Wi), Gi = J`
|
|
334
334
|
:host {
|
|
335
335
|
--enegelai-bot-width: 420px;
|
|
336
336
|
--enegelai-bot-base-font-size: 16px;
|
|
@@ -673,7 +673,7 @@ let ut = class extends Fe {
|
|
|
673
673
|
super(...arguments), this.color = "primary", this.svg = "";
|
|
674
674
|
}
|
|
675
675
|
render() {
|
|
676
|
-
return u`<span class="cb-icon" part="base">${
|
|
676
|
+
return u`<span class="cb-icon" part="base">${G(this.svg)}</span>`;
|
|
677
677
|
}
|
|
678
678
|
};
|
|
679
679
|
ut.styles = Wa;
|
|
@@ -684,9 +684,9 @@ na([
|
|
|
684
684
|
x({ type: String })
|
|
685
685
|
], ut.prototype, "svg", 2);
|
|
686
686
|
ut = na([
|
|
687
|
-
|
|
687
|
+
Z("cb-icon")
|
|
688
688
|
], ut);
|
|
689
|
-
let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)),
|
|
689
|
+
let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
|
|
690
690
|
let i = (2 << Math.log2(a.length - 1)) - 1, s = -~(1.6 * i * e / a.length);
|
|
691
691
|
return (r = e) => {
|
|
692
692
|
let o = "";
|
|
@@ -696,8 +696,8 @@ let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Ki = (a, e, t) => {
|
|
|
696
696
|
if (o += a[f[p] & i] || "", o.length >= r) return o;
|
|
697
697
|
}
|
|
698
698
|
};
|
|
699
|
-
},
|
|
700
|
-
const Qi =
|
|
699
|
+
}, Ki = (a, e = 21) => Zi(a, e | 0, Ji);
|
|
700
|
+
const Qi = Ki("1234567890abcdefghijklmnopqrstuvwxyz", 10);
|
|
701
701
|
function fe(a = 10) {
|
|
702
702
|
return Qi(a);
|
|
703
703
|
}
|
|
@@ -923,7 +923,7 @@ class as {
|
|
|
923
923
|
}
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
|
-
class
|
|
926
|
+
class Ze {
|
|
927
927
|
/**
|
|
928
928
|
* Converts Float32Array of amplitude data to ArrayBuffer in Int16Array format
|
|
929
929
|
* @param {Float32Array} float32Array
|
|
@@ -1018,7 +1018,7 @@ class Ke {
|
|
|
1018
1018
|
};
|
|
1019
1019
|
}
|
|
1020
1020
|
}
|
|
1021
|
-
globalThis.WavPacker =
|
|
1021
|
+
globalThis.WavPacker = Ze;
|
|
1022
1022
|
const Sa = [
|
|
1023
1023
|
4186.01,
|
|
1024
1024
|
4434.92,
|
|
@@ -1051,7 +1051,7 @@ for (let a = 1; a <= 8; a++)
|
|
|
1051
1051
|
const t = Sa[e];
|
|
1052
1052
|
We.push(t / Math.pow(2, 8 - a)), ra.push(is[e] + a);
|
|
1053
1053
|
}
|
|
1054
|
-
const
|
|
1054
|
+
const zt = [32, 2e3], Ca = We.filter((a, e) => We[e] > zt[0] && We[e] < zt[1]), ss = ra.filter((a, e) => We[e] > zt[0] && We[e] < zt[1]);
|
|
1055
1055
|
class lt {
|
|
1056
1056
|
/**
|
|
1057
1057
|
* Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
|
|
@@ -1069,21 +1069,21 @@ class lt {
|
|
|
1069
1069
|
const f = t / 2, p = 1 / i.length * f;
|
|
1070
1070
|
let v, k, w;
|
|
1071
1071
|
if (s === "music" || s === "voice") {
|
|
1072
|
-
const
|
|
1072
|
+
const E = s === "voice" ? Ca : We, M = Array(E.length).fill(r);
|
|
1073
1073
|
for (let L = 0; L < i.length; L++) {
|
|
1074
|
-
const C = L * p,
|
|
1075
|
-
for (let
|
|
1076
|
-
if (C >
|
|
1077
|
-
M[
|
|
1074
|
+
const C = L * p, K = i[L];
|
|
1075
|
+
for (let U = E.length - 1; U >= 0; U--)
|
|
1076
|
+
if (C > E[U]) {
|
|
1077
|
+
M[U] = Math.max(M[U], K);
|
|
1078
1078
|
break;
|
|
1079
1079
|
}
|
|
1080
1080
|
}
|
|
1081
1081
|
v = M, k = s === "voice" ? Ca : We, w = s === "voice" ? ss : ra;
|
|
1082
1082
|
} else
|
|
1083
|
-
v = Array.from(i), k = v.map((
|
|
1084
|
-
const _ = v.map((
|
|
1083
|
+
v = Array.from(i), k = v.map((E, M) => p * M), w = k.map((E) => `${E.toFixed(2)} Hz`);
|
|
1084
|
+
const _ = v.map((E) => Math.max(
|
|
1085
1085
|
0,
|
|
1086
|
-
Math.min((
|
|
1086
|
+
Math.min((E - r) / (o - r), 1)
|
|
1087
1087
|
));
|
|
1088
1088
|
return {
|
|
1089
1089
|
values: new Float32Array(_),
|
|
@@ -1546,10 +1546,10 @@ class Xa {
|
|
|
1546
1546
|
this.inputSampleRate = e, this.onPlaybackEnded = typeof t == "function" ? t : null, this.debug = !!i;
|
|
1547
1547
|
const p = navigator.userAgent || "", v = /iP(hone|ad|od)/.test(p), k = /CriOS/.test(p), w = /FxiOS/.test(p), _ = /EdgiOS/.test(p), P = /Safari/.test(p) && !/Chrome|Chromium|Edg/.test(p);
|
|
1548
1548
|
this._isSafariMobile = v && P && !k && !w && !_;
|
|
1549
|
-
const
|
|
1550
|
-
const
|
|
1551
|
-
return /iPad/.test(p) ||
|
|
1552
|
-
})(), C =
|
|
1549
|
+
const E = !!(navigator.userAgentData && typeof navigator.userAgentData.mobile == "boolean" && navigator.userAgentData.mobile), M = /Android|iPhone|iPod|Mobile/.test(p), L = (() => {
|
|
1550
|
+
const K = navigator.platform || "";
|
|
1551
|
+
return /iPad/.test(p) || K === "MacIntel" && navigator.maxTouchPoints > 1;
|
|
1552
|
+
})(), C = E || M || L;
|
|
1553
1553
|
this._firstTurnRampInMs = s ?? (this._isSafariMobile ? 140 : 0), this._primeMs = r ?? (this._isSafariMobile ? 220 : 0), this._requireGestureToUnlock = o != null ? !!o : !!this._isSafariMobile, this._enableLoopbackRef = f != null ? !!f : !!C, this.context = null, this.analyser = null, this._worklet = null, this._audibleGain = null, this._renderDest = null, this._pcSend = null, this._pcRecv = null, this._firstTurn = !0, this._unlocked = !this._requireGestureToUnlock, this.trackSampleOffsets = {}, this.interruptedTrackIds = {}, this._onGestureUnlock = this._onGestureUnlock.bind(this);
|
|
1554
1554
|
}
|
|
1555
1555
|
_log(...e) {
|
|
@@ -1952,13 +1952,13 @@ class ps {
|
|
|
1952
1952
|
throw new Error('Must specify "fromSampleRate" when reading from Float32Array, In16Array or Array');
|
|
1953
1953
|
if (i < 3e3)
|
|
1954
1954
|
throw new Error('Minimum "fromSampleRate" is 3000 (3kHz)');
|
|
1955
|
-
w || (w =
|
|
1955
|
+
w || (w = Ze.floatTo16BitPCM(k));
|
|
1956
1956
|
const _ = {
|
|
1957
1957
|
bitsPerSample: 16,
|
|
1958
1958
|
channels: [k],
|
|
1959
1959
|
data: w
|
|
1960
1960
|
};
|
|
1961
|
-
o = new
|
|
1961
|
+
o = new Ze().pack(i, _).blob, r = await o.arrayBuffer();
|
|
1962
1962
|
}
|
|
1963
1963
|
const f = await s.decodeAudioData(r), p = f.getChannelData(0), v = URL.createObjectURL(o);
|
|
1964
1964
|
return {
|
|
@@ -2131,8 +2131,8 @@ class ps {
|
|
|
2131
2131
|
if (this._chunkProcessorSize) {
|
|
2132
2132
|
const w = this._chunkProcessorBuffer;
|
|
2133
2133
|
this._chunkProcessorBuffer = {
|
|
2134
|
-
raw:
|
|
2135
|
-
mono:
|
|
2134
|
+
raw: Ze.mergeBuffers(w.raw, k.raw),
|
|
2135
|
+
mono: Ze.mergeBuffers(w.mono, k.mono)
|
|
2136
2136
|
}, this._chunkProcessorBuffer.mono.byteLength >= this._chunkProcessorSize && (this._chunkProcessor(this._chunkProcessorBuffer), this._chunkProcessorBuffer = {
|
|
2137
2137
|
raw: new ArrayBuffer(0),
|
|
2138
2138
|
mono: new ArrayBuffer(0)
|
|
@@ -2218,7 +2218,7 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
|
|
|
2218
2218
|
throw new Error("Currently recording: please call .pause() first, or call .save(true) to force");
|
|
2219
2219
|
this.log("Exporting ...");
|
|
2220
2220
|
const t = await this._event("export");
|
|
2221
|
-
return new
|
|
2221
|
+
return new Ze().pack(this.sampleRate, t.audio);
|
|
2222
2222
|
}
|
|
2223
2223
|
/**
|
|
2224
2224
|
* Ends the current recording session and saves the result
|
|
@@ -2230,7 +2230,7 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
|
|
|
2230
2230
|
const e = this.processor;
|
|
2231
2231
|
this.log("Stopping ..."), await this._event("stop"), this.recording = !1, this.stream.getTracks().forEach((o) => o.stop()), this.log("Exporting ...");
|
|
2232
2232
|
const i = await this._event("export", {}, e);
|
|
2233
|
-
return this.processor.disconnect(), this.source.disconnect(), this.node.disconnect(), this.analyser.disconnect(), this.stream = null, this.processor = null, this.source = null, this.node = null, new
|
|
2233
|
+
return this.processor.disconnect(), this.source.disconnect(), this.node.disconnect(), this.analyser.disconnect(), this.stream = null, this.processor = null, this.source = null, this.node = null, new Ze().pack(this.sampleRate, i.audio);
|
|
2234
2234
|
}
|
|
2235
2235
|
/**
|
|
2236
2236
|
* Performs a full cleanup of WavRecorder instance
|
|
@@ -2579,19 +2579,19 @@ class ms {
|
|
|
2579
2579
|
const i = new Int16Array(t);
|
|
2580
2580
|
let s = this.gain, r = this._step, o = this.rampRemain, f = this.vadFast, p = this.vadSlow, v = this._speechCount, k = this._hangRemain, w = this._speaking;
|
|
2581
2581
|
const _ = this._eps, P = this.vadRatio;
|
|
2582
|
-
for (let
|
|
2582
|
+
for (let E = 0; E < t; E++) {
|
|
2583
2583
|
this.guardRemain > 0 && this.guardRemain--;
|
|
2584
|
-
const M = e[
|
|
2584
|
+
const M = e[E] / 32768, L = M * M;
|
|
2585
2585
|
f = f + (1 - this.alphaFast) * (L - f), p = p + (1 - this.alphaSlow) * (L - p), this.vadEnabled && (f / (p + _) >= P ? v < this.vadAttackSamples && v++ : v = 0, v >= this.vadAttackSamples ? (w = !0, k = this.vadHangSamples) : k > 0 ? (w = !0, k--) : w = !1), w && this._shieldActive && (this._shieldActive = !1, this.target = 1, o = this.escapeAttackSamples, r = o > 0 ? (1 - s) / o : 0);
|
|
2586
|
-
let C = 1,
|
|
2586
|
+
let C = 1, K = 0, U = !1;
|
|
2587
2587
|
if (this.duckActive) {
|
|
2588
2588
|
const te = this.guardRemain > 0;
|
|
2589
|
-
te && this._shieldActive && !w ? (
|
|
2589
|
+
te && this._shieldActive && !w ? (U = this._shieldHardMute, C = this._shieldHardMute ? 0 : this._shieldFloor, K = this.attackSamples, this.guardRemain === 0 && (this._shieldActive = !1, this._shieldHardMute = !1)) : w ? (C = 1, K = this.escapeAttackSamples) : te ? (C = this.floor, K = this.attackSamples) : (C = 1, K = this.releaseSamples);
|
|
2590
2590
|
} else
|
|
2591
|
-
C = 1,
|
|
2592
|
-
Math.abs(C - this.target) > 1e-4 && (this.target = C, o =
|
|
2593
|
-
let
|
|
2594
|
-
|
|
2591
|
+
C = 1, K = this.releaseSamples;
|
|
2592
|
+
Math.abs(C - this.target) > 1e-4 && (this.target = C, o = K, r = o > 0 ? (C - s) / o : 0, o === 0 && (s = C)), o > 0 && (s += r, o--, o === 0 && (s = this.target, r = 0));
|
|
2593
|
+
let X;
|
|
2594
|
+
U && !w ? X = 0 : (X = e[E] * s, X > 32767 ? X = 32767 : X < -32768 && (X = -32768)), i[E] = X | 0;
|
|
2595
2595
|
}
|
|
2596
2596
|
return this.gain = s, this._step = r, this.rampRemain = o, this.vadFast = f, this.vadSlow = p, this._speechCount = v, this._hangRemain = k, this._speaking = w, i;
|
|
2597
2597
|
}
|
|
@@ -2688,24 +2688,24 @@ class ys {
|
|
|
2688
2688
|
if (k <= 0)
|
|
2689
2689
|
return this._float32ToInt16(t);
|
|
2690
2690
|
const w = this.preEmphasis > 0, _ = w ? this._preEmphasize(r, this.preEmphasis, "mic") : r, P = w ? this._preEmphasize(p, this.preEmphasis, "pb") : p;
|
|
2691
|
-
let
|
|
2691
|
+
let E = 0;
|
|
2692
2692
|
for (let ae = 0; ae < o; ae++) {
|
|
2693
2693
|
const he = _[ae];
|
|
2694
|
-
|
|
2694
|
+
E += he * he;
|
|
2695
2695
|
}
|
|
2696
|
-
|
|
2697
|
-
const M = this.sr / this.ds, L = (this.baseLatencySec + this.outputLatencySec) * 1e3 + this.latencyCompMs, C = Math.max(0, Math.round(L * M / 1e3)),
|
|
2698
|
-
let
|
|
2699
|
-
C > 0 && (
|
|
2696
|
+
E = Math.sqrt(E) + 1e-12;
|
|
2697
|
+
const M = this.sr / this.ds, L = (this.baseLatencySec + this.outputLatencySec) * 1e3 + this.latencyCompMs, C = Math.max(0, Math.round(L * M / 1e3)), K = Math.max(1, Math.round(this.windowMs * M / 1e3));
|
|
2698
|
+
let U = 0, X = k;
|
|
2699
|
+
C > 0 && (U = Math.max(0, Math.min(k, C - K)), X = Math.max(U, Math.min(k, C + K)));
|
|
2700
2700
|
const te = Math.max(1, Math.floor(this.hop / this.ds));
|
|
2701
2701
|
let He = -1;
|
|
2702
|
-
for (let ae =
|
|
2703
|
-
let he = 0,
|
|
2702
|
+
for (let ae = U; ae <= X; ae += te) {
|
|
2703
|
+
let he = 0, ge = 0;
|
|
2704
2704
|
for (let V = 0; V < o; V++) {
|
|
2705
2705
|
const $e = _[V], Pe = P[ae + V];
|
|
2706
|
-
he += $e * Pe,
|
|
2706
|
+
he += $e * Pe, ge += Pe * Pe;
|
|
2707
2707
|
}
|
|
2708
|
-
const F =
|
|
2708
|
+
const F = E * (Math.sqrt(ge) + 1e-12), j = F > 0 ? he / F : 0;
|
|
2709
2709
|
if (j > He && (He = j), He > Math.min(0.98, this.threshold + 0.25)) break;
|
|
2710
2710
|
}
|
|
2711
2711
|
if (He >= this.threshold) {
|
|
@@ -2856,8 +2856,8 @@ class vs {
|
|
|
2856
2856
|
let p = -1;
|
|
2857
2857
|
for (let v = 0; v <= r; v += f) {
|
|
2858
2858
|
let k = 0, w = 0;
|
|
2859
|
-
for (let
|
|
2860
|
-
const M = t[
|
|
2859
|
+
for (let E = 0; E < i; E++) {
|
|
2860
|
+
const M = t[E], L = s[v + E];
|
|
2861
2861
|
k += M * L, w += L * L;
|
|
2862
2862
|
}
|
|
2863
2863
|
const _ = o * (Math.sqrt(w) + 1e-12), P = _ > 0 ? k / _ : 0;
|
|
@@ -2947,8 +2947,8 @@ class ws {
|
|
|
2947
2947
|
}
|
|
2948
2948
|
}
|
|
2949
2949
|
}
|
|
2950
|
-
const
|
|
2951
|
-
|
|
2950
|
+
const Ue = Je.noConflict();
|
|
2951
|
+
Ue.setLevel("info");
|
|
2952
2952
|
class pt extends as {
|
|
2953
2953
|
constructor(e = {}) {
|
|
2954
2954
|
super({ name: "WebAudioProcessorV2" }), this.options = e, this.muted = !1, this.audioRecorder = new ot({
|
|
@@ -3027,13 +3027,13 @@ class pt extends as {
|
|
|
3027
3027
|
e(), this._latencyTimer = setInterval(e, 1e3);
|
|
3028
3028
|
try {
|
|
3029
3029
|
const t = this.audioRecorder.captureInfo?.aecGranted;
|
|
3030
|
-
t &&
|
|
3030
|
+
t && Ue.info("AEC granted:", t);
|
|
3031
3031
|
} catch {
|
|
3032
3032
|
}
|
|
3033
|
-
|
|
3033
|
+
Ue.info("WebAudioProcessorV2 started");
|
|
3034
3034
|
}
|
|
3035
3035
|
async stop() {
|
|
3036
|
-
this._stopRecWatchdog(), this.audioRecorder.getStatus() !== "ended" && (await this.audioRecorder.end(), this.audioRecorder = null), this.audioRecorderAnalyzer = null, this.audioPlayer?.context && (await this.audioPlayer.disconnect(), this.audioPlayer = null), this._latencyTimer && (clearInterval(this._latencyTimer), this._latencyTimer = null), this._didPlayOnce = !1,
|
|
3036
|
+
this._stopRecWatchdog(), this.audioRecorder.getStatus() !== "ended" && (await this.audioRecorder.end(), this.audioRecorder = null), this.audioRecorderAnalyzer = null, this.audioPlayer?.context && (await this.audioPlayer.disconnect(), this.audioPlayer = null), this._latencyTimer && (clearInterval(this._latencyTimer), this._latencyTimer = null), this._didPlayOnce = !1, Ue.info("WebAudioProcessorV2 stopped");
|
|
3037
3037
|
}
|
|
3038
3038
|
get started() {
|
|
3039
3039
|
return !!(this.audioRecorder && this.audioRecorder.getStatus() !== "ended");
|
|
@@ -3055,7 +3055,7 @@ class pt extends as {
|
|
|
3055
3055
|
}
|
|
3056
3056
|
async _checkRecordingHealth(e) {
|
|
3057
3057
|
const i = Date.now() - this._lastMicCaptureTime;
|
|
3058
|
-
i > 2e3 && (
|
|
3058
|
+
i > 2e3 && (Ue.warn(`WebAudioProcessorV2: large gap between mic frames: ${i} ms detected, possible lock or suspend - terminating audio`), this.emit("terminate").catch(() => {
|
|
3059
3059
|
}));
|
|
3060
3060
|
}
|
|
3061
3061
|
// ---- Capture ----
|
|
@@ -3064,7 +3064,7 @@ class pt extends as {
|
|
|
3064
3064
|
* Your existing 'audio' event is preserved: payload includes base64 of Int16 PCM.
|
|
3065
3065
|
*/
|
|
3066
3066
|
async beginAudioCapture() {
|
|
3067
|
-
!this.started || this.recording || (
|
|
3067
|
+
!this.started || this.recording || (Ue.info("WebAudioProcessorV2: beginAudioCapture"), this._lastMicCaptureTime = Date.now(), this._startRecWatchdog(), await this.audioRecorder.record((e) => {
|
|
3068
3068
|
if (e?.mono && e.mono?.byteLength) {
|
|
3069
3069
|
this._lastMicCaptureTime = Date.now();
|
|
3070
3070
|
let t = new Int16Array(e.mono);
|
|
@@ -3074,12 +3074,12 @@ class pt extends as {
|
|
|
3074
3074
|
const i = this.useAdaptiveSuppressor ? this.mixMinusSmooth.filterMicFrame(t) : this.mixMinus.filterMicFrame(t) || new Int16Array(0);
|
|
3075
3075
|
if (i.length === 0) return;
|
|
3076
3076
|
const s = pt.arrayBufferToBase64(i);
|
|
3077
|
-
|
|
3077
|
+
Ue.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
|
|
3078
3078
|
}
|
|
3079
3079
|
}));
|
|
3080
3080
|
}
|
|
3081
3081
|
async endAudioCapture() {
|
|
3082
|
-
!this.started || !this.recording || (
|
|
3082
|
+
!this.started || !this.recording || (Ue.info("WebAudioProcessorV2: endAudioCapture"), this._stopRecWatchdog(), await this.audioRecorder.pause());
|
|
3083
3083
|
}
|
|
3084
3084
|
// ---- Playback ----
|
|
3085
3085
|
/**
|
|
@@ -3249,7 +3249,7 @@ let qe = class extends Fe {
|
|
|
3249
3249
|
this._timer && (clearTimeout(this._timer), this._timer = void 0);
|
|
3250
3250
|
}
|
|
3251
3251
|
_renderIcon(a) {
|
|
3252
|
-
return a.trim().startsWith("<") ? u`${
|
|
3252
|
+
return a.trim().startsWith("<") ? u`${G(a)}` : a;
|
|
3253
3253
|
}
|
|
3254
3254
|
};
|
|
3255
3255
|
qe.styles = J`
|
|
@@ -3379,7 +3379,7 @@ st([
|
|
|
3379
3379
|
x({ type: String })
|
|
3380
3380
|
], qe.prototype, "ariaLive", 2);
|
|
3381
3381
|
qe = st([
|
|
3382
|
-
|
|
3382
|
+
Z("cb-toast")
|
|
3383
3383
|
], qe);
|
|
3384
3384
|
function Q(a) {
|
|
3385
3385
|
return a != null && typeof a == "object" && a["@@functional/placeholder"] === !0;
|
|
@@ -3389,7 +3389,7 @@ function tt(a) {
|
|
|
3389
3389
|
return arguments.length === 0 || Q(t) ? e : a.apply(this, arguments);
|
|
3390
3390
|
};
|
|
3391
3391
|
}
|
|
3392
|
-
function
|
|
3392
|
+
function Ke(a) {
|
|
3393
3393
|
return function e(t, i) {
|
|
3394
3394
|
switch (arguments.length) {
|
|
3395
3395
|
case 0:
|
|
@@ -3413,23 +3413,23 @@ function Ss(a) {
|
|
|
3413
3413
|
case 0:
|
|
3414
3414
|
return e;
|
|
3415
3415
|
case 1:
|
|
3416
|
-
return Q(t) ? e :
|
|
3416
|
+
return Q(t) ? e : Ke(function(r, o) {
|
|
3417
3417
|
return a(t, r, o);
|
|
3418
3418
|
});
|
|
3419
3419
|
case 2:
|
|
3420
|
-
return Q(t) && Q(i) ? e : Q(t) ?
|
|
3420
|
+
return Q(t) && Q(i) ? e : Q(t) ? Ke(function(r, o) {
|
|
3421
3421
|
return a(r, i, o);
|
|
3422
|
-
}) : Q(i) ?
|
|
3422
|
+
}) : Q(i) ? Ke(function(r, o) {
|
|
3423
3423
|
return a(t, r, o);
|
|
3424
3424
|
}) : tt(function(r) {
|
|
3425
3425
|
return a(t, i, r);
|
|
3426
3426
|
});
|
|
3427
3427
|
default:
|
|
3428
|
-
return Q(t) && Q(i) && Q(s) ? e : Q(t) && Q(i) ?
|
|
3428
|
+
return Q(t) && Q(i) && Q(s) ? e : Q(t) && Q(i) ? Ke(function(r, o) {
|
|
3429
3429
|
return a(r, o, s);
|
|
3430
|
-
}) : Q(t) && Q(s) ?
|
|
3430
|
+
}) : Q(t) && Q(s) ? Ke(function(r, o) {
|
|
3431
3431
|
return a(r, i, o);
|
|
3432
|
-
}) : Q(i) && Q(s) ?
|
|
3432
|
+
}) : Q(i) && Q(s) ? Ke(function(r, o) {
|
|
3433
3433
|
return a(t, r, o);
|
|
3434
3434
|
}) : Q(t) ? tt(function(r) {
|
|
3435
3435
|
return a(r, i, s);
|
|
@@ -3448,7 +3448,7 @@ function As(a, e) {
|
|
|
3448
3448
|
var t = a < 0 ? e.length + a : a;
|
|
3449
3449
|
return e[t];
|
|
3450
3450
|
}
|
|
3451
|
-
var Ms = /* @__PURE__ */
|
|
3451
|
+
var Ms = /* @__PURE__ */ Ke(function(e, t) {
|
|
3452
3452
|
return t == null || t !== t ? e : t;
|
|
3453
3453
|
});
|
|
3454
3454
|
function Ts(a, e) {
|
|
@@ -3460,17 +3460,17 @@ function Ts(a, e) {
|
|
|
3460
3460
|
}
|
|
3461
3461
|
return t;
|
|
3462
3462
|
}
|
|
3463
|
-
var
|
|
3463
|
+
var Wt = /* @__PURE__ */ Ss(function(e, t, i) {
|
|
3464
3464
|
return Ms(e, Ts(t, i));
|
|
3465
3465
|
});
|
|
3466
3466
|
const Is = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
|
|
3467
|
-
var Es = Object.defineProperty,
|
|
3467
|
+
var Es = Object.defineProperty, O = (a, e, t, i) => {
|
|
3468
3468
|
for (var s = void 0, r = a.length - 1, o; r >= 0; r--)
|
|
3469
3469
|
(o = a[r]) && (s = o(e, t, s) || s);
|
|
3470
3470
|
return s && Es(e, t, s), s;
|
|
3471
3471
|
};
|
|
3472
|
-
const
|
|
3473
|
-
|
|
3472
|
+
const T = Je.noConflict();
|
|
3473
|
+
T.setLevel("info");
|
|
3474
3474
|
const ne = "cb_", $s = (a) => new Promise((e) => setTimeout(e, a));
|
|
3475
3475
|
class R extends Yt {
|
|
3476
3476
|
constructor() {
|
|
@@ -3478,8 +3478,8 @@ class R extends Yt {
|
|
|
3478
3478
|
}
|
|
3479
3479
|
// this is called at startup
|
|
3480
3480
|
setSetting(e) {
|
|
3481
|
-
|
|
3482
|
-
|
|
3481
|
+
T.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((t) => {
|
|
3482
|
+
T.info(`Exception during bot initialization: ${t.message}`);
|
|
3483
3483
|
});
|
|
3484
3484
|
}
|
|
3485
3485
|
// set language
|
|
@@ -3494,7 +3494,7 @@ class R extends Yt {
|
|
|
3494
3494
|
async initBot() {
|
|
3495
3495
|
if (!this.botSettingsInitialized) {
|
|
3496
3496
|
const i = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
|
|
3497
|
-
|
|
3497
|
+
T.info(`Getting bot settings at ${i} ...`);
|
|
3498
3498
|
let s = null, r = null;
|
|
3499
3499
|
try {
|
|
3500
3500
|
s = await fetch(i, {
|
|
@@ -3504,13 +3504,13 @@ class R extends Yt {
|
|
|
3504
3504
|
"X-Enegel-Signature": this.setting.botId
|
|
3505
3505
|
//"ngrok-skip-browser-warning": "1",
|
|
3506
3506
|
}
|
|
3507
|
-
}), !s.ok || s.status !== 200 ?
|
|
3507
|
+
}), !s.ok || s.status !== 200 ? T.error(`Failed to get bot ${this.setting.botId} settings: ${s.status} ${s.statusText}`) : r = await s.json();
|
|
3508
3508
|
} catch (o) {
|
|
3509
|
-
|
|
3509
|
+
T.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), r = null;
|
|
3510
3510
|
}
|
|
3511
3511
|
if (this.botSettingsInitialized = !0, this.botSettings = r, !r) {
|
|
3512
|
-
if (
|
|
3513
|
-
|
|
3512
|
+
if (T.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
|
|
3513
|
+
T.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
|
|
3514
3514
|
return;
|
|
3515
3515
|
}
|
|
3516
3516
|
this.botSettingsInitialized = !1, setTimeout(async () => {
|
|
@@ -3518,17 +3518,17 @@ class R extends Yt {
|
|
|
3518
3518
|
}, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
|
|
3519
3519
|
return;
|
|
3520
3520
|
}
|
|
3521
|
-
|
|
3521
|
+
T.info("Got bot settings - bot is enabled", r), this.disabled = !1, this.setting.welcomeMessage = r?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = r?.disclaimerMessage && r.disclaimerMessage !== "" ? r.disclaimerMessage : null, this.setting.engageMessage = r?.engageMessage || "How can I help ?", this.setting.engageTimeout = r?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in r ? r.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in r ? r.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in r ? r.uploadImages : !1, this.setting.newConversationTimeoutInSec = r?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in r ? r.enableNotificationSound : !0, this.setting.botAdvancedSettings = r?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.enablePassContextOnConnect = this.setting.botAdvancedSettings?.enablePassContextOnConnect ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableAgentDisconnectedMessage = this.setting.botAdvancedSettings?.enableAgentDisconnectedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
|
|
3522
3522
|
this.showEngagePopup();
|
|
3523
3523
|
}, this.setting.engageTimeout * 1e3);
|
|
3524
3524
|
}
|
|
3525
3525
|
const e = new URLSearchParams(window.location.search);
|
|
3526
3526
|
if (e.has("c7o_bot_open")) {
|
|
3527
3527
|
const t = e.get("c7o_bot_open");
|
|
3528
|
-
this.open = t !== "false" && t !== "no" && t !== "0",
|
|
3528
|
+
this.open = t !== "false" && t !== "no" && t !== "0", T.info(`C7O-BOT:INIT: Force open=${this.open} from query parameter c7o_bot_open=${e.get("c7o_bot_open")}`);
|
|
3529
3529
|
}
|
|
3530
|
-
this.connectWs === "true" && (
|
|
3531
|
-
|
|
3530
|
+
this.connectWs === "true" && (T.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
|
|
3531
|
+
T.error(`Exception during ws client startup: ${t.message}`);
|
|
3532
3532
|
})), setTimeout(() => {
|
|
3533
3533
|
window.dispatchEvent(
|
|
3534
3534
|
new CustomEvent("c7o:bot:stateEvent", {
|
|
@@ -3560,17 +3560,34 @@ class R extends Yt {
|
|
|
3560
3560
|
}), this.initStartupForm();
|
|
3561
3561
|
}
|
|
3562
3562
|
// AGENT // ////////////////////////////////////////////////////
|
|
3563
|
+
async handleAgentConnected(e) {
|
|
3564
|
+
T.info("c7o: Agent Connected", e);
|
|
3565
|
+
const t = e?.userName || "Agent";
|
|
3566
|
+
this.addMessage({
|
|
3567
|
+
id: e?.id || null,
|
|
3568
|
+
author: "system",
|
|
3569
|
+
type: "info",
|
|
3570
|
+
data: {
|
|
3571
|
+
text: `**${t}** joined chat`,
|
|
3572
|
+
...e.userName && { userName: e.userName },
|
|
3573
|
+
...e.userAvatar && { userAvatar: e.userAvatar }
|
|
3574
|
+
}
|
|
3575
|
+
});
|
|
3576
|
+
}
|
|
3563
3577
|
async handleAgentDisconnected(e) {
|
|
3564
|
-
|
|
3578
|
+
if (T.info("c7o: Agent disconnected", e), !this.setting.enableAgentDisconnectedMessage)
|
|
3579
|
+
return;
|
|
3580
|
+
const t = e?.userName || "Agent";
|
|
3581
|
+
this.addMessage({
|
|
3565
3582
|
id: e?.id || null,
|
|
3566
|
-
author: "
|
|
3567
|
-
type: "
|
|
3583
|
+
author: "system",
|
|
3584
|
+
type: "info",
|
|
3568
3585
|
data: {
|
|
3569
|
-
text:
|
|
3586
|
+
text: `**${t}** left chat`,
|
|
3570
3587
|
...e.userName && { userName: e.userName },
|
|
3571
3588
|
...e.userAvatar && { userAvatar: e.userAvatar }
|
|
3572
3589
|
}
|
|
3573
|
-
}), this.showNewConversation = !0;
|
|
3590
|
+
}), this.setting.showNewConversationOnAgentDisconnected && (this.showNewConversation = !0);
|
|
3574
3591
|
}
|
|
3575
3592
|
// BROADCAST // ///////////////////////////////////////////////////
|
|
3576
3593
|
async handleBroadcastMessage(e) {
|
|
@@ -3639,7 +3656,7 @@ class R extends Yt {
|
|
|
3639
3656
|
}
|
|
3640
3657
|
// When finished playing audio, clear trackId and send mark message
|
|
3641
3658
|
async onPlaybackEnded() {
|
|
3642
|
-
this.webAudioCurrentMark && (
|
|
3659
|
+
this.webAudioCurrentMark && (T.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
|
|
3643
3660
|
id: fe(),
|
|
3644
3661
|
type: "mediaMark",
|
|
3645
3662
|
mark: {
|
|
@@ -3648,7 +3665,7 @@ class R extends Yt {
|
|
|
3648
3665
|
}), this.webAudioCurrentMark = null, this.webAudioTrackId = null);
|
|
3649
3666
|
}
|
|
3650
3667
|
async onWebAudioTerminate() {
|
|
3651
|
-
|
|
3668
|
+
T.info("c7o: terminating audio"), await this.stopAudio();
|
|
3652
3669
|
}
|
|
3653
3670
|
// Confirmation from server that media started
|
|
3654
3671
|
// {"type":"mediaStarted","mediaType":"audio","mediaTransport":"webmedia","webmedia":{"mimeType":"audio/L16","mediaSpec":{"sampleRate":24000,"channels":1}}}
|
|
@@ -3667,16 +3684,16 @@ class R extends Yt {
|
|
|
3667
3684
|
if (!e || e?.type !== "media" || !e?.media || e?.mediaType !== "audio" || !e?.media?.payload || !this.webAudioProcessor || !this.webAudioStarted)
|
|
3668
3685
|
return;
|
|
3669
3686
|
const t = e.media.payload;
|
|
3670
|
-
this.webAudioTrackId || (this.webAudioTrackId = fe()),
|
|
3687
|
+
this.webAudioTrackId || (this.webAudioTrackId = fe()), T.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
|
|
3671
3688
|
}
|
|
3672
3689
|
// {"type": "mediaMark","mark": {"name": "1757277902935"}}
|
|
3673
3690
|
async handleMediaMark(e) {
|
|
3674
|
-
!this.webAudioProcessor || !this.webAudioStarted || (this.webAudioCurrentMark = e?.mark?.name || null,
|
|
3691
|
+
!this.webAudioProcessor || !this.webAudioStarted || (this.webAudioCurrentMark = e?.mark?.name || null, T.info(`c7o: Current media mark set to ${this.webAudioCurrentMark}`, e));
|
|
3675
3692
|
}
|
|
3676
3693
|
// Confirmation from server that media stopped
|
|
3677
3694
|
//{"type":"mediaClear","mediaType":"audio"}
|
|
3678
3695
|
async handleMediaClear(e) {
|
|
3679
|
-
|
|
3696
|
+
T.info("c7o: Got mediaClear, clearing buffered media", e), this.mediaStartedAudio = !1, !(!this.webAudioProcessor || !this.webAudioStarted) && (this.webAudioTrackId = null, await this.webAudioProcessor.interruptAudio());
|
|
3680
3697
|
}
|
|
3681
3698
|
// ////////////////////////////////////////////////////////////
|
|
3682
3699
|
setPrefilledFormFields(e) {
|
|
@@ -3699,7 +3716,7 @@ class R extends Yt {
|
|
|
3699
3716
|
return;
|
|
3700
3717
|
const e = await this.getWsClient();
|
|
3701
3718
|
if (!e) {
|
|
3702
|
-
|
|
3719
|
+
T.error("Error - failed to obtain ws client");
|
|
3703
3720
|
return;
|
|
3704
3721
|
}
|
|
3705
3722
|
const t = {
|
|
@@ -3707,7 +3724,7 @@ class R extends Yt {
|
|
|
3707
3724
|
type: "setContext",
|
|
3708
3725
|
contextData: this.context
|
|
3709
3726
|
};
|
|
3710
|
-
e.sendMessage(t),
|
|
3727
|
+
e.sendMessage(t), T.info("Sent context:", this.context);
|
|
3711
3728
|
}
|
|
3712
3729
|
getContext() {
|
|
3713
3730
|
return this.context;
|
|
@@ -3720,20 +3737,20 @@ class R extends Yt {
|
|
|
3720
3737
|
this.initForm(this.form);
|
|
3721
3738
|
return;
|
|
3722
3739
|
}
|
|
3723
|
-
const e =
|
|
3740
|
+
const e = Wt(null, ["startupForm"], this.botSettings);
|
|
3724
3741
|
if (!e || !e?.name) {
|
|
3725
|
-
|
|
3742
|
+
T.info("Startup form not present");
|
|
3726
3743
|
return;
|
|
3727
3744
|
}
|
|
3728
3745
|
this.initForm(e);
|
|
3729
3746
|
}
|
|
3730
3747
|
initForm(e = null) {
|
|
3731
|
-
const t = e, i =
|
|
3748
|
+
const t = e, i = Wt(null, ["name"], e);
|
|
3732
3749
|
if (!t || !i)
|
|
3733
3750
|
return;
|
|
3734
|
-
const s =
|
|
3751
|
+
const s = Wt(null, ["fields"], e);
|
|
3735
3752
|
if (!Array.isArray(s) || s.length <= 0) {
|
|
3736
|
-
|
|
3753
|
+
T.info("form has no fields", e);
|
|
3737
3754
|
return;
|
|
3738
3755
|
}
|
|
3739
3756
|
const r = `${ne}${this.setting.botId}.${this.conversationId}.form.${i}`, o = localStorage.getItem(r);
|
|
@@ -3742,11 +3759,11 @@ class R extends Yt {
|
|
|
3742
3759
|
try {
|
|
3743
3760
|
f = JSON.parse(o);
|
|
3744
3761
|
} catch (p) {
|
|
3745
|
-
|
|
3762
|
+
T.error(`Failed to parse stored form data: ${p.message}`), f = null;
|
|
3746
3763
|
}
|
|
3747
3764
|
if (f) {
|
|
3748
3765
|
this.sendFormData(i, f).catch((p) => {
|
|
3749
|
-
|
|
3766
|
+
T.error(`Error when submitting form: ${p.message}`);
|
|
3750
3767
|
});
|
|
3751
3768
|
return;
|
|
3752
3769
|
}
|
|
@@ -3757,7 +3774,7 @@ class R extends Yt {
|
|
|
3757
3774
|
this.engage = !1, this.shouldEngage = "false";
|
|
3758
3775
|
}
|
|
3759
3776
|
showEngagePopup() {
|
|
3760
|
-
this.open || (
|
|
3777
|
+
this.open || (T.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
|
|
3761
3778
|
}
|
|
3762
3779
|
playAudioNotification() {
|
|
3763
3780
|
if (!this.setting.enableNotificationSound)
|
|
@@ -3781,7 +3798,15 @@ class R extends Yt {
|
|
|
3781
3798
|
if (this.wsClient)
|
|
3782
3799
|
return this.wsClient;
|
|
3783
3800
|
let t = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
|
|
3784
|
-
|
|
3801
|
+
const i = new URL(t);
|
|
3802
|
+
if (this.setting.enableMultiModalConnection && (i.searchParams.set("multiModal", "true"), T.info("MultiModal connection enabled - adding multiModal=true parameter")), this.setting.enablePassContextOnConnect && this.context && typeof this.context == "object")
|
|
3803
|
+
try {
|
|
3804
|
+
const s = JSON.stringify(this.context);
|
|
3805
|
+
i.searchParams.set("context", s), T.info("Adding context to connect URL");
|
|
3806
|
+
} catch (s) {
|
|
3807
|
+
T.error(`Failed to stringify context: ${s.message}`);
|
|
3808
|
+
}
|
|
3809
|
+
return t = i.toString(), T.info(`Initiating ws connection to ${t} ...`), this.wsClient = new ts({
|
|
3785
3810
|
url: t,
|
|
3786
3811
|
orgId: this.setting.orgId,
|
|
3787
3812
|
botId: this.setting.botId,
|
|
@@ -3801,11 +3826,11 @@ class R extends Yt {
|
|
|
3801
3826
|
}), await this.wsClient.start(), this.connectWs = "true", this.wsClient;
|
|
3802
3827
|
}
|
|
3803
3828
|
handleWscClose(e) {
|
|
3804
|
-
|
|
3829
|
+
T.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
|
|
3805
3830
|
}), this.connected = !1;
|
|
3806
3831
|
}
|
|
3807
3832
|
async handleWscConnectError(e) {
|
|
3808
|
-
|
|
3833
|
+
T.info("WSC: connect error - resetting conversation", e);
|
|
3809
3834
|
const t = this.wsClient?.url || null;
|
|
3810
3835
|
if (this.wsClient)
|
|
3811
3836
|
try {
|
|
@@ -3831,13 +3856,13 @@ class R extends Yt {
|
|
|
3831
3856
|
const s = t.includes("?"), [r, o] = s ? t.split("?") : [t, ""], f = r.split("/");
|
|
3832
3857
|
f[f.length - 1] = this.conversationId;
|
|
3833
3858
|
const p = f.join("/"), v = o ? `${p}?${o}` : p;
|
|
3834
|
-
this.wsClient.url = v, await $s(1e3), await this.wsClient.start(),
|
|
3859
|
+
this.wsClient.url = v, await $s(1e3), await this.wsClient.start(), T.info(`WSC: started new conversation, conversationId=${this.conversationId}`);
|
|
3835
3860
|
} catch (i) {
|
|
3836
|
-
|
|
3861
|
+
T.error(`WSC: failed to reset conversation: ${i.message}`, i);
|
|
3837
3862
|
}
|
|
3838
3863
|
}
|
|
3839
3864
|
handleWscConnecting(e) {
|
|
3840
|
-
|
|
3865
|
+
T.info(`WSC: on connecting(${e}), connected: ${this.wsClient?.connected}`), this.connecting = e, !this.connecting && this.wsClient?.connected ? (this.connected = !0, this.context && typeof this.context == "object" && Object.keys(this.context).length > 0 && this.wsClient.queueMessage(
|
|
3841
3866
|
{
|
|
3842
3867
|
id: fe(),
|
|
3843
3868
|
type: "setContext",
|
|
@@ -3854,7 +3879,7 @@ class R extends Yt {
|
|
|
3854
3879
|
}
|
|
3855
3880
|
// Update typing state based on received message
|
|
3856
3881
|
updateTypingState(e) {
|
|
3857
|
-
this.typingActive ? e && ["message", "message-chunk", "media", "typing-stopped"].includes(e?.type) && (this.typingActive = !1,
|
|
3882
|
+
this.typingActive ? e && ["message", "message-chunk", "media", "typing-stopped"].includes(e?.type) && (this.typingActive = !1, T.info("c7o: typing stopped")) : e && e?.type === "typing" && (this.typingActive = !0, T.info("c7o: typing started"));
|
|
3858
3883
|
}
|
|
3859
3884
|
handleWscMessage(e) {
|
|
3860
3885
|
if (e?.type === "ack")
|
|
@@ -3914,15 +3939,7 @@ class R extends Yt {
|
|
|
3914
3939
|
break;
|
|
3915
3940
|
}
|
|
3916
3941
|
case "agent-connected": {
|
|
3917
|
-
this.
|
|
3918
|
-
id: e?.id || null,
|
|
3919
|
-
author: "assistant",
|
|
3920
|
-
type: "text",
|
|
3921
|
-
data: {
|
|
3922
|
-
text: "_Joined chat_",
|
|
3923
|
-
...e.userName && { userName: e.userName },
|
|
3924
|
-
...e.userAvatar && { userAvatar: e.userAvatar }
|
|
3925
|
-
}
|
|
3942
|
+
this.handleAgentConnected(e).catch((i) => {
|
|
3926
3943
|
});
|
|
3927
3944
|
break;
|
|
3928
3945
|
}
|
|
@@ -3934,7 +3951,7 @@ class R extends Yt {
|
|
|
3934
3951
|
//{"type":"agent-connected","author":"assistant","userName":"SF DEV ADMIN"}
|
|
3935
3952
|
//{"type":"agent-disconnected","author":"assistant","userName":"SF DEV ADMIN"}
|
|
3936
3953
|
case "form": {
|
|
3937
|
-
if (
|
|
3954
|
+
if (T.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
|
|
3938
3955
|
const i = this.replyMessage.data?.text || "";
|
|
3939
3956
|
(this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
|
|
3940
3957
|
}
|
|
@@ -3980,7 +3997,7 @@ class R extends Yt {
|
|
|
3980
3997
|
if (e !== -1)
|
|
3981
3998
|
if (this.setting.splitMessagesAtBreak) {
|
|
3982
3999
|
const t = this.streamingResponseBuffer.substring(0, e).trim(), i = this.streamingResponseBuffer.substring(e + 4).trim();
|
|
3983
|
-
(t !== "" || this.replyMessage?.data?.text !== "") && (
|
|
4000
|
+
(t !== "" || this.replyMessage?.data?.text !== "") && (T.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${t} next: ${i}`), this.replyMessage = this.updateMessage(this.replyMessage, t), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: i } }, this.addMessage(this.replyMessage));
|
|
3984
4001
|
} else
|
|
3985
4002
|
this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer);
|
|
3986
4003
|
this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null;
|
|
@@ -3989,11 +4006,11 @@ class R extends Yt {
|
|
|
3989
4006
|
if (!this.streamingResponseBuffer || !this.replyMessage)
|
|
3990
4007
|
return;
|
|
3991
4008
|
if (this.streamingResponseBuffer.indexOf("![") === -1) {
|
|
3992
|
-
|
|
4009
|
+
T.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
|
|
3993
4010
|
return;
|
|
3994
4011
|
}
|
|
3995
4012
|
const e = this.streamingResponseBuffer.lastIndexOf("]"), t = this.streamingResponseBuffer.lastIndexOf(")");
|
|
3996
|
-
e === -1 || t === -1 || e > t || (
|
|
4013
|
+
e === -1 || t === -1 || e > t || (T.info(`IMG TAG END: ${this.streamingResponseBuffer}`), this.isValidImageLink(this.streamingResponseBuffer) && (this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer)), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null);
|
|
3997
4014
|
}
|
|
3998
4015
|
isValidImageLink(e = "") {
|
|
3999
4016
|
return !(e.indexOf("example.com") !== -1 || e.indexOf("imgur.com") !== -1 || e.indexOf("attachment:") !== -1);
|
|
@@ -4013,7 +4030,7 @@ class R extends Yt {
|
|
|
4013
4030
|
this.streamingResponseBuffer = e, this.streamingResponseTagStartPos = e.indexOf("<"), this.streamingResponseCurrentTag = "br";
|
|
4014
4031
|
return;
|
|
4015
4032
|
} else if (e.indexOf("![") !== -1 || e.endsWith("!")) {
|
|
4016
|
-
this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img",
|
|
4033
|
+
this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", T.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
|
|
4017
4034
|
return;
|
|
4018
4035
|
}
|
|
4019
4036
|
this.streamingResponseLastText = t, this.replyMessage = this.updateMessage(this.replyMessage, t);
|
|
@@ -4069,7 +4086,7 @@ class R extends Yt {
|
|
|
4069
4086
|
detail: f
|
|
4070
4087
|
})
|
|
4071
4088
|
), this.sendActionCompleted(f).catch((p) => {
|
|
4072
|
-
|
|
4089
|
+
T.error(`Error: failed to send action completed: ${p.message}`);
|
|
4073
4090
|
});
|
|
4074
4091
|
}
|
|
4075
4092
|
this.actions.splice(s, 1);
|
|
@@ -4087,10 +4104,10 @@ class R extends Yt {
|
|
|
4087
4104
|
}
|
|
4088
4105
|
}
|
|
4089
4106
|
async sendMessage(e) {
|
|
4090
|
-
e = this.formatMessage(e),
|
|
4107
|
+
e = this.formatMessage(e), T.info("Send Message:", e), this.showNewConversation && (this.showNewConversation = !1), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
|
|
4091
4108
|
const t = await this.getWsClient();
|
|
4092
4109
|
if (!t) {
|
|
4093
|
-
|
|
4110
|
+
T.error("Error - failed to obtain ws client"), this.replyMessage = null;
|
|
4094
4111
|
return;
|
|
4095
4112
|
}
|
|
4096
4113
|
t.sendMessage({
|
|
@@ -4136,7 +4153,7 @@ class R extends Yt {
|
|
|
4136
4153
|
// Submit current form data
|
|
4137
4154
|
async submitForm(e) {
|
|
4138
4155
|
if (!this.form) {
|
|
4139
|
-
|
|
4156
|
+
T.info("submitForm: No form is active - ignored");
|
|
4140
4157
|
return;
|
|
4141
4158
|
}
|
|
4142
4159
|
const t = `${ne}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
|
|
@@ -4145,7 +4162,7 @@ class R extends Yt {
|
|
|
4145
4162
|
async sendFormData(e, t) {
|
|
4146
4163
|
const i = await this.getWsClient();
|
|
4147
4164
|
if (!i) {
|
|
4148
|
-
|
|
4165
|
+
T.error("Error - failed to obtain ws client");
|
|
4149
4166
|
return;
|
|
4150
4167
|
}
|
|
4151
4168
|
i.sendMessage({
|
|
@@ -4157,7 +4174,7 @@ class R extends Yt {
|
|
|
4157
4174
|
async sendActionCompleted(e) {
|
|
4158
4175
|
const t = await this.getWsClient();
|
|
4159
4176
|
if (!t) {
|
|
4160
|
-
|
|
4177
|
+
T.error("Error - failed to obtain ws client");
|
|
4161
4178
|
return;
|
|
4162
4179
|
}
|
|
4163
4180
|
t.sendMessage({
|
|
@@ -4168,7 +4185,7 @@ class R extends Yt {
|
|
|
4168
4185
|
async sendEvent(e) {
|
|
4169
4186
|
const t = await this.getWsClient();
|
|
4170
4187
|
if (!t) {
|
|
4171
|
-
|
|
4188
|
+
T.error("Error - failed to obtain ws client");
|
|
4172
4189
|
return;
|
|
4173
4190
|
}
|
|
4174
4191
|
t.sendMessage(e);
|
|
@@ -4181,10 +4198,10 @@ class R extends Yt {
|
|
|
4181
4198
|
this.feedbackMessages.push(t), this.feedbackUserMessage = this.messages.findLast((i) => i.id === t.replyId)?.data?.text || "", this.feedbackAnswer = t?.data.text || "", this.feedbackAnswerMessageId = t?.id || "", this.feedbackAnswerUserName = t?.data.userName || "", this.feedback = !0;
|
|
4182
4199
|
}
|
|
4183
4200
|
async submitFeedback(e, t, i) {
|
|
4184
|
-
|
|
4201
|
+
T.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = t;
|
|
4185
4202
|
const s = await this.getWsClient();
|
|
4186
4203
|
if (!s) {
|
|
4187
|
-
|
|
4204
|
+
T.error("Error - failed to obtain ws client"), this.replyMessage = null;
|
|
4188
4205
|
return;
|
|
4189
4206
|
}
|
|
4190
4207
|
s.sendMessage({
|
|
@@ -4227,7 +4244,7 @@ class R extends Yt {
|
|
|
4227
4244
|
if (!e?.length) return;
|
|
4228
4245
|
const t = b.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
|
|
4229
4246
|
if (s) {
|
|
4230
|
-
|
|
4247
|
+
T.error(
|
|
4231
4248
|
`File "${s.name}" exceeds the ${t} MB limit and will not be uploaded.`
|
|
4232
4249
|
), Ya({
|
|
4233
4250
|
message: `File is larger than ${t} MB`,
|
|
@@ -4238,10 +4255,10 @@ class R extends Yt {
|
|
|
4238
4255
|
return;
|
|
4239
4256
|
}
|
|
4240
4257
|
const r = await this.filesToBase64(e);
|
|
4241
|
-
|
|
4258
|
+
T.info("Uploading files:", r);
|
|
4242
4259
|
const o = await this.getWsClient();
|
|
4243
4260
|
if (!o) {
|
|
4244
|
-
|
|
4261
|
+
T.error("Error - failed to obtain ws client");
|
|
4245
4262
|
return;
|
|
4246
4263
|
}
|
|
4247
4264
|
const f = fe();
|
|
@@ -4269,42 +4286,42 @@ class R extends Yt {
|
|
|
4269
4286
|
});
|
|
4270
4287
|
}
|
|
4271
4288
|
}
|
|
4272
|
-
|
|
4289
|
+
O([
|
|
4273
4290
|
ce({ prefix: ne }),
|
|
4274
4291
|
z({ value: "en" })
|
|
4275
4292
|
], R.prototype, "language");
|
|
4276
|
-
|
|
4293
|
+
O([
|
|
4277
4294
|
ce({ prefix: ne }),
|
|
4278
4295
|
z({ value: "light" })
|
|
4279
4296
|
], R.prototype, "theme");
|
|
4280
|
-
|
|
4297
|
+
O([
|
|
4281
4298
|
ce({ prefix: ne }),
|
|
4282
4299
|
z({ type: Boolean, value: !1 })
|
|
4283
4300
|
], R.prototype, "open");
|
|
4284
|
-
|
|
4301
|
+
O([
|
|
4285
4302
|
z({ type: Boolean, value: !1 })
|
|
4286
4303
|
], R.prototype, "alwaysOpen");
|
|
4287
|
-
|
|
4304
|
+
O([
|
|
4288
4305
|
ce({ prefix: ne }),
|
|
4289
4306
|
z({ value: "false" })
|
|
4290
4307
|
], R.prototype, "connectWs");
|
|
4291
|
-
|
|
4308
|
+
O([
|
|
4292
4309
|
ce({ prefix: ne }),
|
|
4293
4310
|
z({ value: fe() })
|
|
4294
4311
|
], R.prototype, "conversationId");
|
|
4295
|
-
|
|
4312
|
+
O([
|
|
4296
4313
|
ce({ prefix: ne }),
|
|
4297
4314
|
z({ value: 0 })
|
|
4298
4315
|
], R.prototype, "lastConversationUpdate");
|
|
4299
|
-
|
|
4316
|
+
O([
|
|
4300
4317
|
ce({ prefix: ne }),
|
|
4301
4318
|
z({ type: Array, value: [] })
|
|
4302
4319
|
], R.prototype, "messages");
|
|
4303
|
-
|
|
4320
|
+
O([
|
|
4304
4321
|
ce({ prefix: ne }),
|
|
4305
4322
|
z({ value: 0 })
|
|
4306
4323
|
], R.prototype, "unreadMessages");
|
|
4307
|
-
|
|
4324
|
+
O([
|
|
4308
4325
|
ce({ prefix: ne }),
|
|
4309
4326
|
z({
|
|
4310
4327
|
type: Array,
|
|
@@ -4349,43 +4366,43 @@ B([
|
|
|
4349
4366
|
],*/
|
|
4350
4367
|
})
|
|
4351
4368
|
], R.prototype, "actions");
|
|
4352
|
-
|
|
4369
|
+
O([
|
|
4353
4370
|
ce({ prefix: ne }),
|
|
4354
4371
|
z({ type: Object, value: null })
|
|
4355
4372
|
], R.prototype, "form");
|
|
4356
|
-
|
|
4373
|
+
O([
|
|
4357
4374
|
z({ type: Boolean, value: !1 })
|
|
4358
4375
|
], R.prototype, "botSettingsInitialized");
|
|
4359
|
-
|
|
4376
|
+
O([
|
|
4360
4377
|
z({ type: Number, value: 5 })
|
|
4361
4378
|
], R.prototype, "botSettingsRetryTimeout");
|
|
4362
|
-
|
|
4379
|
+
O([
|
|
4363
4380
|
z({ type: Object, value: null })
|
|
4364
4381
|
], R.prototype, "botSettings");
|
|
4365
|
-
|
|
4382
|
+
O([
|
|
4366
4383
|
z({ type: Boolean, value: !0 })
|
|
4367
4384
|
], R.prototype, "disabled");
|
|
4368
|
-
|
|
4385
|
+
O([
|
|
4369
4386
|
z({ type: Boolean, value: !1 })
|
|
4370
4387
|
], R.prototype, "connecting");
|
|
4371
|
-
|
|
4388
|
+
O([
|
|
4372
4389
|
z({ type: Boolean, value: !1 })
|
|
4373
4390
|
], R.prototype, "connected");
|
|
4374
|
-
|
|
4391
|
+
O([
|
|
4375
4392
|
ce({ prefix: ne }),
|
|
4376
4393
|
z({ value: "true" })
|
|
4377
4394
|
], R.prototype, "shouldEngage");
|
|
4378
|
-
|
|
4395
|
+
O([
|
|
4379
4396
|
z({ type: Boolean, value: !1 })
|
|
4380
4397
|
], R.prototype, "engage");
|
|
4381
|
-
|
|
4398
|
+
O([
|
|
4382
4399
|
ce({ prefix: ne }),
|
|
4383
4400
|
z({ type: Boolean, value: !1 })
|
|
4384
4401
|
], R.prototype, "showNewConversation");
|
|
4385
|
-
|
|
4402
|
+
O([
|
|
4386
4403
|
z({ type: Boolean, value: !1 })
|
|
4387
4404
|
], R.prototype, "typingActive");
|
|
4388
|
-
|
|
4405
|
+
O([
|
|
4389
4406
|
ce({ prefix: ne }),
|
|
4390
4407
|
z({
|
|
4391
4408
|
type: Object,
|
|
@@ -4403,63 +4420,66 @@ B([
|
|
|
4403
4420
|
enableNotificationSound: !0,
|
|
4404
4421
|
botAdvancedOptions: null,
|
|
4405
4422
|
enableMultiModalConnection: !1,
|
|
4423
|
+
enablePassContextOnConnect: !1,
|
|
4406
4424
|
fileUploadEnabledExtensions: ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3",
|
|
4407
|
-
fileUploadMaxFileSizeMB: 30
|
|
4425
|
+
fileUploadMaxFileSizeMB: 30,
|
|
4426
|
+
enableAgentDisconnectedMessage: !1,
|
|
4427
|
+
showNewConversationOnAgentDisconnected: !1
|
|
4408
4428
|
}
|
|
4409
4429
|
})
|
|
4410
4430
|
], R.prototype, "setting");
|
|
4411
|
-
|
|
4431
|
+
O([
|
|
4412
4432
|
ce({ prefix: ne }),
|
|
4413
4433
|
z({ type: Object, value: {} })
|
|
4414
4434
|
], R.prototype, "context");
|
|
4415
|
-
|
|
4435
|
+
O([
|
|
4416
4436
|
z({ type: String, value: "top-end" })
|
|
4417
4437
|
], R.prototype, "appearanceAnchorPopupPosition");
|
|
4418
|
-
|
|
4438
|
+
O([
|
|
4419
4439
|
z({ type: String, value: "danger" })
|
|
4420
4440
|
], R.prototype, "appearanceAnchorBadgeVariant");
|
|
4421
|
-
|
|
4441
|
+
O([
|
|
4422
4442
|
z({ type: String, value: "right" })
|
|
4423
4443
|
], R.prototype, "appearanceUserMessageAvatarPosition");
|
|
4424
|
-
|
|
4444
|
+
O([
|
|
4425
4445
|
z({ type: Boolean, value: !1 })
|
|
4426
4446
|
], R.prototype, "feedback");
|
|
4427
|
-
|
|
4447
|
+
O([
|
|
4428
4448
|
z({ type: Number, value: 5 })
|
|
4429
4449
|
], R.prototype, "feedbackScore");
|
|
4430
|
-
|
|
4450
|
+
O([
|
|
4431
4451
|
z({ type: String, value: "" })
|
|
4432
4452
|
], R.prototype, "feedbackUserMessage");
|
|
4433
|
-
|
|
4453
|
+
O([
|
|
4434
4454
|
z({ type: String, value: "" })
|
|
4435
4455
|
], R.prototype, "feedbackAnswerMessageId");
|
|
4436
|
-
|
|
4456
|
+
O([
|
|
4437
4457
|
z({ type: String, value: "" })
|
|
4438
4458
|
], R.prototype, "feedbackAnswer");
|
|
4439
|
-
|
|
4459
|
+
O([
|
|
4440
4460
|
z({ type: String, value: "" })
|
|
4441
4461
|
], R.prototype, "feedbackAnswerUserName");
|
|
4442
|
-
|
|
4462
|
+
O([
|
|
4443
4463
|
z({ type: Array, value: [] })
|
|
4444
4464
|
], R.prototype, "feedbackMessages");
|
|
4445
|
-
|
|
4465
|
+
O([
|
|
4446
4466
|
ce({ prefix: ne }),
|
|
4447
4467
|
z({ type: String, value: "" })
|
|
4448
4468
|
], R.prototype, "feedbackName");
|
|
4449
|
-
|
|
4469
|
+
O([
|
|
4450
4470
|
ce({ prefix: ne }),
|
|
4451
4471
|
z({ type: String, value: "" })
|
|
4452
4472
|
], R.prototype, "feedbackEmail");
|
|
4453
|
-
|
|
4473
|
+
O([
|
|
4454
4474
|
z({ type: Boolean, value: !1 })
|
|
4455
4475
|
], R.prototype, "mediaStartAudioRequested");
|
|
4456
|
-
|
|
4476
|
+
O([
|
|
4457
4477
|
z({ type: Boolean, value: !1 })
|
|
4458
4478
|
], R.prototype, "mediaStartedAudio");
|
|
4459
|
-
|
|
4479
|
+
O([
|
|
4460
4480
|
z({ type: Boolean, value: !1 })
|
|
4461
4481
|
], R.prototype, "webAudioStarted");
|
|
4462
|
-
|
|
4482
|
+
O([
|
|
4463
4483
|
z({ type: Boolean, value: !1 })
|
|
4464
4484
|
], R.prototype, "webAudioMuted");
|
|
4465
4485
|
const b = new R(), Ps = J`
|
|
@@ -4542,7 +4562,7 @@ var Ls = Object.defineProperty, Rs = (a, e, t, i) => {
|
|
|
4542
4562
|
(o = a[r]) && (s = o(e, t, s) || s);
|
|
4543
4563
|
return s && Ls(e, t, s), s;
|
|
4544
4564
|
};
|
|
4545
|
-
|
|
4565
|
+
Bi("system", {
|
|
4546
4566
|
resolver: (a) => ""
|
|
4547
4567
|
});
|
|
4548
4568
|
(() => {
|
|
@@ -4582,13 +4602,13 @@ class re extends Fe {
|
|
|
4582
4602
|
Rs([
|
|
4583
4603
|
x({ type: String })
|
|
4584
4604
|
], re.prototype, "lang");
|
|
4585
|
-
var zs = Object.defineProperty,
|
|
4586
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
4605
|
+
var zs = Object.defineProperty, Os = Object.getOwnPropertyDescriptor, Ja = (a, e, t, i) => {
|
|
4606
|
+
for (var s = i > 1 ? void 0 : i ? Os(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
4587
4607
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
4588
4608
|
return i && s && zs(e, t, s), s;
|
|
4589
4609
|
};
|
|
4590
|
-
const
|
|
4591
|
-
let
|
|
4610
|
+
const Bs = '<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>';
|
|
4611
|
+
let Ot = class extends re {
|
|
4592
4612
|
constructor() {
|
|
4593
4613
|
super(...arguments), this.title = "ChatBot";
|
|
4594
4614
|
}
|
|
@@ -4602,13 +4622,13 @@ let zt = class extends re {
|
|
|
4602
4622
|
${W(
|
|
4603
4623
|
b.setting.logoUrl !== "",
|
|
4604
4624
|
() => u`<img class="cb-header-logo" part="header-logo" src="${b.setting.logoUrl}" />`,
|
|
4605
|
-
() => u`<div class="cb-header-logo" part="header-logo">${
|
|
4625
|
+
() => u`<div class="cb-header-logo" part="header-logo">${G(b.setting.logoSvg)}</div>`
|
|
4606
4626
|
)}
|
|
4607
4627
|
<div class="cb-header-title" part="header-title">${this.title}</div>
|
|
4608
4628
|
${W(
|
|
4609
4629
|
b.alwaysOpen,
|
|
4610
4630
|
() => u``,
|
|
4611
|
-
() => u`<div class="cb-header-close" part="header-close">${
|
|
4631
|
+
() => u`<div class="cb-header-close" part="header-close">${G(Bs)}</div>`
|
|
4612
4632
|
)}
|
|
4613
4633
|
</header>`;
|
|
4614
4634
|
}
|
|
@@ -4617,13 +4637,13 @@ let zt = class extends re {
|
|
|
4617
4637
|
${W(
|
|
4618
4638
|
b.setting.logoUrl !== "",
|
|
4619
4639
|
() => u`<img class="cb-header-img" part="header-logo" src="${b.setting.logoUrl}" />`,
|
|
4620
|
-
() => u`<div class="cb-header-logo" part="header-logo">${
|
|
4640
|
+
() => u`<div class="cb-header-logo" part="header-logo">${G(b.setting.logoSvg)}</div>`
|
|
4621
4641
|
)}
|
|
4622
4642
|
<div class="cb-header-title" part="header-title">${this.title}</div>
|
|
4623
4643
|
${W(
|
|
4624
4644
|
b.alwaysOpen,
|
|
4625
4645
|
() => u`<div></div>`,
|
|
4626
|
-
() => u`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${
|
|
4646
|
+
() => u`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(b.setting.closeSvg)}</div>`
|
|
4627
4647
|
)}
|
|
4628
4648
|
</header>`;
|
|
4629
4649
|
}
|
|
@@ -4650,13 +4670,13 @@ let zt = class extends re {
|
|
|
4650
4670
|
});
|
|
4651
4671
|
}
|
|
4652
4672
|
};
|
|
4653
|
-
|
|
4673
|
+
Ot.styles = Ps;
|
|
4654
4674
|
Ja([
|
|
4655
4675
|
x({ type: String, attribute: "title" })
|
|
4656
|
-
],
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
],
|
|
4676
|
+
], Ot.prototype, "title", 2);
|
|
4677
|
+
Ot = Ja([
|
|
4678
|
+
Z("cb-header")
|
|
4679
|
+
], Ot);
|
|
4660
4680
|
const qs = J`
|
|
4661
4681
|
${ke}
|
|
4662
4682
|
.cb-footer {
|
|
@@ -4714,7 +4734,7 @@ let Jt = class extends re {
|
|
|
4714
4734
|
};
|
|
4715
4735
|
Jt.styles = qs;
|
|
4716
4736
|
Jt = Fs([
|
|
4717
|
-
|
|
4737
|
+
Z("cb-footer")
|
|
4718
4738
|
], Jt);
|
|
4719
4739
|
const js = J`
|
|
4720
4740
|
${ke}
|
|
@@ -4917,7 +4937,7 @@ const js = J`
|
|
|
4917
4937
|
background-size: 100%;
|
|
4918
4938
|
transition: background 0s;
|
|
4919
4939
|
}
|
|
4920
|
-
`,
|
|
4940
|
+
`, Za = J`
|
|
4921
4941
|
:host {
|
|
4922
4942
|
--primary-color: var(--sl-color-primary-600);
|
|
4923
4943
|
}
|
|
@@ -5071,7 +5091,7 @@ const js = J`
|
|
|
5071
5091
|
.card-btn[aria-disabled="true"]:focus-visible {
|
|
5072
5092
|
box-shadow: none;
|
|
5073
5093
|
}
|
|
5074
|
-
`,
|
|
5094
|
+
`, Ka = J`
|
|
5075
5095
|
:host {
|
|
5076
5096
|
--primary-color: var(--sl-color-primary-600);
|
|
5077
5097
|
}
|
|
@@ -5259,7 +5279,7 @@ je([
|
|
|
5259
5279
|
x({ type: Number })
|
|
5260
5280
|
], gt.prototype, "minWidth", 2);
|
|
5261
5281
|
gt = je([
|
|
5262
|
-
|
|
5282
|
+
Z("cb-split-menu")
|
|
5263
5283
|
], gt);
|
|
5264
5284
|
let Ge = class extends Fe {
|
|
5265
5285
|
constructor() {
|
|
@@ -5346,7 +5366,7 @@ let Ge = class extends Fe {
|
|
|
5346
5366
|
this._onDocPointerDown && (document.removeEventListener("pointerdown", this._onDocPointerDown, { capture: !0 }), this._onDocPointerDown = void 0), this._onKeydown && (document.removeEventListener("keydown", this._onKeydown, { capture: !0 }), this._onKeydown = void 0);
|
|
5347
5367
|
}
|
|
5348
5368
|
};
|
|
5349
|
-
Ge.styles =
|
|
5369
|
+
Ge.styles = Ka;
|
|
5350
5370
|
je([
|
|
5351
5371
|
x({ type: String })
|
|
5352
5372
|
], Ge.prototype, "variant", 2);
|
|
@@ -5363,12 +5383,12 @@ je([
|
|
|
5363
5383
|
xe(".split-btn")
|
|
5364
5384
|
], Ge.prototype, "_btn", 2);
|
|
5365
5385
|
Ge = je([
|
|
5366
|
-
|
|
5386
|
+
Z("cb-split-button")
|
|
5367
5387
|
], Ge);
|
|
5368
|
-
var
|
|
5369
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
5388
|
+
var Ns = Object.defineProperty, Us = Object.getOwnPropertyDescriptor, wt = (a, e, t, i) => {
|
|
5389
|
+
for (var s = i > 1 ? void 0 : i ? Us(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
5370
5390
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5371
|
-
return i && s &&
|
|
5391
|
+
return i && s && Ns(e, t, s), s;
|
|
5372
5392
|
};
|
|
5373
5393
|
const Tt = Je.noConflict(), Ea = "M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z", Ws = J`
|
|
5374
5394
|
:host { display: block; width: 100%; color: var(--cb-fg, #111827); }
|
|
@@ -5478,16 +5498,16 @@ let Me = class extends Fe {
|
|
|
5478
5498
|
}
|
|
5479
5499
|
/* ----------------- CARD ----------------- */
|
|
5480
5500
|
renderCard(a) {
|
|
5481
|
-
const { title: e, subtitle: t, image_url: i, image_alt: s, buttons: r = [] } = a, o = (a.url || "").trim(), f = (a.target || "").trim(), p = o.length > 0, v = a.info?.text, k = typeof a.info?.rating == "number" ? a.info.rating : typeof a.rating == "number" ? a.rating : void 0, w = !!v, _ = typeof k == "number", P = ["card__info", w && _ ? "card__info--between" : ""].filter(Boolean).join(" "),
|
|
5501
|
+
const { title: e, subtitle: t, image_url: i, image_alt: s, buttons: r = [] } = a, o = (a.url || "").trim(), f = (a.target || "").trim(), p = o.length > 0, v = a.info?.text, k = typeof a.info?.rating == "number" ? a.info.rating : typeof a.rating == "number" ? a.rating : void 0, w = !!v, _ = typeof k == "number", P = ["card__info", w && _ ? "card__info--between" : ""].filter(Boolean).join(" "), E = r.some((U) => (U.type ?? "").toLowerCase() === "primary"), M = r.some((U) => (U.type ?? "").toLowerCase() === "secondary"), L = ["card__actions", E && M ? "card__actions--between" : ""].filter(Boolean).join(" "), C = () => {
|
|
5482
5502
|
if (!i) return Ae;
|
|
5483
|
-
const
|
|
5484
|
-
return p ? u`<a class="card__image-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false" aria-label=${e ? `Open: ${e}` : "Open"}>${
|
|
5485
|
-
},
|
|
5503
|
+
const U = u`<img class="card__image" src=${i} alt=${s ?? e ?? "Image"} draggable="false" />`;
|
|
5504
|
+
return p ? u`<a class="card__image-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false" aria-label=${e ? `Open: ${e}` : "Open"}>${U}</a>` : U;
|
|
5505
|
+
}, K = () => e ? p && !i ? u`<h3 class="card__title"><a class="card__title-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false">${e}</a></h3>` : u`<h3 class="card__title">${e}</h3>` : Ae;
|
|
5486
5506
|
return u`
|
|
5487
5507
|
<div class="card" role="group" aria-label=${e ? `Card: ${e}` : "Card"}>
|
|
5488
5508
|
${C()}
|
|
5489
5509
|
<div class="card__content">
|
|
5490
|
-
${
|
|
5510
|
+
${K()}
|
|
5491
5511
|
${t ? u`<div class="card__subtitle">${t}</div>` : Ae}
|
|
5492
5512
|
${w || _ ? u`
|
|
5493
5513
|
<div class=${P}>
|
|
@@ -5496,7 +5516,7 @@ let Me = class extends Fe {
|
|
|
5496
5516
|
</div>` : Ae}
|
|
5497
5517
|
${r.length ? u`
|
|
5498
5518
|
<div class=${L}>
|
|
5499
|
-
${r.map((
|
|
5519
|
+
${r.map((U, X) => this.renderAnyButton(U, X))}
|
|
5500
5520
|
</div>` : Ae}
|
|
5501
5521
|
</div>
|
|
5502
5522
|
</div>
|
|
@@ -5701,7 +5721,7 @@ let Me = class extends Fe {
|
|
|
5701
5721
|
await o.json(), Tt.info("c7o: cart/add.js - cart updated"), Tt.info("c7o: reloading window after cart update"), window.location.reload();
|
|
5702
5722
|
}
|
|
5703
5723
|
};
|
|
5704
|
-
Me.styles = [Ws,
|
|
5724
|
+
Me.styles = [Ws, Za, Ka];
|
|
5705
5725
|
Me.DRAG_THRESHOLD_PX = 10;
|
|
5706
5726
|
wt([
|
|
5707
5727
|
x({ type: Object })
|
|
@@ -5716,7 +5736,7 @@ wt([
|
|
|
5716
5736
|
Ha()
|
|
5717
5737
|
], Me.prototype, "_canNext", 2);
|
|
5718
5738
|
Me = wt([
|
|
5719
|
-
|
|
5739
|
+
Z("cb-block")
|
|
5720
5740
|
], Me);
|
|
5721
5741
|
var Gs = Object.defineProperty, Xs = Object.getOwnPropertyDescriptor, Qa = (a, e, t, i) => {
|
|
5722
5742
|
for (var s = i > 1 ? void 0 : i ? Xs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
@@ -5750,9 +5770,9 @@ Qa([
|
|
|
5750
5770
|
x({ type: Array })
|
|
5751
5771
|
], Bt.prototype, "blocks", 2);
|
|
5752
5772
|
Bt = Qa([
|
|
5753
|
-
|
|
5773
|
+
Z("cb-blocks")
|
|
5754
5774
|
], Bt);
|
|
5755
|
-
var
|
|
5775
|
+
var Rt = { exports: {} }, Ys = Rt.exports, $a;
|
|
5756
5776
|
function Js() {
|
|
5757
5777
|
return $a || ($a = 1, (function(a, e) {
|
|
5758
5778
|
(function(t, i) {
|
|
@@ -5817,19 +5837,19 @@ function Js() {
|
|
|
5817
5837
|
})), h;
|
|
5818
5838
|
}
|
|
5819
5839
|
function w(n) {
|
|
5820
|
-
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, h = c.avoidDuplicate, m = h === void 0 || h, g = c.once, y = g !== void 0 && g, A = c.useCapture, S = A !== void 0 && A,
|
|
5821
|
-
function
|
|
5822
|
-
F(d) && d.call(
|
|
5840
|
+
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, h = c.avoidDuplicate, m = h === void 0 || h, g = c.once, y = g !== void 0 && g, A = c.useCapture, S = A !== void 0 && A, I = arguments.length > 2 ? arguments[2] : void 0, $ = l || [];
|
|
5841
|
+
function B(q) {
|
|
5842
|
+
F(d) && d.call(I, q, this), y && B.destroy();
|
|
5823
5843
|
}
|
|
5824
|
-
return j($) && ($ = document.querySelectorAll($)),
|
|
5844
|
+
return j($) && ($ = document.querySelectorAll($)), B.destroy = function() {
|
|
5825
5845
|
v($, (function(q) {
|
|
5826
|
-
var D = k(q, n,
|
|
5827
|
-
D.found && D.all.splice(D.evt, 1), q.removeEventListener && q.removeEventListener(n,
|
|
5846
|
+
var D = k(q, n, B);
|
|
5847
|
+
D.found && D.all.splice(D.evt, 1), q.removeEventListener && q.removeEventListener(n, B, S);
|
|
5828
5848
|
}));
|
|
5829
5849
|
}, v($, (function(q) {
|
|
5830
|
-
var D = k(q, n,
|
|
5831
|
-
(q.addEventListener && m && !D.found || !m) && (q.addEventListener(n,
|
|
5832
|
-
})),
|
|
5850
|
+
var D = k(q, n, B);
|
|
5851
|
+
(q.addEventListener && m && !D.found || !m) && (q.addEventListener(n, B, S), D.all.push({ eventName: n, fn: B }));
|
|
5852
|
+
})), B;
|
|
5833
5853
|
}
|
|
5834
5854
|
function _(n, c) {
|
|
5835
5855
|
v(c.split(" "), (function(l) {
|
|
@@ -5841,7 +5861,7 @@ function Js() {
|
|
|
5841
5861
|
return n.classList.remove(l);
|
|
5842
5862
|
}));
|
|
5843
5863
|
}
|
|
5844
|
-
function
|
|
5864
|
+
function E(n, c) {
|
|
5845
5865
|
return n.classList.contains(c);
|
|
5846
5866
|
}
|
|
5847
5867
|
function M(n, c) {
|
|
@@ -5868,13 +5888,13 @@ function Js() {
|
|
|
5868
5888
|
if (c === "") return n.style.webkitTransform = "", n.style.MozTransform = "", n.style.msTransform = "", n.style.OTransform = "", n.style.transform = "", !1;
|
|
5869
5889
|
n.style.webkitTransform = c, n.style.MozTransform = c, n.style.msTransform = c, n.style.OTransform = c, n.style.transform = c;
|
|
5870
5890
|
}
|
|
5871
|
-
function
|
|
5891
|
+
function K(n) {
|
|
5872
5892
|
n.style.display = "block";
|
|
5873
5893
|
}
|
|
5874
|
-
function
|
|
5894
|
+
function U(n) {
|
|
5875
5895
|
n.style.display = "none";
|
|
5876
5896
|
}
|
|
5877
|
-
function
|
|
5897
|
+
function X(n) {
|
|
5878
5898
|
var c = document.createDocumentFragment(), l = document.createElement("div");
|
|
5879
5899
|
for (l.innerHTML = n; l.firstChild; ) c.appendChild(l.firstChild);
|
|
5880
5900
|
return c;
|
|
@@ -5930,7 +5950,7 @@ function Js() {
|
|
|
5930
5950
|
}
|
|
5931
5951
|
}
|
|
5932
5952
|
}
|
|
5933
|
-
function
|
|
5953
|
+
function ge() {
|
|
5934
5954
|
return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
|
|
5935
5955
|
}
|
|
5936
5956
|
function F(n) {
|
|
@@ -6055,13 +6075,13 @@ function Js() {
|
|
|
6055
6075
|
} }]), pa = s((function n() {
|
|
6056
6076
|
var c = this, l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
6057
6077
|
t(this, n);
|
|
6058
|
-
var d = l.dragEl, h = l.toleranceX, m = h === void 0 ? 40 : h, g = l.toleranceY, y = g === void 0 ? 65 : g, A = l.slide, S = A === void 0 ? null : A,
|
|
6059
|
-
this.el = d, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = m, this.toleranceY = y, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = S, this.instance = $, this.el.addEventListener("mousedown", (function(
|
|
6060
|
-
return c.dragStart(
|
|
6061
|
-
}), !1), this.el.addEventListener("mouseup", (function(
|
|
6062
|
-
return c.dragEnd(
|
|
6063
|
-
}), !1), this.el.addEventListener("mousemove", (function(
|
|
6064
|
-
return c.drag(
|
|
6078
|
+
var d = l.dragEl, h = l.toleranceX, m = h === void 0 ? 40 : h, g = l.toleranceY, y = g === void 0 ? 65 : g, A = l.slide, S = A === void 0 ? null : A, I = l.instance, $ = I === void 0 ? null : I;
|
|
6079
|
+
this.el = d, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = m, this.toleranceY = y, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = S, this.instance = $, this.el.addEventListener("mousedown", (function(B) {
|
|
6080
|
+
return c.dragStart(B);
|
|
6081
|
+
}), !1), this.el.addEventListener("mouseup", (function(B) {
|
|
6082
|
+
return c.dragEnd(B);
|
|
6083
|
+
}), !1), this.el.addEventListener("mousemove", (function(B) {
|
|
6084
|
+
return c.drag(B);
|
|
6065
6085
|
}), !1);
|
|
6066
6086
|
}), [{ key: "dragStart", value: function(n) {
|
|
6067
6087
|
if (this.slide.classList.contains("zoomed")) this.active = !1;
|
|
@@ -6112,26 +6132,26 @@ function Js() {
|
|
|
6112
6132
|
}
|
|
6113
6133
|
function ki(n, c, l, d) {
|
|
6114
6134
|
var h = this, m = n.querySelector(".ginner-container"), g = "gvideo" + l, y = n.querySelector(".gslide-media"), A = this.getAllPlayers();
|
|
6115
|
-
_(m, "gvideo-container"), y.insertBefore(
|
|
6135
|
+
_(m, "gvideo-container"), y.insertBefore(X('<div class="gvideo-wrapper"></div>'), y.firstChild);
|
|
6116
6136
|
var S = n.querySelector(".gvideo-wrapper");
|
|
6117
6137
|
he(this.settings.plyr.css, "Plyr");
|
|
6118
|
-
var
|
|
6138
|
+
var I = c.href, $ = c?.videoProvider, B = !1;
|
|
6119
6139
|
y.style.maxWidth = c.width, he(this.settings.plyr.js, "Plyr", (function() {
|
|
6120
|
-
if (!$ &&
|
|
6140
|
+
if (!$ && I.match(/vimeo\.com\/([0-9]*)/) && ($ = "vimeo"), !$ && (I.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || I.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || I.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || I.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && ($ = "youtube"), $ === "local" || !$) {
|
|
6121
6141
|
$ = "local";
|
|
6122
6142
|
var q = '<video id="' + g + '" ';
|
|
6123
|
-
q += 'style="background:#000; max-width: '.concat(c.width, ';" '), q += 'preload="metadata" ', q += 'x-webkit-airplay="allow" ', q += "playsinline ", q += "controls ", q += 'class="gvideo-local">', q += '<source src="'.concat(
|
|
6143
|
+
q += 'style="background:#000; max-width: '.concat(c.width, ';" '), q += 'preload="metadata" ', q += 'x-webkit-airplay="allow" ', q += "playsinline ", q += "controls ", q += 'class="gvideo-local">', q += '<source src="'.concat(I, '">'), B = X(q += "</video>");
|
|
6124
6144
|
}
|
|
6125
|
-
var D =
|
|
6145
|
+
var D = B || X('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(I, '"></div>'));
|
|
6126
6146
|
_(S, "".concat($, "-video gvideo")), S.appendChild(D), S.setAttribute("data-id", g), S.setAttribute("data-index", l);
|
|
6127
|
-
var ee = ie(h.settings.plyr, "config") ? h.settings.plyr.config : {},
|
|
6128
|
-
|
|
6147
|
+
var ee = ie(h.settings.plyr, "config") ? h.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
|
|
6148
|
+
me.on("ready", (function(ue) {
|
|
6129
6149
|
A[g] = ue.detail.plyr, F(d) && d();
|
|
6130
6150
|
})), ae((function() {
|
|
6131
6151
|
return n.querySelector("iframe") && n.querySelector("iframe").dataset.ready == "true";
|
|
6132
6152
|
}), (function() {
|
|
6133
6153
|
h.resize(n);
|
|
6134
|
-
})),
|
|
6154
|
+
})), me.on("enterfullscreen", ga), me.on("exitfullscreen", ga);
|
|
6135
6155
|
}));
|
|
6136
6156
|
}
|
|
6137
6157
|
function ga(n) {
|
|
@@ -6140,28 +6160,28 @@ function Js() {
|
|
|
6140
6160
|
}
|
|
6141
6161
|
function _i(n, c, l, d) {
|
|
6142
6162
|
var h, m = this, g = n.querySelector(".gslide-media"), y = !(!ie(c, "href") || !c.href) && c.href.split("#").pop().trim(), A = !(!ie(c, "content") || !c.content) && c.content;
|
|
6143
|
-
if (A && (j(A) && (h =
|
|
6163
|
+
if (A && (j(A) && (h = X('<div class="ginlined-content">'.concat(A, "</div>"))), V(A))) {
|
|
6144
6164
|
A.style.display == "none" && (A.style.display = "block");
|
|
6145
6165
|
var S = document.createElement("div");
|
|
6146
6166
|
S.className = "ginlined-content", S.appendChild(A), h = S;
|
|
6147
6167
|
}
|
|
6148
6168
|
if (y) {
|
|
6149
|
-
var
|
|
6150
|
-
if (!
|
|
6151
|
-
var $ =
|
|
6169
|
+
var I = document.getElementById(y);
|
|
6170
|
+
if (!I) return !1;
|
|
6171
|
+
var $ = I.cloneNode(!0);
|
|
6152
6172
|
$.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"), h = $;
|
|
6153
6173
|
}
|
|
6154
6174
|
if (!h) return console.error("Unable to append inline slide content", c), !1;
|
|
6155
|
-
g.style.height = c.height, g.style.width = c.width, g.appendChild(h), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(
|
|
6156
|
-
|
|
6175
|
+
g.style.height = c.height, g.style.width = c.width, g.appendChild(h), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(B) {
|
|
6176
|
+
B.preventDefault(), m.close();
|
|
6157
6177
|
} }), F(d) && d();
|
|
6158
6178
|
}
|
|
6159
6179
|
function Si(n, c, l, d) {
|
|
6160
6180
|
var h = n.querySelector(".gslide-media"), m = (function(g) {
|
|
6161
|
-
var y = g.url, A = g.allow, S = g.callback,
|
|
6181
|
+
var y = g.url, A = g.allow, S = g.callback, I = g.appendTo, $ = document.createElement("iframe");
|
|
6162
6182
|
return $.className = "vimeo-video gvideo", $.src = y, $.style.width = "100%", $.style.height = "100%", A && $.setAttribute("allow", A), $.onload = function() {
|
|
6163
6183
|
$.onload = null, _($, "node-ready"), F(S) && S();
|
|
6164
|
-
},
|
|
6184
|
+
}, I && I.appendChild($), $;
|
|
6165
6185
|
})({ url: c.href, callback: d });
|
|
6166
6186
|
h.parentNode.style.maxWidth = c.width, h.parentNode.style.height = c.height, h.appendChild(m);
|
|
6167
6187
|
}
|
|
@@ -6193,11 +6213,11 @@ function Js() {
|
|
|
6193
6213
|
be(S) || S === "" || (d.title = S);
|
|
6194
6214
|
}
|
|
6195
6215
|
} else {
|
|
6196
|
-
var
|
|
6216
|
+
var I = [];
|
|
6197
6217
|
v(d, (function(q, D) {
|
|
6198
|
-
|
|
6199
|
-
})),
|
|
6200
|
-
var ee = g,
|
|
6218
|
+
I.push(";\\s?" + D);
|
|
6219
|
+
})), I = I.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, D) {
|
|
6220
|
+
var ee = g, me = new RegExp("s?" + D + "s?:s?(.*?)(" + I + "s?:|$)"), ue = ee.match(me);
|
|
6201
6221
|
if (ue && ue.length && ue[1]) {
|
|
6202
6222
|
var Le = ue[1].trim().replace(/;\s*$/, "");
|
|
6203
6223
|
d[D] = l.sanitizeValue(Le);
|
|
@@ -6214,8 +6234,8 @@ function Js() {
|
|
|
6214
6234
|
$ && (d.description = $);
|
|
6215
6235
|
}
|
|
6216
6236
|
if (!d.description) {
|
|
6217
|
-
var
|
|
6218
|
-
|
|
6237
|
+
var B = n.querySelector(".glightbox-desc");
|
|
6238
|
+
B && (d.description = B.innerHTML);
|
|
6219
6239
|
}
|
|
6220
6240
|
return this.setSize(d, c, n), this.slideConfig = d, d;
|
|
6221
6241
|
} }, { key: "setSize", value: function(n, c) {
|
|
@@ -6229,21 +6249,21 @@ function Js() {
|
|
|
6229
6249
|
t(this, n), this.element = c, this.instance = l, this.index = d;
|
|
6230
6250
|
}), [{ key: "setContent", value: function() {
|
|
6231
6251
|
var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
|
|
6232
|
-
if (
|
|
6233
|
-
var d = this.instance.settings, h = this.slideConfig, m =
|
|
6252
|
+
if (E(c, "loaded")) return !1;
|
|
6253
|
+
var d = this.instance.settings, h = this.slideConfig, m = ge();
|
|
6234
6254
|
F(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: c, player: !1 });
|
|
6235
|
-
var g = h.type, y = h.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"),
|
|
6236
|
-
if (F(d.afterSlideLoad) && (
|
|
6255
|
+
var g = h.type, y = h.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"), I = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), B = l, q = "gSlideTitle_" + this.index, D = "gSlideDesc_" + this.index;
|
|
6256
|
+
if (F(d.afterSlideLoad) && (B = function() {
|
|
6237
6257
|
F(l) && l(), d.afterSlideLoad({ index: n.index, slide: c, player: n.instance.getSlidePlayerInstance(n.index) });
|
|
6238
|
-
}), h.title == "" && h.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && h.title !== "" ? (S.id = q, S.innerHTML = h.title) : S.parentNode.removeChild(S),
|
|
6239
|
-
if (g !== "external") return g === "inline" ? (_i.apply(this.instance, [c, h, this.index,
|
|
6258
|
+
}), h.title == "" && h.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && h.title !== "" ? (S.id = q, S.innerHTML = h.title) : S.parentNode.removeChild(S), I && h.description !== "" ? (I.id = D, m && d.moreLength > 0 ? (h.smallDescription = this.slideShortDesc(h.description, d.moreLength, d.moreText), I.innerHTML = h.smallDescription, this.descriptionEvents(I, h)) : I.innerHTML = h.description) : I.parentNode.removeChild(I), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
|
|
6259
|
+
if (g !== "external") return g === "inline" ? (_i.apply(this.instance, [c, h, this.index, B]), void (h.draggable && new pa({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? F(B) && B() : xi(c, h, this.index, (function() {
|
|
6240
6260
|
var ee = c.querySelector("img");
|
|
6241
6261
|
h.draggable && new pa({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), h.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new wi(ee, c, (function() {
|
|
6242
6262
|
n.instance.resize();
|
|
6243
|
-
}))), F(
|
|
6263
|
+
}))), F(B) && B();
|
|
6244
6264
|
})));
|
|
6245
|
-
Si.apply(this, [c, h, this.index,
|
|
6246
|
-
} else ki.apply(this.instance, [c, h, this.index,
|
|
6265
|
+
Si.apply(this, [c, h, this.index, B]);
|
|
6266
|
+
} else ki.apply(this.instance, [c, h, this.index, B]);
|
|
6247
6267
|
} }, { key: "slideShortDesc", value: function(n) {
|
|
6248
6268
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 50, l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], d = document.createElement("div");
|
|
6249
6269
|
d.innerHTML = n;
|
|
@@ -6259,14 +6279,14 @@ function Js() {
|
|
|
6259
6279
|
var g = document.body, y = M(m, ".gslide-desc");
|
|
6260
6280
|
if (!y) return !1;
|
|
6261
6281
|
y.innerHTML = c.description, _(g, "gdesc-open");
|
|
6262
|
-
var A = w("click", { onElement: [g, M(y, ".gslide-description")], withCallback: function(S,
|
|
6282
|
+
var A = w("click", { onElement: [g, M(y, ".gslide-description")], withCallback: function(S, I) {
|
|
6263
6283
|
S.target.nodeName.toLowerCase() !== "a" && (P(g, "gdesc-open"), _(g, "gdesc-closed"), y.innerHTML = c.smallDescription, l.descriptionEvents(y, c), setTimeout((function() {
|
|
6264
6284
|
P(g, "gdesc-closed");
|
|
6265
6285
|
}), 400), A.destroy());
|
|
6266
6286
|
} });
|
|
6267
6287
|
} });
|
|
6268
6288
|
} }, { key: "create", value: function() {
|
|
6269
|
-
return
|
|
6289
|
+
return X(this.instance.settings.slideHTML);
|
|
6270
6290
|
} }, { key: "getConfig", value: function() {
|
|
6271
6291
|
V(this.element) || this.element.hasOwnProperty("draggable") || (this.element.draggable = this.instance.settings.draggable);
|
|
6272
6292
|
var n = new Ci(this.instance.settings.slideExtraAttributes);
|
|
@@ -6369,38 +6389,38 @@ function Js() {
|
|
|
6369
6389
|
} }, { key: "destroy", value: function() {
|
|
6370
6390
|
return this.singleTapTimeout && clearTimeout(this.singleTapTimeout), this.tapTimeout && clearTimeout(this.tapTimeout), this.longTapTimeout && clearTimeout(this.longTapTimeout), this.swipeTimeout && clearTimeout(this.swipeTimeout), this.element.removeEventListener("touchstart", this.start), this.element.removeEventListener("touchmove", this.move), this.element.removeEventListener("touchend", this.end), this.element.removeEventListener("touchcancel", this.cancel), this.rotate.del(), this.touchStart.del(), this.multipointStart.del(), this.multipointEnd.del(), this.pinch.del(), this.swipe.del(), this.tap.del(), this.doubleTap.del(), this.longTap.del(), this.singleTap.del(), this.pressMove.del(), this.twoFingerPressMove.del(), this.touchMove.del(), this.touchEnd.del(), this.touchCancel.del(), this.preV = this.pinchStartLen = this.zoom = this.isDoubleTap = this.delta = this.last = this.now = this.tapTimeout = this.singleTapTimeout = this.longTapTimeout = this.swipeTimeout = this.x1 = this.x2 = this.y1 = this.y2 = this.preTapPosition = this.rotate = this.touchStart = this.multipointStart = this.multipointEnd = this.pinch = this.swipe = this.tap = this.doubleTap = this.longTap = this.singleTap = this.pressMove = this.touchMove = this.touchEnd = this.touchCancel = this.twoFingerPressMove = null, window.removeEventListener("scroll", this._cancelAllHandler), null;
|
|
6371
6391
|
} }]);
|
|
6372
|
-
function
|
|
6392
|
+
function Nt(n) {
|
|
6373
6393
|
var c = (function() {
|
|
6374
6394
|
var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
|
|
6375
6395
|
for (g in A) if (y.style[g] !== void 0) return A[g];
|
|
6376
|
-
})(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d =
|
|
6396
|
+
})(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = E(n, "gslide-media") ? n : n.querySelector(".gslide-media"), h = M(d, ".ginner-container"), m = n.querySelector(".gslide-description");
|
|
6377
6397
|
l > 769 && (d = h), _(d, "greset"), C(d, "translate3d(0, 0, 0)"), w(c, { onElement: d, once: !0, withCallback: function(g, y) {
|
|
6378
6398
|
P(d, "greset");
|
|
6379
6399
|
} }), d.style.opacity = "", m && (m.style.opacity = "");
|
|
6380
6400
|
}
|
|
6381
6401
|
function Ii(n) {
|
|
6382
6402
|
if (n.events.hasOwnProperty("touch")) return !1;
|
|
6383
|
-
var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null,
|
|
6384
|
-
if (y = !0, (
|
|
6385
|
-
if (Se =
|
|
6386
|
-
|
|
6403
|
+
var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, I = null, $ = !1, B = 1, q = 1, D = !1, ee = !1, me = null, ue = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, wa = 0, xa = 0, Pi = document.getElementById("glightbox-slider"), St = document.querySelector(".goverlay"), Li = new Ti(Pi, { touchStart: function(Y) {
|
|
6404
|
+
if (y = !0, (E(Y.targetTouches[0].target, "ginner-container") || M(Y.targetTouches[0].target, ".gslide-desc") || Y.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(Y.targetTouches[0].target, ".gslide-inline") && !E(Y.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
|
|
6405
|
+
if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, wa = Y.targetTouches[0].clientX, xa = Y.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), I = null, E(S, "gslide-image") && (I = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(St, "greset"), Y.pageX > 20 && Y.pageX < window.innerWidth - 20) return;
|
|
6406
|
+
Y.preventDefault();
|
|
6387
6407
|
}
|
|
6388
|
-
}, touchMove: function(
|
|
6389
|
-
if (y && (Se =
|
|
6408
|
+
}, touchMove: function(Y) {
|
|
6409
|
+
if (y && (Se = Y.targetTouches[0], !D && !ee)) {
|
|
6390
6410
|
if (d && d.offsetHeight > g) {
|
|
6391
6411
|
var de = _e.pageX - Se.pageX;
|
|
6392
6412
|
if (Math.abs(de) <= 13) return !1;
|
|
6393
6413
|
}
|
|
6394
6414
|
$ = !0;
|
|
6395
|
-
var
|
|
6396
|
-
if (Math.abs(zi) > Math.abs(
|
|
6415
|
+
var Ne, Ct = Y.targetTouches[0].clientX, Ri = Y.targetTouches[0].clientY, zi = wa - Ct, Oi = xa - Ri;
|
|
6416
|
+
if (Math.abs(zi) > Math.abs(Oi) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX, Re = 100 * c / m, l = Se.pageY - _e.pageY, ze = 100 * l / g, ht && I && (Ne = 1 - Math.abs(l) / g, St.style.opacity = Ne, n.settings.touchFollowAxis && (Re = 0)), rt && (Ne = 1 - Math.abs(c) / m, S.style.opacity = Ne, n.settings.touchFollowAxis && (ze = 0)), !I) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
|
|
6397
6417
|
C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
|
|
6398
6418
|
}
|
|
6399
6419
|
}, touchEnd: function() {
|
|
6400
6420
|
if (y) {
|
|
6401
|
-
if ($ = !1, ee || D) return Le =
|
|
6402
|
-
var
|
|
6403
|
-
if (!(
|
|
6421
|
+
if ($ = !1, ee || D) return Le = me, void (oe = ue);
|
|
6422
|
+
var Y = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
|
|
6423
|
+
if (!(Y > 29 && I)) return Y < 29 && de < 25 ? (_(St, "greset"), St.style.opacity = 1, Nt(S)) : void 0;
|
|
6404
6424
|
n.close();
|
|
6405
6425
|
}
|
|
6406
6426
|
}, multipointEnd: function() {
|
|
@@ -6408,36 +6428,36 @@ function Js() {
|
|
|
6408
6428
|
D = !1;
|
|
6409
6429
|
}), 50);
|
|
6410
6430
|
}, multipointStart: function() {
|
|
6411
|
-
D = !0,
|
|
6412
|
-
}, pinch: function(
|
|
6413
|
-
if (!
|
|
6414
|
-
D = !0,
|
|
6415
|
-
var de =
|
|
6416
|
-
if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null,
|
|
6417
|
-
de > 4.5 && (de = 4.5),
|
|
6418
|
-
}, pressMove: function(
|
|
6431
|
+
D = !0, B = q || 1;
|
|
6432
|
+
}, pinch: function(Y) {
|
|
6433
|
+
if (!I || $) return !1;
|
|
6434
|
+
D = !0, I.scaleX = I.scaleY = B * Y.zoom;
|
|
6435
|
+
var de = B * Y.zoom;
|
|
6436
|
+
if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, me = null, ue = null, void I.setAttribute("style", "");
|
|
6437
|
+
de > 4.5 && (de = 4.5), I.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
|
|
6438
|
+
}, pressMove: function(Y) {
|
|
6419
6439
|
if (ee && !D) {
|
|
6420
|
-
var de = Se.pageX - _e.pageX,
|
|
6421
|
-
Le && (de += Le), oe && (
|
|
6422
|
-
var Ct = "translate3d(".concat(de, "px, ").concat(
|
|
6423
|
-
q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(
|
|
6440
|
+
var de = Se.pageX - _e.pageX, Ne = Se.pageY - _e.pageY;
|
|
6441
|
+
Le && (de += Le), oe && (Ne += oe), me = de, ue = Ne;
|
|
6442
|
+
var Ct = "translate3d(".concat(de, "px, ").concat(Ne, "px, 0)");
|
|
6443
|
+
q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(I, Ct);
|
|
6424
6444
|
}
|
|
6425
|
-
}, swipe: function(
|
|
6445
|
+
}, swipe: function(Y) {
|
|
6426
6446
|
if (!ee) if (D) D = !1;
|
|
6427
6447
|
else {
|
|
6428
|
-
if (
|
|
6429
|
-
if (n.index == n.elements.length - 1) return
|
|
6448
|
+
if (Y.direction == "Left") {
|
|
6449
|
+
if (n.index == n.elements.length - 1) return Nt(S);
|
|
6430
6450
|
n.nextSlide();
|
|
6431
6451
|
}
|
|
6432
|
-
if (
|
|
6433
|
-
if (n.index == 0) return
|
|
6452
|
+
if (Y.direction == "Right") {
|
|
6453
|
+
if (n.index == 0) return Nt(S);
|
|
6434
6454
|
n.prevSlide();
|
|
6435
6455
|
}
|
|
6436
6456
|
}
|
|
6437
6457
|
} });
|
|
6438
6458
|
n.events.touch = Li;
|
|
6439
6459
|
}
|
|
6440
|
-
var ma =
|
|
6460
|
+
var ma = ge(), ya = ge() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, va = document.getElementsByTagName("html")[0], Ei = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
|
|
6441
6461
|
<div class="gslide-inner-content">
|
|
6442
6462
|
<div class="ginner-container">
|
|
6443
6463
|
<div class="gslide-media">
|
|
@@ -6488,24 +6508,24 @@ function Js() {
|
|
|
6488
6508
|
this.open(null, n);
|
|
6489
6509
|
} }, { key: "showSlide", value: function() {
|
|
6490
6510
|
var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
|
|
6491
|
-
|
|
6511
|
+
K(this.loader), this.index = parseInt(c);
|
|
6492
6512
|
var d = this.slidesContainer.querySelector(".current");
|
|
6493
6513
|
d && P(d, "current"), this.slideAnimateOut();
|
|
6494
6514
|
var h = this.slidesContainer.querySelectorAll(".gslide")[c];
|
|
6495
|
-
if (
|
|
6515
|
+
if (E(h, "loaded")) this.slideAnimateIn(h, l), U(this.loader);
|
|
6496
6516
|
else {
|
|
6497
|
-
|
|
6517
|
+
K(this.loader);
|
|
6498
6518
|
var m = this.elements[c], g = { index: this.index, slide: h, slideNode: h, slideConfig: m.slideConfig, slideIndex: this.index, trigger: m.node, player: null };
|
|
6499
6519
|
this.trigger("slide_before_load", g), m.instance.setContent(h, (function() {
|
|
6500
|
-
|
|
6520
|
+
U(n.loader), n.resize(), n.slideAnimateIn(h, l), n.trigger("slide_after_load", g);
|
|
6501
6521
|
}));
|
|
6502
6522
|
}
|
|
6503
|
-
this.slideDescription = h.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription &&
|
|
6523
|
+
this.slideDescription = h.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && E(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(c + 1), this.preloadSlide(c - 1)), this.updateNavigationClasses(), this.activeSlide = h;
|
|
6504
6524
|
} }, { key: "preloadSlide", value: function(n) {
|
|
6505
6525
|
var c = this;
|
|
6506
6526
|
if (n < 0 || n > this.elements.length - 1 || be(this.elements[n])) return !1;
|
|
6507
6527
|
var l = this.slidesContainer.querySelectorAll(".gslide")[n];
|
|
6508
|
-
if (
|
|
6528
|
+
if (E(l, "loaded")) return !1;
|
|
6509
6529
|
var d = this.elements[n], h = d.type, m = { index: n, slide: l, slideNode: l, slideConfig: d.slideConfig, slideIndex: n, trigger: d.node, player: null };
|
|
6510
6530
|
this.trigger("slide_before_load", m), h === "video" || h === "external" ? setTimeout((function() {
|
|
6511
6531
|
d.instance.setContent(l, (function() {
|
|
@@ -6544,7 +6564,7 @@ function Js() {
|
|
|
6544
6564
|
c && (this.getActiveSlideIndex() == n && (n == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), c.parentNode.removeChild(c)), this.elements.splice(n, 1), this.trigger("slide_removed", n), F(this.settings.slideRemoved) && this.settings.slideRemoved(n);
|
|
6545
6565
|
} }, { key: "slideAnimateIn", value: function(n, c) {
|
|
6546
6566
|
var l = this, d = n.querySelector(".gslide-media"), h = n.querySelector(".gslide-description"), m = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: be(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: be(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, g = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
|
|
6547
|
-
if (d.offsetWidth > 0 && h && (
|
|
6567
|
+
if (d.offsetWidth > 0 && h && (U(h), h.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
|
|
6548
6568
|
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), F(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
|
|
6549
6569
|
}));
|
|
6550
6570
|
else {
|
|
@@ -6611,7 +6631,7 @@ function Js() {
|
|
|
6611
6631
|
var m = new kt(d, c, h), g = m.getConfig(), y = p({}, g);
|
|
6612
6632
|
y.slideConfig = g, y.instance = m, y.index = h, l.push(y);
|
|
6613
6633
|
})), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
|
|
6614
|
-
var d =
|
|
6634
|
+
var d = X(c.settings.slideHTML);
|
|
6615
6635
|
c.slidesContainer.appendChild(d);
|
|
6616
6636
|
})), this.showSlide(0, !0)));
|
|
6617
6637
|
} }, { key: "getElementIndex", value: function(n) {
|
|
@@ -6655,41 +6675,41 @@ function Js() {
|
|
|
6655
6675
|
S.parentNode == document.body && S.nodeName.charAt(0) !== "#" && S.hasAttribute && !S.hasAttribute("aria-hidden") && (l.push(S), S.setAttribute("aria-hidden", "true"));
|
|
6656
6676
|
}));
|
|
6657
6677
|
var d = ie(this.settings.svg, "next") ? this.settings.svg.next : "", h = ie(this.settings.svg, "prev") ? this.settings.svg.prev : "", m = ie(this.settings.svg, "close") ? this.settings.svg.close : "", g = this.settings.lightboxHTML;
|
|
6658
|
-
g =
|
|
6678
|
+
g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
|
|
6659
6679
|
var y = document.getElementById("glightbox-body");
|
|
6660
6680
|
this.modal = y;
|
|
6661
6681
|
var A = y.querySelector(".gclose");
|
|
6662
|
-
this.prevButton = y.querySelector(".gprev"), this.nextButton = y.querySelector(".gnext"), this.overlay = y.querySelector(".goverlay"), this.loader = y.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = l, this.events = {}, _(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && A && (this.events.close = w("click", { onElement: A, withCallback: function(S,
|
|
6682
|
+
this.prevButton = y.querySelector(".gprev"), this.nextButton = y.querySelector(".gnext"), this.overlay = y.querySelector(".goverlay"), this.loader = y.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = l, this.events = {}, _(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && A && (this.events.close = w("click", { onElement: A, withCallback: function(S, I) {
|
|
6663
6683
|
S.preventDefault(), n.close();
|
|
6664
|
-
} })), A && !this.settings.closeButton && A.parentNode.removeChild(A), this.nextButton && (this.events.next = w("click", { onElement: this.nextButton, withCallback: function(S,
|
|
6684
|
+
} })), A && !this.settings.closeButton && A.parentNode.removeChild(A), this.nextButton && (this.events.next = w("click", { onElement: this.nextButton, withCallback: function(S, I) {
|
|
6665
6685
|
S.preventDefault(), n.nextSlide();
|
|
6666
|
-
} })), this.prevButton && (this.events.prev = w("click", { onElement: this.prevButton, withCallback: function(S,
|
|
6686
|
+
} })), this.prevButton && (this.events.prev = w("click", { onElement: this.prevButton, withCallback: function(S, I) {
|
|
6667
6687
|
S.preventDefault(), n.prevSlide();
|
|
6668
|
-
} })), this.settings.closeOnOutsideClick && (this.events.outClose = w("click", { onElement: y, withCallback: function(S,
|
|
6669
|
-
n.preventOutsideClick ||
|
|
6670
|
-
} })), v(this.elements, (function(S,
|
|
6671
|
-
n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[
|
|
6688
|
+
} })), this.settings.closeOnOutsideClick && (this.events.outClose = w("click", { onElement: y, withCallback: function(S, I) {
|
|
6689
|
+
n.preventOutsideClick || E(document.body, "glightbox-mobile") || M(S.target, ".ginner-container") || M(S.target, ".gbtn") || E(S.target, "gnext") || E(S.target, "gprev") || n.close();
|
|
6690
|
+
} })), v(this.elements, (function(S, I) {
|
|
6691
|
+
n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[I];
|
|
6672
6692
|
})), ya && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
|
|
6673
6693
|
n.resize();
|
|
6674
6694
|
} }), this.built = !0;
|
|
6675
6695
|
} }, { key: "resize", value: function() {
|
|
6676
6696
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
|
|
6677
|
-
if ((n = n || this.activeSlide) && !
|
|
6697
|
+
if ((n = n || this.activeSlide) && !E(n, "zoomed")) {
|
|
6678
6698
|
var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"), h = this.slideDescription, m = c.width, g = c.height;
|
|
6679
6699
|
if (m <= 768 ? _(document.body, "glightbox-mobile") : P(document.body, "glightbox-mobile"), l || d) {
|
|
6680
6700
|
var y = !1;
|
|
6681
|
-
if (h && (
|
|
6701
|
+
if (h && (E(h, "description-bottom") || E(h, "description-top")) && !E(h, "gabsolute") && (y = !0), d) {
|
|
6682
6702
|
if (m <= 768) d.querySelector("img");
|
|
6683
6703
|
else if (y) {
|
|
6684
|
-
var A, S,
|
|
6685
|
-
|
|
6704
|
+
var A, S, I = h.offsetHeight, $ = d.querySelector("img"), B = (A = this.elements[this.index]) === null || A === void 0 ? void 0 : A.node, q = "100vh";
|
|
6705
|
+
B && (q = (S = B.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(I, "px)")), h.setAttribute("style", "max-width: ".concat($.offsetWidth, "px;"));
|
|
6686
6706
|
}
|
|
6687
6707
|
}
|
|
6688
6708
|
if (l) {
|
|
6689
6709
|
var D = ie(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
|
|
6690
6710
|
if (!D) {
|
|
6691
|
-
var ee = l.clientWidth,
|
|
6692
|
-
D = "".concat(ee / ue, ":").concat(
|
|
6711
|
+
var ee = l.clientWidth, me = l.clientHeight, ue = ee / me;
|
|
6712
|
+
D = "".concat(ee / ue, ":").concat(me / ue);
|
|
6693
6713
|
}
|
|
6694
6714
|
var Le = D.split(":"), oe = this.settings.videosWidth, Re = this.settings.videosWidth, ze = (Re = xt(oe) || oe.indexOf("px") !== -1 ? parseInt(oe) : oe.indexOf("vw") !== -1 ? m * parseInt(oe) / 100 : oe.indexOf("vh") !== -1 ? g * parseInt(oe) / 100 : oe.indexOf("%") !== -1 ? m * parseInt(oe) / 100 : parseInt(l.clientWidth)) / (parseInt(Le[0]) / parseInt(Le[1]));
|
|
6695
6715
|
if (ze = Math.floor(ze), y && (g -= h.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
|
|
@@ -6755,21 +6775,21 @@ function Js() {
|
|
|
6755
6775
|
return c.init(), c;
|
|
6756
6776
|
};
|
|
6757
6777
|
}));
|
|
6758
|
-
})(
|
|
6778
|
+
})(Rt)), Rt.exports;
|
|
6759
6779
|
}
|
|
6760
|
-
var
|
|
6761
|
-
const
|
|
6780
|
+
var Zs = Js();
|
|
6781
|
+
const Ks = /* @__PURE__ */ Ua(Zs);
|
|
6762
6782
|
var Qs = Object.getOwnPropertyDescriptor, en = (a, e, t, i) => {
|
|
6763
6783
|
for (var s = i > 1 ? void 0 : i ? Qs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6764
6784
|
(o = a[r]) && (s = o(s) || s);
|
|
6765
6785
|
return s;
|
|
6766
6786
|
};
|
|
6767
|
-
let
|
|
6787
|
+
let Zt = class extends Fe {
|
|
6768
6788
|
render() {
|
|
6769
6789
|
return u` <div class="cb-thinking"><span></span><span></span><span></span></div>`;
|
|
6770
6790
|
}
|
|
6771
6791
|
};
|
|
6772
|
-
|
|
6792
|
+
Zt.styles = J`
|
|
6773
6793
|
.cb-thinking {
|
|
6774
6794
|
text-align: center;
|
|
6775
6795
|
}
|
|
@@ -6807,15 +6827,15 @@ Kt.styles = J`
|
|
|
6807
6827
|
}
|
|
6808
6828
|
}
|
|
6809
6829
|
`;
|
|
6810
|
-
|
|
6811
|
-
|
|
6812
|
-
],
|
|
6830
|
+
Zt = en([
|
|
6831
|
+
Z("cb-thinking")
|
|
6832
|
+
], Zt);
|
|
6813
6833
|
var tn = Object.defineProperty, an = Object.getOwnPropertyDescriptor, ei = (a, e, t, i) => {
|
|
6814
6834
|
for (var s = i > 1 ? void 0 : i ? an(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6815
6835
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6816
6836
|
return i && s && tn(e, t, s), s;
|
|
6817
6837
|
};
|
|
6818
|
-
let
|
|
6838
|
+
let qt = class extends re {
|
|
6819
6839
|
constructor() {
|
|
6820
6840
|
super(...arguments), this.files = [];
|
|
6821
6841
|
}
|
|
@@ -6831,7 +6851,7 @@ let Ot = class extends re {
|
|
|
6831
6851
|
</div>`;
|
|
6832
6852
|
}
|
|
6833
6853
|
};
|
|
6834
|
-
|
|
6854
|
+
qt.styles = J`
|
|
6835
6855
|
.cb-uploading {
|
|
6836
6856
|
text-align: left;
|
|
6837
6857
|
}
|
|
@@ -6851,10 +6871,10 @@ Ot.styles = J`
|
|
|
6851
6871
|
`;
|
|
6852
6872
|
ei([
|
|
6853
6873
|
x({ type: Array })
|
|
6854
|
-
],
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
],
|
|
6874
|
+
], qt.prototype, "files", 2);
|
|
6875
|
+
qt = ei([
|
|
6876
|
+
Z("cb-uploading")
|
|
6877
|
+
], qt);
|
|
6858
6878
|
const sn = J`
|
|
6859
6879
|
${ke}
|
|
6860
6880
|
:host {
|
|
@@ -6933,7 +6953,7 @@ oa([
|
|
|
6933
6953
|
x({ type: Boolean })
|
|
6934
6954
|
], mt.prototype, "inverse", 2);
|
|
6935
6955
|
mt = oa([
|
|
6936
|
-
|
|
6956
|
+
Z("cb-external-link")
|
|
6937
6957
|
], mt);
|
|
6938
6958
|
const on = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', cn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m1.217-1.333v3.999h1.46q.602 0 .998-.237a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.589-.68q-.396-.234-1.005-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082h-.563zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638z"/></svg>', ln = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459q.609 0 1.005.234t.589.68q.195.445.196 1.075q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562q.279 0 .484-.082a.8.8 0 0 0 .334-.252a1.1 1.1 0 0 0 .196-.422q.067-.252.067-.592a2.1 2.1 0 0 0-.117-.753a.9.9 0 0 0-.354-.454q-.238-.152-.61-.152"/></svg>', dn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.517 14.841a1.13 1.13 0 0 0 .401.823q.195.162.478.252q.284.091.665.091q.507 0 .859-.158q.354-.158.539-.44q.187-.284.187-.656q0-.336-.134-.56a1 1 0 0 0-.375-.357a2 2 0 0 0-.566-.21l-.621-.144a1 1 0 0 1-.404-.176a.37.37 0 0 1-.144-.299q0-.234.185-.384q.188-.152.512-.152q.214 0 .37.068a.6.6 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566a1.2 1.2 0 0 0-.5-.41a1.8 1.8 0 0 0-.78-.152q-.439 0-.776.15q-.337.149-.527.421q-.19.273-.19.639q0 .302.122.524q.124.223.352.367q.228.143.539.213l.618.144q.31.073.463.193a.39.39 0 0 1 .152.326a.5.5 0 0 1-.085.29a.56.56 0 0 1-.255.193q-.167.07-.413.07q-.175 0-.32-.04a.8.8 0 0 1-.248-.115a.58.58 0 0 1-.255-.384zM.806 13.693q0-.373.102-.633a.87.87 0 0 1 .302-.399a.8.8 0 0 1 .475-.137q.225 0 .398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.4 1.4 0 0 0-.489-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.572.632q-.195.41-.196.979v.498q0 .568.193.976q.197.407.572.626q.375.217.914.217q.439 0 .785-.164t.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.8.8 0 0 1-.118.363a.7.7 0 0 1-.272.25a.9.9 0 0 1-.401.087a.85.85 0 0 1-.478-.132a.83.83 0 0 1-.299-.392a1.7 1.7 0 0 1-.102-.627zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879z"/></svg>', fn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m2.817-1.333h-1.6v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474q.162-.302.161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H4.15V12.48h.66q.327 0 .512.181q.185.183.185.522m2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662z"/></svg>', hn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-7.839 9.166v.522q0 .384-.117.641a.86.86 0 0 1-.322.387a.9.9 0 0 1-.469.126a.9.9 0 0 1-.471-.126a.87.87 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522q0-.386.117-.641a.87.87 0 0 1 .32-.387a.87.87 0 0 1 .471-.129q.264 0 .469.13a.86.86 0 0 1 .322.386q.117.255.117.641m.803.519v-.513q0-.565-.205-.972a1.46 1.46 0 0 0-.589-.63q-.381-.22-.917-.22q-.533 0-.92.22a1.44 1.44 0 0 0-.589.627q-.204.406-.205.975v.513q0 .563.205.973q.205.406.59.627q.386.216.92.216q.535 0 .916-.216q.383-.22.59-.627q.204-.41.204-.973M0 11.926v4h1.459q.603 0 .999-.238a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.59-.68q-.395-.234-1.004-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082H.79V12.57Zm7.422.483a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.393a.85.85 0 0 0 .478.131a.9.9 0 0 0 .401-.088a.7.7 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.27 1.27 0 0 1-.226.674q-.205.29-.55.454a1.8 1.8 0 0 1-.786.164q-.54 0-.914-.216a1.4 1.4 0 0 1-.571-.627q-.194-.408-.194-.976v-.498q0-.568.197-.978q.195-.411.571-.633q.378-.223.911-.223q.328 0 .607.097q.28.093.489.272a1.33 1.33 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.8.8 0 0 0-.398-.097a.8.8 0 0 0-.475.138a.87.87 0 0 0-.301.398"/></svg>', bn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-6.839 9.688v-.522a1.5 1.5 0 0 0-.117-.641a.86.86 0 0 0-.322-.387a.86.86 0 0 0-.469-.129a.87.87 0 0 0-.471.13a.87.87 0 0 0-.32.386a1.5 1.5 0 0 0-.117.641v.522q0 .384.117.641a.87.87 0 0 0 .32.387a.9.9 0 0 0 .471.126a.9.9 0 0 0 .469-.126a.86.86 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642m.803-.516v.513q0 .563-.205.973a1.47 1.47 0 0 1-.589.627q-.381.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.46 1.46 0 0 1-.589-.627a2.15 2.15 0 0 1-.205-.973v-.513q0-.569.205-.975q.205-.411.59-.627q.386-.22.92-.22q.535 0 .916.22q.383.219.59.63q.204.406.204.972M1 15.925v-3.999h1.459q.609 0 1.005.235q.396.233.589.68q.196.445.196 1.074q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-.999.237zm1.354-3.354H1.79v2.707h.563q.277 0 .483-.082a.8.8 0 0 0 .334-.252q.132-.17.196-.422a2.3 2.3 0 0 0 .068-.592q0-.45-.118-.753a.9.9 0 0 0-.354-.454q-.237-.152-.61-.152Zm6.756 1.116q0-.373.103-.633a.87.87 0 0 1 .301-.398a.8.8 0 0 1 .475-.138q.225 0 .398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.4 1.4 0 0 0-.49-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.571.633q-.197.41-.197.978v.498q0 .568.194.976q.195.406.571.627q.375.216.914.216q.44 0 .785-.164t.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.7.7 0 0 1-.273.248a.9.9 0 0 1-.401.088a.85.85 0 0 1-.478-.131a.83.83 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035z"/></svg>';
|
|
6939
6959
|
var un = Object.defineProperty, pn = Object.getOwnPropertyDescriptor, ca = (a, e, t, i) => {
|
|
@@ -6987,7 +7007,7 @@ ca([
|
|
|
6987
7007
|
x({ type: String })
|
|
6988
7008
|
], yt.prototype, "url", 2);
|
|
6989
7009
|
yt = ca([
|
|
6990
|
-
|
|
7010
|
+
Z("cb-file")
|
|
6991
7011
|
], yt);
|
|
6992
7012
|
const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0z"/><path d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4zM2.5 3h11V2h-11z"/></g></svg>', La = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 8a3 3 0 1 0 0-6a3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', ti = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M5 9v12H1V9zm4 12a2 2 0 0 1-2-2V9c0-.55.22-1.05.59-1.41L14.17 1l1.06 1.06c.27.27.44.64.44 1.05l-.03.32L14.69 8H21a2 2 0 0 1 2 2v2c0 .26-.05.5-.14.73l-3.02 7.05C19.54 20.5 18.83 21 18 21zm0-2h9.03L21 12v-2h-8.79l1.13-5.32L9 9.03z"/></svg>', ai = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M19 15V3h4v12zM15 3a2 2 0 0 1 2 2v10c0 .55-.22 1.05-.59 1.41L9.83 23l-1.06-1.06c-.27-.27-.44-.64-.44-1.06l.03-.31l.95-4.57H3a2 2 0 0 1-2-2v-2c0-.26.05-.5.14-.73l3.02-7.05C4.46 3.5 5.17 3 6 3zm0 2H5.97L3 12v2h8.78l-1.13 5.32L15 14.97z"/></svg>', mn = J`
|
|
6993
7013
|
pre code.hljs {
|
|
@@ -8281,6 +8301,15 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
|
|
|
8281
8301
|
border-radius: 4px;
|
|
8282
8302
|
}
|
|
8283
8303
|
|
|
8304
|
+
.info-avatar {
|
|
8305
|
+
margin-right: 2px;
|
|
8306
|
+
color: rgba(0, 0, 0, 0.2);
|
|
8307
|
+
}
|
|
8308
|
+
|
|
8309
|
+
.info-avatar img {
|
|
8310
|
+
border-radius: 4px;
|
|
8311
|
+
}
|
|
8312
|
+
|
|
8284
8313
|
.user-message,
|
|
8285
8314
|
.assistant-message,
|
|
8286
8315
|
.system-message {
|
|
@@ -8361,7 +8390,7 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
|
|
|
8361
8390
|
margin-top: 2px;
|
|
8362
8391
|
//color: rgba(34, 34, 34, 0.6);
|
|
8363
8392
|
color: var(--enegelai-bot-message-system-color, rgba(34, 34, 34, 0.6));
|
|
8364
|
-
background-color: var(--enegelai-bot-message-system-background, rgba(254, 243, 199, 0.5));
|
|
8393
|
+
//background-color: var(--enegelai-bot-message-system-background, rgba(254, 243, 199, 0.5));
|
|
8365
8394
|
padding: 4px 12px 6px 12px;
|
|
8366
8395
|
}
|
|
8367
8396
|
|
|
@@ -8456,9 +8485,9 @@ function vn() {
|
|
|
8456
8485
|
});
|
|
8457
8486
|
return a.use(Di, { attrs: { target: "_blank", rel: "noopener" } }), a;
|
|
8458
8487
|
}
|
|
8459
|
-
async function
|
|
8488
|
+
async function Kt(a) {
|
|
8460
8489
|
const t = vn().render(a);
|
|
8461
|
-
return u`${
|
|
8490
|
+
return u`${G(t)}`;
|
|
8462
8491
|
}
|
|
8463
8492
|
var wn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, nt = (a, e, t, i) => {
|
|
8464
8493
|
for (var s = i > 1 ? void 0 : i ? xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
@@ -8467,7 +8496,7 @@ var wn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, nt = (a, e
|
|
|
8467
8496
|
};
|
|
8468
8497
|
let De = class extends re {
|
|
8469
8498
|
constructor() {
|
|
8470
|
-
super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox =
|
|
8499
|
+
super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Ks({
|
|
8471
8500
|
touchNavigation: !0,
|
|
8472
8501
|
loop: !0,
|
|
8473
8502
|
autoplayVideos: !0,
|
|
@@ -8547,6 +8576,8 @@ let De = class extends re {
|
|
|
8547
8576
|
});
|
|
8548
8577
|
}
|
|
8549
8578
|
render() {
|
|
8579
|
+
if (this.message?.type === "info")
|
|
8580
|
+
return this.renderInfoMessage(this.message);
|
|
8550
8581
|
if (this.message?.type === "blocks") {
|
|
8551
8582
|
const a = this.message?.data?.blocks ?? [];
|
|
8552
8583
|
return u`<cb-blocks .blocks=${a}></cb-blocks>`;
|
|
@@ -8574,6 +8605,30 @@ let De = class extends re {
|
|
|
8574
8605
|
</sl-button>
|
|
8575
8606
|
</div>`;
|
|
8576
8607
|
}
|
|
8608
|
+
renderInfoMessage(a) {
|
|
8609
|
+
return u`
|
|
8610
|
+
<div class="cb-message cb-bot-message-wrapper" part="cb-message">
|
|
8611
|
+
<div class="avatar info-avatar xsmall" part="info-avatar" style="margin-top:4px;">${this.renderInfoMessageAvatar(a)}</div>
|
|
8612
|
+
<div
|
|
8613
|
+
class="cb-message__content
|
|
8614
|
+
${a.author}-message
|
|
8615
|
+
message-type-${a.type}"
|
|
8616
|
+
style="display: flex;"
|
|
8617
|
+
part="info-message-content"
|
|
8618
|
+
>
|
|
8619
|
+
<div class="cb-message-text">
|
|
8620
|
+
${Pt(
|
|
8621
|
+
this._getMessageText(a).then((e) => u`${e}`)
|
|
8622
|
+
)}
|
|
8623
|
+
</div>
|
|
8624
|
+
</div>
|
|
8625
|
+
</div>
|
|
8626
|
+
`;
|
|
8627
|
+
}
|
|
8628
|
+
renderInfoMessageAvatar(a) {
|
|
8629
|
+
const e = a.data?.userAvatar || "";
|
|
8630
|
+
return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(b.setting.infoIconSvg)}`;
|
|
8631
|
+
}
|
|
8577
8632
|
renderMessage(a, e = "bot-message-content") {
|
|
8578
8633
|
return u`
|
|
8579
8634
|
<div
|
|
@@ -8589,7 +8644,7 @@ let De = class extends re {
|
|
|
8589
8644
|
`;
|
|
8590
8645
|
}
|
|
8591
8646
|
async _getMessageText(a) {
|
|
8592
|
-
return
|
|
8647
|
+
return Kt(a.data.text);
|
|
8593
8648
|
}
|
|
8594
8649
|
renderMessageContent(a) {
|
|
8595
8650
|
return a.isThinking ? u`<cb-thinking></cb-thinking>` : a.isUploading ? u`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? u`<div class="cb-message-text">
|
|
@@ -8598,7 +8653,7 @@ let De = class extends re {
|
|
|
8598
8653
|
() => u`<div class="assistant-message-user-name">${a.data.userName}</div>`,
|
|
8599
8654
|
() => null
|
|
8600
8655
|
)}
|
|
8601
|
-
${
|
|
8656
|
+
${Pt(
|
|
8602
8657
|
this._getMessageText(a).then((e) => u`${e}`)
|
|
8603
8658
|
)}
|
|
8604
8659
|
</div>` : a.type === "file" ? u`${et(
|
|
@@ -8610,8 +8665,8 @@ let De = class extends re {
|
|
|
8610
8665
|
(e) => e.name,
|
|
8611
8666
|
(e) => u`<div>${e.name}</div>`
|
|
8612
8667
|
)}` : u`<div class="cb-message-text">
|
|
8613
|
-
${
|
|
8614
|
-
|
|
8668
|
+
${Pt(
|
|
8669
|
+
Kt(a.data.text?.toString() || "").then((e) => u`${e}`)
|
|
8615
8670
|
)}
|
|
8616
8671
|
</div>`;
|
|
8617
8672
|
}
|
|
@@ -8628,9 +8683,9 @@ let De = class extends re {
|
|
|
8628
8683
|
renderBotMessageAvatar(a) {
|
|
8629
8684
|
if (a.data.userName && a.data.userName !== "") {
|
|
8630
8685
|
const e = a.data?.userAvatar || "";
|
|
8631
|
-
return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` :
|
|
8686
|
+
return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(b.setting.agentIconSvg)}`;
|
|
8632
8687
|
}
|
|
8633
|
-
return a.author === "system" ?
|
|
8688
|
+
return a.author === "system" ? pe`${G(b.setting.systemIconSvg)}` : pe`${G(b.setting.botIconSvg)}`;
|
|
8634
8689
|
}
|
|
8635
8690
|
renderBotMessage(a) {
|
|
8636
8691
|
return u`
|
|
@@ -8644,8 +8699,8 @@ let De = class extends re {
|
|
|
8644
8699
|
renderBotMessageFeedback(a) {
|
|
8645
8700
|
return this.suppressFeedback || !b.setting.feedbackEnabled || this.index < b.setting.startFeedbackFromMessage * 2 ? null : u`
|
|
8646
8701
|
<div class="cb-message-feedback-tools" part="feedback-wrapper">
|
|
8647
|
-
<div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${
|
|
8648
|
-
<div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${
|
|
8702
|
+
<div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${pe`${G(ti)}`}</div>
|
|
8703
|
+
<div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${pe`${G(ai)}`}</div>
|
|
8649
8704
|
</div>
|
|
8650
8705
|
`;
|
|
8651
8706
|
}
|
|
@@ -8662,12 +8717,12 @@ let De = class extends re {
|
|
|
8662
8717
|
${W(
|
|
8663
8718
|
b.appearanceUserMessageAvatarPosition === "left",
|
|
8664
8719
|
() => u`
|
|
8665
|
-
<div class="avatar user-avatar" part="user-avatar">${
|
|
8720
|
+
<div class="avatar user-avatar" part="user-avatar">${G(b.setting.userIconSvg)}</div>
|
|
8666
8721
|
${this.renderMessage(a, "user-message-content")}
|
|
8667
8722
|
`,
|
|
8668
8723
|
() => u`
|
|
8669
8724
|
${this.renderMessage(a, "user-message-content")}
|
|
8670
|
-
<div class="avatar user-avatar" part="user-avatar">${
|
|
8725
|
+
<div class="avatar user-avatar" part="user-avatar">${G(b.setting.userIconSvg)}</div>
|
|
8671
8726
|
`
|
|
8672
8727
|
)}
|
|
8673
8728
|
</div>
|
|
@@ -8685,12 +8740,12 @@ let De = class extends re {
|
|
|
8685
8740
|
${W(
|
|
8686
8741
|
b.appearanceUserMessageAvatarPosition === "left",
|
|
8687
8742
|
() => u`
|
|
8688
|
-
<div class="avatar user-avatar">${
|
|
8743
|
+
<div class="avatar user-avatar">${G(b.setting.userIconSvg)}</div>
|
|
8689
8744
|
${this.renderMessage(a, "user-message-content")}
|
|
8690
8745
|
`,
|
|
8691
8746
|
() => u`
|
|
8692
8747
|
${this.renderMessage(a, "user-message-content")}
|
|
8693
|
-
<div class="avatar user-avatar">${
|
|
8748
|
+
<div class="avatar user-avatar">${G(b.setting.userIconSvg)}</div>
|
|
8694
8749
|
`
|
|
8695
8750
|
)}
|
|
8696
8751
|
</div>
|
|
@@ -8717,15 +8772,15 @@ nt([
|
|
|
8717
8772
|
Va("img")
|
|
8718
8773
|
], De.prototype, "glightboxImages", 2);
|
|
8719
8774
|
De = nt([
|
|
8720
|
-
|
|
8775
|
+
Z("cb-message")
|
|
8721
8776
|
], De);
|
|
8722
8777
|
var kn = Object.defineProperty, _n = Object.getOwnPropertyDescriptor, Te = (a, e, t, i) => {
|
|
8723
8778
|
for (var s = i > 1 ? void 0 : i ? _n(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
8724
8779
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
8725
8780
|
return i && s && kn(e, t, s), s;
|
|
8726
8781
|
};
|
|
8727
|
-
const
|
|
8728
|
-
|
|
8782
|
+
const Oe = Je.noConflict();
|
|
8783
|
+
Oe.setLevel("info");
|
|
8729
8784
|
let ye = class extends re {
|
|
8730
8785
|
constructor() {
|
|
8731
8786
|
super(...arguments), this.messages = [], this.actions = [], this.form = null, this.suppressFeedback = !1, this.calendlyInjected = !1, this.activeCalendlyAction = -1, this.hubspotMeetingInjected = !1, this.activeHubspotMeetingAction = -1, this._lastScrollTop = 0, this._scrollThrottle = !1, this._userInterruptedAutoScroll = !1, this._userInterruptedMessagesLength = 0;
|
|
@@ -8771,8 +8826,8 @@ let ye = class extends re {
|
|
|
8771
8826
|
return !b.setting.disclaimerMessage || !b.isConversationStart() ? null : u`
|
|
8772
8827
|
<details class="cb-disclaimer-wrapper" part="disclaimer-wrapper">
|
|
8773
8828
|
<summary class="cb-disclaimer-message" part="disclaimer-message">
|
|
8774
|
-
${
|
|
8775
|
-
|
|
8829
|
+
${Pt(
|
|
8830
|
+
Kt(b.setting.disclaimerMessage).then((a) => u`${a}`)
|
|
8776
8831
|
)}
|
|
8777
8832
|
</summary>
|
|
8778
8833
|
</details>
|
|
@@ -8861,13 +8916,13 @@ let ye = class extends re {
|
|
|
8861
8916
|
}
|
|
8862
8917
|
}
|
|
8863
8918
|
b.submitForm(e).then(() => {
|
|
8864
|
-
|
|
8919
|
+
Oe.info("Form submitted", e), this.emit("form:submit", {
|
|
8865
8920
|
detail: {
|
|
8866
8921
|
formData: e
|
|
8867
8922
|
}
|
|
8868
8923
|
});
|
|
8869
8924
|
}).catch((t) => {
|
|
8870
|
-
|
|
8925
|
+
Oe.error(`Error when submitting form: ${t.message}`);
|
|
8871
8926
|
});
|
|
8872
8927
|
}
|
|
8873
8928
|
/* Form sample
|
|
@@ -8912,7 +8967,7 @@ let ye = class extends re {
|
|
|
8912
8967
|
return null;
|
|
8913
8968
|
}
|
|
8914
8969
|
handleCalendlyEvent(a) {
|
|
8915
|
-
switch (
|
|
8970
|
+
switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
|
|
8916
8971
|
case "calendly.event_scheduled": {
|
|
8917
8972
|
const e = this.activeCalendlyAction;
|
|
8918
8973
|
e >= 0 && (b.removeAction(e, !0, a.data), b.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
|
|
@@ -8920,10 +8975,10 @@ let ye = class extends re {
|
|
|
8920
8975
|
}
|
|
8921
8976
|
}
|
|
8922
8977
|
invokeLinkAction(a = {}) {
|
|
8923
|
-
|
|
8978
|
+
Oe.info("invokeLinkAction:", a), window.open(a.url, "_blank");
|
|
8924
8979
|
}
|
|
8925
8980
|
invokeCalendlyAction(a = {}) {
|
|
8926
|
-
return
|
|
8981
|
+
return Oe.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
|
|
8927
8982
|
}
|
|
8928
8983
|
renderCalendlyAction(a) {
|
|
8929
8984
|
if (!("Calendly" in window) && !this.calendlyInjected) {
|
|
@@ -8969,10 +9024,10 @@ let ye = class extends re {
|
|
|
8969
9024
|
invokeHubspotMeetingAction(a = {}) {
|
|
8970
9025
|
const e = Date.now();
|
|
8971
9026
|
if (this.activeHubspotMeetingAction !== -1) {
|
|
8972
|
-
|
|
9027
|
+
Oe.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
|
|
8973
9028
|
return;
|
|
8974
9029
|
}
|
|
8975
|
-
if (
|
|
9030
|
+
if (Oe.info("invokeHubspotMeetingAction:", a), "hbspt" in window && typeof window.hbspt?.meetings?.create == "function") {
|
|
8976
9031
|
const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
|
|
8977
9032
|
if (t && i) {
|
|
8978
9033
|
const s = a.url + "?embed=true";
|
|
@@ -8984,7 +9039,7 @@ let ye = class extends re {
|
|
|
8984
9039
|
return !1;
|
|
8985
9040
|
}
|
|
8986
9041
|
handleHubspotEvent(a) {
|
|
8987
|
-
if (
|
|
9042
|
+
if (Oe.info("Got Hubspot Event:", a.data), !(a?.data?.meetingBookSucceeded || !1))
|
|
8988
9043
|
return;
|
|
8989
9044
|
const t = this.activeHubspotMeetingAction;
|
|
8990
9045
|
if (t >= 0) {
|
|
@@ -9065,7 +9120,7 @@ Te([
|
|
|
9065
9120
|
sa({ capture: !1, passive: !0 })
|
|
9066
9121
|
], ye.prototype, "invokeHubspotMeetingAction", 1);
|
|
9067
9122
|
ye = Te([
|
|
9068
|
-
|
|
9123
|
+
Z("cb-message-list")
|
|
9069
9124
|
], ye);
|
|
9070
9125
|
const Sn = J`
|
|
9071
9126
|
${ke}
|
|
@@ -9257,7 +9312,7 @@ Ie([
|
|
|
9257
9312
|
xe("sl-textarea")
|
|
9258
9313
|
], ve.prototype, "inputElement", 2);
|
|
9259
9314
|
ve = Ie([
|
|
9260
|
-
|
|
9315
|
+
Z("cb-user-input")
|
|
9261
9316
|
], ve);
|
|
9262
9317
|
const Mn = J`
|
|
9263
9318
|
${ke}
|
|
@@ -9414,7 +9469,7 @@ let we = class extends re {
|
|
|
9414
9469
|
this.enableFileUpload,
|
|
9415
9470
|
() => u`
|
|
9416
9471
|
<button type="button" class="circle-btn" part="upload-button" title="Upload" @click=${this._sendFileHandler}>
|
|
9417
|
-
${
|
|
9472
|
+
${G(Tn)}
|
|
9418
9473
|
</button>
|
|
9419
9474
|
`,
|
|
9420
9475
|
() => u``
|
|
@@ -9434,7 +9489,7 @@ let we = class extends re {
|
|
|
9434
9489
|
@keydown=${this._keyDownHandler}
|
|
9435
9490
|
></sl-textarea>
|
|
9436
9491
|
<button type="button" class="circle-btn ${this.getCtrlClass()}" part="control-button" @click=${this._ctrlHandler}>
|
|
9437
|
-
${
|
|
9492
|
+
${G(this.getCtrlIconSvg())}
|
|
9438
9493
|
</button>
|
|
9439
9494
|
</div>
|
|
9440
9495
|
</div>
|
|
@@ -9537,7 +9592,7 @@ Ee([
|
|
|
9537
9592
|
xe("sl-textarea")
|
|
9538
9593
|
], we.prototype, "inputElement", 2);
|
|
9539
9594
|
we = Ee([
|
|
9540
|
-
|
|
9595
|
+
Z("cb-user-input-mm")
|
|
9541
9596
|
], we);
|
|
9542
9597
|
const ri = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', Pn = J`
|
|
9543
9598
|
${ke}
|
|
@@ -9574,7 +9629,7 @@ const ri = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="c
|
|
|
9574
9629
|
gap: 8px;
|
|
9575
9630
|
}
|
|
9576
9631
|
`;
|
|
9577
|
-
var Ln = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor,
|
|
9632
|
+
var Ln = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor, Vt = (a, e, t, i) => {
|
|
9578
9633
|
for (var s = i > 1 ? void 0 : i ? Rn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9579
9634
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9580
9635
|
return i && s && Ln(e, t, s), s;
|
|
@@ -9624,24 +9679,24 @@ let ct = class extends re {
|
|
|
9624
9679
|
}
|
|
9625
9680
|
};
|
|
9626
9681
|
ct.styles = Pn;
|
|
9627
|
-
|
|
9682
|
+
Vt([
|
|
9628
9683
|
x({ type: Boolean })
|
|
9629
9684
|
], ct.prototype, "open", 2);
|
|
9630
|
-
|
|
9685
|
+
Vt([
|
|
9631
9686
|
x({ type: String, attribute: "label" })
|
|
9632
9687
|
], ct.prototype, "label", 2);
|
|
9633
|
-
|
|
9688
|
+
Vt([
|
|
9634
9689
|
x({ type: Number })
|
|
9635
9690
|
], ct.prototype, "zindex", 2);
|
|
9636
|
-
ct =
|
|
9637
|
-
|
|
9691
|
+
ct = Vt([
|
|
9692
|
+
Z("cb-dialog")
|
|
9638
9693
|
], ct);
|
|
9639
|
-
var zn = Object.defineProperty,
|
|
9640
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9694
|
+
var zn = Object.defineProperty, On = Object.getOwnPropertyDescriptor, oi = (a, e, t, i) => {
|
|
9695
|
+
for (var s = i > 1 ? void 0 : i ? On(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9641
9696
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9642
9697
|
return i && s && zn(e, t, s), s;
|
|
9643
9698
|
};
|
|
9644
|
-
let
|
|
9699
|
+
let Dt = class extends re {
|
|
9645
9700
|
constructor() {
|
|
9646
9701
|
super(...arguments), this.open = !1;
|
|
9647
9702
|
}
|
|
@@ -9675,7 +9730,7 @@ let qt = class extends re {
|
|
|
9675
9730
|
this.emit("cancel");
|
|
9676
9731
|
}
|
|
9677
9732
|
};
|
|
9678
|
-
|
|
9733
|
+
Dt.styles = J`
|
|
9679
9734
|
.cb-clear-message-dialog {
|
|
9680
9735
|
}
|
|
9681
9736
|
|
|
@@ -9685,11 +9740,11 @@ qt.styles = J`
|
|
|
9685
9740
|
`;
|
|
9686
9741
|
oi([
|
|
9687
9742
|
x({ type: Boolean })
|
|
9688
|
-
],
|
|
9689
|
-
|
|
9690
|
-
|
|
9691
|
-
],
|
|
9692
|
-
const
|
|
9743
|
+
], Dt.prototype, "open", 2);
|
|
9744
|
+
Dt = oi([
|
|
9745
|
+
Z("cb-clear-message-dialog")
|
|
9746
|
+
], Dt);
|
|
9747
|
+
const Bn = J`
|
|
9693
9748
|
:host {
|
|
9694
9749
|
// width: 380px;
|
|
9695
9750
|
|
|
@@ -9873,7 +9928,7 @@ let Xe = class extends re {
|
|
|
9873
9928
|
});
|
|
9874
9929
|
}
|
|
9875
9930
|
};
|
|
9876
|
-
Xe.styles =
|
|
9931
|
+
Xe.styles = Bn;
|
|
9877
9932
|
dt([
|
|
9878
9933
|
x({ type: Boolean })
|
|
9879
9934
|
], Xe.prototype, "open", 2);
|
|
@@ -9890,7 +9945,7 @@ dt([
|
|
|
9890
9945
|
x({ type: Boolean })
|
|
9891
9946
|
], Xe.prototype, "customRequest", 2);
|
|
9892
9947
|
Xe = dt([
|
|
9893
|
-
|
|
9948
|
+
Z("cb-setting")
|
|
9894
9949
|
], Xe);
|
|
9895
9950
|
const Fn = J`
|
|
9896
9951
|
${ke}
|
|
@@ -10011,7 +10066,7 @@ var jn = Object.defineProperty, Hn = Object.getOwnPropertyDescriptor, ci = (a, e
|
|
|
10011
10066
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10012
10067
|
return i && s && jn(e, t, s), s;
|
|
10013
10068
|
};
|
|
10014
|
-
let
|
|
10069
|
+
let Ft = class extends re {
|
|
10015
10070
|
constructor() {
|
|
10016
10071
|
super(...arguments), this.store = new it(this, b), this.open = !1;
|
|
10017
10072
|
}
|
|
@@ -10043,7 +10098,7 @@ let Dt = class extends re {
|
|
|
10043
10098
|
return a = b.appearanceAnchorBadgeVariant, a;
|
|
10044
10099
|
}
|
|
10045
10100
|
renderPopupLogo() {
|
|
10046
|
-
return b.setting.popupLogoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.popupLogoUrl}" />` : b.setting.popupLogoSvg !== "" ? u`<div class="cb-engage-popup-logo">${
|
|
10101
|
+
return b.setting.popupLogoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.popupLogoUrl}" />` : b.setting.popupLogoSvg !== "" ? u`<div class="cb-engage-popup-logo">${pe`${G(b.setting.popupLogoSvg)}`}</div>` : b.setting.logoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.logoUrl}" />` : b.setting.logoSvg !== "" ? u`<div class="cb-engage-popup-logo">${pe`${G(b.setting.logoSvg)}`}</div>` : null;
|
|
10047
10102
|
}
|
|
10048
10103
|
render() {
|
|
10049
10104
|
return u`
|
|
@@ -10052,8 +10107,8 @@ let Dt = class extends re {
|
|
|
10052
10107
|
<sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
|
|
10053
10108
|
${W(
|
|
10054
10109
|
this.open,
|
|
10055
|
-
() => u`<div class="cb-anchor-icon" part="anchor-icon">${
|
|
10056
|
-
() => u`<div class="cb-anchor-icon" part="anchor-icon">${
|
|
10110
|
+
() => u`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(b.setting.anchorCloseSvg)}`}</div>`,
|
|
10111
|
+
() => u`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(b.setting.anchorOpenSvg)}`}</div>`
|
|
10057
10112
|
)}
|
|
10058
10113
|
${W(
|
|
10059
10114
|
!this.open && b.unreadMessages > 0,
|
|
@@ -10062,7 +10117,7 @@ let Dt = class extends re {
|
|
|
10062
10117
|
)}
|
|
10063
10118
|
</sl-button>
|
|
10064
10119
|
<div class="cb-engage-popup">
|
|
10065
|
-
<div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${
|
|
10120
|
+
<div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${pe`${G(ri)}`}</div>
|
|
10066
10121
|
<div class="cb-engage-popup-content">
|
|
10067
10122
|
${this.renderPopupLogo()}
|
|
10068
10123
|
<div>${b.setting.engageMessage}</div>
|
|
@@ -10073,59 +10128,59 @@ let Dt = class extends re {
|
|
|
10073
10128
|
`;
|
|
10074
10129
|
}
|
|
10075
10130
|
};
|
|
10076
|
-
|
|
10131
|
+
Ft.styles = Fn;
|
|
10077
10132
|
ci([
|
|
10078
10133
|
x({ type: Boolean })
|
|
10079
|
-
],
|
|
10080
|
-
|
|
10081
|
-
|
|
10082
|
-
],
|
|
10134
|
+
], Ft.prototype, "open", 2);
|
|
10135
|
+
Ft = ci([
|
|
10136
|
+
Z("cb-anchor")
|
|
10137
|
+
], Ft);
|
|
10083
10138
|
const Vn = J`
|
|
10084
10139
|
${ke}
|
|
10085
|
-
`,
|
|
10140
|
+
`, Oa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Nn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06a.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017a.2.2 0 0 1-.054-.06a.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Un = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z"/></g></svg>', Wn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0"/></g></svg>';
|
|
10086
10141
|
var Gn = Object.defineProperty, Xn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
|
|
10087
10142
|
for (var s = i > 1 ? void 0 : i ? Xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10088
10143
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10089
10144
|
return i && s && Gn(e, t, s), s;
|
|
10090
10145
|
};
|
|
10091
|
-
const
|
|
10146
|
+
const Ba = {
|
|
10092
10147
|
error: {
|
|
10093
10148
|
variant: "danger",
|
|
10094
|
-
icon:
|
|
10149
|
+
icon: Oa
|
|
10095
10150
|
},
|
|
10096
10151
|
danger: {
|
|
10097
10152
|
variant: "danger",
|
|
10098
|
-
icon:
|
|
10153
|
+
icon: Oa
|
|
10099
10154
|
},
|
|
10100
10155
|
warning: {
|
|
10101
10156
|
variant: "warning",
|
|
10102
|
-
icon:
|
|
10157
|
+
icon: Nn
|
|
10103
10158
|
},
|
|
10104
10159
|
success: {
|
|
10105
10160
|
variant: "success",
|
|
10106
|
-
icon:
|
|
10161
|
+
icon: Un
|
|
10107
10162
|
},
|
|
10108
10163
|
info: {
|
|
10109
10164
|
variant: "primary",
|
|
10110
10165
|
icon: Wn
|
|
10111
10166
|
}
|
|
10112
10167
|
};
|
|
10113
|
-
let
|
|
10168
|
+
let jt = class extends re {
|
|
10114
10169
|
constructor() {
|
|
10115
10170
|
super(...arguments), this.status = "info";
|
|
10116
10171
|
}
|
|
10117
10172
|
render() {
|
|
10118
|
-
const { variant: a, icon: e } =
|
|
10173
|
+
const { variant: a, icon: e } = Ba[this.status] || Ba.info;
|
|
10119
10174
|
return u`<cb-icon svg=${e} color="${a}"></cb-icon>`;
|
|
10120
10175
|
}
|
|
10121
10176
|
};
|
|
10122
|
-
|
|
10177
|
+
jt.styles = Wa;
|
|
10123
10178
|
li([
|
|
10124
10179
|
x({ type: String })
|
|
10125
|
-
],
|
|
10126
|
-
|
|
10127
|
-
|
|
10128
|
-
],
|
|
10180
|
+
], jt.prototype, "status", 2);
|
|
10181
|
+
jt = li([
|
|
10182
|
+
Z("cb-status-icon")
|
|
10183
|
+
], jt);
|
|
10129
10184
|
var Yn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
|
|
10130
10185
|
for (var s = i > 1 ? void 0 : i ? Yn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10131
10186
|
(o = a[r]) && (s = o(s) || s);
|
|
@@ -10149,9 +10204,9 @@ let Qt = class extends re {
|
|
|
10149
10204
|
};
|
|
10150
10205
|
Qt.styles = Vn;
|
|
10151
10206
|
Qt = Jn([
|
|
10152
|
-
|
|
10207
|
+
Z("cb-auth-alert")
|
|
10153
10208
|
], Qt);
|
|
10154
|
-
const
|
|
10209
|
+
const Zn = J`
|
|
10155
10210
|
sl-dialog::part(base) {
|
|
10156
10211
|
z-index: 1000;
|
|
10157
10212
|
}
|
|
@@ -10235,10 +10290,10 @@ const Kn = J`
|
|
|
10235
10290
|
filter: alpha(opacity=80);
|
|
10236
10291
|
}
|
|
10237
10292
|
`;
|
|
10238
|
-
var
|
|
10293
|
+
var Kn = Object.defineProperty, Qn = Object.getOwnPropertyDescriptor, ft = (a, e, t, i) => {
|
|
10239
10294
|
for (var s = i > 1 ? void 0 : i ? Qn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10240
10295
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10241
|
-
return i && s &&
|
|
10296
|
+
return i && s && Kn(e, t, s), s;
|
|
10242
10297
|
};
|
|
10243
10298
|
const qa = Je.noConflict(), er = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/></svg>';
|
|
10244
10299
|
let Ye = class extends re {
|
|
@@ -10274,7 +10329,7 @@ let Ye = class extends re {
|
|
|
10274
10329
|
b.feedbackScore = 0;
|
|
10275
10330
|
}}"
|
|
10276
10331
|
>
|
|
10277
|
-
${
|
|
10332
|
+
${pe`${G(ai)}`}
|
|
10278
10333
|
</div>
|
|
10279
10334
|
<sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${b.feedbackScore}></sl-rating>
|
|
10280
10335
|
<div
|
|
@@ -10283,7 +10338,7 @@ let Ye = class extends re {
|
|
|
10283
10338
|
b.feedbackScore = 5;
|
|
10284
10339
|
}}"
|
|
10285
10340
|
>
|
|
10286
|
-
${
|
|
10341
|
+
${pe`${G(ti)}`}
|
|
10287
10342
|
</div>
|
|
10288
10343
|
</div>
|
|
10289
10344
|
<div style="display: flex">
|
|
@@ -10304,7 +10359,7 @@ let Ye = class extends re {
|
|
|
10304
10359
|
this._comments.value = "", await b.submitFeedback(a, e, t);
|
|
10305
10360
|
}
|
|
10306
10361
|
};
|
|
10307
|
-
Ye.styles =
|
|
10362
|
+
Ye.styles = Zn;
|
|
10308
10363
|
ft([
|
|
10309
10364
|
x({ type: Number })
|
|
10310
10365
|
], Ye.prototype, "zindex", 2);
|
|
@@ -10321,7 +10376,7 @@ ft([
|
|
|
10321
10376
|
xe("#cb-feedback-email-el")
|
|
10322
10377
|
], Ye.prototype, "_email", 2);
|
|
10323
10378
|
Ye = ft([
|
|
10324
|
-
|
|
10379
|
+
Z("cb-dialog-feedback")
|
|
10325
10380
|
], Ye);
|
|
10326
10381
|
const tr = J`
|
|
10327
10382
|
${ke}
|
|
@@ -10784,8 +10839,8 @@ class It {
|
|
|
10784
10839
|
if (v === 0)
|
|
10785
10840
|
e.moveTo(k, w);
|
|
10786
10841
|
else {
|
|
10787
|
-
const _ = (v - 1) * o, P = this.renderPoints[v - 1] * i * 0.8,
|
|
10788
|
-
e.bezierCurveTo(
|
|
10842
|
+
const _ = (v - 1) * o, P = this.renderPoints[v - 1] * i * 0.8, E = _ + o * 0.5, M = P, L = k - o * 0.5, C = w;
|
|
10843
|
+
e.bezierCurveTo(E, M, L, C, k, w);
|
|
10789
10844
|
}
|
|
10790
10845
|
}
|
|
10791
10846
|
e.lineTo(t, 0), e.lineTo(0, 0), s === da && !r ? this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.inputColorRGB, 0.02) : this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.outputColorRGB, 0.02);
|
|
@@ -10858,8 +10913,8 @@ class sr extends di {
|
|
|
10858
10913
|
for (let w = 0; w < this._numBars; w++) {
|
|
10859
10914
|
const _ = this._renderHeights[w] * t.height * 0.9, P = p - (w + 1) * (f * 1.2);
|
|
10860
10915
|
e.fillRect(P, v - _ / 2, f, _);
|
|
10861
|
-
const
|
|
10862
|
-
e.fillRect(
|
|
10916
|
+
const E = p + w * (f * 1.2);
|
|
10917
|
+
e.fillRect(E, v - _ / 2, f, _);
|
|
10863
10918
|
}
|
|
10864
10919
|
e.restore();
|
|
10865
10920
|
}
|
|
@@ -10908,7 +10963,7 @@ let ea = class extends re {
|
|
|
10908
10963
|
!0,
|
|
10909
10964
|
() => u`
|
|
10910
10965
|
<button type="button" part="${b.webAudioMuted ? "audio-unmute-button" : "audio-mute-button"}" class="circle-btn ${b.webAudioMuted ? "danger" : "clear"}" title="${b.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
|
|
10911
|
-
${
|
|
10966
|
+
${G(nr)}
|
|
10912
10967
|
</button>
|
|
10913
10968
|
`,
|
|
10914
10969
|
() => u``
|
|
@@ -10917,7 +10972,7 @@ let ea = class extends re {
|
|
|
10917
10972
|
${this.renderVisualizer()}
|
|
10918
10973
|
</div>
|
|
10919
10974
|
<button type="button" part="audio-end-button" class="circle-btn clear" title="End" @click=${this._toggleHangup}>
|
|
10920
|
-
${
|
|
10975
|
+
${G(la)}
|
|
10921
10976
|
</button>
|
|
10922
10977
|
</div>
|
|
10923
10978
|
</div>` : null;
|
|
@@ -10975,7 +11030,7 @@ let ea = class extends re {
|
|
|
10975
11030
|
};
|
|
10976
11031
|
ea.styles = tr;
|
|
10977
11032
|
ea = or([
|
|
10978
|
-
|
|
11033
|
+
Z("cb-audio-controls")
|
|
10979
11034
|
], ea);
|
|
10980
11035
|
class ta extends Error {
|
|
10981
11036
|
response;
|
|
@@ -10998,7 +11053,7 @@ class fi extends Error {
|
|
|
10998
11053
|
super(t), this.value = e;
|
|
10999
11054
|
}
|
|
11000
11055
|
}
|
|
11001
|
-
class
|
|
11056
|
+
class Gt extends Error {
|
|
11002
11057
|
name = "ForceRetryError";
|
|
11003
11058
|
customDelay;
|
|
11004
11059
|
code;
|
|
@@ -11036,7 +11091,7 @@ const Fa = (() => {
|
|
|
11036
11091
|
// Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
|
|
11037
11092
|
// We still feature-check at runtime before exposing the shortcut.
|
|
11038
11093
|
bytes: "*/*"
|
|
11039
|
-
},
|
|
11094
|
+
}, Xt = 2147483647, hr = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, ui = Symbol("stop");
|
|
11040
11095
|
class pi {
|
|
11041
11096
|
options;
|
|
11042
11097
|
constructor(e) {
|
|
@@ -11279,8 +11334,8 @@ function $r(a) {
|
|
|
11279
11334
|
class vt {
|
|
11280
11335
|
static create(e, t) {
|
|
11281
11336
|
const i = new vt(e, t), s = async () => {
|
|
11282
|
-
if (typeof i.#e.timeout == "number" && i.#e.timeout >
|
|
11283
|
-
throw new RangeError(`The \`timeout\` option cannot be greater than ${
|
|
11337
|
+
if (typeof i.#e.timeout == "number" && i.#e.timeout > Xt)
|
|
11338
|
+
throw new RangeError(`The \`timeout\` option cannot be greater than ${Xt}`);
|
|
11284
11339
|
await Promise.resolve();
|
|
11285
11340
|
let o = await i.#p();
|
|
11286
11341
|
for (const f of i.#e.hooks.afterResponse) {
|
|
@@ -11289,7 +11344,7 @@ class vt {
|
|
|
11289
11344
|
throw await Promise.all([
|
|
11290
11345
|
p.body?.cancel(),
|
|
11291
11346
|
o.body?.cancel()
|
|
11292
|
-
]), new
|
|
11347
|
+
]), new Gt(v.options);
|
|
11293
11348
|
}
|
|
11294
11349
|
if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
|
|
11295
11350
|
let f = new ta(o, i.request, i.#o());
|
|
@@ -11385,7 +11440,7 @@ class vt {
|
|
|
11385
11440
|
if (this.#a++, this.#a > this.#e.retry.limit)
|
|
11386
11441
|
throw e;
|
|
11387
11442
|
const t = e instanceof Error ? e : new fi(e);
|
|
11388
|
-
if (t instanceof
|
|
11443
|
+
if (t instanceof Gt)
|
|
11389
11444
|
return t.customDelay ?? this.#c();
|
|
11390
11445
|
if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
|
|
11391
11446
|
throw e;
|
|
@@ -11420,10 +11475,10 @@ class vt {
|
|
|
11420
11475
|
try {
|
|
11421
11476
|
return await e();
|
|
11422
11477
|
} catch (t) {
|
|
11423
|
-
const i = Math.min(await this.#u(t),
|
|
11478
|
+
const i = Math.min(await this.#u(t), Xt);
|
|
11424
11479
|
if (this.#a < 1)
|
|
11425
11480
|
throw t;
|
|
11426
|
-
if (await Mr(i, this.#s ? { signal: this.#s } : {}), t instanceof
|
|
11481
|
+
if (await Mr(i, this.#s ? { signal: this.#s } : {}), t instanceof Gt && t.customRequest) {
|
|
11427
11482
|
const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
|
|
11428
11483
|
this.#l(s);
|
|
11429
11484
|
}
|
|
@@ -11509,13 +11564,13 @@ async function Lr(a, e) {
|
|
|
11509
11564
|
}).text()
|
|
11510
11565
|
);
|
|
11511
11566
|
}
|
|
11512
|
-
var Rr = Object.defineProperty, zr = Object.getOwnPropertyDescriptor,
|
|
11567
|
+
var Rr = Object.defineProperty, zr = Object.getOwnPropertyDescriptor, N = (a, e, t, i) => {
|
|
11513
11568
|
for (var s = i > 1 ? void 0 : i ? zr(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
11514
11569
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
11515
11570
|
return i && s && Rr(e, t, s), s;
|
|
11516
11571
|
};
|
|
11517
|
-
const
|
|
11518
|
-
|
|
11572
|
+
const Be = Je.noConflict();
|
|
11573
|
+
Be.setLevel("info");
|
|
11519
11574
|
let H = class extends re {
|
|
11520
11575
|
constructor() {
|
|
11521
11576
|
super(...arguments), this.store = new it(this, b), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = `<svg width="24" height="24" viewBox="0 0 203 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -11536,7 +11591,7 @@ let H = class extends re {
|
|
|
11536
11591
|
<rect width="400" height="400" fill="white"/>
|
|
11537
11592
|
</clipPath>
|
|
11538
11593
|
</defs>
|
|
11539
|
-
</svg>`, this.popupLogoSvg = "", this.popupLogoUrl = "", this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.agentIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z" /></svg>', this.anchorOpenSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>', this.anchorCloseSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', this.sendIconSvg = "", this.attachIconSvg = "", this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.prefilledFormFields = "{}", this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.handleAddMessage = (a) => {
|
|
11594
|
+
</svg>`, this.popupLogoSvg = "", this.popupLogoUrl = "", this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.agentIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z" /></svg>', this.infoIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z" /></svg>', this.anchorOpenSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>', this.anchorCloseSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', this.sendIconSvg = "", this.attachIconSvg = "", this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.prefilledFormFields = "{}", this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.handleAddMessage = (a) => {
|
|
11540
11595
|
this._addMessageHandler(a);
|
|
11541
11596
|
}, this.handleStateEvent = (a) => {
|
|
11542
11597
|
this._stateEventHandler(a);
|
|
@@ -11579,7 +11634,7 @@ let H = class extends re {
|
|
|
11579
11634
|
b.addActions(a);
|
|
11580
11635
|
}
|
|
11581
11636
|
render() {
|
|
11582
|
-
return b.disabled && !this.alwaysOpen ? (
|
|
11637
|
+
return b.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : u`
|
|
11583
11638
|
<div class="cb-wrapper${b.open ? " cb-open" : ""}" part="wrapper${b.open ? " open" : ""}" exportparts="new-conversation-wrapper new-conversation-button wrapper${b.open ? " open" : ""}">
|
|
11584
11639
|
<cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
|
|
11585
11640
|
<cb-message-list
|
|
@@ -11629,7 +11684,7 @@ let H = class extends re {
|
|
|
11629
11684
|
></cb-user-input>`;
|
|
11630
11685
|
}
|
|
11631
11686
|
connectedCallback() {
|
|
11632
|
-
super.connectedCallback(),
|
|
11687
|
+
super.connectedCallback(), Be.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this.handleToggleEvent), addEventListener("form:submit", this.handleFormSubmitEvent), addEventListener("message:send:file", this._uploadFileHandler), addEventListener("audio:toggle", this._audioToggleHandler);
|
|
11633
11688
|
}
|
|
11634
11689
|
extractCssVariable(a, e, t) {
|
|
11635
11690
|
let i = a.getPropertyValue(e).trim();
|
|
@@ -11658,26 +11713,26 @@ let H = class extends re {
|
|
|
11658
11713
|
|
|
11659
11714
|
*/
|
|
11660
11715
|
disconnectedCallback() {
|
|
11661
|
-
|
|
11716
|
+
Be.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this.handleToggleEvent), window.removeEventListener("form:submit", this.handleFormSubmitEvent), window.removeEventListener("message:send:file", this._uploadFileHandler), window.removeEventListener("audio:toggle", this._audioToggleHandler);
|
|
11662
11717
|
}
|
|
11663
11718
|
// This is called when component is loaded, with all the settings (props) values
|
|
11664
11719
|
// Use to initialize
|
|
11665
11720
|
// This is also called when state changes - ??? - i.e. when message added to the array
|
|
11666
11721
|
updated(a) {
|
|
11667
|
-
super.updated(a), a.size > 0 && (
|
|
11722
|
+
super.updated(a), a.size > 0 && (Be.info("updated,_changedProperties:", a), this._initSetting()), !this._scrollToBottomTimeout && (this._scrollToBottomTimeout = setTimeout(() => {
|
|
11668
11723
|
this._scrollToBottom(), this._scrollToBottomTimeout = void 0;
|
|
11669
11724
|
}, 200));
|
|
11670
11725
|
}
|
|
11671
11726
|
// initialize setting
|
|
11672
11727
|
_initSetting() {
|
|
11673
|
-
|
|
11728
|
+
Be.info("_initSetting");
|
|
11674
11729
|
const a = b.setting;
|
|
11675
|
-
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, b.setSetting(a);
|
|
11730
|
+
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.infoIconSvg = this.infoIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, b.setSetting(a);
|
|
11676
11731
|
let e = {};
|
|
11677
11732
|
try {
|
|
11678
11733
|
e = JSON.parse(this.prefilledFormFields);
|
|
11679
11734
|
} catch (t) {
|
|
11680
|
-
|
|
11735
|
+
Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
|
|
11681
11736
|
}
|
|
11682
11737
|
b.setPrefilledFormFields(e), this.open && (b.open = !0), this.alwaysOpen && (b.open = !0, b.alwaysOpen = !0);
|
|
11683
11738
|
}
|
|
@@ -11712,7 +11767,7 @@ let H = class extends re {
|
|
|
11712
11767
|
// for example, user profile, current product user is viewing on the web page, etc.
|
|
11713
11768
|
setContext(a = {}) {
|
|
11714
11769
|
b.setContext(a).catch((e) => {
|
|
11715
|
-
|
|
11770
|
+
Be.error(`Failed to set context, error: ${e?.message || ""}`);
|
|
11716
11771
|
});
|
|
11717
11772
|
}
|
|
11718
11773
|
getContext() {
|
|
@@ -11778,6 +11833,10 @@ let H = class extends re {
|
|
|
11778
11833
|
return this._processSendMessage(e);
|
|
11779
11834
|
}
|
|
11780
11835
|
// [sv2] for testing only
|
|
11836
|
+
processAgentConnected(a) {
|
|
11837
|
+
b.handleAgentConnected(a).catch((e) => {
|
|
11838
|
+
});
|
|
11839
|
+
}
|
|
11781
11840
|
processAgentDisconnected(a) {
|
|
11782
11841
|
b.handleAgentDisconnected(a).catch((e) => {
|
|
11783
11842
|
});
|
|
@@ -11815,7 +11874,7 @@ let H = class extends re {
|
|
|
11815
11874
|
await b.uploadFiles(e.files);
|
|
11816
11875
|
}
|
|
11817
11876
|
async _audioToggleHandler(a) {
|
|
11818
|
-
|
|
11877
|
+
Be.info("_audioToggleHandler called"), await b.toggleAudio();
|
|
11819
11878
|
}
|
|
11820
11879
|
// setting confirm handler
|
|
11821
11880
|
_settingConfirmHandler(a) {
|
|
@@ -11833,96 +11892,99 @@ let H = class extends re {
|
|
|
11833
11892
|
this._messageList?.scrollToBottom();
|
|
11834
11893
|
}
|
|
11835
11894
|
};
|
|
11836
|
-
H.styles = [Gi,
|
|
11837
|
-
|
|
11895
|
+
H.styles = [Gi, Za];
|
|
11896
|
+
N([
|
|
11838
11897
|
x({ type: Boolean, attribute: "display-license" })
|
|
11839
11898
|
], H.prototype, "displayLicense", 2);
|
|
11840
|
-
|
|
11899
|
+
N([
|
|
11841
11900
|
x({ type: String, attribute: "name" })
|
|
11842
11901
|
], H.prototype, "name", 2);
|
|
11843
|
-
|
|
11902
|
+
N([
|
|
11844
11903
|
x({ type: String, attribute: "org-id" })
|
|
11845
11904
|
], H.prototype, "orgId", 2);
|
|
11846
|
-
|
|
11905
|
+
N([
|
|
11847
11906
|
x({ type: String, attribute: "bot-id" })
|
|
11848
11907
|
], H.prototype, "botId", 2);
|
|
11849
|
-
|
|
11908
|
+
N([
|
|
11850
11909
|
x({ type: String, attribute: "url" })
|
|
11851
11910
|
], H.prototype, "url", 2);
|
|
11852
|
-
|
|
11911
|
+
N([
|
|
11853
11912
|
x({ type: String, attribute: "logo-url" })
|
|
11854
11913
|
], H.prototype, "logoUrl", 2);
|
|
11855
|
-
|
|
11914
|
+
N([
|
|
11856
11915
|
x({ type: String, attribute: "logo-svg" })
|
|
11857
11916
|
], H.prototype, "logoSvg", 2);
|
|
11858
|
-
|
|
11917
|
+
N([
|
|
11859
11918
|
x({ type: String, attribute: "close-svg" })
|
|
11860
11919
|
], H.prototype, "closeSvg", 2);
|
|
11861
|
-
|
|
11920
|
+
N([
|
|
11862
11921
|
x({ type: String, attribute: "popup-logo-svg" })
|
|
11863
11922
|
], H.prototype, "popupLogoSvg", 2);
|
|
11864
|
-
|
|
11923
|
+
N([
|
|
11865
11924
|
x({ type: String, attribute: "popup-logo-url" })
|
|
11866
11925
|
], H.prototype, "popupLogoUrl", 2);
|
|
11867
|
-
|
|
11926
|
+
N([
|
|
11868
11927
|
x({ type: String, attribute: "bot-icon-svg" })
|
|
11869
11928
|
], H.prototype, "botIconSvg", 2);
|
|
11870
|
-
|
|
11929
|
+
N([
|
|
11871
11930
|
x({ type: String, attribute: "user-icon-svg" })
|
|
11872
11931
|
], H.prototype, "userIconSvg", 2);
|
|
11873
|
-
|
|
11932
|
+
N([
|
|
11874
11933
|
x({ type: String, attribute: "system-icon-svg" })
|
|
11875
11934
|
], H.prototype, "systemIconSvg", 2);
|
|
11876
|
-
|
|
11935
|
+
N([
|
|
11877
11936
|
x({ type: String, attribute: "agent-icon-svg" })
|
|
11878
11937
|
], H.prototype, "agentIconSvg", 2);
|
|
11879
|
-
|
|
11938
|
+
N([
|
|
11939
|
+
x({ type: String, attribute: "info-icon-svg" })
|
|
11940
|
+
], H.prototype, "infoIconSvg", 2);
|
|
11941
|
+
N([
|
|
11880
11942
|
x({ type: String, attribute: "anchor-open-svg" })
|
|
11881
11943
|
], H.prototype, "anchorOpenSvg", 2);
|
|
11882
|
-
|
|
11944
|
+
N([
|
|
11883
11945
|
x({ type: String, attribute: "anchor-close-svg" })
|
|
11884
11946
|
], H.prototype, "anchorCloseSvg", 2);
|
|
11885
|
-
|
|
11947
|
+
N([
|
|
11886
11948
|
x({ type: String, attribute: "send-icon-svg" })
|
|
11887
11949
|
], H.prototype, "sendIconSvg", 2);
|
|
11888
|
-
|
|
11950
|
+
N([
|
|
11889
11951
|
x({ type: String, attribute: "attach-icon-svg" })
|
|
11890
11952
|
], H.prototype, "attachIconSvg", 2);
|
|
11891
|
-
|
|
11953
|
+
N([
|
|
11892
11954
|
x({ type: Boolean, attribute: "stream" })
|
|
11893
11955
|
], H.prototype, "stream", 2);
|
|
11894
|
-
|
|
11956
|
+
N([
|
|
11895
11957
|
x({ type: Boolean, attribute: "custom-request" })
|
|
11896
11958
|
], H.prototype, "customRequest", 2);
|
|
11897
|
-
|
|
11959
|
+
N([
|
|
11898
11960
|
x({ type: Boolean, attribute: "enable-file-upload" })
|
|
11899
11961
|
], H.prototype, "enableFileUpload", 2);
|
|
11900
|
-
|
|
11962
|
+
N([
|
|
11901
11963
|
x({ type: String, attribute: "upload-file-url" })
|
|
11902
11964
|
], H.prototype, "uploadFileUrl", 2);
|
|
11903
|
-
|
|
11965
|
+
N([
|
|
11904
11966
|
x({ type: Boolean, attribute: "open" })
|
|
11905
11967
|
], H.prototype, "open", 2);
|
|
11906
|
-
|
|
11968
|
+
N([
|
|
11907
11969
|
x({ type: Boolean, attribute: "always-open" })
|
|
11908
11970
|
], H.prototype, "alwaysOpen", 2);
|
|
11909
|
-
|
|
11971
|
+
N([
|
|
11910
11972
|
x({ type: String, attribute: "prefilled-form-fields" })
|
|
11911
11973
|
], H.prototype, "prefilledFormFields", 2);
|
|
11912
|
-
|
|
11974
|
+
N([
|
|
11913
11975
|
x({ type: Boolean })
|
|
11914
11976
|
], H.prototype, "loading", 2);
|
|
11915
|
-
|
|
11977
|
+
N([
|
|
11916
11978
|
x({ type: Boolean })
|
|
11917
11979
|
], H.prototype, "showSetting", 2);
|
|
11918
|
-
|
|
11980
|
+
N([
|
|
11919
11981
|
x({ type: Boolean })
|
|
11920
11982
|
], H.prototype, "showAuthAlert", 2);
|
|
11921
|
-
|
|
11983
|
+
N([
|
|
11922
11984
|
xe("cb-message-list")
|
|
11923
11985
|
], H.prototype, "_messageList", 2);
|
|
11924
|
-
H =
|
|
11925
|
-
|
|
11986
|
+
H = N([
|
|
11987
|
+
Z("enegelai-bot")
|
|
11926
11988
|
], H);
|
|
11927
11989
|
export {
|
|
11928
11990
|
H as default
|