@enegelai/bot-widget 1.16.5 → 1.16.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,8 +1,8 @@
1
- import { css as J, LitElement as Fe, html as u, nothing as Ae, svg as me } from "lit";
2
- import { property as x, customElement as K, query as xe, state as Ha, queryAll as Va, eventOptions as sa } from "lit/decorators.js";
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 Va, queryAll as Na, eventOptions as na } from "lit/decorators.js";
3
3
  import { when as W } from "lit/directives/when.js";
4
- import { unsafeHTML as Y } from "lit-html/directives/unsafe-html.js";
5
- import { registerIconLibrary as Oi } from "@shoelace-style/shoelace";
4
+ import { unsafeHTML as G } from "lit-html/directives/unsafe-html.js";
5
+ import { registerIconLibrary as qi } 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,30 +22,30 @@ 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 Xt } from "lit-html/directives/until.js";
26
- import qi from "markdown-it";
27
- import Di from "markdown-it-link-attributes";
28
- import Ut from "highlight.js";
25
+ import { until as Pt } from "lit-html/directives/until.js";
26
+ import Di from "markdown-it";
27
+ import Fi from "markdown-it-link-attributes";
28
+ import Wt 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
- import { createRef as Fi, ref as At } from "lit/directives/ref.js";
31
+ import { createRef as ji, ref as At } from "lit/directives/ref.js";
32
32
  function Ua(a) {
33
33
  return typeof a == "function" ? a() : a;
34
34
  }
35
- const jt = class jt extends Event {
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(jt.eventName, {
41
+ super(Ht.eventName, {
42
42
  cancelable: !1
43
43
  }), this.key = e, this.value = t, this.state = i;
44
44
  }
45
45
  };
46
- jt.eventName = "lit-state-changed";
47
- let at = jt;
48
- const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends EventTarget {
46
+ Ht.eventName = "lit-state-changed";
47
+ let at = Ht;
48
+ const Hi = (a, e) => e !== a && (e === e || a === a), ba = class ba extends EventTarget {
49
49
  static initPropertyMap() {
50
50
  this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
51
51
  }
@@ -78,7 +78,7 @@ const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends Even
78
78
  Object.defineProperty(this.prototype, e, s);
79
79
  }
80
80
  static getPropertyDescriptor(e, t, i) {
81
- const s = i?.hasChanged || ji;
81
+ const s = i?.hasChanged || Hi;
82
82
  return {
83
83
  get() {
84
84
  return this[t];
@@ -119,8 +119,8 @@ const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends Even
119
119
  this.dispatchEvent(new at(e, t, i));
120
120
  }
121
121
  };
122
- ha.finalized = !1;
123
- let Yt = ha;
122
+ ba.finalized = !1;
123
+ let Jt = ba;
124
124
  class it {
125
125
  constructor(e, t, i) {
126
126
  this.host = e, this.state = t, this.callback = i || (() => this.host.requestUpdate()), this.host.addController(this);
@@ -146,7 +146,7 @@ function z(a) {
146
146
  }), i.createProperty(t, a), s ? Object.getOwnPropertyDescriptor(e, t) : void 0;
147
147
  };
148
148
  }
149
- function Hi(a, e) {
149
+ function Vi(a, e) {
150
150
  if (a !== null && (e === Boolean || e === Number || e === Array || e === Object))
151
151
  try {
152
152
  a = JSON.parse(a);
@@ -156,18 +156,18 @@ function Hi(a, e) {
156
156
  return a;
157
157
  }
158
158
  new URL(location.href);
159
- const Vi = {
159
+ const Ni = {
160
160
  prefix: "_ls"
161
161
  };
162
162
  function ce(a) {
163
- return a = { ...Vi, ...a }, (e, t) => {
163
+ return a = { ...Ni, ...a }, (e, t) => {
164
164
  const i = Object.getOwnPropertyDescriptor(e, t);
165
165
  if (!i)
166
166
  throw new Error("@local-storage decorator need to be called after @property");
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) ?? Ua(w), r.propertyMap.set(t, { ...o, ...a });
170
+ o.initialValue = () => Vi(localStorage.getItem(s), f) ?? Ua(w), r.propertyMap.set(t, { ...o, ...a });
171
171
  }
172
172
  const p = i?.set, k = {
173
173
  ...i,
@@ -178,12 +178,12 @@ function ce(a) {
178
178
  Object.defineProperty(r.prototype, t, k);
179
179
  };
180
180
  }
181
- function Na(a) {
181
+ function Wa(a) {
182
182
  return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
183
183
  }
184
- var Pt = { exports: {} }, Ui = Pt.exports, ka;
185
- function Ni() {
186
- return ka || (ka = 1, (function(a) {
184
+ var Lt = { exports: {} }, Ui = Lt.exports, _a;
185
+ function Wi() {
186
+ return _a || (_a = 1, (function(a) {
187
187
  (function(e, t) {
188
188
  a.exports ? a.exports = t() : e.log = t();
189
189
  })(Ui, function() {
@@ -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, Z, N, G, te = "loglevel";
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 pe(j) {
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 G ?? N ?? Z;
293
+ return X ?? U ?? K;
294
294
  }, C.setLevel = function(j, V) {
295
- return G = pe(j), V !== !1 && He(G), k.call(C);
295
+ return X = ge(j), V !== !1 && He(X), k.call(C);
296
296
  }, C.setDefaultLevel = function(j) {
297
- N = pe(j), ae() || C.setLevel(j, !1);
297
+ U = ge(j), ae() || C.setLevel(j, !1);
298
298
  }, C.resetLevel = function() {
299
- G = null, he(), k.call(C);
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 && (Z = pe(o.getLevel())), k.call(C), 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
- }, Z = pe(
308
+ }, K = ge(
309
309
  o ? o.getLevel() : "WARN"
310
310
  );
311
311
  var F = ae();
312
- F != null && (G = pe(F)), k.call(C);
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 I = typeof window !== t ? window.log : void 0;
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 = I), o;
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
- })(Pt)), Pt.exports;
330
+ })(Lt)), Lt.exports;
331
331
  }
332
- var Wi = Ni();
333
- const Je = /* @__PURE__ */ Na(Wi), Gi = J`
332
+ var Gi = Wi();
333
+ const Je = /* @__PURE__ */ Wa(Gi), Xi = J`
334
334
  :host {
335
335
  --enegelai-bot-width: 420px;
336
336
  --enegelai-bot-base-font-size: 16px;
@@ -638,7 +638,7 @@ const Je = /* @__PURE__ */ Na(Wi), Gi = J`
638
638
  }
639
639
 
640
640
 
641
- `, Wa = J`
641
+ `, Ga = J`
642
642
  ${ke}
643
643
 
644
644
  :host {
@@ -663,30 +663,30 @@ const Je = /* @__PURE__ */ Na(Wi), Gi = J`
663
663
  color: white;
664
664
  }
665
665
  `;
666
- var Xi = Object.defineProperty, Yi = Object.getOwnPropertyDescriptor, na = (a, e, t, i) => {
667
- for (var s = i > 1 ? void 0 : i ? Yi(e, t) : e, r = a.length - 1, o; r >= 0; r--)
666
+ var Yi = Object.defineProperty, Ji = Object.getOwnPropertyDescriptor, ra = (a, e, t, i) => {
667
+ for (var s = i > 1 ? void 0 : i ? Ji(e, t) : e, r = a.length - 1, o; r >= 0; r--)
668
668
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
669
- return i && s && Xi(e, t, s), s;
669
+ return i && s && Yi(e, t, s), s;
670
670
  };
671
671
  let ut = class extends Fe {
672
672
  constructor() {
673
673
  super(...arguments), this.color = "primary", this.svg = "";
674
674
  }
675
675
  render() {
676
- return u`<span class="cb-icon" part="base">${Y(this.svg)}</span>`;
676
+ return u`<span class="cb-icon" part="base">${G(this.svg)}</span>`;
677
677
  }
678
678
  };
679
- ut.styles = Wa;
680
- na([
679
+ ut.styles = Ga;
680
+ ra([
681
681
  x({ type: String })
682
682
  ], ut.prototype, "color", 2);
683
- na([
683
+ ra([
684
684
  x({ type: String })
685
685
  ], ut.prototype, "svg", 2);
686
- ut = na([
687
- K("cb-icon")
686
+ ut = ra([
687
+ Z("cb-icon")
688
688
  ], ut);
689
- let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Ki = (a, e, t) => {
689
+ let Zi = (a) => crypto.getRandomValues(new Uint8Array(a)), Ki = (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,12 +696,12 @@ 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
- }, Zi = (a, e = 21) => Ki(a, e | 0, Ji);
700
- const Qi = Zi("1234567890abcdefghijklmnopqrstuvwxyz", 10);
699
+ }, Qi = (a, e = 21) => Ki(a, e | 0, Zi);
700
+ const es = Qi("1234567890abcdefghijklmnopqrstuvwxyz", 10);
701
701
  function fe(a = 10) {
702
- return Qi(a);
702
+ return es(a);
703
703
  }
704
- function es(a) {
704
+ function ts(a) {
705
705
  return new Promise((e, t) => {
706
706
  try {
707
707
  navigator.clipboard.writeText(a).then(() => {
@@ -712,7 +712,7 @@ function es(a) {
712
712
  }
713
713
  });
714
714
  }
715
- function Ga(a = !0, e = null) {
715
+ function Xa(a = !0, e = null) {
716
716
  return new Promise((t) => {
717
717
  const i = document.createElement("input");
718
718
  i.type = "file", a && (i.multiple = !0), i.accept = e || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", i.style.display = "none", i.addEventListener("change", () => {
@@ -721,10 +721,13 @@ function Ga(a = !0, e = null) {
721
721
  }), i.click();
722
722
  });
723
723
  }
724
+ function Vt(a) {
725
+ return !a || typeof a != "string" ? "" : a.replace(/&(?!lt;|gt;)/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
726
+ }
724
727
  const se = Je.noConflict();
725
728
  se.setLevel("info");
726
- const _a = 3e4;
727
- class ts {
729
+ const Sa = 3e4;
730
+ class as {
728
731
  constructor(e = {}) {
729
732
  this.id = 0, this.url = e?.url || null, this.orgId = e?.orgId || null, this.botId = e?.botId || null, this.convId = e?.convId || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = e?.onMessage || null, this.onConnecting = e?.onConnecting || null, this.onConnectError = e?.onConnectError || null, this.onClose = e?.onClose || null, this.queue = e?.queue || [], this.pause = (t) => new Promise((i) => setTimeout(i, t)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null, se.info(`WSC: Created, url: ${this.url}`);
730
733
  }
@@ -792,7 +795,7 @@ class ts {
792
795
  async start() {
793
796
  this.started = !0, this.connect(), this.lastTickTs = Date.now(), this.tickInterval = setInterval(() => {
794
797
  this.tick();
795
- }, _a);
798
+ }, Sa);
796
799
  }
797
800
  async stop() {
798
801
  this.started = !1, this.disconnect(), this.tickInterval && (clearInterval(this.tickInterval), this.tickInterval = null);
@@ -835,7 +838,7 @@ class ts {
835
838
  const e = Date.now();
836
839
  let t = !1;
837
840
  const i = e - this.lastAckTs;
838
- i > _a + 5e3 && (t = !0, se.info(`WSC: checkConnection: connection loss detected - last ack delay ${i} msec, reconnecting`)), t && this.disconnect();
841
+ i > Sa + 5e3 && (t = !0, se.info(`WSC: checkConnection: connection loss detected - last ack delay ${i} msec, reconnecting`)), t && this.disconnect();
839
842
  }
840
843
  sendMessage(e) {
841
844
  if (this.checkConnection(), !this.connected) {
@@ -885,7 +888,7 @@ class ts {
885
888
  });
886
889
  }*/
887
890
  }
888
- class as {
891
+ class is {
889
892
  constructor(e = {}) {
890
893
  this.name = e.name || "EventEmitter", this.events = {};
891
894
  }
@@ -923,7 +926,7 @@ class as {
923
926
  }
924
927
  }
925
928
  }
926
- class Ke {
929
+ class Ze {
927
930
  /**
928
931
  * Converts Float32Array of amplitude data to ArrayBuffer in Int16Array format
929
932
  * @param {Float32Array} float32Array
@@ -1018,8 +1021,8 @@ class Ke {
1018
1021
  };
1019
1022
  }
1020
1023
  }
1021
- globalThis.WavPacker = Ke;
1022
- const Sa = [
1024
+ globalThis.WavPacker = Ze;
1025
+ const Ca = [
1023
1026
  4186.01,
1024
1027
  4434.92,
1025
1028
  4698.63,
@@ -1032,7 +1035,7 @@ const Sa = [
1032
1035
  7040,
1033
1036
  7458.62,
1034
1037
  7902.13
1035
- ], is = [
1038
+ ], ss = [
1036
1039
  "C",
1037
1040
  "C#",
1038
1041
  "D",
@@ -1045,13 +1048,13 @@ const Sa = [
1045
1048
  "A",
1046
1049
  "A#",
1047
1050
  "B"
1048
- ], We = [], ra = [];
1051
+ ], We = [], oa = [];
1049
1052
  for (let a = 1; a <= 8; a++)
1050
- for (let e = 0; e < Sa.length; e++) {
1051
- const t = Sa[e];
1052
- We.push(t / Math.pow(2, 8 - a)), ra.push(is[e] + a);
1053
+ for (let e = 0; e < Ca.length; e++) {
1054
+ const t = Ca[e];
1055
+ We.push(t / Math.pow(2, 8 - a)), oa.push(ss[e] + a);
1053
1056
  }
1054
- const Rt = [32, 2e3], Ca = We.filter((a, e) => We[e] > Rt[0] && We[e] < Rt[1]), ss = ra.filter((a, e) => We[e] > Rt[0] && We[e] < Rt[1]);
1057
+ const zt = [32, 2e3], Aa = We.filter((a, e) => We[e] > zt[0] && We[e] < zt[1]), ns = oa.filter((a, e) => We[e] > zt[0] && We[e] < zt[1]);
1055
1058
  class lt {
1056
1059
  /**
1057
1060
  * Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
@@ -1069,21 +1072,21 @@ class lt {
1069
1072
  const f = t / 2, p = 1 / i.length * f;
1070
1073
  let v, k, w;
1071
1074
  if (s === "music" || s === "voice") {
1072
- const I = s === "voice" ? Ca : We, M = Array(I.length).fill(r);
1075
+ const E = s === "voice" ? Aa : We, M = Array(E.length).fill(r);
1073
1076
  for (let L = 0; L < i.length; L++) {
1074
- const C = L * p, Z = i[L];
1075
- for (let N = I.length - 1; N >= 0; N--)
1076
- if (C > I[N]) {
1077
- M[N] = Math.max(M[N], Z);
1077
+ const C = L * p, K = i[L];
1078
+ for (let U = E.length - 1; U >= 0; U--)
1079
+ if (C > E[U]) {
1080
+ M[U] = Math.max(M[U], K);
1078
1081
  break;
1079
1082
  }
1080
1083
  }
1081
- v = M, k = s === "voice" ? Ca : We, w = s === "voice" ? ss : ra;
1084
+ v = M, k = s === "voice" ? Aa : We, w = s === "voice" ? ns : oa;
1082
1085
  } else
1083
- v = Array.from(i), k = v.map((I, M) => p * M), w = k.map((I) => `${I.toFixed(2)} Hz`);
1084
- const _ = v.map((I) => Math.max(
1086
+ v = Array.from(i), k = v.map((E, M) => p * M), w = k.map((E) => `${E.toFixed(2)} Hz`);
1087
+ const _ = v.map((E) => Math.max(
1085
1088
  0,
1086
- Math.min((I - r) / (o - r), 1)
1089
+ Math.min((E - r) / (o - r), 1)
1087
1090
  ));
1088
1091
  return {
1089
1092
  values: new Float32Array(_),
@@ -1154,7 +1157,7 @@ class lt {
1154
1157
  }
1155
1158
  }
1156
1159
  globalThis.AudioAnalysis = lt;
1157
- const ns = `
1160
+ const rs = `
1158
1161
  class StreamProcessor extends AudioWorkletProcessor {
1159
1162
  constructor() {
1160
1163
  super();
@@ -1243,17 +1246,17 @@ class StreamProcessor extends AudioWorkletProcessor {
1243
1246
  }
1244
1247
 
1245
1248
  registerProcessor('stream_processor', StreamProcessor);
1246
- `, rs = new Blob([ns], {
1249
+ `, os = new Blob([rs], {
1247
1250
  type: "application/javascript"
1248
- }), os = URL.createObjectURL(rs), cs = os;
1249
- class ls {
1251
+ }), cs = URL.createObjectURL(os), ls = cs;
1252
+ class ds {
1250
1253
  /**
1251
1254
  * Creates a new WavStreamPlayer instance
1252
1255
  * @param {{sampleRate?: number}} options
1253
1256
  * @returns {WavStreamPlayer}
1254
1257
  */
1255
1258
  constructor({ sampleRate: e = 44100, onPlaybackEnded: t = null } = {}) {
1256
- this.scriptSrc = cs, this.sampleRate = e, this.context = null, this.stream = null, this.analyser = null, this.trackSampleOffsets = {}, this.interruptedTrackIds = {}, this.onPlaybackEnded = t && typeof t == "function" ? t : null;
1259
+ this.scriptSrc = ls, this.sampleRate = e, this.context = null, this.stream = null, this.analyser = null, this.trackSampleOffsets = {}, this.interruptedTrackIds = {}, this.onPlaybackEnded = t && typeof t == "function" ? t : null;
1257
1260
  }
1258
1261
  /**
1259
1262
  * Connects the audio context and enables output to speakers
@@ -1348,8 +1351,8 @@ class ls {
1348
1351
  return this.getTrackSampleOffset(!0);
1349
1352
  }
1350
1353
  }
1351
- globalThis.WavStreamPlayer = ls;
1352
- const ds = URL.createObjectURL(
1354
+ globalThis.WavStreamPlayer = ds;
1355
+ const fs = URL.createObjectURL(
1353
1356
  new Blob([`
1354
1357
  class UpsampleStreamPCM extends AudioWorkletProcessor {
1355
1358
  constructor(options) {
@@ -1521,7 +1524,7 @@ class UpsampleStreamPCM extends AudioWorkletProcessor {
1521
1524
  registerProcessor('upsample-stream-pcm', UpsampleStreamPCM);
1522
1525
  `], { type: "application/javascript" })
1523
1526
  );
1524
- class Xa {
1527
+ class Ya {
1525
1528
  /**
1526
1529
  * @param {{
1527
1530
  * inputSampleRate?: number,
@@ -1546,10 +1549,10 @@ class Xa {
1546
1549
  this.inputSampleRate = e, this.onPlaybackEnded = typeof t == "function" ? t : null, this.debug = !!i;
1547
1550
  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
1551
  this._isSafariMobile = v && P && !k && !w && !_;
1549
- const I = !!(navigator.userAgentData && typeof navigator.userAgentData.mobile == "boolean" && navigator.userAgentData.mobile), M = /Android|iPhone|iPod|Mobile/.test(p), L = (() => {
1550
- const Z = navigator.platform || "";
1551
- return /iPad/.test(p) || Z === "MacIntel" && navigator.maxTouchPoints > 1;
1552
- })(), C = I || M || L;
1552
+ const E = !!(navigator.userAgentData && typeof navigator.userAgentData.mobile == "boolean" && navigator.userAgentData.mobile), M = /Android|iPhone|iPod|Mobile/.test(p), L = (() => {
1553
+ const K = navigator.platform || "";
1554
+ return /iPad/.test(p) || K === "MacIntel" && navigator.maxTouchPoints > 1;
1555
+ })(), C = E || M || L;
1553
1556
  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
1557
  }
1555
1558
  _log(...e) {
@@ -1566,7 +1569,7 @@ class Xa {
1566
1569
  /** Build the WebAudio graph. Always audible via direct path; loopback ref is optional and non-critical. */
1567
1570
  async connect() {
1568
1571
  if (this.context) return !0;
1569
- if (this.context = new (window.AudioContext || window.webkitAudioContext)({ latencyHint: "interactive" }), this.context.state === "suspended" && await this.context.resume(), await this.context.audioWorklet.addModule(ds), this._worklet = new AudioWorkletNode(this.context, "upsample-stream-pcm", {
1572
+ if (this.context = new (window.AudioContext || window.webkitAudioContext)({ latencyHint: "interactive" }), this.context.state === "suspended" && await this.context.resume(), await this.context.audioWorklet.addModule(fs), this._worklet = new AudioWorkletNode(this.context, "upsample-stream-pcm", {
1570
1573
  processorOptions: {
1571
1574
  sourceSampleRate: this.inputSampleRate,
1572
1575
  prerollSrc: Math.round(this.inputSampleRate * 0.02)
@@ -1694,8 +1697,8 @@ class Xa {
1694
1697
  return this.connect();
1695
1698
  }
1696
1699
  }
1697
- globalThis.WavStreamPlayerV2 = Xa;
1698
- const fs = `
1700
+ globalThis.WavStreamPlayerV2 = Ya;
1701
+ const hs = `
1699
1702
  class AudioProcessor extends AudioWorkletProcessor {
1700
1703
 
1701
1704
  constructor() {
@@ -1902,17 +1905,17 @@ class AudioProcessor extends AudioWorkletProcessor {
1902
1905
  }
1903
1906
 
1904
1907
  registerProcessor('audio_processor', AudioProcessor);
1905
- `, hs = new Blob([fs], {
1908
+ `, bs = new Blob([hs], {
1906
1909
  type: "application/javascript"
1907
- }), bs = URL.createObjectURL(hs), us = bs;
1908
- class ps {
1910
+ }), us = URL.createObjectURL(bs), ps = us;
1911
+ class gs {
1909
1912
  /**
1910
1913
  * Create a new WavRecorder instance
1911
1914
  * @param {{sampleRate?: number, outputToSpeakers?: boolean, debug?: boolean}} [options]
1912
1915
  * @returns {WavRecorder}
1913
1916
  */
1914
1917
  constructor({ sampleRate: e = 44100, outputToSpeakers: t = !1, debug: i = !1 } = {}) {
1915
- this.scriptSrc = us, this.sampleRate = e, this.outputToSpeakers = t, this.debug = !!i, this._deviceChangeCallback = null, this._devices = [], this.stream = null, this.processor = null, this.source = null, this.node = null, this.recording = !1, this._lastEventId = 0, this.eventReceipts = {}, this.eventTimeout = 5e3, this._chunkProcessor = () => {
1918
+ this.scriptSrc = ps, this.sampleRate = e, this.outputToSpeakers = t, this.debug = !!i, this._deviceChangeCallback = null, this._devices = [], this.stream = null, this.processor = null, this.source = null, this.node = null, this.recording = !1, this._lastEventId = 0, this.eventReceipts = {}, this.eventTimeout = 5e3, this._chunkProcessor = () => {
1916
1919
  }, this._chunkProcessorSize = void 0, this._chunkProcessorBuffer = {
1917
1920
  raw: new ArrayBuffer(0),
1918
1921
  mono: new ArrayBuffer(0)
@@ -1952,13 +1955,13 @@ class ps {
1952
1955
  throw new Error('Must specify "fromSampleRate" when reading from Float32Array, In16Array or Array');
1953
1956
  if (i < 3e3)
1954
1957
  throw new Error('Minimum "fromSampleRate" is 3000 (3kHz)');
1955
- w || (w = Ke.floatTo16BitPCM(k));
1958
+ w || (w = Ze.floatTo16BitPCM(k));
1956
1959
  const _ = {
1957
1960
  bitsPerSample: 16,
1958
1961
  channels: [k],
1959
1962
  data: w
1960
1963
  };
1961
- o = new Ke().pack(i, _).blob, r = await o.arrayBuffer();
1964
+ o = new Ze().pack(i, _).blob, r = await o.arrayBuffer();
1962
1965
  }
1963
1966
  const f = await s.decodeAudioData(r), p = f.getChannelData(0), v = URL.createObjectURL(o);
1964
1967
  return {
@@ -2131,8 +2134,8 @@ class ps {
2131
2134
  if (this._chunkProcessorSize) {
2132
2135
  const w = this._chunkProcessorBuffer;
2133
2136
  this._chunkProcessorBuffer = {
2134
- raw: Ke.mergeBuffers(w.raw, k.raw),
2135
- mono: Ke.mergeBuffers(w.mono, k.mono)
2137
+ raw: Ze.mergeBuffers(w.raw, k.raw),
2138
+ mono: Ze.mergeBuffers(w.mono, k.mono)
2136
2139
  }, this._chunkProcessorBuffer.mono.byteLength >= this._chunkProcessorSize && (this._chunkProcessor(this._chunkProcessorBuffer), this._chunkProcessorBuffer = {
2137
2140
  raw: new ArrayBuffer(0),
2138
2141
  mono: new ArrayBuffer(0)
@@ -2218,7 +2221,7 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
2218
2221
  throw new Error("Currently recording: please call .pause() first, or call .save(true) to force");
2219
2222
  this.log("Exporting ...");
2220
2223
  const t = await this._event("export");
2221
- return new Ke().pack(this.sampleRate, t.audio);
2224
+ return new Ze().pack(this.sampleRate, t.audio);
2222
2225
  }
2223
2226
  /**
2224
2227
  * Ends the current recording session and saves the result
@@ -2230,7 +2233,7 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
2230
2233
  const e = this.processor;
2231
2234
  this.log("Stopping ..."), await this._event("stop"), this.recording = !1, this.stream.getTracks().forEach((o) => o.stop()), this.log("Exporting ...");
2232
2235
  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 Ke().pack(this.sampleRate, i.audio);
2236
+ 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
2237
  }
2235
2238
  /**
2236
2239
  * Performs a full cleanup of WavRecorder instance
@@ -2241,8 +2244,8 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
2241
2244
  return this.listenForDeviceChange(null), this.processor && await this.end(), !0;
2242
2245
  }
2243
2246
  }
2244
- globalThis.WavRecorder = ps;
2245
- const gs = URL.createObjectURL(
2247
+ globalThis.WavRecorder = gs;
2248
+ const ms = URL.createObjectURL(
2246
2249
  new Blob([`
2247
2250
  class DownsampleRecorder extends AudioWorkletProcessor {
2248
2251
  constructor(options) {
@@ -2463,7 +2466,7 @@ class ot {
2463
2466
  echoCancellationType: this.captureInfo.trackSettings?.echoCancellationType ?? null
2464
2467
  }, this._log("Granted track settings:", this.captureInfo.trackSettings), this.audioCtx = new (window.AudioContext || window.webkitAudioContext)({
2465
2468
  latencyHint: "interactive"
2466
- }), this.captureInfo.contextSampleRate = this.audioCtx.sampleRate, this.source = this.audioCtx.createMediaStreamSource(this.stream), await this.audioCtx.audioWorklet.addModule(gs);
2469
+ }), this.captureInfo.contextSampleRate = this.audioCtx.sampleRate, this.source = this.audioCtx.createMediaStreamSource(this.stream), await this.audioCtx.audioWorklet.addModule(ms);
2467
2470
  const s = Math.round(this.targetSampleRate * this.chunkMs / 1e3);
2468
2471
  return this.node = new AudioWorkletNode(this.audioCtx, "downsample-recorder", {
2469
2472
  processorOptions: {
@@ -2539,11 +2542,11 @@ class ot {
2539
2542
  }
2540
2543
  }
2541
2544
  globalThis.WavRecorderV2 = ot;
2542
- class ms {
2545
+ class ys {
2543
2546
  constructor(e = {}) {
2544
- this.sr = Math.max(8e3, e.sampleRate || 24e3), this.floor = Aa(e.floor ?? 0.12), this.attackSamples = Ce(e.attackMs ?? 12, this.sr), this.releaseSamples = Ce(e.releaseMs ?? 150, this.sr), this.escapeAttackSamples = Ce(e.escapeAttackMs ?? 10, this.sr), this.defaultGuardSamples = Ce(e.defaultGuardMs ?? 0, this.sr), this.gain = 1, this.target = 1, this.rampRemain = 0, this._step = 0, this.duckActive = !1, this.guardRemain = 0, this.vadEnabled = e.vadEnabled !== !1;
2547
+ this.sr = Math.max(8e3, e.sampleRate || 24e3), this.floor = Ma(e.floor ?? 0.12), this.attackSamples = Ce(e.attackMs ?? 12, this.sr), this.releaseSamples = Ce(e.releaseMs ?? 150, this.sr), this.escapeAttackSamples = Ce(e.escapeAttackMs ?? 10, this.sr), this.defaultGuardSamples = Ce(e.defaultGuardMs ?? 0, this.sr), this.gain = 1, this.target = 1, this.rampRemain = 0, this._step = 0, this.duckActive = !1, this.guardRemain = 0, this.vadEnabled = e.vadEnabled !== !1;
2545
2548
  const t = Math.max(2, e.vadFastMs ?? 10), i = Math.max(t + 20, e.vadSlowMs ?? 250);
2546
- this.alphaFast = Ta(t, this.sr), this.alphaSlow = Ta(i, this.sr), this.vadFast = 0, this.vadSlow = 1e-12, this.vadRatio = Ma(e.vadTriggerDb ?? 9), this.vadAttackSamples = Ce(e.vadAttackMs ?? 18, this.sr), this.vadHangSamples = Ce(e.vadHangMs ?? 120, this.sr), this._speechCount = 0, this._hangRemain = 0, this._speaking = !1, this._nextShield = null, this._shieldActive = !1, this._shieldFloor = this.floor, this._shieldHardMute = !1, this._eps = 1e-12;
2549
+ this.alphaFast = Ia(t, this.sr), this.alphaSlow = Ia(i, this.sr), this.vadFast = 0, this.vadSlow = 1e-12, this.vadRatio = Ta(e.vadTriggerDb ?? 9), this.vadAttackSamples = Ce(e.vadAttackMs ?? 18, this.sr), this.vadHangSamples = Ce(e.vadHangMs ?? 120, this.sr), this._speechCount = 0, this._hangRemain = 0, this._speaking = !1, this._nextShield = null, this._shieldActive = !1, this._shieldFloor = this.floor, this._shieldHardMute = !1, this._eps = 1e-12;
2547
2550
  }
2548
2551
  /** Arm a one‑shot, VAD‑escapable shield for the NEXT TTS start. */
2549
2552
  armFirstTurnShield({
@@ -2557,8 +2560,8 @@ class ms {
2557
2560
  vadAttackMs: r,
2558
2561
  vadHangMs: o
2559
2562
  } = {}) {
2560
- const p = { durationSamp: Ce(e, this.sr), floor: Aa(t), hardMute: !!i };
2561
- s != null && (p.vadRatio = Ma(s)), r != null && (p.vadAttackSamples = Ce(r, this.sr)), o != null && (p.vadHangSamples = Ce(o, this.sr)), this._nextShield = p;
2563
+ const p = { durationSamp: Ce(e, this.sr), floor: Ma(t), hardMute: !!i };
2564
+ s != null && (p.vadRatio = Ta(s)), r != null && (p.vadAttackSamples = Ce(r, this.sr)), o != null && (p.vadHangSamples = Ce(o, this.sr)), this._nextShield = p;
2562
2565
  }
2563
2566
  onTTSStart(e) {
2564
2567
  if (this.duckActive = !0, this._nextShield) {
@@ -2579,19 +2582,19 @@ class ms {
2579
2582
  const i = new Int16Array(t);
2580
2583
  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
2584
  const _ = this._eps, P = this.vadRatio;
2582
- for (let I = 0; I < t; I++) {
2585
+ for (let E = 0; E < t; E++) {
2583
2586
  this.guardRemain > 0 && this.guardRemain--;
2584
- const M = e[I] / 32768, L = M * M;
2587
+ const M = e[E] / 32768, L = M * M;
2585
2588
  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, Z = 0, N = !1;
2589
+ let C = 1, K = 0, U = !1;
2587
2590
  if (this.duckActive) {
2588
2591
  const te = this.guardRemain > 0;
2589
- te && this._shieldActive && !w ? (N = this._shieldHardMute, C = this._shieldHardMute ? 0 : this._shieldFloor, Z = this.attackSamples, this.guardRemain === 0 && (this._shieldActive = !1, this._shieldHardMute = !1)) : w ? (C = 1, Z = this.escapeAttackSamples) : te ? (C = this.floor, Z = this.attackSamples) : (C = 1, Z = this.releaseSamples);
2592
+ 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
2593
  } else
2591
- C = 1, Z = this.releaseSamples;
2592
- Math.abs(C - this.target) > 1e-4 && (this.target = C, o = Z, 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 G;
2594
- N && !w ? G = 0 : (G = e[I] * s, G > 32767 ? G = 32767 : G < -32768 && (G = -32768)), i[I] = G | 0;
2594
+ C = 1, K = this.releaseSamples;
2595
+ 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));
2596
+ let X;
2597
+ U && !w ? X = 0 : (X = e[E] * s, X > 32767 ? X = 32767 : X < -32768 && (X = -32768)), i[E] = X | 0;
2595
2598
  }
2596
2599
  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
2600
  }
@@ -2599,20 +2602,20 @@ class ms {
2599
2602
  this.target = e, this.rampRemain = t, this.rampRemain <= 0 ? (this.gain = this.target, this._step = 0) : this._step = (this.target - this.gain) / this.rampRemain;
2600
2603
  }
2601
2604
  }
2602
- function Aa(a) {
2605
+ function Ma(a) {
2603
2606
  return Math.max(0, Math.min(1, a));
2604
2607
  }
2605
2608
  function Ce(a, e) {
2606
2609
  return Math.max(0, Math.round(a * e / 1e3));
2607
2610
  }
2608
- function Ma(a) {
2611
+ function Ta(a) {
2609
2612
  return Math.pow(10, a / 10);
2610
2613
  }
2611
- function Ta(a, e) {
2614
+ function Ia(a, e) {
2612
2615
  const t = Math.max(1, a * e / 1e3);
2613
2616
  return Math.exp(-1 / t);
2614
2617
  }
2615
- class ys {
2618
+ class vs {
2616
2619
  /**
2617
2620
  * @param {object} opts
2618
2621
  * @param {number} opts.sampleRate - Hz of your PCM (e.g., 24000)
@@ -2688,24 +2691,24 @@ class ys {
2688
2691
  if (k <= 0)
2689
2692
  return this._float32ToInt16(t);
2690
2693
  const w = this.preEmphasis > 0, _ = w ? this._preEmphasize(r, this.preEmphasis, "mic") : r, P = w ? this._preEmphasize(p, this.preEmphasis, "pb") : p;
2691
- let I = 0;
2694
+ let E = 0;
2692
2695
  for (let ae = 0; ae < o; ae++) {
2693
2696
  const he = _[ae];
2694
- I += he * he;
2697
+ E += he * he;
2695
2698
  }
2696
- I = Math.sqrt(I) + 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)), Z = Math.max(1, Math.round(this.windowMs * M / 1e3));
2698
- let N = 0, G = k;
2699
- C > 0 && (N = Math.max(0, Math.min(k, C - Z)), G = Math.max(N, Math.min(k, C + Z)));
2699
+ E = Math.sqrt(E) + 1e-12;
2700
+ 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));
2701
+ let U = 0, X = k;
2702
+ C > 0 && (U = Math.max(0, Math.min(k, C - K)), X = Math.max(U, Math.min(k, C + K)));
2700
2703
  const te = Math.max(1, Math.floor(this.hop / this.ds));
2701
2704
  let He = -1;
2702
- for (let ae = N; ae <= G; ae += te) {
2703
- let he = 0, pe = 0;
2705
+ for (let ae = U; ae <= X; ae += te) {
2706
+ let he = 0, ge = 0;
2704
2707
  for (let V = 0; V < o; V++) {
2705
2708
  const $e = _[V], Pe = P[ae + V];
2706
- he += $e * Pe, pe += Pe * Pe;
2709
+ he += $e * Pe, ge += Pe * Pe;
2707
2710
  }
2708
- const F = I * (Math.sqrt(pe) + 1e-12), j = F > 0 ? he / F : 0;
2711
+ const F = E * (Math.sqrt(ge) + 1e-12), j = F > 0 ? he / F : 0;
2709
2712
  if (j > He && (He = j), He > Math.min(0.98, this.threshold + 0.25)) break;
2710
2713
  }
2711
2714
  if (He >= this.threshold) {
@@ -2767,7 +2770,7 @@ class ys {
2767
2770
  return o;
2768
2771
  }
2769
2772
  }
2770
- class vs {
2773
+ class ws {
2771
2774
  /**
2772
2775
  * @param {object} opts
2773
2776
  * @param {number} opts.sampleRate - PCM sample rate (e.g., 24000)
@@ -2856,8 +2859,8 @@ class vs {
2856
2859
  let p = -1;
2857
2860
  for (let v = 0; v <= r; v += f) {
2858
2861
  let k = 0, w = 0;
2859
- for (let I = 0; I < i; I++) {
2860
- const M = t[I], L = s[v + I];
2862
+ for (let E = 0; E < i; E++) {
2863
+ const M = t[E], L = s[v + E];
2861
2864
  k += M * L, w += L * L;
2862
2865
  }
2863
2866
  const _ = o * (Math.sqrt(w) + 1e-12), P = _ > 0 ? k / _ : 0;
@@ -2904,7 +2907,7 @@ class vs {
2904
2907
  return o;
2905
2908
  }
2906
2909
  }
2907
- class ws {
2910
+ class xs {
2908
2911
  /**
2909
2912
  * @param {object} opts
2910
2913
  * @param {number} opts.sampleRate - Mic PCM sample rate (e.g., 24000)
@@ -2947,28 +2950,28 @@ class ws {
2947
2950
  }
2948
2951
  }
2949
2952
  }
2950
- const Ne = Je.noConflict();
2951
- Ne.setLevel("info");
2952
- class pt extends as {
2953
+ const Ue = Je.noConflict();
2954
+ Ue.setLevel("info");
2955
+ class pt extends is {
2953
2956
  constructor(e = {}) {
2954
2957
  super({ name: "WebAudioProcessorV2" }), this.options = e, this.muted = !1, this.audioRecorder = new ot({
2955
2958
  targetSampleRate: 24e3,
2956
2959
  debug: !!e.debug
2957
- }), this.audioPlayer = new Xa({
2960
+ }), this.audioPlayer = new Ya({
2958
2961
  inputSampleRate: 24e3,
2959
2962
  onPlaybackEnded: this.handleOnPlaybackEnded.bind(this),
2960
2963
  firstTurnRampInMs: 200,
2961
2964
  primeMs: 200,
2962
2965
  // keep or remove; it’s harmless
2963
2966
  debug: !!e.debug
2964
- }), this.audioRecorderAnalyzer = null, this.audioPlayerAnalyzer = null, this.firstTurnDropMs = e.firstTurnDropMs ?? 1500, this.firstTurnGate = new ws({
2967
+ }), this.audioRecorderAnalyzer = null, this.audioPlayerAnalyzer = null, this.firstTurnDropMs = e.firstTurnDropMs ?? 1500, this.firstTurnGate = new xs({
2965
2968
  sampleRate: 24e3,
2966
2969
  windowMs: this.firstTurnDropMs,
2967
2970
  partialPass: !0,
2968
2971
  // pass remainder of crossing frame
2969
2972
  hardDrop: !0
2970
2973
  // set true if you prefer simpler "drop whole frame"
2971
- }), this.ducker = new ms({
2974
+ }), this.ducker = new ys({
2972
2975
  sampleRate: 24e3,
2973
2976
  floor: 0.12,
2974
2977
  attackMs: 12,
@@ -2983,7 +2986,7 @@ class pt extends as {
2983
2986
  vadSlowMs: 250,
2984
2987
  vadAttackMs: 18,
2985
2988
  vadHangMs: 120
2986
- }), this.mixMinus = new ys({
2989
+ }), this.mixMinus = new vs({
2987
2990
  sampleRate: 24e3,
2988
2991
  bufferMs: 1e3,
2989
2992
  threshold: 0.3,
@@ -2992,7 +2995,7 @@ class pt extends as {
2992
2995
  hop: 64,
2993
2996
  downsampleFactor: 3,
2994
2997
  minCorrLenMs: 15
2995
- }), this.mixMinusSmooth = new vs({
2998
+ }), this.mixMinusSmooth = new ws({
2996
2999
  sampleRate: 24e3,
2997
3000
  bufferMs: 800,
2998
3001
  lowThresh: 0.25,
@@ -3027,13 +3030,13 @@ class pt extends as {
3027
3030
  e(), this._latencyTimer = setInterval(e, 1e3);
3028
3031
  try {
3029
3032
  const t = this.audioRecorder.captureInfo?.aecGranted;
3030
- t && Ne.info("AEC granted:", t);
3033
+ t && Ue.info("AEC granted:", t);
3031
3034
  } catch {
3032
3035
  }
3033
- Ne.info("WebAudioProcessorV2 started");
3036
+ Ue.info("WebAudioProcessorV2 started");
3034
3037
  }
3035
3038
  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, Ne.info("WebAudioProcessorV2 stopped");
3039
+ 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
3040
  }
3038
3041
  get started() {
3039
3042
  return !!(this.audioRecorder && this.audioRecorder.getStatus() !== "ended");
@@ -3055,7 +3058,7 @@ class pt extends as {
3055
3058
  }
3056
3059
  async _checkRecordingHealth(e) {
3057
3060
  const i = Date.now() - this._lastMicCaptureTime;
3058
- i > 2e3 && (Ne.warn(`WebAudioProcessorV2: large gap between mic frames: ${i} ms detected, possible lock or suspend - terminating audio`), this.emit("terminate").catch(() => {
3061
+ i > 2e3 && (Ue.warn(`WebAudioProcessorV2: large gap between mic frames: ${i} ms detected, possible lock or suspend - terminating audio`), this.emit("terminate").catch(() => {
3059
3062
  }));
3060
3063
  }
3061
3064
  // ---- Capture ----
@@ -3064,7 +3067,7 @@ class pt extends as {
3064
3067
  * Your existing 'audio' event is preserved: payload includes base64 of Int16 PCM.
3065
3068
  */
3066
3069
  async beginAudioCapture() {
3067
- !this.started || this.recording || (Ne.info("WebAudioProcessorV2: beginAudioCapture"), this._lastMicCaptureTime = Date.now(), this._startRecWatchdog(), await this.audioRecorder.record((e) => {
3070
+ !this.started || this.recording || (Ue.info("WebAudioProcessorV2: beginAudioCapture"), this._lastMicCaptureTime = Date.now(), this._startRecWatchdog(), await this.audioRecorder.record((e) => {
3068
3071
  if (e?.mono && e.mono?.byteLength) {
3069
3072
  this._lastMicCaptureTime = Date.now();
3070
3073
  let t = new Int16Array(e.mono);
@@ -3074,12 +3077,12 @@ class pt extends as {
3074
3077
  const i = this.useAdaptiveSuppressor ? this.mixMinusSmooth.filterMicFrame(t) : this.mixMinus.filterMicFrame(t) || new Int16Array(0);
3075
3078
  if (i.length === 0) return;
3076
3079
  const s = pt.arrayBufferToBase64(i);
3077
- Ne.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
3080
+ Ue.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
3078
3081
  }
3079
3082
  }));
3080
3083
  }
3081
3084
  async endAudioCapture() {
3082
- !this.started || !this.recording || (Ne.info("WebAudioProcessorV2: endAudioCapture"), this._stopRecWatchdog(), await this.audioRecorder.pause());
3085
+ !this.started || !this.recording || (Ue.info("WebAudioProcessorV2: endAudioCapture"), this._stopRecWatchdog(), await this.audioRecorder.pause());
3083
3086
  }
3084
3087
  // ---- Playback ----
3085
3088
  /**
@@ -3167,17 +3170,17 @@ class pt extends as {
3167
3170
  }
3168
3171
  }
3169
3172
  globalThis.WebAudioProcessorV2 = pt;
3170
- var xs = Object.defineProperty, ks = Object.getOwnPropertyDescriptor, st = (a, e, t, i) => {
3171
- for (var s = i > 1 ? void 0 : i ? ks(e, t) : e, r = a.length - 1, o; r >= 0; r--)
3173
+ var ks = Object.defineProperty, _s = Object.getOwnPropertyDescriptor, st = (a, e, t, i) => {
3174
+ for (var s = i > 1 ? void 0 : i ? _s(e, t) : e, r = a.length - 1, o; r >= 0; r--)
3172
3175
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
3173
- return i && s && xs(e, t, s), s;
3176
+ return i && s && ks(e, t, s), s;
3174
3177
  };
3175
- const Mt = "cb-toast-outlet", Ia = "cb-toast-outlet-style";
3176
- function _s() {
3178
+ const Mt = "cb-toast-outlet", Ea = "cb-toast-outlet-style";
3179
+ function Ss() {
3177
3180
  let a = document.getElementById(Mt);
3178
- if (a || (a = document.createElement("div"), a.id = Mt, document.body.appendChild(a)), !document.getElementById(Ia)) {
3181
+ if (a || (a = document.createElement("div"), a.id = Mt, document.body.appendChild(a)), !document.getElementById(Ea)) {
3179
3182
  const e = document.createElement("style");
3180
- e.id = Ia, e.textContent = `
3183
+ e.id = Ea, e.textContent = `
3181
3184
  /* Global outlet that holds all toasts */
3182
3185
  #${Mt} {
3183
3186
  position: fixed;
@@ -3201,8 +3204,8 @@ function _s() {
3201
3204
  }
3202
3205
  return a;
3203
3206
  }
3204
- function Ya(a) {
3205
- const e = _s(), t = document.createElement("cb-toast");
3207
+ function Ja(a) {
3208
+ const e = Ss(), t = document.createElement("cb-toast");
3206
3209
  return t.message = a.message, t.variant = a.variant ?? "success", t.duration = typeof a.duration == "number" ? a.duration : 3e3, t.closeable = !!a.closeable, t.icon = a.icon ?? "", t.ariaLive = a.ariaLive ?? "polite", e.appendChild(t), t;
3207
3210
  }
3208
3211
  let qe = class extends Fe {
@@ -3249,7 +3252,7 @@ let qe = class extends Fe {
3249
3252
  this._timer && (clearTimeout(this._timer), this._timer = void 0);
3250
3253
  }
3251
3254
  _renderIcon(a) {
3252
- return a.trim().startsWith("<") ? u`${Y(a)}` : a;
3255
+ return a.trim().startsWith("<") ? u`${G(a)}` : a;
3253
3256
  }
3254
3257
  };
3255
3258
  qe.styles = J`
@@ -3379,7 +3382,7 @@ st([
3379
3382
  x({ type: String })
3380
3383
  ], qe.prototype, "ariaLive", 2);
3381
3384
  qe = st([
3382
- K("cb-toast")
3385
+ Z("cb-toast")
3383
3386
  ], qe);
3384
3387
  function Q(a) {
3385
3388
  return a != null && typeof a == "object" && a["@@functional/placeholder"] === !0;
@@ -3389,7 +3392,7 @@ function tt(a) {
3389
3392
  return arguments.length === 0 || Q(t) ? e : a.apply(this, arguments);
3390
3393
  };
3391
3394
  }
3392
- function Ze(a) {
3395
+ function Ke(a) {
3393
3396
  return function e(t, i) {
3394
3397
  switch (arguments.length) {
3395
3398
  case 0:
@@ -3407,29 +3410,29 @@ function Ze(a) {
3407
3410
  }
3408
3411
  };
3409
3412
  }
3410
- function Ss(a) {
3413
+ function Cs(a) {
3411
3414
  return function e(t, i, s) {
3412
3415
  switch (arguments.length) {
3413
3416
  case 0:
3414
3417
  return e;
3415
3418
  case 1:
3416
- return Q(t) ? e : Ze(function(r, o) {
3419
+ return Q(t) ? e : Ke(function(r, o) {
3417
3420
  return a(t, r, o);
3418
3421
  });
3419
3422
  case 2:
3420
- return Q(t) && Q(i) ? e : Q(t) ? Ze(function(r, o) {
3423
+ return Q(t) && Q(i) ? e : Q(t) ? Ke(function(r, o) {
3421
3424
  return a(r, i, o);
3422
- }) : Q(i) ? Ze(function(r, o) {
3425
+ }) : Q(i) ? Ke(function(r, o) {
3423
3426
  return a(t, r, o);
3424
3427
  }) : tt(function(r) {
3425
3428
  return a(t, i, r);
3426
3429
  });
3427
3430
  default:
3428
- return Q(t) && Q(i) && Q(s) ? e : Q(t) && Q(i) ? Ze(function(r, o) {
3431
+ return Q(t) && Q(i) && Q(s) ? e : Q(t) && Q(i) ? Ke(function(r, o) {
3429
3432
  return a(r, o, s);
3430
- }) : Q(t) && Q(s) ? Ze(function(r, o) {
3433
+ }) : Q(t) && Q(s) ? Ke(function(r, o) {
3431
3434
  return a(r, i, o);
3432
- }) : Q(i) && Q(s) ? Ze(function(r, o) {
3435
+ }) : Q(i) && Q(s) ? Ke(function(r, o) {
3433
3436
  return a(t, r, o);
3434
3437
  }) : Q(t) ? tt(function(r) {
3435
3438
  return a(r, i, s);
@@ -3441,45 +3444,45 @@ function Ss(a) {
3441
3444
  }
3442
3445
  };
3443
3446
  }
3444
- const Cs = Number.isInteger || function(e) {
3447
+ const As = Number.isInteger || function(e) {
3445
3448
  return e << 0 === e;
3446
3449
  };
3447
- function As(a, e) {
3450
+ function Ms(a, e) {
3448
3451
  var t = a < 0 ? e.length + a : a;
3449
3452
  return e[t];
3450
3453
  }
3451
- var Ms = /* @__PURE__ */ Ze(function(e, t) {
3454
+ var Ts = /* @__PURE__ */ Ke(function(e, t) {
3452
3455
  return t == null || t !== t ? e : t;
3453
3456
  });
3454
- function Ts(a, e) {
3457
+ function Is(a, e) {
3455
3458
  for (var t = e, i = 0; i < a.length; i += 1) {
3456
3459
  if (t == null)
3457
3460
  return;
3458
3461
  var s = a[i];
3459
- Cs(s) ? t = As(s, t) : t = t[s];
3462
+ As(s) ? t = Ms(s, t) : t = t[s];
3460
3463
  }
3461
3464
  return t;
3462
3465
  }
3463
- var Nt = /* @__PURE__ */ Ss(function(e, t, i) {
3464
- return Ms(e, Ts(t, i));
3466
+ var Gt = /* @__PURE__ */ Cs(function(e, t, i) {
3467
+ return Ts(e, Is(t, i));
3465
3468
  });
3466
- const Is = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
3467
- var Es = Object.defineProperty, B = (a, e, t, i) => {
3469
+ const Es = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
3470
+ var $s = Object.defineProperty, O = (a, e, t, i) => {
3468
3471
  for (var s = void 0, r = a.length - 1, o; r >= 0; r--)
3469
3472
  (o = a[r]) && (s = o(e, t, s) || s);
3470
- return s && Es(e, t, s), s;
3473
+ return s && $s(e, t, s), s;
3471
3474
  };
3472
- const E = Je.noConflict();
3473
- E.setLevel("info");
3474
- const ne = "cb_", $s = (a) => new Promise((e) => setTimeout(e, a));
3475
- class R extends Yt {
3475
+ const T = Je.noConflict();
3476
+ T.setLevel("info");
3477
+ const ne = "cb_", Ps = (a) => new Promise((e) => setTimeout(e, a));
3478
+ class R extends Jt {
3476
3479
  constructor() {
3477
3480
  super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = null, this.webAudioProcessor = null, this.webAudioTrackId = null, this.webAudioCurrentMark = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseLastText = null, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null, this.tabsBroadcastChannel = new BroadcastChannel("c7o-bot-tabs"), this.tabId = "c7o-bot-tab-" + (self.crypto?.randomUUID?.() || Math.random().toString(36).slice(2)), this.tabsBroadcastChannel.addEventListener("message", this.handleBroadcastMessage.bind(this)), console.log(`c7o: AppState: created, tabId=${this.tabId}`);
3478
3481
  }
3479
3482
  // this is called at startup
3480
3483
  setSetting(e) {
3481
- E.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((t) => {
3482
- E.info(`Exception during bot initialization: ${t.message}`);
3484
+ T.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((t) => {
3485
+ T.info(`Exception during bot initialization: ${t.message}`);
3483
3486
  });
3484
3487
  }
3485
3488
  // set language
@@ -3494,7 +3497,7 @@ class R extends Yt {
3494
3497
  async initBot() {
3495
3498
  if (!this.botSettingsInitialized) {
3496
3499
  const i = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
3497
- E.info(`Getting bot settings at ${i} ...`);
3500
+ T.info(`Getting bot settings at ${i} ...`);
3498
3501
  let s = null, r = null;
3499
3502
  try {
3500
3503
  s = await fetch(i, {
@@ -3504,13 +3507,13 @@ class R extends Yt {
3504
3507
  "X-Enegel-Signature": this.setting.botId
3505
3508
  //"ngrok-skip-browser-warning": "1",
3506
3509
  }
3507
- }), !s.ok || s.status !== 200 ? E.error(`Failed to get bot ${this.setting.botId} settings: ${s.status} ${s.statusText}`) : r = await s.json();
3510
+ }), !s.ok || s.status !== 200 ? T.error(`Failed to get bot ${this.setting.botId} settings: ${s.status} ${s.statusText}`) : r = await s.json();
3508
3511
  } catch (o) {
3509
- E.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), r = null;
3512
+ T.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), r = null;
3510
3513
  }
3511
3514
  if (this.botSettingsInitialized = !0, this.botSettings = r, !r) {
3512
- if (E.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
3513
- E.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
3515
+ if (T.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
3516
+ T.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
3514
3517
  return;
3515
3518
  }
3516
3519
  this.botSettingsInitialized = !1, setTimeout(async () => {
@@ -3518,17 +3521,17 @@ class R extends Yt {
3518
3521
  }, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
3519
3522
  return;
3520
3523
  }
3521
- E.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.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.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
3524
+ 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.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !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
3525
  this.showEngagePopup();
3523
3526
  }, this.setting.engageTimeout * 1e3);
3524
3527
  }
3525
3528
  const e = new URLSearchParams(window.location.search);
3526
3529
  if (e.has("c7o_bot_open")) {
3527
3530
  const t = e.get("c7o_bot_open");
3528
- this.open = t !== "false" && t !== "no" && t !== "0", E.info(`C7O-BOT:INIT: Force open=${this.open} from query parameter c7o_bot_open=${e.get("c7o_bot_open")}`);
3531
+ 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
3532
  }
3530
- this.connectWs === "true" && (E.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
3531
- E.error(`Exception during ws client startup: ${t.message}`);
3533
+ this.connectWs === "true" && (T.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
3534
+ T.error(`Exception during ws client startup: ${t.message}`);
3532
3535
  })), setTimeout(() => {
3533
3536
  window.dispatchEvent(
3534
3537
  new CustomEvent("c7o:bot:stateEvent", {
@@ -3560,17 +3563,34 @@ class R extends Yt {
3560
3563
  }), this.initStartupForm();
3561
3564
  }
3562
3565
  // AGENT // ////////////////////////////////////////////////////
3566
+ async handleAgentConnected(e) {
3567
+ T.info("c7o: Agent Connected", e);
3568
+ const t = e?.userName || "Agent";
3569
+ this.addMessage({
3570
+ id: e?.id || null,
3571
+ author: "system",
3572
+ type: "info",
3573
+ data: {
3574
+ text: `**${t}** joined chat`,
3575
+ ...e.userName && { userName: e.userName },
3576
+ ...e.userAvatar && { userAvatar: e.userAvatar }
3577
+ }
3578
+ });
3579
+ }
3563
3580
  async handleAgentDisconnected(e) {
3564
- E.info(`c7o: Agent disconnected ${this.webAudioCurrentMark}`, e), this.addMessage({
3581
+ if (T.info("c7o: Agent disconnected", e), !this.setting.enableAgentDisconnectedMessage)
3582
+ return;
3583
+ const t = e?.userName || "Agent";
3584
+ this.addMessage({
3565
3585
  id: e?.id || null,
3566
- author: "assistant",
3567
- type: "text",
3586
+ author: "system",
3587
+ type: "info",
3568
3588
  data: {
3569
- text: "_Left chat_",
3589
+ text: `**${t}** left chat`,
3570
3590
  ...e.userName && { userName: e.userName },
3571
3591
  ...e.userAvatar && { userAvatar: e.userAvatar }
3572
3592
  }
3573
- }), this.showNewConversation = !0;
3593
+ }), this.setting.showNewConversationOnAgentDisconnected && (this.showNewConversation = !0);
3574
3594
  }
3575
3595
  // BROADCAST // ///////////////////////////////////////////////////
3576
3596
  async handleBroadcastMessage(e) {
@@ -3639,7 +3659,7 @@ class R extends Yt {
3639
3659
  }
3640
3660
  // When finished playing audio, clear trackId and send mark message
3641
3661
  async onPlaybackEnded() {
3642
- this.webAudioCurrentMark && (E.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
3662
+ this.webAudioCurrentMark && (T.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
3643
3663
  id: fe(),
3644
3664
  type: "mediaMark",
3645
3665
  mark: {
@@ -3648,7 +3668,7 @@ class R extends Yt {
3648
3668
  }), this.webAudioCurrentMark = null, this.webAudioTrackId = null);
3649
3669
  }
3650
3670
  async onWebAudioTerminate() {
3651
- E.info("c7o: terminating audio"), await this.stopAudio();
3671
+ T.info("c7o: terminating audio"), await this.stopAudio();
3652
3672
  }
3653
3673
  // Confirmation from server that media started
3654
3674
  // {"type":"mediaStarted","mediaType":"audio","mediaTransport":"webmedia","webmedia":{"mimeType":"audio/L16","mediaSpec":{"sampleRate":24000,"channels":1}}}
@@ -3667,16 +3687,16 @@ class R extends Yt {
3667
3687
  if (!e || e?.type !== "media" || !e?.media || e?.mediaType !== "audio" || !e?.media?.payload || !this.webAudioProcessor || !this.webAudioStarted)
3668
3688
  return;
3669
3689
  const t = e.media.payload;
3670
- this.webAudioTrackId || (this.webAudioTrackId = fe()), E.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
3690
+ 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
3691
  }
3672
3692
  // {"type": "mediaMark","mark": {"name": "1757277902935"}}
3673
3693
  async handleMediaMark(e) {
3674
- !this.webAudioProcessor || !this.webAudioStarted || (this.webAudioCurrentMark = e?.mark?.name || null, E.info(`c7o: Current media mark set to ${this.webAudioCurrentMark}`, e));
3694
+ !this.webAudioProcessor || !this.webAudioStarted || (this.webAudioCurrentMark = e?.mark?.name || null, T.info(`c7o: Current media mark set to ${this.webAudioCurrentMark}`, e));
3675
3695
  }
3676
3696
  // Confirmation from server that media stopped
3677
3697
  //{"type":"mediaClear","mediaType":"audio"}
3678
3698
  async handleMediaClear(e) {
3679
- E.info("c7o: Got mediaClear, clearing buffered media", e), this.mediaStartedAudio = !1, !(!this.webAudioProcessor || !this.webAudioStarted) && (this.webAudioTrackId = null, await this.webAudioProcessor.interruptAudio());
3699
+ T.info("c7o: Got mediaClear, clearing buffered media", e), this.mediaStartedAudio = !1, !(!this.webAudioProcessor || !this.webAudioStarted) && (this.webAudioTrackId = null, await this.webAudioProcessor.interruptAudio());
3680
3700
  }
3681
3701
  // ////////////////////////////////////////////////////////////
3682
3702
  setPrefilledFormFields(e) {
@@ -3699,7 +3719,7 @@ class R extends Yt {
3699
3719
  return;
3700
3720
  const e = await this.getWsClient();
3701
3721
  if (!e) {
3702
- E.error("Error - failed to obtain ws client");
3722
+ T.error("Error - failed to obtain ws client");
3703
3723
  return;
3704
3724
  }
3705
3725
  const t = {
@@ -3707,7 +3727,7 @@ class R extends Yt {
3707
3727
  type: "setContext",
3708
3728
  contextData: this.context
3709
3729
  };
3710
- e.sendMessage(t), E.info("Sent context:", this.context);
3730
+ e.sendMessage(t), T.info("Sent context:", this.context);
3711
3731
  }
3712
3732
  getContext() {
3713
3733
  return this.context;
@@ -3720,20 +3740,20 @@ class R extends Yt {
3720
3740
  this.initForm(this.form);
3721
3741
  return;
3722
3742
  }
3723
- const e = Nt(null, ["startupForm"], this.botSettings);
3743
+ const e = Gt(null, ["startupForm"], this.botSettings);
3724
3744
  if (!e || !e?.name) {
3725
- E.info("Startup form not present");
3745
+ T.info("Startup form not present");
3726
3746
  return;
3727
3747
  }
3728
3748
  this.initForm(e);
3729
3749
  }
3730
3750
  initForm(e = null) {
3731
- const t = e, i = Nt(null, ["name"], e);
3751
+ const t = e, i = Gt(null, ["name"], e);
3732
3752
  if (!t || !i)
3733
3753
  return;
3734
- const s = Nt(null, ["fields"], e);
3754
+ const s = Gt(null, ["fields"], e);
3735
3755
  if (!Array.isArray(s) || s.length <= 0) {
3736
- E.info("form has no fields", e);
3756
+ T.info("form has no fields", e);
3737
3757
  return;
3738
3758
  }
3739
3759
  const r = `${ne}${this.setting.botId}.${this.conversationId}.form.${i}`, o = localStorage.getItem(r);
@@ -3742,11 +3762,11 @@ class R extends Yt {
3742
3762
  try {
3743
3763
  f = JSON.parse(o);
3744
3764
  } catch (p) {
3745
- E.error(`Failed to parse stored form data: ${p.message}`), f = null;
3765
+ T.error(`Failed to parse stored form data: ${p.message}`), f = null;
3746
3766
  }
3747
3767
  if (f) {
3748
3768
  this.sendFormData(i, f).catch((p) => {
3749
- E.error(`Error when submitting form: ${p.message}`);
3769
+ T.error(`Error when submitting form: ${p.message}`);
3750
3770
  });
3751
3771
  return;
3752
3772
  }
@@ -3757,7 +3777,7 @@ class R extends Yt {
3757
3777
  this.engage = !1, this.shouldEngage = "false";
3758
3778
  }
3759
3779
  showEngagePopup() {
3760
- this.open || (E.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
3780
+ this.open || (T.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
3761
3781
  }
3762
3782
  playAudioNotification() {
3763
3783
  if (!this.setting.enableNotificationSound)
@@ -3768,7 +3788,7 @@ class R extends Yt {
3768
3788
  o[f] = parseInt(r.substr(f * 2, 2), 16);
3769
3789
  return o;
3770
3790
  };
3771
- let t = new Blob([e(Is)], { type: "application/octet-stream" });
3791
+ let t = new Blob([e(Es)], { type: "application/octet-stream" });
3772
3792
  const i = URL.createObjectURL(t);
3773
3793
  new Audio(i).play();
3774
3794
  }
@@ -3781,7 +3801,15 @@ class R extends Yt {
3781
3801
  if (this.wsClient)
3782
3802
  return this.wsClient;
3783
3803
  let t = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
3784
- return this.setting.enableMultiModalConnection && (t += "?multiModal=true", E.info("MultiModal connection enabled - adding multiModal=true parameter")), E.info(`Initiating ws connection to ${t} ...`), this.wsClient = new ts({
3804
+ const i = new URL(t);
3805
+ 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")
3806
+ try {
3807
+ const s = JSON.stringify(this.context);
3808
+ i.searchParams.set("context", s), T.info("Adding context to connect URL");
3809
+ } catch (s) {
3810
+ T.error(`Failed to stringify context: ${s.message}`);
3811
+ }
3812
+ return t = i.toString(), T.info(`Initiating ws connection to ${t} ...`), this.wsClient = new as({
3785
3813
  url: t,
3786
3814
  orgId: this.setting.orgId,
3787
3815
  botId: this.setting.botId,
@@ -3801,11 +3829,11 @@ class R extends Yt {
3801
3829
  }), await this.wsClient.start(), this.connectWs = "true", this.wsClient;
3802
3830
  }
3803
3831
  handleWscClose(e) {
3804
- E.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
3832
+ T.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
3805
3833
  }), this.connected = !1;
3806
3834
  }
3807
3835
  async handleWscConnectError(e) {
3808
- E.info("WSC: connect error - resetting conversation", e);
3836
+ T.info("WSC: connect error - resetting conversation", e);
3809
3837
  const t = this.wsClient?.url || null;
3810
3838
  if (this.wsClient)
3811
3839
  try {
@@ -3831,13 +3859,13 @@ class R extends Yt {
3831
3859
  const s = t.includes("?"), [r, o] = s ? t.split("?") : [t, ""], f = r.split("/");
3832
3860
  f[f.length - 1] = this.conversationId;
3833
3861
  const p = f.join("/"), v = o ? `${p}?${o}` : p;
3834
- this.wsClient.url = v, await $s(1e3), await this.wsClient.start(), E.info(`WSC: started new conversation, conversationId=${this.conversationId}`);
3862
+ this.wsClient.url = v, await Ps(1e3), await this.wsClient.start(), T.info(`WSC: started new conversation, conversationId=${this.conversationId}`);
3835
3863
  } catch (i) {
3836
- E.error(`WSC: failed to reset conversation: ${i.message}`, i);
3864
+ T.error(`WSC: failed to reset conversation: ${i.message}`, i);
3837
3865
  }
3838
3866
  }
3839
3867
  handleWscConnecting(e) {
3840
- E.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(
3868
+ 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
3869
  {
3842
3870
  id: fe(),
3843
3871
  type: "setContext",
@@ -3854,7 +3882,7 @@ class R extends Yt {
3854
3882
  }
3855
3883
  // Update typing state based on received message
3856
3884
  updateTypingState(e) {
3857
- this.typingActive ? e && ["message", "message-chunk", "media", "typing-stopped"].includes(e?.type) && (this.typingActive = !1, E.info("c7o: typing stopped")) : e && e?.type === "typing" && (this.typingActive = !0, E.info("c7o: typing started"));
3885
+ 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
3886
  }
3859
3887
  handleWscMessage(e) {
3860
3888
  if (e?.type === "ack")
@@ -3914,15 +3942,7 @@ class R extends Yt {
3914
3942
  break;
3915
3943
  }
3916
3944
  case "agent-connected": {
3917
- this.addMessage({
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
- }
3945
+ this.handleAgentConnected(e).catch((i) => {
3926
3946
  });
3927
3947
  break;
3928
3948
  }
@@ -3934,7 +3954,7 @@ class R extends Yt {
3934
3954
  //{"type":"agent-connected","author":"assistant","userName":"SF DEV ADMIN"}
3935
3955
  //{"type":"agent-disconnected","author":"assistant","userName":"SF DEV ADMIN"}
3936
3956
  case "form": {
3937
- if (E.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
3957
+ if (T.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
3938
3958
  const i = this.replyMessage.data?.text || "";
3939
3959
  (this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
3940
3960
  }
@@ -3980,7 +4000,7 @@ class R extends Yt {
3980
4000
  if (e !== -1)
3981
4001
  if (this.setting.splitMessagesAtBreak) {
3982
4002
  const t = this.streamingResponseBuffer.substring(0, e).trim(), i = this.streamingResponseBuffer.substring(e + 4).trim();
3983
- (t !== "" || this.replyMessage?.data?.text !== "") && (E.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));
4003
+ (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
4004
  } else
3985
4005
  this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer);
3986
4006
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null;
@@ -3989,11 +4009,11 @@ class R extends Yt {
3989
4009
  if (!this.streamingResponseBuffer || !this.replyMessage)
3990
4010
  return;
3991
4011
  if (this.streamingResponseBuffer.indexOf("![") === -1) {
3992
- E.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
4012
+ T.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
3993
4013
  return;
3994
4014
  }
3995
4015
  const e = this.streamingResponseBuffer.lastIndexOf("]"), t = this.streamingResponseBuffer.lastIndexOf(")");
3996
- e === -1 || t === -1 || e > t || (E.info(`IMG TAG END: ${this.streamingResponseBuffer}`), this.isValidImageLink(this.streamingResponseBuffer) && (this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer)), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null);
4016
+ 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
4017
  }
3998
4018
  isValidImageLink(e = "") {
3999
4019
  return !(e.indexOf("example.com") !== -1 || e.indexOf("imgur.com") !== -1 || e.indexOf("attachment:") !== -1);
@@ -4013,7 +4033,7 @@ class R extends Yt {
4013
4033
  this.streamingResponseBuffer = e, this.streamingResponseTagStartPos = e.indexOf("<"), this.streamingResponseCurrentTag = "br";
4014
4034
  return;
4015
4035
  } else if (e.indexOf("![") !== -1 || e.endsWith("!")) {
4016
- this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", E.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
4036
+ this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", T.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
4017
4037
  return;
4018
4038
  }
4019
4039
  this.streamingResponseLastText = t, this.replyMessage = this.updateMessage(this.replyMessage, t);
@@ -4069,7 +4089,7 @@ class R extends Yt {
4069
4089
  detail: f
4070
4090
  })
4071
4091
  ), this.sendActionCompleted(f).catch((p) => {
4072
- E.error(`Error: failed to send action completed: ${p.message}`);
4092
+ T.error(`Error: failed to send action completed: ${p.message}`);
4073
4093
  });
4074
4094
  }
4075
4095
  this.actions.splice(s, 1);
@@ -4087,10 +4107,10 @@ class R extends Yt {
4087
4107
  }
4088
4108
  }
4089
4109
  async sendMessage(e) {
4090
- e = this.formatMessage(e), E.info("Send Message:", e), this.showNewConversation && (this.showNewConversation = !1), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
4110
+ 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
4111
  const t = await this.getWsClient();
4092
4112
  if (!t) {
4093
- E.error("Error - failed to obtain ws client"), this.replyMessage = null;
4113
+ T.error("Error - failed to obtain ws client"), this.replyMessage = null;
4094
4114
  return;
4095
4115
  }
4096
4116
  t.sendMessage({
@@ -4136,7 +4156,7 @@ class R extends Yt {
4136
4156
  // Submit current form data
4137
4157
  async submitForm(e) {
4138
4158
  if (!this.form) {
4139
- E.info("submitForm: No form is active - ignored");
4159
+ T.info("submitForm: No form is active - ignored");
4140
4160
  return;
4141
4161
  }
4142
4162
  const t = `${ne}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -4145,7 +4165,7 @@ class R extends Yt {
4145
4165
  async sendFormData(e, t) {
4146
4166
  const i = await this.getWsClient();
4147
4167
  if (!i) {
4148
- E.error("Error - failed to obtain ws client");
4168
+ T.error("Error - failed to obtain ws client");
4149
4169
  return;
4150
4170
  }
4151
4171
  i.sendMessage({
@@ -4157,7 +4177,7 @@ class R extends Yt {
4157
4177
  async sendActionCompleted(e) {
4158
4178
  const t = await this.getWsClient();
4159
4179
  if (!t) {
4160
- E.error("Error - failed to obtain ws client");
4180
+ T.error("Error - failed to obtain ws client");
4161
4181
  return;
4162
4182
  }
4163
4183
  t.sendMessage({
@@ -4168,7 +4188,7 @@ class R extends Yt {
4168
4188
  async sendEvent(e) {
4169
4189
  const t = await this.getWsClient();
4170
4190
  if (!t) {
4171
- E.error("Error - failed to obtain ws client");
4191
+ T.error("Error - failed to obtain ws client");
4172
4192
  return;
4173
4193
  }
4174
4194
  t.sendMessage(e);
@@ -4181,10 +4201,10 @@ class R extends Yt {
4181
4201
  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
4202
  }
4183
4203
  async submitFeedback(e, t, i) {
4184
- E.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = t;
4204
+ T.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = t;
4185
4205
  const s = await this.getWsClient();
4186
4206
  if (!s) {
4187
- E.error("Error - failed to obtain ws client"), this.replyMessage = null;
4207
+ T.error("Error - failed to obtain ws client"), this.replyMessage = null;
4188
4208
  return;
4189
4209
  }
4190
4210
  s.sendMessage({
@@ -4227,9 +4247,9 @@ class R extends Yt {
4227
4247
  if (!e?.length) return;
4228
4248
  const t = b.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
4229
4249
  if (s) {
4230
- E.error(
4250
+ T.error(
4231
4251
  `File "${s.name}" exceeds the ${t} MB limit and will not be uploaded.`
4232
- ), Ya({
4252
+ ), Ja({
4233
4253
  message: `File is larger than ${t} MB`,
4234
4254
  variant: "danger",
4235
4255
  duration: 3800,
@@ -4238,10 +4258,10 @@ class R extends Yt {
4238
4258
  return;
4239
4259
  }
4240
4260
  const r = await this.filesToBase64(e);
4241
- E.info("Uploading files:", r);
4261
+ T.info("Uploading files:", r);
4242
4262
  const o = await this.getWsClient();
4243
4263
  if (!o) {
4244
- E.error("Error - failed to obtain ws client");
4264
+ T.error("Error - failed to obtain ws client");
4245
4265
  return;
4246
4266
  }
4247
4267
  const f = fe();
@@ -4269,42 +4289,42 @@ class R extends Yt {
4269
4289
  });
4270
4290
  }
4271
4291
  }
4272
- B([
4292
+ O([
4273
4293
  ce({ prefix: ne }),
4274
4294
  z({ value: "en" })
4275
4295
  ], R.prototype, "language");
4276
- B([
4296
+ O([
4277
4297
  ce({ prefix: ne }),
4278
4298
  z({ value: "light" })
4279
4299
  ], R.prototype, "theme");
4280
- B([
4300
+ O([
4281
4301
  ce({ prefix: ne }),
4282
4302
  z({ type: Boolean, value: !1 })
4283
4303
  ], R.prototype, "open");
4284
- B([
4304
+ O([
4285
4305
  z({ type: Boolean, value: !1 })
4286
4306
  ], R.prototype, "alwaysOpen");
4287
- B([
4307
+ O([
4288
4308
  ce({ prefix: ne }),
4289
4309
  z({ value: "false" })
4290
4310
  ], R.prototype, "connectWs");
4291
- B([
4311
+ O([
4292
4312
  ce({ prefix: ne }),
4293
4313
  z({ value: fe() })
4294
4314
  ], R.prototype, "conversationId");
4295
- B([
4315
+ O([
4296
4316
  ce({ prefix: ne }),
4297
4317
  z({ value: 0 })
4298
4318
  ], R.prototype, "lastConversationUpdate");
4299
- B([
4319
+ O([
4300
4320
  ce({ prefix: ne }),
4301
4321
  z({ type: Array, value: [] })
4302
4322
  ], R.prototype, "messages");
4303
- B([
4323
+ O([
4304
4324
  ce({ prefix: ne }),
4305
4325
  z({ value: 0 })
4306
4326
  ], R.prototype, "unreadMessages");
4307
- B([
4327
+ O([
4308
4328
  ce({ prefix: ne }),
4309
4329
  z({
4310
4330
  type: Array,
@@ -4349,43 +4369,43 @@ B([
4349
4369
  ],*/
4350
4370
  })
4351
4371
  ], R.prototype, "actions");
4352
- B([
4372
+ O([
4353
4373
  ce({ prefix: ne }),
4354
4374
  z({ type: Object, value: null })
4355
4375
  ], R.prototype, "form");
4356
- B([
4376
+ O([
4357
4377
  z({ type: Boolean, value: !1 })
4358
4378
  ], R.prototype, "botSettingsInitialized");
4359
- B([
4379
+ O([
4360
4380
  z({ type: Number, value: 5 })
4361
4381
  ], R.prototype, "botSettingsRetryTimeout");
4362
- B([
4382
+ O([
4363
4383
  z({ type: Object, value: null })
4364
4384
  ], R.prototype, "botSettings");
4365
- B([
4385
+ O([
4366
4386
  z({ type: Boolean, value: !0 })
4367
4387
  ], R.prototype, "disabled");
4368
- B([
4388
+ O([
4369
4389
  z({ type: Boolean, value: !1 })
4370
4390
  ], R.prototype, "connecting");
4371
- B([
4391
+ O([
4372
4392
  z({ type: Boolean, value: !1 })
4373
4393
  ], R.prototype, "connected");
4374
- B([
4394
+ O([
4375
4395
  ce({ prefix: ne }),
4376
4396
  z({ value: "true" })
4377
4397
  ], R.prototype, "shouldEngage");
4378
- B([
4398
+ O([
4379
4399
  z({ type: Boolean, value: !1 })
4380
4400
  ], R.prototype, "engage");
4381
- B([
4401
+ O([
4382
4402
  ce({ prefix: ne }),
4383
4403
  z({ type: Boolean, value: !1 })
4384
4404
  ], R.prototype, "showNewConversation");
4385
- B([
4405
+ O([
4386
4406
  z({ type: Boolean, value: !1 })
4387
4407
  ], R.prototype, "typingActive");
4388
- B([
4408
+ O([
4389
4409
  ce({ prefix: ne }),
4390
4410
  z({
4391
4411
  type: Object,
@@ -4395,6 +4415,7 @@ B([
4395
4415
  url: null,
4396
4416
  welcomeMessage: null,
4397
4417
  disclaimerMessage: null,
4418
+ enableShowFullDisclaimerMessage: !1,
4398
4419
  splitMessagesAtBreak: !1,
4399
4420
  feedbackEnabled: !1,
4400
4421
  startFeedbackFromMessage: 1,
@@ -4403,66 +4424,69 @@ B([
4403
4424
  enableNotificationSound: !0,
4404
4425
  botAdvancedOptions: null,
4405
4426
  enableMultiModalConnection: !1,
4427
+ enablePassContextOnConnect: !1,
4406
4428
  fileUploadEnabledExtensions: ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3",
4407
- fileUploadMaxFileSizeMB: 30
4429
+ fileUploadMaxFileSizeMB: 30,
4430
+ enableAgentDisconnectedMessage: !1,
4431
+ showNewConversationOnAgentDisconnected: !1
4408
4432
  }
4409
4433
  })
4410
4434
  ], R.prototype, "setting");
4411
- B([
4435
+ O([
4412
4436
  ce({ prefix: ne }),
4413
4437
  z({ type: Object, value: {} })
4414
4438
  ], R.prototype, "context");
4415
- B([
4439
+ O([
4416
4440
  z({ type: String, value: "top-end" })
4417
4441
  ], R.prototype, "appearanceAnchorPopupPosition");
4418
- B([
4442
+ O([
4419
4443
  z({ type: String, value: "danger" })
4420
4444
  ], R.prototype, "appearanceAnchorBadgeVariant");
4421
- B([
4445
+ O([
4422
4446
  z({ type: String, value: "right" })
4423
4447
  ], R.prototype, "appearanceUserMessageAvatarPosition");
4424
- B([
4448
+ O([
4425
4449
  z({ type: Boolean, value: !1 })
4426
4450
  ], R.prototype, "feedback");
4427
- B([
4451
+ O([
4428
4452
  z({ type: Number, value: 5 })
4429
4453
  ], R.prototype, "feedbackScore");
4430
- B([
4454
+ O([
4431
4455
  z({ type: String, value: "" })
4432
4456
  ], R.prototype, "feedbackUserMessage");
4433
- B([
4457
+ O([
4434
4458
  z({ type: String, value: "" })
4435
4459
  ], R.prototype, "feedbackAnswerMessageId");
4436
- B([
4460
+ O([
4437
4461
  z({ type: String, value: "" })
4438
4462
  ], R.prototype, "feedbackAnswer");
4439
- B([
4463
+ O([
4440
4464
  z({ type: String, value: "" })
4441
4465
  ], R.prototype, "feedbackAnswerUserName");
4442
- B([
4466
+ O([
4443
4467
  z({ type: Array, value: [] })
4444
4468
  ], R.prototype, "feedbackMessages");
4445
- B([
4469
+ O([
4446
4470
  ce({ prefix: ne }),
4447
4471
  z({ type: String, value: "" })
4448
4472
  ], R.prototype, "feedbackName");
4449
- B([
4473
+ O([
4450
4474
  ce({ prefix: ne }),
4451
4475
  z({ type: String, value: "" })
4452
4476
  ], R.prototype, "feedbackEmail");
4453
- B([
4477
+ O([
4454
4478
  z({ type: Boolean, value: !1 })
4455
4479
  ], R.prototype, "mediaStartAudioRequested");
4456
- B([
4480
+ O([
4457
4481
  z({ type: Boolean, value: !1 })
4458
4482
  ], R.prototype, "mediaStartedAudio");
4459
- B([
4483
+ O([
4460
4484
  z({ type: Boolean, value: !1 })
4461
4485
  ], R.prototype, "webAudioStarted");
4462
- B([
4486
+ O([
4463
4487
  z({ type: Boolean, value: !1 })
4464
4488
  ], R.prototype, "webAudioMuted");
4465
- const b = new R(), Ps = J`
4489
+ const b = new R(), Ls = J`
4466
4490
  ${ke}
4467
4491
  :host {
4468
4492
  position: relative;
@@ -4537,12 +4561,12 @@ const b = new R(), Ps = J`
4537
4561
  display: inline;
4538
4562
  }
4539
4563
  `;
4540
- var Ls = Object.defineProperty, Rs = (a, e, t, i) => {
4564
+ var Rs = Object.defineProperty, zs = (a, e, t, i) => {
4541
4565
  for (var s = void 0, r = a.length - 1, o; r >= 0; r--)
4542
4566
  (o = a[r]) && (s = o(e, t, s) || s);
4543
- return s && Ls(e, t, s), s;
4567
+ return s && Rs(e, t, s), s;
4544
4568
  };
4545
- Oi("system", {
4569
+ qi("system", {
4546
4570
  resolver: (a) => ""
4547
4571
  });
4548
4572
  (() => {
@@ -4579,16 +4603,16 @@ class re extends Fe {
4579
4603
  return this.dispatchEvent(i), i;
4580
4604
  }
4581
4605
  }
4582
- Rs([
4606
+ zs([
4583
4607
  x({ type: String })
4584
4608
  ], re.prototype, "lang");
4585
- var zs = Object.defineProperty, Bs = Object.getOwnPropertyDescriptor, Ja = (a, e, t, i) => {
4609
+ var Os = Object.defineProperty, Bs = Object.getOwnPropertyDescriptor, Za = (a, e, t, i) => {
4586
4610
  for (var s = i > 1 ? void 0 : i ? Bs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
4587
4611
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
4588
- return i && s && zs(e, t, s), s;
4612
+ return i && s && Os(e, t, s), s;
4589
4613
  };
4590
- const Os = '<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>';
4591
- let zt = class extends re {
4614
+ const qs = '<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>';
4615
+ let Ot = class extends re {
4592
4616
  constructor() {
4593
4617
  super(...arguments), this.title = "ChatBot";
4594
4618
  }
@@ -4602,13 +4626,13 @@ let zt = class extends re {
4602
4626
  ${W(
4603
4627
  b.setting.logoUrl !== "",
4604
4628
  () => u`<img class="cb-header-logo" part="header-logo" src="${b.setting.logoUrl}" />`,
4605
- () => u`<div class="cb-header-logo" part="header-logo">${Y(b.setting.logoSvg)}</div>`
4629
+ () => u`<div class="cb-header-logo" part="header-logo">${G(b.setting.logoSvg)}</div>`
4606
4630
  )}
4607
- <div class="cb-header-title" part="header-title">${this.title}</div>
4631
+ <div class="cb-header-title" part="header-title">${Vt(this.title)}</div>
4608
4632
  ${W(
4609
4633
  b.alwaysOpen,
4610
4634
  () => u``,
4611
- () => u`<div class="cb-header-close" part="header-close">${Y(Os)}</div>`
4635
+ () => u`<div class="cb-header-close" part="header-close">${G(qs)}</div>`
4612
4636
  )}
4613
4637
  </header>`;
4614
4638
  }
@@ -4617,13 +4641,13 @@ let zt = class extends re {
4617
4641
  ${W(
4618
4642
  b.setting.logoUrl !== "",
4619
4643
  () => u`<img class="cb-header-img" part="header-logo" src="${b.setting.logoUrl}" />`,
4620
- () => u`<div class="cb-header-logo" part="header-logo">${Y(b.setting.logoSvg)}</div>`
4644
+ () => u`<div class="cb-header-logo" part="header-logo">${G(b.setting.logoSvg)}</div>`
4621
4645
  )}
4622
4646
  <div class="cb-header-title" part="header-title">${this.title}</div>
4623
4647
  ${W(
4624
4648
  b.alwaysOpen,
4625
4649
  () => u`<div></div>`,
4626
- () => u`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${Y(b.setting.closeSvg)}</div>`
4650
+ () => u`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(b.setting.closeSvg)}</div>`
4627
4651
  )}
4628
4652
  </header>`;
4629
4653
  }
@@ -4650,14 +4674,14 @@ let zt = class extends re {
4650
4674
  });
4651
4675
  }
4652
4676
  };
4653
- zt.styles = Ps;
4654
- Ja([
4677
+ Ot.styles = Ls;
4678
+ Za([
4655
4679
  x({ type: String, attribute: "title" })
4656
- ], zt.prototype, "title", 2);
4657
- zt = Ja([
4658
- K("cb-header")
4659
- ], zt);
4660
- const qs = J`
4680
+ ], Ot.prototype, "title", 2);
4681
+ Ot = Za([
4682
+ Z("cb-header")
4683
+ ], Ot);
4684
+ const Ds = J`
4661
4685
  ${ke}
4662
4686
  .cb-footer {
4663
4687
  line-height: 60px;
@@ -4672,12 +4696,12 @@ const qs = J`
4672
4696
  color: var(--primary-color);
4673
4697
  }
4674
4698
  `;
4675
- var Ds = Object.getOwnPropertyDescriptor, Fs = (a, e, t, i) => {
4676
- for (var s = i > 1 ? void 0 : i ? Ds(e, t) : e, r = a.length - 1, o; r >= 0; r--)
4699
+ var Fs = Object.getOwnPropertyDescriptor, js = (a, e, t, i) => {
4700
+ for (var s = i > 1 ? void 0 : i ? Fs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
4677
4701
  (o = a[r]) && (s = o(s) || s);
4678
4702
  return s;
4679
4703
  };
4680
- let Jt = class extends re {
4704
+ let Zt = class extends re {
4681
4705
  constructor() {
4682
4706
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
4683
4707
  }
@@ -4712,11 +4736,11 @@ let Jt = class extends re {
4712
4736
  `;
4713
4737
  }
4714
4738
  };
4715
- Jt.styles = qs;
4716
- Jt = Fs([
4717
- K("cb-footer")
4718
- ], Jt);
4719
- const js = J`
4739
+ Zt.styles = Ds;
4740
+ Zt = js([
4741
+ Z("cb-footer")
4742
+ ], Zt);
4743
+ const Hs = J`
4720
4744
  ${ke}
4721
4745
 
4722
4746
  :host {
@@ -5071,7 +5095,7 @@ const js = J`
5071
5095
  .card-btn[aria-disabled="true"]:focus-visible {
5072
5096
  box-shadow: none;
5073
5097
  }
5074
- `, Za = J`
5098
+ `, Qa = J`
5075
5099
  :host {
5076
5100
  --primary-color: var(--sl-color-primary-600);
5077
5101
  }
@@ -5162,10 +5186,10 @@ const js = J`
5162
5186
  }
5163
5187
  .split-btn[aria-expanded="true"] .split-btn__caret { transform: rotate(180deg); }
5164
5188
  `;
5165
- var Hs = Object.defineProperty, Vs = Object.getOwnPropertyDescriptor, je = (a, e, t, i) => {
5166
- for (var s = i > 1 ? void 0 : i ? Vs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5189
+ var Vs = Object.defineProperty, Ns = Object.getOwnPropertyDescriptor, je = (a, e, t, i) => {
5190
+ for (var s = i > 1 ? void 0 : i ? Ns(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5167
5191
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
5168
- return i && s && Hs(e, t, s), s;
5192
+ return i && s && Vs(e, t, s), s;
5169
5193
  };
5170
5194
  let gt = class extends Fe {
5171
5195
  constructor() {
@@ -5259,7 +5283,7 @@ je([
5259
5283
  x({ type: Number })
5260
5284
  ], gt.prototype, "minWidth", 2);
5261
5285
  gt = je([
5262
- K("cb-split-menu")
5286
+ Z("cb-split-menu")
5263
5287
  ], gt);
5264
5288
  let Ge = class extends Fe {
5265
5289
  constructor() {
@@ -5346,7 +5370,7 @@ let Ge = class extends Fe {
5346
5370
  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
5371
  }
5348
5372
  };
5349
- Ge.styles = Za;
5373
+ Ge.styles = Qa;
5350
5374
  je([
5351
5375
  x({ type: String })
5352
5376
  ], Ge.prototype, "variant", 2);
@@ -5363,14 +5387,14 @@ je([
5363
5387
  xe(".split-btn")
5364
5388
  ], Ge.prototype, "_btn", 2);
5365
5389
  Ge = je([
5366
- K("cb-split-button")
5390
+ Z("cb-split-button")
5367
5391
  ], Ge);
5368
- var Us = Object.defineProperty, Ns = Object.getOwnPropertyDescriptor, wt = (a, e, t, i) => {
5369
- for (var s = i > 1 ? void 0 : i ? Ns(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5392
+ var Us = Object.defineProperty, Ws = Object.getOwnPropertyDescriptor, wt = (a, e, t, i) => {
5393
+ for (var s = i > 1 ? void 0 : i ? Ws(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5370
5394
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
5371
5395
  return i && s && Us(e, t, s), s;
5372
5396
  };
5373
- 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`
5397
+ const Tt = Je.noConflict(), $a = "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", Gs = J`
5374
5398
  :host { display: block; width: 100%; color: var(--cb-fg, #111827); }
5375
5399
 
5376
5400
  /* CARD */
@@ -5478,16 +5502,16 @@ let Me = class extends Fe {
5478
5502
  }
5479
5503
  /* ----------------- CARD ----------------- */
5480
5504
  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(" "), I = r.some((N) => (N.type ?? "").toLowerCase() === "primary"), M = r.some((N) => (N.type ?? "").toLowerCase() === "secondary"), L = ["card__actions", I && M ? "card__actions--between" : ""].filter(Boolean).join(" "), C = () => {
5505
+ 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
5506
  if (!i) return Ae;
5483
- const N = u`<img class="card__image" src=${i} alt=${s ?? e ?? "Image"} draggable="false" />`;
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"}>${N}</a>` : N;
5485
- }, Z = () => 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;
5507
+ const U = u`<img class="card__image" src=${i} alt=${s ?? e ?? "Image"} draggable="false" />`;
5508
+ 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;
5509
+ }, 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
5510
  return u`
5487
5511
  <div class="card" role="group" aria-label=${e ? `Card: ${e}` : "Card"}>
5488
5512
  ${C()}
5489
5513
  <div class="card__content">
5490
- ${Z()}
5514
+ ${K()}
5491
5515
  ${t ? u`<div class="card__subtitle">${t}</div>` : Ae}
5492
5516
  ${w || _ ? u`
5493
5517
  <div class=${P}>
@@ -5496,7 +5520,7 @@ let Me = class extends Fe {
5496
5520
  </div>` : Ae}
5497
5521
  ${r.length ? u`
5498
5522
  <div class=${L}>
5499
- ${r.map((N, G) => this.renderAnyButton(N, G))}
5523
+ ${r.map((U, X) => this.renderAnyButton(U, X))}
5500
5524
  </div>` : Ae}
5501
5525
  </div>
5502
5526
  </div>
@@ -5557,9 +5581,9 @@ let Me = class extends Fe {
5557
5581
  `;
5558
5582
  return u`
5559
5583
  <span class="star" role="img" aria-label="${e.toFixed(2)} filled">
5560
- <svg class="star__base" viewBox="0 0 16 16" aria-hidden="true"><path d="${Ea}"/></svg>
5584
+ <svg class="star__base" viewBox="0 0 16 16" aria-hidden="true"><path d="${$a}"/></svg>
5561
5585
  <div class="star__fill" style="${s}">
5562
- <svg viewBox="0 0 16 16" aria-hidden="true"><path d="${Ea}"/></svg>
5586
+ <svg viewBox="0 0 16 16" aria-hidden="true"><path d="${$a}"/></svg>
5563
5587
  </div>
5564
5588
  </span>
5565
5589
  `;
@@ -5690,7 +5714,7 @@ let Me = class extends Fe {
5690
5714
  body: JSON.stringify(r)
5691
5715
  });
5692
5716
  if (!o.ok) {
5693
- Tt.error("c7o: cart/add.js failed"), Ya({
5717
+ Tt.error("c7o: cart/add.js failed"), Ja({
5694
5718
  message: "Unable to add item to cart.",
5695
5719
  variant: "danger",
5696
5720
  duration: 2800,
@@ -5701,7 +5725,7 @@ let Me = class extends Fe {
5701
5725
  await o.json(), Tt.info("c7o: cart/add.js - cart updated"), Tt.info("c7o: reloading window after cart update"), window.location.reload();
5702
5726
  }
5703
5727
  };
5704
- Me.styles = [Ws, Ka, Za];
5728
+ Me.styles = [Gs, Ka, Qa];
5705
5729
  Me.DRAG_THRESHOLD_PX = 10;
5706
5730
  wt([
5707
5731
  x({ type: Object })
@@ -5710,18 +5734,18 @@ wt([
5710
5734
  xe(".horizontal-carousel")
5711
5735
  ], Me.prototype, "_hCarousel", 2);
5712
5736
  wt([
5713
- Ha()
5737
+ Va()
5714
5738
  ], Me.prototype, "_canPrev", 2);
5715
5739
  wt([
5716
- Ha()
5740
+ Va()
5717
5741
  ], Me.prototype, "_canNext", 2);
5718
5742
  Me = wt([
5719
- K("cb-block")
5743
+ Z("cb-block")
5720
5744
  ], Me);
5721
- var Gs = Object.defineProperty, Xs = Object.getOwnPropertyDescriptor, Qa = (a, e, t, i) => {
5722
- for (var s = i > 1 ? void 0 : i ? Xs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5745
+ var Xs = Object.defineProperty, Ys = Object.getOwnPropertyDescriptor, ei = (a, e, t, i) => {
5746
+ for (var s = i > 1 ? void 0 : i ? Ys(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5723
5747
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
5724
- return i && s && Gs(e, t, s), s;
5748
+ return i && s && Xs(e, t, s), s;
5725
5749
  };
5726
5750
  let Bt = class extends Fe {
5727
5751
  constructor() {
@@ -5746,18 +5770,18 @@ Bt.styles = J`
5746
5770
  gap: 0.75em; /* vertical rhythm between blocks */
5747
5771
  }
5748
5772
  `;
5749
- Qa([
5773
+ ei([
5750
5774
  x({ type: Array })
5751
5775
  ], Bt.prototype, "blocks", 2);
5752
- Bt = Qa([
5753
- K("cb-blocks")
5776
+ Bt = ei([
5777
+ Z("cb-blocks")
5754
5778
  ], Bt);
5755
- var Lt = { exports: {} }, Ys = Lt.exports, $a;
5756
- function Js() {
5757
- return $a || ($a = 1, (function(a, e) {
5779
+ var Rt = { exports: {} }, Js = Rt.exports, Pa;
5780
+ function Zs() {
5781
+ return Pa || (Pa = 1, (function(a, e) {
5758
5782
  (function(t, i) {
5759
5783
  a.exports = i();
5760
- })(Ys, (function() {
5784
+ })(Js, (function() {
5761
5785
  function t(n, c) {
5762
5786
  if (!(n instanceof c)) throw new TypeError("Cannot call a class as a function");
5763
5787
  }
@@ -5803,7 +5827,7 @@ function Js() {
5803
5827
  return n;
5804
5828
  }
5805
5829
  function v(n, c) {
5806
- if ((V(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), ba(n) != 0) {
5830
+ if ((V(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), ua(n) != 0) {
5807
5831
  if (Pe(n) && !Ve(n)) for (var l = n.length, d = 0; d < l && c.call(n[d], n[d], d, n) !== !1; d++) ;
5808
5832
  else if (Ve(n)) {
5809
5833
  for (var h in n) if (ie(n, h) && c.call(n[h], n[h], h, n) === !1) break;
@@ -5812,24 +5836,24 @@ function Js() {
5812
5836
  }
5813
5837
  function k(n) {
5814
5838
  var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n[f] = n[f] || [], h = { all: d, evt: null, found: null };
5815
- return c && l && ba(d) > 0 && v(d, (function(m, g) {
5839
+ return c && l && ua(d) > 0 && v(d, (function(m, g) {
5816
5840
  if (m.eventName == c && m.fn.toString() == l.toString()) return h.found = !0, h.evt = g, !1;
5817
5841
  })), h;
5818
5842
  }
5819
5843
  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, T = arguments.length > 2 ? arguments[2] : void 0, $ = l || [];
5821
- function O(q) {
5822
- F(d) && d.call(T, q, this), y && O.destroy();
5844
+ 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 || [];
5845
+ function B(q) {
5846
+ F(d) && d.call(I, q, this), y && B.destroy();
5823
5847
  }
5824
- return j($) && ($ = document.querySelectorAll($)), O.destroy = function() {
5848
+ return j($) && ($ = document.querySelectorAll($)), B.destroy = function() {
5825
5849
  v($, (function(q) {
5826
- var D = k(q, n, O);
5827
- D.found && D.all.splice(D.evt, 1), q.removeEventListener && q.removeEventListener(n, O, S);
5850
+ var D = k(q, n, B);
5851
+ D.found && D.all.splice(D.evt, 1), q.removeEventListener && q.removeEventListener(n, B, S);
5828
5852
  }));
5829
5853
  }, v($, (function(q) {
5830
- var D = k(q, n, O);
5831
- (q.addEventListener && m && !D.found || !m) && (q.addEventListener(n, O, S), D.all.push({ eventName: n, fn: O }));
5832
- })), O;
5854
+ var D = k(q, n, B);
5855
+ (q.addEventListener && m && !D.found || !m) && (q.addEventListener(n, B, S), D.all.push({ eventName: n, fn: B }));
5856
+ })), B;
5833
5857
  }
5834
5858
  function _(n, c) {
5835
5859
  v(c.split(" "), (function(l) {
@@ -5841,7 +5865,7 @@ function Js() {
5841
5865
  return n.classList.remove(l);
5842
5866
  }));
5843
5867
  }
5844
- function I(n, c) {
5868
+ function E(n, c) {
5845
5869
  return n.classList.contains(c);
5846
5870
  }
5847
5871
  function M(n, c) {
@@ -5868,13 +5892,13 @@ function Js() {
5868
5892
  if (c === "") return n.style.webkitTransform = "", n.style.MozTransform = "", n.style.msTransform = "", n.style.OTransform = "", n.style.transform = "", !1;
5869
5893
  n.style.webkitTransform = c, n.style.MozTransform = c, n.style.msTransform = c, n.style.OTransform = c, n.style.transform = c;
5870
5894
  }
5871
- function Z(n) {
5895
+ function K(n) {
5872
5896
  n.style.display = "block";
5873
5897
  }
5874
- function N(n) {
5898
+ function U(n) {
5875
5899
  n.style.display = "none";
5876
5900
  }
5877
- function G(n) {
5901
+ function X(n) {
5878
5902
  var c = document.createDocumentFragment(), l = document.createElement("div");
5879
5903
  for (l.innerHTML = n; l.firstChild; ) c.appendChild(l.firstChild);
5880
5904
  return c;
@@ -5930,7 +5954,7 @@ function Js() {
5930
5954
  }
5931
5955
  }
5932
5956
  }
5933
- function pe() {
5957
+ function ge() {
5934
5958
  return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
5935
5959
  }
5936
5960
  function F(n) {
@@ -5957,7 +5981,7 @@ function Js() {
5957
5981
  function ie(n, c) {
5958
5982
  return n !== null && hasOwnProperty.call(n, c);
5959
5983
  }
5960
- function ba(n) {
5984
+ function ua(n) {
5961
5985
  if (Ve(n)) {
5962
5986
  if (n.keys) return n.keys().length;
5963
5987
  var c = 0;
@@ -5969,7 +5993,7 @@ function Js() {
5969
5993
  function xt(n) {
5970
5994
  return !isNaN(parseFloat(n)) && isFinite(n);
5971
5995
  }
5972
- function ua() {
5996
+ function pa() {
5973
5997
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1, c = document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)");
5974
5998
  if (!c.length) return !1;
5975
5999
  if (c.length == 1) return c[0];
@@ -5987,7 +6011,7 @@ function Js() {
5987
6011
  })), g = m.sort()[0];
5988
6012
  return document.querySelector('.gbtn[data-taborder="'.concat(g, '"]'));
5989
6013
  }
5990
- function vi(n) {
6014
+ function wi(n) {
5991
6015
  if (n.events.hasOwnProperty("keyboard")) return !1;
5992
6016
  n.events.keyboard = w("keydown", { onElement: window, withCallback: function(c, l) {
5993
6017
  var d = (c = c || window.event).keyCode;
@@ -6001,16 +6025,16 @@ function Js() {
6001
6025
  var g = document.querySelectorAll(".gbtn[data-taborder]");
6002
6026
  if (!g || g.length <= 0) return;
6003
6027
  if (!h) {
6004
- var y = ua();
6028
+ var y = pa();
6005
6029
  return void (y && (y.focus(), _(y, "focused")));
6006
6030
  }
6007
- var A = ua(h.getAttribute("data-taborder"));
6031
+ var A = pa(h.getAttribute("data-taborder"));
6008
6032
  P(h, "focused"), A && (A.focus(), _(A, "focused"));
6009
6033
  }
6010
6034
  d == 39 && n.nextSlide(), d == 37 && n.prevSlide(), d == 27 && n.close();
6011
6035
  } });
6012
6036
  }
6013
- var wi = s((function n(c, l) {
6037
+ var xi = s((function n(c, l) {
6014
6038
  var d = this, h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
6015
6039
  if (t(this, n), this.img = c, this.slide = l, this.onclose = h, this.img.setZoomEvents) return !1;
6016
6040
  this.active = !1, this.zoomedIn = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.img.addEventListener("mousedown", (function(m) {
@@ -6052,16 +6076,16 @@ function Js() {
6052
6076
  n.style.transform = "translate3d(" + c + "px, " + l + "px, 0)";
6053
6077
  } }, { key: "widowWidth", value: function() {
6054
6078
  return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
6055
- } }]), pa = s((function n() {
6079
+ } }]), ga = s((function n() {
6056
6080
  var c = this, l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
6057
6081
  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, T = l.instance, $ = T === void 0 ? null : T;
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(O) {
6060
- return c.dragStart(O);
6061
- }), !1), this.el.addEventListener("mouseup", (function(O) {
6062
- return c.dragEnd(O);
6063
- }), !1), this.el.addEventListener("mousemove", (function(O) {
6064
- return c.drag(O);
6082
+ 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;
6083
+ 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) {
6084
+ return c.dragStart(B);
6085
+ }), !1), this.el.addEventListener("mouseup", (function(B) {
6086
+ return c.dragEnd(B);
6087
+ }), !1), this.el.addEventListener("mousemove", (function(B) {
6088
+ return c.drag(B);
6065
6089
  }), !1);
6066
6090
  }), [{ key: "dragStart", value: function(n) {
6067
6091
  if (this.slide.classList.contains("zoomed")) this.active = !1;
@@ -6104,68 +6128,68 @@ function Js() {
6104
6128
  var d = arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
6105
6129
  n.style.transition = d ? "all .2s ease" : "", n.style.transform = "translate3d(".concat(c, "px, ").concat(l, "px, 0)");
6106
6130
  } }]);
6107
- function xi(n, c, l, d) {
6131
+ function ki(n, c, l, d) {
6108
6132
  var h = n.querySelector(".gslide-media"), m = new Image(), g = "gSlideTitle_" + l, y = "gSlideDesc_" + l;
6109
6133
  m.addEventListener("load", (function() {
6110
6134
  F(d) && d();
6111
6135
  }), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "", be(c.alt) || c.alt === "" || (m.alt = c.alt), c.title !== "" && m.setAttribute("aria-labelledby", g), c.description !== "" && m.setAttribute("aria-describedby", y), c.hasOwnProperty("_hasCustomWidth") && c._hasCustomWidth && (m.style.width = c.width), c.hasOwnProperty("_hasCustomHeight") && c._hasCustomHeight && (m.style.height = c.height), h.insertBefore(m, h.firstChild);
6112
6136
  }
6113
- function ki(n, c, l, d) {
6137
+ function _i(n, c, l, d) {
6114
6138
  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(G('<div class="gvideo-wrapper"></div>'), y.firstChild);
6139
+ _(m, "gvideo-container"), y.insertBefore(X('<div class="gvideo-wrapper"></div>'), y.firstChild);
6116
6140
  var S = n.querySelector(".gvideo-wrapper");
6117
6141
  he(this.settings.plyr.css, "Plyr");
6118
- var T = c.href, $ = c?.videoProvider, O = !1;
6142
+ var I = c.href, $ = c?.videoProvider, B = !1;
6119
6143
  y.style.maxWidth = c.width, he(this.settings.plyr.js, "Plyr", (function() {
6120
- if (!$ && T.match(/vimeo\.com\/([0-9]*)/) && ($ = "vimeo"), !$ && (T.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || T.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || T.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || T.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && ($ = "youtube"), $ === "local" || !$) {
6144
+ 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
6145
  $ = "local";
6122
6146
  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(T, '">'), O = G(q += "</video>");
6147
+ 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
6148
  }
6125
- var D = O || G('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(T, '"></div>'));
6149
+ var D = B || X('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(I, '"></div>'));
6126
6150
  _(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 : {}, ge = new Plyr("#" + g, ee);
6128
- ge.on("ready", (function(ue) {
6151
+ var ee = ie(h.settings.plyr, "config") ? h.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
6152
+ me.on("ready", (function(ue) {
6129
6153
  A[g] = ue.detail.plyr, F(d) && d();
6130
6154
  })), ae((function() {
6131
6155
  return n.querySelector("iframe") && n.querySelector("iframe").dataset.ready == "true";
6132
6156
  }), (function() {
6133
6157
  h.resize(n);
6134
- })), ge.on("enterfullscreen", ga), ge.on("exitfullscreen", ga);
6158
+ })), me.on("enterfullscreen", ma), me.on("exitfullscreen", ma);
6135
6159
  }));
6136
6160
  }
6137
- function ga(n) {
6161
+ function ma(n) {
6138
6162
  var c = M(n.target, ".gslide-media");
6139
6163
  n.type === "enterfullscreen" && _(c, "fullscreen"), n.type === "exitfullscreen" && P(c, "fullscreen");
6140
6164
  }
6141
- function _i(n, c, l, d) {
6165
+ function Si(n, c, l, d) {
6142
6166
  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 = G('<div class="ginlined-content">'.concat(A, "</div>"))), V(A))) {
6167
+ if (A && (j(A) && (h = X('<div class="ginlined-content">'.concat(A, "</div>"))), V(A))) {
6144
6168
  A.style.display == "none" && (A.style.display = "block");
6145
6169
  var S = document.createElement("div");
6146
6170
  S.className = "ginlined-content", S.appendChild(A), h = S;
6147
6171
  }
6148
6172
  if (y) {
6149
- var T = document.getElementById(y);
6150
- if (!T) return !1;
6151
- var $ = T.cloneNode(!0);
6173
+ var I = document.getElementById(y);
6174
+ if (!I) return !1;
6175
+ var $ = I.cloneNode(!0);
6152
6176
  $.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"), h = $;
6153
6177
  }
6154
6178
  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(O) {
6156
- O.preventDefault(), m.close();
6179
+ 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) {
6180
+ B.preventDefault(), m.close();
6157
6181
  } }), F(d) && d();
6158
6182
  }
6159
- function Si(n, c, l, d) {
6183
+ function Ci(n, c, l, d) {
6160
6184
  var h = n.querySelector(".gslide-media"), m = (function(g) {
6161
- var y = g.url, A = g.allow, S = g.callback, T = g.appendTo, $ = document.createElement("iframe");
6185
+ var y = g.url, A = g.allow, S = g.callback, I = g.appendTo, $ = document.createElement("iframe");
6162
6186
  return $.className = "vimeo-video gvideo", $.src = y, $.style.width = "100%", $.style.height = "100%", A && $.setAttribute("allow", A), $.onload = function() {
6163
6187
  $.onload = null, _($, "node-ready"), F(S) && S();
6164
- }, T && T.appendChild($), $;
6188
+ }, I && I.appendChild($), $;
6165
6189
  })({ url: c.href, callback: d });
6166
6190
  h.parentNode.style.maxWidth = c.width, h.parentNode.style.height = c.height, h.appendChild(m);
6167
6191
  }
6168
- var Ci = s((function n() {
6192
+ var Ai = s((function n() {
6169
6193
  var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
6170
6194
  t(this, n), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ve(c) && (this.defaults = p(this.defaults, c));
6171
6195
  }), [{ key: "sourceType", value: function(n) {
@@ -6193,11 +6217,11 @@ function Js() {
6193
6217
  be(S) || S === "" || (d.title = S);
6194
6218
  }
6195
6219
  } else {
6196
- var T = [];
6220
+ var I = [];
6197
6221
  v(d, (function(q, D) {
6198
- T.push(";\\s?" + D);
6199
- })), T = T.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, D) {
6200
- var ee = g, ge = new RegExp("s?" + D + "s?:s?(.*?)(" + T + "s?:|$)"), ue = ee.match(ge);
6222
+ I.push(";\\s?" + D);
6223
+ })), I = I.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, D) {
6224
+ var ee = g, me = new RegExp("s?" + D + "s?:s?(.*?)(" + I + "s?:|$)"), ue = ee.match(me);
6201
6225
  if (ue && ue.length && ue[1]) {
6202
6226
  var Le = ue[1].trim().replace(/;\s*$/, "");
6203
6227
  d[D] = l.sanitizeValue(Le);
@@ -6214,8 +6238,8 @@ function Js() {
6214
6238
  $ && (d.description = $);
6215
6239
  }
6216
6240
  if (!d.description) {
6217
- var O = n.querySelector(".glightbox-desc");
6218
- O && (d.description = O.innerHTML);
6241
+ var B = n.querySelector(".glightbox-desc");
6242
+ B && (d.description = B.innerHTML);
6219
6243
  }
6220
6244
  return this.setSize(d, c, n), this.slideConfig = d, d;
6221
6245
  } }, { key: "setSize", value: function(n, c) {
@@ -6229,21 +6253,21 @@ function Js() {
6229
6253
  t(this, n), this.element = c, this.instance = l, this.index = d;
6230
6254
  }), [{ key: "setContent", value: function() {
6231
6255
  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 (I(c, "loaded")) return !1;
6233
- var d = this.instance.settings, h = this.slideConfig, m = pe();
6256
+ if (E(c, "loaded")) return !1;
6257
+ var d = this.instance.settings, h = this.slideConfig, m = ge();
6234
6258
  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"), T = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), O = l, q = "gSlideTitle_" + this.index, D = "gSlideDesc_" + this.index;
6236
- if (F(d.afterSlideLoad) && (O = function() {
6259
+ 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;
6260
+ if (F(d.afterSlideLoad) && (B = function() {
6237
6261
  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), T && h.description !== "" ? (T.id = D, m && d.moreLength > 0 ? (h.smallDescription = this.slideShortDesc(h.description, d.moreLength, d.moreText), T.innerHTML = h.smallDescription, this.descriptionEvents(T, h)) : T.innerHTML = h.description) : T.parentNode.removeChild(T), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
6239
- if (g !== "external") return g === "inline" ? (_i.apply(this.instance, [c, h, this.index, O]), 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(O) && O() : xi(c, h, this.index, (function() {
6262
+ }), 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") {
6263
+ if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c, h, this.index, B]), void (h.draggable && new ga({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? F(B) && B() : ki(c, h, this.index, (function() {
6240
6264
  var ee = c.querySelector("img");
6241
- 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() {
6265
+ h.draggable && new ga({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), h.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new xi(ee, c, (function() {
6242
6266
  n.instance.resize();
6243
- }))), F(O) && O();
6267
+ }))), F(B) && B();
6244
6268
  })));
6245
- Si.apply(this, [c, h, this.index, O]);
6246
- } else ki.apply(this.instance, [c, h, this.index, O]);
6269
+ Ci.apply(this, [c, h, this.index, B]);
6270
+ } else _i.apply(this.instance, [c, h, this.index, B]);
6247
6271
  } }, { key: "slideShortDesc", value: function(n) {
6248
6272
  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
6273
  d.innerHTML = n;
@@ -6259,23 +6283,23 @@ function Js() {
6259
6283
  var g = document.body, y = M(m, ".gslide-desc");
6260
6284
  if (!y) return !1;
6261
6285
  y.innerHTML = c.description, _(g, "gdesc-open");
6262
- var A = w("click", { onElement: [g, M(y, ".gslide-description")], withCallback: function(S, T) {
6286
+ var A = w("click", { onElement: [g, M(y, ".gslide-description")], withCallback: function(S, I) {
6263
6287
  S.target.nodeName.toLowerCase() !== "a" && (P(g, "gdesc-open"), _(g, "gdesc-closed"), y.innerHTML = c.smallDescription, l.descriptionEvents(y, c), setTimeout((function() {
6264
6288
  P(g, "gdesc-closed");
6265
6289
  }), 400), A.destroy());
6266
6290
  } });
6267
6291
  } });
6268
6292
  } }, { key: "create", value: function() {
6269
- return G(this.instance.settings.slideHTML);
6293
+ return X(this.instance.settings.slideHTML);
6270
6294
  } }, { key: "getConfig", value: function() {
6271
6295
  V(this.element) || this.element.hasOwnProperty("draggable") || (this.element.draggable = this.instance.settings.draggable);
6272
- var n = new Ci(this.instance.settings.slideExtraAttributes);
6296
+ var n = new Ai(this.instance.settings.slideExtraAttributes);
6273
6297
  return this.slideConfig = n.parseConfig(this.element, this.instance.settings), this.slideConfig;
6274
6298
  } }]);
6275
6299
  function _t(n) {
6276
6300
  return Math.sqrt(n.x * n.x + n.y * n.y);
6277
6301
  }
6278
- function Ai(n, c) {
6302
+ function Mi(n, c) {
6279
6303
  var l = (function(d, h) {
6280
6304
  var m = _t(d) * _t(h);
6281
6305
  if (m === 0) return 0;
@@ -6288,7 +6312,7 @@ function Js() {
6288
6312
  return d.x * h.y - h.x * d.y;
6289
6313
  })(n, c) > 0 && (l *= -1), 180 * l / Math.PI;
6290
6314
  }
6291
- var Mi = s((function n(c) {
6315
+ var Ti = s((function n(c) {
6292
6316
  t(this, n), this.handlers = [], this.el = c;
6293
6317
  }), [{ key: "add", value: function(n) {
6294
6318
  this.handlers.push(n);
@@ -6302,10 +6326,10 @@ function Js() {
6302
6326
  }
6303
6327
  } }]);
6304
6328
  function le(n, c) {
6305
- var l = new Mi(n);
6329
+ var l = new Ti(n);
6306
6330
  return l.add(c), l;
6307
6331
  }
6308
- var Ti = s((function n(c, l) {
6332
+ var Ii = s((function n(c, l) {
6309
6333
  t(this, n), this.element = typeof c == "string" ? document.querySelector(c) : c, this.start = this.start.bind(this), this.move = this.move.bind(this), this.end = this.end.bind(this), this.cancel = this.cancel.bind(this), this.element.addEventListener("touchstart", this.start, !1), this.element.addEventListener("touchmove", this.move, !1), this.element.addEventListener("touchend", this.end, !1), this.element.addEventListener("touchcancel", this.cancel, !1), this.preV = { x: null, y: null }, this.pinchStartLen = null, this.zoom = 1, this.isDoubleTap = !1;
6310
6334
  var d = function() {
6311
6335
  };
@@ -6329,7 +6353,7 @@ function Js() {
6329
6353
  var c = this.preV, l = n.touches.length, d = n.touches[0].pageX, h = n.touches[0].pageY;
6330
6354
  if (this.isDoubleTap = !1, l > 1) {
6331
6355
  var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY - h };
6332
- c.x !== null && (this.pinchStartLen > 0 && (n.zoom = _t(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Ai(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (h - this.y2 + g - this.sy2) / 2) : (n.deltaX = 0, n.deltaY = 0), this.twoFingerPressMove.dispatch(n, this.element), this.sx2 = m, this.sy2 = g;
6356
+ c.x !== null && (this.pinchStartLen > 0 && (n.zoom = _t(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Mi(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (h - this.y2 + g - this.sy2) / 2) : (n.deltaX = 0, n.deltaY = 0), this.twoFingerPressMove.dispatch(n, this.element), this.sx2 = m, this.sy2 = g;
6333
6357
  } else {
6334
6358
  if (this.x2 !== null) {
6335
6359
  n.deltaX = d - this.x2, n.deltaY = h - this.y2;
@@ -6369,38 +6393,38 @@ function Js() {
6369
6393
  } }, { key: "destroy", value: function() {
6370
6394
  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
6395
  } }]);
6372
- function Vt(n) {
6396
+ function Ut(n) {
6373
6397
  var c = (function() {
6374
6398
  var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
6375
6399
  for (g in A) if (y.style[g] !== void 0) return A[g];
6376
- })(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = I(n, "gslide-media") ? n : n.querySelector(".gslide-media"), h = M(d, ".ginner-container"), m = n.querySelector(".gslide-description");
6400
+ })(), 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
6401
  l > 769 && (d = h), _(d, "greset"), C(d, "translate3d(0, 0, 0)"), w(c, { onElement: d, once: !0, withCallback: function(g, y) {
6378
6402
  P(d, "greset");
6379
6403
  } }), d.style.opacity = "", m && (m.style.opacity = "");
6380
6404
  }
6381
- function Ii(n) {
6405
+ function Ei(n) {
6382
6406
  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, T = null, $ = !1, O = 1, q = 1, D = !1, ee = !1, ge = 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(X) {
6384
- if (y = !0, (I(X.targetTouches[0].target, "ginner-container") || M(X.targetTouches[0].target, ".gslide-desc") || X.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(X.targetTouches[0].target, ".gslide-inline") && !I(X.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
6385
- if (Se = X.targetTouches[0], _e.pageX = X.targetTouches[0].pageX, _e.pageY = X.targetTouches[0].pageY, wa = X.targetTouches[0].clientX, xa = X.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), T = null, I(S, "gslide-image") && (T = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(St, "greset"), X.pageX > 20 && X.pageX < window.innerWidth - 20) return;
6386
- X.preventDefault();
6407
+ 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 = {}, xa = 0, ka = 0, Li = document.getElementById("glightbox-slider"), St = document.querySelector(".goverlay"), Ri = new Ii(Li, { touchStart: function(Y) {
6408
+ 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) {
6409
+ if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, xa = Y.targetTouches[0].clientX, ka = 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;
6410
+ Y.preventDefault();
6387
6411
  }
6388
- }, touchMove: function(X) {
6389
- if (y && (Se = X.targetTouches[0], !D && !ee)) {
6412
+ }, touchMove: function(Y) {
6413
+ if (y && (Se = Y.targetTouches[0], !D && !ee)) {
6390
6414
  if (d && d.offsetHeight > g) {
6391
6415
  var de = _e.pageX - Se.pageX;
6392
6416
  if (Math.abs(de) <= 13) return !1;
6393
6417
  }
6394
6418
  $ = !0;
6395
- var Ue, Ct = X.targetTouches[0].clientX, Ri = X.targetTouches[0].clientY, zi = wa - Ct, Bi = xa - Ri;
6396
- if (Math.abs(zi) > Math.abs(Bi) ? (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 && T && (Ue = 1 - Math.abs(l) / g, St.style.opacity = Ue, n.settings.touchFollowAxis && (Re = 0)), rt && (Ue = 1 - Math.abs(c) / m, S.style.opacity = Ue, n.settings.touchFollowAxis && (ze = 0)), !T) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
6419
+ var Ne, Ct = Y.targetTouches[0].clientX, zi = Y.targetTouches[0].clientY, Oi = xa - Ct, Bi = ka - zi;
6420
+ if (Math.abs(Oi) > Math.abs(Bi) ? (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
6421
  C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
6398
6422
  }
6399
6423
  }, touchEnd: function() {
6400
6424
  if (y) {
6401
- if ($ = !1, ee || D) return Le = ge, void (oe = ue);
6402
- var X = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
6403
- if (!(X > 29 && T)) return X < 29 && de < 25 ? (_(St, "greset"), St.style.opacity = 1, Vt(S)) : void 0;
6425
+ if ($ = !1, ee || D) return Le = me, void (oe = ue);
6426
+ var Y = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
6427
+ if (!(Y > 29 && I)) return Y < 29 && de < 25 ? (_(St, "greset"), St.style.opacity = 1, Ut(S)) : void 0;
6404
6428
  n.close();
6405
6429
  }
6406
6430
  }, multipointEnd: function() {
@@ -6408,36 +6432,36 @@ function Js() {
6408
6432
  D = !1;
6409
6433
  }), 50);
6410
6434
  }, multipointStart: function() {
6411
- D = !0, O = q || 1;
6412
- }, pinch: function(X) {
6413
- if (!T || $) return !1;
6414
- D = !0, T.scaleX = T.scaleY = O * X.zoom;
6415
- var de = O * X.zoom;
6416
- if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, ge = null, ue = null, void T.setAttribute("style", "");
6417
- de > 4.5 && (de = 4.5), T.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
6418
- }, pressMove: function(X) {
6435
+ D = !0, B = q || 1;
6436
+ }, pinch: function(Y) {
6437
+ if (!I || $) return !1;
6438
+ D = !0, I.scaleX = I.scaleY = B * Y.zoom;
6439
+ var de = B * Y.zoom;
6440
+ if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, me = null, ue = null, void I.setAttribute("style", "");
6441
+ de > 4.5 && (de = 4.5), I.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
6442
+ }, pressMove: function(Y) {
6419
6443
  if (ee && !D) {
6420
- var de = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
6421
- Le && (de += Le), oe && (Ue += oe), ge = de, ue = Ue;
6422
- var Ct = "translate3d(".concat(de, "px, ").concat(Ue, "px, 0)");
6423
- q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(T, Ct);
6444
+ var de = Se.pageX - _e.pageX, Ne = Se.pageY - _e.pageY;
6445
+ Le && (de += Le), oe && (Ne += oe), me = de, ue = Ne;
6446
+ var Ct = "translate3d(".concat(de, "px, ").concat(Ne, "px, 0)");
6447
+ q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(I, Ct);
6424
6448
  }
6425
- }, swipe: function(X) {
6449
+ }, swipe: function(Y) {
6426
6450
  if (!ee) if (D) D = !1;
6427
6451
  else {
6428
- if (X.direction == "Left") {
6429
- if (n.index == n.elements.length - 1) return Vt(S);
6452
+ if (Y.direction == "Left") {
6453
+ if (n.index == n.elements.length - 1) return Ut(S);
6430
6454
  n.nextSlide();
6431
6455
  }
6432
- if (X.direction == "Right") {
6433
- if (n.index == 0) return Vt(S);
6456
+ if (Y.direction == "Right") {
6457
+ if (n.index == 0) return Ut(S);
6434
6458
  n.prevSlide();
6435
6459
  }
6436
6460
  }
6437
6461
  } });
6438
- n.events.touch = Li;
6462
+ n.events.touch = Ri;
6439
6463
  }
6440
- var ma = pe(), ya = pe() !== 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">
6464
+ var ya = ge(), va = ge() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, wa = document.getElementsByTagName("html")[0], $i = { 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
6465
  <div class="gslide-inner-content">
6442
6466
  <div class="ginner-container">
6443
6467
  <div class="gslide-media">
@@ -6459,9 +6483,9 @@ function Js() {
6459
6483
  <button class="gprev gbtn" aria-label="Previous" data-taborder="2">{prevSVG}</button>
6460
6484
  <button class="gnext gbtn" aria-label="Next" data-taborder="1">{nextSVG}</button>
6461
6485
  </div>
6462
- </div>` }, $i = s((function n() {
6486
+ </div>` }, Pi = s((function n() {
6463
6487
  var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
6464
- t(this, n), this.customOptions = c, this.settings = p(Ei, c), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
6488
+ t(this, n), this.customOptions = c, this.settings = p($i, c), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
6465
6489
  }), [{ key: "init", value: function() {
6466
6490
  var n = this, c = this.getSelector();
6467
6491
  c && (this.baseEvents = w("click", { onElement: c, withCallback: function(l, d) {
@@ -6482,30 +6506,30 @@ function Js() {
6482
6506
  var g = document.createElement("style");
6483
6507
  g.type = "text/css", g.className = "gcss-styles", g.innerText = ".gscrollbar-fixer {margin-right: ".concat(m, "px}"), document.head.appendChild(g), _(h, "gscrollbar-fixer");
6484
6508
  }
6485
- _(h, "glightbox-open"), _(va, "glightbox-open"), ma && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), F(this.settings.onOpen) && this.settings.onOpen(), ya && this.settings.touchNavigation && Ii(this), this.settings.keyboardNavigation && vi(this);
6509
+ _(h, "glightbox-open"), _(wa, "glightbox-open"), ya && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), F(this.settings.onOpen) && this.settings.onOpen(), va && this.settings.touchNavigation && Ei(this), this.settings.keyboardNavigation && wi(this);
6486
6510
  } }, { key: "openAt", value: function() {
6487
6511
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
6488
6512
  this.open(null, n);
6489
6513
  } }, { key: "showSlide", value: function() {
6490
6514
  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
- Z(this.loader), this.index = parseInt(c);
6515
+ K(this.loader), this.index = parseInt(c);
6492
6516
  var d = this.slidesContainer.querySelector(".current");
6493
6517
  d && P(d, "current"), this.slideAnimateOut();
6494
6518
  var h = this.slidesContainer.querySelectorAll(".gslide")[c];
6495
- if (I(h, "loaded")) this.slideAnimateIn(h, l), N(this.loader);
6519
+ if (E(h, "loaded")) this.slideAnimateIn(h, l), U(this.loader);
6496
6520
  else {
6497
- Z(this.loader);
6521
+ K(this.loader);
6498
6522
  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
6523
  this.trigger("slide_before_load", g), m.instance.setContent(h, (function() {
6500
- N(n.loader), n.resize(), n.slideAnimateIn(h, l), n.trigger("slide_after_load", g);
6524
+ U(n.loader), n.resize(), n.slideAnimateIn(h, l), n.trigger("slide_after_load", g);
6501
6525
  }));
6502
6526
  }
6503
- this.slideDescription = h.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && I(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(c + 1), this.preloadSlide(c - 1)), this.updateNavigationClasses(), this.activeSlide = h;
6527
+ 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
6528
  } }, { key: "preloadSlide", value: function(n) {
6505
6529
  var c = this;
6506
6530
  if (n < 0 || n > this.elements.length - 1 || be(this.elements[n])) return !1;
6507
6531
  var l = this.slidesContainer.querySelectorAll(".gslide")[n];
6508
- if (I(l, "loaded")) return !1;
6532
+ if (E(l, "loaded")) return !1;
6509
6533
  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
6534
  this.trigger("slide_before_load", m), h === "video" || h === "external" ? setTimeout((function() {
6511
6535
  d.instance.setContent(l, (function() {
@@ -6544,7 +6568,7 @@ function Js() {
6544
6568
  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
6569
  } }, { key: "slideAnimateIn", value: function(n, c) {
6546
6570
  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 && (N(h), h.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
6571
+ 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
6572
  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
6573
  }));
6550
6574
  else {
@@ -6595,7 +6619,7 @@ function Js() {
6595
6619
  l && !l.playing && l.play();
6596
6620
  } }, { key: "slidePlayerPlay", value: function(n) {
6597
6621
  var c;
6598
- if (!ma || (c = this.settings.plyr.config) !== null && c !== void 0 && c.muted) {
6622
+ if (!ya || (c = this.settings.plyr.config) !== null && c !== void 0 && c.muted) {
6599
6623
  if (V(n)) {
6600
6624
  var l = n.querySelector(".gvideo-wrapper");
6601
6625
  l && (n = l.getAttribute("data-index"));
@@ -6611,7 +6635,7 @@ function Js() {
6611
6635
  var m = new kt(d, c, h), g = m.getConfig(), y = p({}, g);
6612
6636
  y.slideConfig = g, y.instance = m, y.index = h, l.push(y);
6613
6637
  })), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
6614
- var d = G(c.settings.slideHTML);
6638
+ var d = X(c.settings.slideHTML);
6615
6639
  c.slidesContainer.appendChild(d);
6616
6640
  })), this.showSlide(0, !0)));
6617
6641
  } }, { key: "getElementIndex", value: function(n) {
@@ -6655,41 +6679,41 @@ function Js() {
6655
6679
  S.parentNode == document.body && S.nodeName.charAt(0) !== "#" && S.hasAttribute && !S.hasAttribute("aria-hidden") && (l.push(S), S.setAttribute("aria-hidden", "true"));
6656
6680
  }));
6657
6681
  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 = G(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
6682
+ g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
6659
6683
  var y = document.getElementById("glightbox-body");
6660
6684
  this.modal = y;
6661
6685
  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, T) {
6686
+ 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
6687
  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, T) {
6688
+ } })), A && !this.settings.closeButton && A.parentNode.removeChild(A), this.nextButton && (this.events.next = w("click", { onElement: this.nextButton, withCallback: function(S, I) {
6665
6689
  S.preventDefault(), n.nextSlide();
6666
- } })), this.prevButton && (this.events.prev = w("click", { onElement: this.prevButton, withCallback: function(S, T) {
6690
+ } })), this.prevButton && (this.events.prev = w("click", { onElement: this.prevButton, withCallback: function(S, I) {
6667
6691
  S.preventDefault(), n.prevSlide();
6668
- } })), this.settings.closeOnOutsideClick && (this.events.outClose = w("click", { onElement: y, withCallback: function(S, T) {
6669
- n.preventOutsideClick || I(document.body, "glightbox-mobile") || M(S.target, ".ginner-container") || M(S.target, ".gbtn") || I(S.target, "gnext") || I(S.target, "gprev") || n.close();
6670
- } })), v(this.elements, (function(S, T) {
6671
- n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[T];
6672
- })), ya && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
6692
+ } })), this.settings.closeOnOutsideClick && (this.events.outClose = w("click", { onElement: y, withCallback: function(S, I) {
6693
+ 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();
6694
+ } })), v(this.elements, (function(S, I) {
6695
+ n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[I];
6696
+ })), va && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
6673
6697
  n.resize();
6674
6698
  } }), this.built = !0;
6675
6699
  } }, { key: "resize", value: function() {
6676
6700
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
6677
- if ((n = n || this.activeSlide) && !I(n, "zoomed")) {
6701
+ if ((n = n || this.activeSlide) && !E(n, "zoomed")) {
6678
6702
  var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"), h = this.slideDescription, m = c.width, g = c.height;
6679
6703
  if (m <= 768 ? _(document.body, "glightbox-mobile") : P(document.body, "glightbox-mobile"), l || d) {
6680
6704
  var y = !1;
6681
- if (h && (I(h, "description-bottom") || I(h, "description-top")) && !I(h, "gabsolute") && (y = !0), d) {
6705
+ if (h && (E(h, "description-bottom") || E(h, "description-top")) && !E(h, "gabsolute") && (y = !0), d) {
6682
6706
  if (m <= 768) d.querySelector("img");
6683
6707
  else if (y) {
6684
- var A, S, T = h.offsetHeight, $ = d.querySelector("img"), O = (A = this.elements[this.index]) === null || A === void 0 ? void 0 : A.node, q = "100vh";
6685
- O && (q = (S = O.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(T, "px)")), h.setAttribute("style", "max-width: ".concat($.offsetWidth, "px;"));
6708
+ 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";
6709
+ 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
6710
  }
6687
6711
  }
6688
6712
  if (l) {
6689
6713
  var D = ie(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
6690
6714
  if (!D) {
6691
- var ee = l.clientWidth, ge = l.clientHeight, ue = ee / ge;
6692
- D = "".concat(ee / ue, ":").concat(ge / ue);
6715
+ var ee = l.clientWidth, me = l.clientHeight, ue = ee / me;
6716
+ D = "".concat(ee / ue, ":").concat(me / ue);
6693
6717
  }
6694
6718
  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
6719
  if (ze = Math.floor(ze), y && (g -= h.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
@@ -6725,7 +6749,7 @@ function Js() {
6725
6749
  n.events = null;
6726
6750
  }
6727
6751
  var d = document.body;
6728
- P(va, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"), F(n.settings.onClose) && n.settings.onClose();
6752
+ P(wa, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"), F(n.settings.onClose) && n.settings.onClose();
6729
6753
  var h = document.querySelector(".gcss-styles");
6730
6754
  h && h.parentNode.removeChild(h), n.lightboxOpen = !1, n.closing = null;
6731
6755
  }));
@@ -6751,16 +6775,16 @@ function Js() {
6751
6775
  return "3.3.1";
6752
6776
  } }]);
6753
6777
  return function() {
6754
- var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, c = new $i(n);
6778
+ var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, c = new Pi(n);
6755
6779
  return c.init(), c;
6756
6780
  };
6757
6781
  }));
6758
- })(Lt)), Lt.exports;
6782
+ })(Rt)), Rt.exports;
6759
6783
  }
6760
- var Ks = Js();
6761
- const Zs = /* @__PURE__ */ Na(Ks);
6762
- var Qs = Object.getOwnPropertyDescriptor, en = (a, e, t, i) => {
6763
- for (var s = i > 1 ? void 0 : i ? Qs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6784
+ var Ks = Zs();
6785
+ const Qs = /* @__PURE__ */ Wa(Ks);
6786
+ var en = Object.getOwnPropertyDescriptor, tn = (a, e, t, i) => {
6787
+ for (var s = i > 1 ? void 0 : i ? en(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6764
6788
  (o = a[r]) && (s = o(s) || s);
6765
6789
  return s;
6766
6790
  };
@@ -6807,15 +6831,15 @@ Kt.styles = J`
6807
6831
  }
6808
6832
  }
6809
6833
  `;
6810
- Kt = en([
6811
- K("cb-thinking")
6834
+ Kt = tn([
6835
+ Z("cb-thinking")
6812
6836
  ], Kt);
6813
- var tn = Object.defineProperty, an = Object.getOwnPropertyDescriptor, ei = (a, e, t, i) => {
6814
- for (var s = i > 1 ? void 0 : i ? an(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6837
+ var an = Object.defineProperty, sn = Object.getOwnPropertyDescriptor, ti = (a, e, t, i) => {
6838
+ for (var s = i > 1 ? void 0 : i ? sn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6815
6839
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
6816
- return i && s && tn(e, t, s), s;
6840
+ return i && s && an(e, t, s), s;
6817
6841
  };
6818
- let Ot = class extends re {
6842
+ let qt = class extends re {
6819
6843
  constructor() {
6820
6844
  super(...arguments), this.files = [];
6821
6845
  }
@@ -6831,7 +6855,7 @@ let Ot = class extends re {
6831
6855
  </div>`;
6832
6856
  }
6833
6857
  };
6834
- Ot.styles = J`
6858
+ qt.styles = J`
6835
6859
  .cb-uploading {
6836
6860
  text-align: left;
6837
6861
  }
@@ -6849,13 +6873,13 @@ Ot.styles = J`
6849
6873
  margin-right: 5px;
6850
6874
  }
6851
6875
  `;
6852
- ei([
6876
+ ti([
6853
6877
  x({ type: Array })
6854
- ], Ot.prototype, "files", 2);
6855
- Ot = ei([
6856
- K("cb-uploading")
6857
- ], Ot);
6858
- const sn = J`
6878
+ ], qt.prototype, "files", 2);
6879
+ qt = ti([
6880
+ Z("cb-uploading")
6881
+ ], qt);
6882
+ const nn = J`
6859
6883
  ${ke}
6860
6884
  :host {
6861
6885
  }
@@ -6876,10 +6900,10 @@ const sn = J`
6876
6900
  margin-right: 0.2em;
6877
6901
  }
6878
6902
  `;
6879
- var nn = Object.defineProperty, rn = Object.getOwnPropertyDescriptor, oa = (a, e, t, i) => {
6880
- for (var s = i > 1 ? void 0 : i ? rn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6903
+ var rn = Object.defineProperty, on = Object.getOwnPropertyDescriptor, ca = (a, e, t, i) => {
6904
+ for (var s = i > 1 ? void 0 : i ? on(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6881
6905
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
6882
- return i && s && nn(e, t, s), s;
6906
+ return i && s && rn(e, t, s), s;
6883
6907
  };
6884
6908
  let mt = class extends Fe {
6885
6909
  constructor() {
@@ -6926,29 +6950,29 @@ mt.styles = J`
6926
6950
  text-decoration: underline;
6927
6951
  }
6928
6952
  `;
6929
- oa([
6953
+ ca([
6930
6954
  x({ type: String })
6931
6955
  ], mt.prototype, "url", 2);
6932
- oa([
6956
+ ca([
6933
6957
  x({ type: Boolean })
6934
6958
  ], mt.prototype, "inverse", 2);
6935
- mt = oa([
6936
- K("cb-external-link")
6959
+ mt = ca([
6960
+ Z("cb-external-link")
6937
6961
  ], mt);
6938
- 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
- var un = Object.defineProperty, pn = Object.getOwnPropertyDescriptor, ca = (a, e, t, i) => {
6940
- for (var s = i > 1 ? void 0 : i ? pn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6962
+ const 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-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>', 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 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>', 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 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>', 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.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>', 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 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>', bn = '<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>', un = '<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>';
6963
+ var pn = Object.defineProperty, gn = Object.getOwnPropertyDescriptor, la = (a, e, t, i) => {
6964
+ for (var s = i > 1 ? void 0 : i ? gn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6941
6965
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
6942
- return i && s && un(e, t, s), s;
6966
+ return i && s && pn(e, t, s), s;
6943
6967
  };
6944
- const Pa = {
6945
- pdf: cn,
6946
- txt: on,
6947
- md: ln,
6948
- csv: dn,
6949
- ppd: fn,
6950
- doc: hn,
6951
- docx: bn
6968
+ const La = {
6969
+ pdf: ln,
6970
+ txt: cn,
6971
+ md: dn,
6972
+ csv: fn,
6973
+ ppd: hn,
6974
+ doc: bn,
6975
+ docx: un
6952
6976
  };
6953
6977
  let yt = class extends re {
6954
6978
  constructor() {
@@ -6974,22 +6998,22 @@ let yt = class extends re {
6974
6998
  return u`
6975
6999
  <cb-icon
6976
7000
  class="cb-file-icon"
6977
- svg="${Pa[this.type] || Pa.txt}"
7001
+ svg="${La[this.type] || La.txt}"
6978
7002
  ></cb-icon>
6979
7003
  `;
6980
7004
  }
6981
7005
  };
6982
- yt.styles = sn;
6983
- ca([
7006
+ yt.styles = nn;
7007
+ la([
6984
7008
  x({ type: String })
6985
7009
  ], yt.prototype, "filename", 2);
6986
- ca([
7010
+ la([
6987
7011
  x({ type: String })
6988
7012
  ], yt.prototype, "url", 2);
6989
- yt = ca([
6990
- K("cb-file")
7013
+ yt = la([
7014
+ Z("cb-file")
6991
7015
  ], yt);
6992
- 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`
7016
+ const mn = '<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>', Ra = '<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>', ai = '<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>', ii = '<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>', yn = J`
6993
7017
  pre code.hljs {
6994
7018
  display: block;
6995
7019
  overflow-x: auto;
@@ -8204,9 +8228,9 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
8204
8228
  white-space: pre-wrap;
8205
8229
  color: var(--n-text-color);
8206
8230
  }
8207
- `, yn = J`
8231
+ `, vn = J`
8208
8232
  ${ke}
8209
- ${mn}
8233
+ ${yn}
8210
8234
 
8211
8235
  .cb-message-row {
8212
8236
  width: 100%;
@@ -8281,6 +8305,15 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
8281
8305
  border-radius: 4px;
8282
8306
  }
8283
8307
 
8308
+ .info-avatar {
8309
+ margin-right: 2px;
8310
+ color: rgba(0, 0, 0, 0.2);
8311
+ }
8312
+
8313
+ .info-avatar img {
8314
+ border-radius: 4px;
8315
+ }
8316
+
8284
8317
  .user-message,
8285
8318
  .assistant-message,
8286
8319
  .system-message {
@@ -8361,7 +8394,7 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
8361
8394
  margin-top: 2px;
8362
8395
  //color: rgba(34, 34, 34, 0.6);
8363
8396
  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));
8397
+ //background-color: var(--enegelai-bot-message-system-background, rgba(254, 243, 199, 0.5));
8365
8398
  padding: 4px 12px 6px 12px;
8366
8399
  }
8367
8400
 
@@ -8438,36 +8471,36 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
8438
8471
  filter: alpha(opacity=80);
8439
8472
  }
8440
8473
  `;
8441
- function Ra(a, e) {
8474
+ function za(a, e) {
8442
8475
  return `<pre class="code-block-wrapper"><div class="code-block-header"><span class="code-block-header__lang">${e}</span><span class="code-block-header__copy">Copy</span></div><code class="hljs code-block-body ${e}">${a}</code></pre>`;
8443
8476
  }
8444
- function vn() {
8445
- const a = new qi({
8477
+ function wn() {
8478
+ const a = new Di({
8446
8479
  html: !0,
8447
8480
  breaks: !0,
8448
8481
  linkify: !0,
8449
8482
  highlight(e, t) {
8450
- if (!!(t && Ut.getLanguage(t))) {
8483
+ if (!!(t && Wt.getLanguage(t))) {
8451
8484
  const s = t ?? "";
8452
- return Ra(Ut.highlight(e, { language: s }).value, s);
8485
+ return za(Wt.highlight(e, { language: s }).value, s);
8453
8486
  }
8454
- return Ra(Ut.highlightAuto(e).value, "");
8487
+ return za(Wt.highlightAuto(e).value, "");
8455
8488
  }
8456
8489
  });
8457
- return a.use(Di, { attrs: { target: "_blank", rel: "noopener" } }), a;
8490
+ return a.use(Fi, { attrs: { target: "_blank", rel: "noopener" } }), a;
8458
8491
  }
8459
- async function Zt(a) {
8460
- const t = vn().render(a);
8461
- return u`${Y(t)}`;
8492
+ async function Qt(a) {
8493
+ const t = wn().render(a);
8494
+ return u`${G(t)}`;
8462
8495
  }
8463
- var wn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, nt = (a, e, t, i) => {
8464
- for (var s = i > 1 ? void 0 : i ? xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
8496
+ var xn = Object.defineProperty, kn = Object.getOwnPropertyDescriptor, nt = (a, e, t, i) => {
8497
+ for (var s = i > 1 ? void 0 : i ? kn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
8465
8498
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
8466
- return i && s && wn(e, t, s), s;
8499
+ return i && s && xn(e, t, s), s;
8467
8500
  };
8468
8501
  let De = class extends re {
8469
8502
  constructor() {
8470
- super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Zs({
8503
+ super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Qs({
8471
8504
  touchNavigation: !0,
8472
8505
  loop: !0,
8473
8506
  autoplayVideos: !0,
@@ -8532,7 +8565,7 @@ let De = class extends re {
8532
8565
  this.copyBtns.forEach((a) => {
8533
8566
  a.addEventListener("click", () => {
8534
8567
  const e = a.parentElement?.nextElementSibling?.textContent;
8535
- e && es(e).then(() => {
8568
+ e && ts(e).then(() => {
8536
8569
  a.textContent = "Success", setTimeout(() => {
8537
8570
  a.textContent = "Copy";
8538
8571
  }, 500);
@@ -8547,6 +8580,8 @@ let De = class extends re {
8547
8580
  });
8548
8581
  }
8549
8582
  render() {
8583
+ if (this.message?.type === "info")
8584
+ return this.renderInfoMessage(this.message);
8550
8585
  if (this.message?.type === "blocks") {
8551
8586
  const a = this.message?.data?.blocks ?? [];
8552
8587
  return u`<cb-blocks .blocks=${a}></cb-blocks>`;
@@ -8570,10 +8605,34 @@ let De = class extends re {
8570
8605
  return u`<div class="cb-message__buttons ${a}">
8571
8606
  <!-- delete button -->
8572
8607
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
8573
- <cb-icon svg="${gn}" style="font-size: 1em !important;"></cb-icon>
8608
+ <cb-icon svg="${mn}" style="font-size: 1em !important;"></cb-icon>
8574
8609
  </sl-button>
8575
8610
  </div>`;
8576
8611
  }
8612
+ renderInfoMessage(a) {
8613
+ return u`
8614
+ <div class="cb-message cb-bot-message-wrapper" part="cb-message">
8615
+ <div class="avatar info-avatar xsmall" part="info-avatar" style="margin-top:4px;">${this.renderInfoMessageAvatar(a)}</div>
8616
+ <div
8617
+ class="cb-message__content
8618
+ ${a.author}-message
8619
+ message-type-${a.type}"
8620
+ style="display: flex;"
8621
+ part="info-message-content"
8622
+ >
8623
+ <div class="cb-message-text">
8624
+ ${Pt(
8625
+ this._getMessageText(a).then((e) => u`${e}`)
8626
+ )}
8627
+ </div>
8628
+ </div>
8629
+ </div>
8630
+ `;
8631
+ }
8632
+ renderInfoMessageAvatar(a) {
8633
+ const e = a.data?.userAvatar || "";
8634
+ return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(b.setting.infoIconSvg)}`;
8635
+ }
8577
8636
  renderMessage(a, e = "bot-message-content") {
8578
8637
  return u`
8579
8638
  <div
@@ -8589,7 +8648,7 @@ let De = class extends re {
8589
8648
  `;
8590
8649
  }
8591
8650
  async _getMessageText(a) {
8592
- return Zt(a.data.text);
8651
+ return Qt(Vt(a.data.text));
8593
8652
  }
8594
8653
  renderMessageContent(a) {
8595
8654
  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 +8657,7 @@ let De = class extends re {
8598
8657
  () => u`<div class="assistant-message-user-name">${a.data.userName}</div>`,
8599
8658
  () => null
8600
8659
  )}
8601
- ${Xt(
8660
+ ${Pt(
8602
8661
  this._getMessageText(a).then((e) => u`${e}`)
8603
8662
  )}
8604
8663
  </div>` : a.type === "file" ? u`${et(
@@ -8610,8 +8669,8 @@ let De = class extends re {
8610
8669
  (e) => e.name,
8611
8670
  (e) => u`<div>${e.name}</div>`
8612
8671
  )}` : u`<div class="cb-message-text">
8613
- ${Xt(
8614
- Zt(a.data.text?.toString() || "").then((e) => u`${e}`)
8672
+ ${Pt(
8673
+ Qt(a.data.text?.toString() || "").then((e) => u`${e}`)
8615
8674
  )}
8616
8675
  </div>`;
8617
8676
  }
@@ -8628,9 +8687,9 @@ let De = class extends re {
8628
8687
  renderBotMessageAvatar(a) {
8629
8688
  if (a.data.userName && a.data.userName !== "") {
8630
8689
  const e = a.data?.userAvatar || "";
8631
- return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : me`${Y(b.setting.agentIconSvg)}`;
8690
+ return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(b.setting.agentIconSvg)}`;
8632
8691
  }
8633
- return a.author === "system" ? me`${Y(b.setting.systemIconSvg)}` : me`${Y(b.setting.botIconSvg)}`;
8692
+ return a.author === "system" ? pe`${G(b.setting.systemIconSvg)}` : pe`${G(b.setting.botIconSvg)}`;
8634
8693
  }
8635
8694
  renderBotMessage(a) {
8636
8695
  return u`
@@ -8644,8 +8703,8 @@ let De = class extends re {
8644
8703
  renderBotMessageFeedback(a) {
8645
8704
  return this.suppressFeedback || !b.setting.feedbackEnabled || this.index < b.setting.startFeedbackFromMessage * 2 ? null : u`
8646
8705
  <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)}">${me`${Y(ti)}`}</div>
8648
- <div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${me`${Y(ai)}`}</div>
8706
+ <div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${pe`${G(ai)}`}</div>
8707
+ <div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${pe`${G(ii)}`}</div>
8649
8708
  </div>
8650
8709
  `;
8651
8710
  }
@@ -8656,18 +8715,18 @@ let De = class extends re {
8656
8715
  return u`
8657
8716
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
8658
8717
  <!--<sl-avatar class="avatar user-avatar small" label="User">
8659
- <cb-icon slot="icon" svg="${La}" color="white"></cb-icon>
8718
+ <cb-icon slot="icon" svg="${Ra}" color="white"></cb-icon>
8660
8719
  //appState.appearanceUserMessageAvatarPosition
8661
8720
  </sl-avatar>-->
8662
8721
  ${W(
8663
8722
  b.appearanceUserMessageAvatarPosition === "left",
8664
8723
  () => u`
8665
- <div class="avatar user-avatar" part="user-avatar">${Y(b.setting.userIconSvg)}</div>
8724
+ <div class="avatar user-avatar" part="user-avatar">${G(b.setting.userIconSvg)}</div>
8666
8725
  ${this.renderMessage(a, "user-message-content")}
8667
8726
  `,
8668
8727
  () => u`
8669
8728
  ${this.renderMessage(a, "user-message-content")}
8670
- <div class="avatar user-avatar" part="user-avatar">${Y(b.setting.userIconSvg)}</div>
8729
+ <div class="avatar user-avatar" part="user-avatar">${G(b.setting.userIconSvg)}</div>
8671
8730
  `
8672
8731
  )}
8673
8732
  </div>
@@ -8679,25 +8738,25 @@ let De = class extends re {
8679
8738
  return u`
8680
8739
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
8681
8740
  <!--<sl-avatar class="avatar user-avatar small" label="User">
8682
- <cb-icon slot="icon" svg="${La}" color="white"></cb-icon>
8741
+ <cb-icon slot="icon" svg="${Ra}" color="white"></cb-icon>
8683
8742
  //appState.appearanceUserMessageAvatarPosition
8684
8743
  </sl-avatar>-->
8685
8744
  ${W(
8686
8745
  b.appearanceUserMessageAvatarPosition === "left",
8687
8746
  () => u`
8688
- <div class="avatar user-avatar">${Y(b.setting.userIconSvg)}</div>
8747
+ <div class="avatar user-avatar">${G(b.setting.userIconSvg)}</div>
8689
8748
  ${this.renderMessage(a, "user-message-content")}
8690
8749
  `,
8691
8750
  () => u`
8692
8751
  ${this.renderMessage(a, "user-message-content")}
8693
- <div class="avatar user-avatar">${Y(b.setting.userIconSvg)}</div>
8752
+ <div class="avatar user-avatar">${G(b.setting.userIconSvg)}</div>
8694
8753
  `
8695
8754
  )}
8696
8755
  </div>
8697
8756
  `;
8698
8757
  }
8699
8758
  };
8700
- De.styles = yn;
8759
+ De.styles = vn;
8701
8760
  nt([
8702
8761
  x({ type: Object })
8703
8762
  ], De.prototype, "message", 2);
@@ -8711,21 +8770,21 @@ nt([
8711
8770
  x({ type: Boolean })
8712
8771
  ], De.prototype, "suppressFeedback", 2);
8713
8772
  nt([
8714
- Va(".code-block-header__copy")
8773
+ Na(".code-block-header__copy")
8715
8774
  ], De.prototype, "copyBtns", 2);
8716
8775
  nt([
8717
- Va("img")
8776
+ Na("img")
8718
8777
  ], De.prototype, "glightboxImages", 2);
8719
8778
  De = nt([
8720
- K("cb-message")
8779
+ Z("cb-message")
8721
8780
  ], De);
8722
- var kn = Object.defineProperty, _n = Object.getOwnPropertyDescriptor, Te = (a, e, t, i) => {
8723
- for (var s = i > 1 ? void 0 : i ? _n(e, t) : e, r = a.length - 1, o; r >= 0; r--)
8781
+ var _n = Object.defineProperty, Sn = Object.getOwnPropertyDescriptor, Te = (a, e, t, i) => {
8782
+ for (var s = i > 1 ? void 0 : i ? Sn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
8724
8783
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
8725
- return i && s && kn(e, t, s), s;
8784
+ return i && s && _n(e, t, s), s;
8726
8785
  };
8727
- const Be = Je.noConflict();
8728
- Be.setLevel("info");
8786
+ const Oe = Je.noConflict();
8787
+ Oe.setLevel("info");
8729
8788
  let ye = class extends re {
8730
8789
  constructor() {
8731
8790
  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;
@@ -8769,10 +8828,10 @@ let ye = class extends re {
8769
8828
  }
8770
8829
  renderDisclaimerMessage() {
8771
8830
  return !b.setting.disclaimerMessage || !b.isConversationStart() ? null : u`
8772
- <details class="cb-disclaimer-wrapper" part="disclaimer-wrapper">
8831
+ <details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${b.setting.enableShowFullDisclaimerMessage}>
8773
8832
  <summary class="cb-disclaimer-message" part="disclaimer-message">
8774
- ${Xt(
8775
- Zt(b.setting.disclaimerMessage).then((a) => u`${a}`)
8833
+ ${Pt(
8834
+ Qt(b.setting.disclaimerMessage).then((a) => u`${a}`)
8776
8835
  )}
8777
8836
  </summary>
8778
8837
  </details>
@@ -8861,13 +8920,13 @@ let ye = class extends re {
8861
8920
  }
8862
8921
  }
8863
8922
  b.submitForm(e).then(() => {
8864
- Be.info("Form submitted", e), this.emit("form:submit", {
8923
+ Oe.info("Form submitted", e), this.emit("form:submit", {
8865
8924
  detail: {
8866
8925
  formData: e
8867
8926
  }
8868
8927
  });
8869
8928
  }).catch((t) => {
8870
- Be.error(`Error when submitting form: ${t.message}`);
8929
+ Oe.error(`Error when submitting form: ${t.message}`);
8871
8930
  });
8872
8931
  }
8873
8932
  /* Form sample
@@ -8912,7 +8971,7 @@ let ye = class extends re {
8912
8971
  return null;
8913
8972
  }
8914
8973
  handleCalendlyEvent(a) {
8915
- switch (Be.info("Got Calendly Event:", a.data), a.data.event) {
8974
+ switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
8916
8975
  case "calendly.event_scheduled": {
8917
8976
  const e = this.activeCalendlyAction;
8918
8977
  e >= 0 && (b.removeAction(e, !0, a.data), b.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
@@ -8920,10 +8979,10 @@ let ye = class extends re {
8920
8979
  }
8921
8980
  }
8922
8981
  invokeLinkAction(a = {}) {
8923
- Be.info("invokeLinkAction:", a), window.open(a.url, "_blank");
8982
+ Oe.info("invokeLinkAction:", a), window.open(a.url, "_blank");
8924
8983
  }
8925
8984
  invokeCalendlyAction(a = {}) {
8926
- return Be.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
8985
+ return Oe.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
8927
8986
  }
8928
8987
  renderCalendlyAction(a) {
8929
8988
  if (!("Calendly" in window) && !this.calendlyInjected) {
@@ -8969,10 +9028,10 @@ let ye = class extends re {
8969
9028
  invokeHubspotMeetingAction(a = {}) {
8970
9029
  const e = Date.now();
8971
9030
  if (this.activeHubspotMeetingAction !== -1) {
8972
- Be.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
9031
+ Oe.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
8973
9032
  return;
8974
9033
  }
8975
- if (Be.info("invokeHubspotMeetingAction:", a), "hbspt" in window && typeof window.hbspt?.meetings?.create == "function") {
9034
+ if (Oe.info("invokeHubspotMeetingAction:", a), "hbspt" in window && typeof window.hbspt?.meetings?.create == "function") {
8976
9035
  const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
8977
9036
  if (t && i) {
8978
9037
  const s = a.url + "?embed=true";
@@ -8984,7 +9043,7 @@ let ye = class extends re {
8984
9043
  return !1;
8985
9044
  }
8986
9045
  handleHubspotEvent(a) {
8987
- if (Be.info("Got Hubspot Event:", a.data), !(a?.data?.meetingBookSucceeded || !1))
9046
+ if (Oe.info("Got Hubspot Event:", a.data), !(a?.data?.meetingBookSucceeded || !1))
8988
9047
  return;
8989
9048
  const t = this.activeHubspotMeetingAction;
8990
9049
  if (t >= 0) {
@@ -9036,7 +9095,7 @@ let ye = class extends re {
9036
9095
  `;
9037
9096
  }
9038
9097
  };
9039
- ye.styles = js;
9098
+ ye.styles = Hs;
9040
9099
  Te([
9041
9100
  x({ type: Array })
9042
9101
  ], ye.prototype, "messages", 2);
@@ -9056,18 +9115,18 @@ Te([
9056
9115
  xe(".cb-input-form")
9057
9116
  ], ye.prototype, "_inputForm", 2);
9058
9117
  Te([
9059
- sa({ capture: !1, passive: !0 })
9118
+ na({ capture: !1, passive: !0 })
9060
9119
  ], ye.prototype, "invokeLinkAction", 1);
9061
9120
  Te([
9062
- sa({ capture: !1, passive: !0 })
9121
+ na({ capture: !1, passive: !0 })
9063
9122
  ], ye.prototype, "invokeCalendlyAction", 1);
9064
9123
  Te([
9065
- sa({ capture: !1, passive: !0 })
9124
+ na({ capture: !1, passive: !0 })
9066
9125
  ], ye.prototype, "invokeHubspotMeetingAction", 1);
9067
9126
  ye = Te([
9068
- K("cb-message-list")
9127
+ Z("cb-message-list")
9069
9128
  ], ye);
9070
- const Sn = J`
9129
+ const Cn = J`
9071
9130
  ${ke}
9072
9131
 
9073
9132
  :host {
@@ -9109,11 +9168,11 @@ const Sn = J`
9109
9168
  align-items: center;
9110
9169
  margin: 6px 2px;
9111
9170
  }
9112
- `, ii = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76z"/></svg>', si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>', ni = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>', la = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"/></svg>';
9113
- var Cn = Object.defineProperty, An = Object.getOwnPropertyDescriptor, Ie = (a, e, t, i) => {
9114
- for (var s = i > 1 ? void 0 : i ? An(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9171
+ `, si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76z"/></svg>', ni = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>', ri = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>', da = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"/></svg>';
9172
+ var An = Object.defineProperty, Mn = Object.getOwnPropertyDescriptor, Ie = (a, e, t, i) => {
9173
+ for (var s = i > 1 ? void 0 : i ? Mn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9115
9174
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9116
- return i && s && Cn(e, t, s), s;
9175
+ return i && s && An(e, t, s), s;
9117
9176
  };
9118
9177
  let ve = class extends re {
9119
9178
  constructor() {
@@ -9150,7 +9209,7 @@ let ve = class extends re {
9150
9209
  });
9151
9210
  }
9152
9211
  async _sendFileHandler() {
9153
- const a = await Ga(!1, b.setting.fileUploadEnabledExtensions);
9212
+ const a = await Xa(!1, b.setting.fileUploadEnabledExtensions);
9154
9213
  this.emit("message:send:file", {
9155
9214
  detail: {
9156
9215
  files: a
@@ -9189,7 +9248,7 @@ let ve = class extends re {
9189
9248
  ${W(
9190
9249
  b.setting.sendIconSvg !== "",
9191
9250
  () => u`<cb-icon part="user-input-send-icon" svg="${b.setting.sendIconSvg}"></cb-icon>`,
9192
- () => u`<cb-icon part="user-input-send-icon" svg="${ii}"></cb-icon>`
9251
+ () => u`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
9193
9252
  )}
9194
9253
  </sl-button>
9195
9254
  ${W(
@@ -9199,7 +9258,7 @@ let ve = class extends re {
9199
9258
  ${W(
9200
9259
  b.setting.attachIconSvg !== "",
9201
9260
  () => u`<cb-icon part="user-input-attach-icon" svg="${b.setting.attachIconSvg}"></cb-icon>`,
9202
- () => u`<cb-icon part="user-input-attach-icon" svg="${si}"></cb-icon>`
9261
+ () => u`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
9203
9262
  )}
9204
9263
  <!-- select file input -->
9205
9264
  <input type="file" id="file" name="file" class="file-input" />
@@ -9213,8 +9272,8 @@ let ve = class extends re {
9213
9272
  <sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
9214
9273
  ${W(
9215
9274
  b.webAudioStarted,
9216
- () => u`<cb-icon svg="${la}"></cb-icon>`,
9217
- () => u`<cb-icon svg="${ni}"></cb-icon>`
9275
+ () => u`<cb-icon svg="${da}"></cb-icon>`,
9276
+ () => u`<cb-icon svg="${ri}"></cb-icon>`
9218
9277
  )}
9219
9278
  </sl-button>
9220
9279
  `,
@@ -9228,7 +9287,7 @@ let ve = class extends re {
9228
9287
  a.key === "Enter" && !a.shiftKey && this._sendHandler();
9229
9288
  }
9230
9289
  };
9231
- ve.styles = Sn;
9290
+ ve.styles = Cn;
9232
9291
  Ie([
9233
9292
  x({ type: String, attribute: "placeholder" })
9234
9293
  ], ve.prototype, "placeholder", 2);
@@ -9257,9 +9316,9 @@ Ie([
9257
9316
  xe("sl-textarea")
9258
9317
  ], ve.prototype, "inputElement", 2);
9259
9318
  ve = Ie([
9260
- K("cb-user-input")
9319
+ Z("cb-user-input")
9261
9320
  ], ve);
9262
- const Mn = J`
9321
+ const Tn = J`
9263
9322
  ${ke}
9264
9323
 
9265
9324
  :host {
@@ -9317,11 +9376,11 @@ const Mn = J`
9317
9376
  border-radius: 40px;
9318
9377
  outline: none !important;
9319
9378
  }
9320
- `, Tn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>', In = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M8 18c.55 0 1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1v10c0 .55.45 1 1 1m4 4c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1s-1 .45-1 1v18c0 .55.45 1 1 1m-8-8c.55 0 1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1v2c0 .55.45 1 1 1m12 4c.55 0 1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1v10c0 .55.45 1 1 1m3-7v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1"/></svg>', za = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="m4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"/></svg>';
9321
- var En = Object.defineProperty, $n = Object.getOwnPropertyDescriptor, Ee = (a, e, t, i) => {
9322
- for (var s = i > 1 ? void 0 : i ? $n(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9379
+ `, In = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>', En = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M8 18c.55 0 1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1v10c0 .55.45 1 1 1m4 4c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1s-1 .45-1 1v18c0 .55.45 1 1 1m-8-8c.55 0 1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1v2c0 .55.45 1 1 1m12 4c.55 0 1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1v10c0 .55.45 1 1 1m3-7v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1"/></svg>', Oa = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="m4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"/></svg>';
9380
+ var $n = Object.defineProperty, Pn = Object.getOwnPropertyDescriptor, Ee = (a, e, t, i) => {
9381
+ for (var s = i > 1 ? void 0 : i ? Pn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9323
9382
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9324
- return i && s && En(e, t, s), s;
9383
+ return i && s && $n(e, t, s), s;
9325
9384
  };
9326
9385
  let we = class extends re {
9327
9386
  constructor() {
@@ -9364,7 +9423,7 @@ let we = class extends re {
9364
9423
  });
9365
9424
  }
9366
9425
  async _sendFileHandler() {
9367
- const a = await Ga(!1, b.setting.fileUploadEnabledExtensions);
9426
+ const a = await Xa(!1, b.setting.fileUploadEnabledExtensions);
9368
9427
  this.emit("message:send:file", {
9369
9428
  detail: {
9370
9429
  files: a
@@ -9396,7 +9455,7 @@ let we = class extends re {
9396
9455
  await b.toggleAudio();
9397
9456
  }
9398
9457
  getCtrlIconSvg() {
9399
- return this.value && this.value !== "" || b.webAudioStarted ? za : In;
9458
+ return this.value && this.value !== "" || b.webAudioStarted ? Oa : En;
9400
9459
  }
9401
9460
  getCtrlClass() {
9402
9461
  return this.value && this.value !== "" ? "" : b.webAudioStarted || b.mediaStartAudioRequested ? "disabled" : "";
@@ -9414,7 +9473,7 @@ let we = class extends re {
9414
9473
  this.enableFileUpload,
9415
9474
  () => u`
9416
9475
  <button type="button" class="circle-btn" part="upload-button" title="Upload" @click=${this._sendFileHandler}>
9417
- ${Y(Tn)}
9476
+ ${G(In)}
9418
9477
  </button>
9419
9478
  `,
9420
9479
  () => u``
@@ -9434,7 +9493,7 @@ let we = class extends re {
9434
9493
  @keydown=${this._keyDownHandler}
9435
9494
  ></sl-textarea>
9436
9495
  <button type="button" class="circle-btn ${this.getCtrlClass()}" part="control-button" @click=${this._ctrlHandler}>
9437
- ${Y(this.getCtrlIconSvg())}
9496
+ ${G(this.getCtrlIconSvg())}
9438
9497
  </button>
9439
9498
  </div>
9440
9499
  </div>
@@ -9469,7 +9528,7 @@ let we = class extends re {
9469
9528
  ${W(
9470
9529
  b.setting.sendIconSvg !== "",
9471
9530
  () => u`<cb-icon part="user-input-send-icon" svg="${b.setting.sendIconSvg}"></cb-icon>`,
9472
- () => u`<cb-icon part="user-input-send-icon" svg="${ii}"></cb-icon>`
9531
+ () => u`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
9473
9532
  )}
9474
9533
  </sl-button>
9475
9534
  ${W(
@@ -9479,7 +9538,7 @@ let we = class extends re {
9479
9538
  ${W(
9480
9539
  b.setting.attachIconSvg !== "",
9481
9540
  () => u`<cb-icon part="user-input-attach-icon" svg="${b.setting.attachIconSvg}"></cb-icon>`,
9482
- () => u`<cb-icon part="user-input-attach-icon" svg="${si}"></cb-icon>`
9541
+ () => u`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
9483
9542
  )}
9484
9543
  <!-- select file input -->
9485
9544
  <input type="file" id="file" name="file" class="file-input" />
@@ -9493,8 +9552,8 @@ let we = class extends re {
9493
9552
  <sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
9494
9553
  ${W(
9495
9554
  b.webAudioStarted,
9496
- () => u`<cb-icon svg="${la}"></cb-icon>`,
9497
- () => u`<cb-icon svg="${ni}"></cb-icon>`
9555
+ () => u`<cb-icon svg="${da}"></cb-icon>`,
9556
+ () => u`<cb-icon svg="${ri}"></cb-icon>`
9498
9557
  )}
9499
9558
  </sl-button>
9500
9559
  `,
@@ -9508,7 +9567,7 @@ let we = class extends re {
9508
9567
  a.key === "Enter" && !a.shiftKey && this._sendHandler();
9509
9568
  }
9510
9569
  };
9511
- we.styles = Mn;
9570
+ we.styles = Tn;
9512
9571
  Ee([
9513
9572
  x({ type: String, attribute: "placeholder" })
9514
9573
  ], we.prototype, "placeholder", 2);
@@ -9537,9 +9596,9 @@ Ee([
9537
9596
  xe("sl-textarea")
9538
9597
  ], we.prototype, "inputElement", 2);
9539
9598
  we = Ee([
9540
- K("cb-user-input-mm")
9599
+ Z("cb-user-input-mm")
9541
9600
  ], we);
9542
- 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`
9601
+ const oi = '<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>', Ln = J`
9543
9602
  ${ke}
9544
9603
 
9545
9604
  sl-dialog::part(base) {
@@ -9574,10 +9633,10 @@ const ri = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="c
9574
9633
  gap: 8px;
9575
9634
  }
9576
9635
  `;
9577
- var Ln = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor, Ht = (a, e, t, i) => {
9578
- for (var s = i > 1 ? void 0 : i ? Rn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9636
+ var Rn = Object.defineProperty, zn = Object.getOwnPropertyDescriptor, Nt = (a, e, t, i) => {
9637
+ for (var s = i > 1 ? void 0 : i ? zn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9579
9638
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9580
- return i && s && Ln(e, t, s), s;
9639
+ return i && s && Rn(e, t, s), s;
9581
9640
  };
9582
9641
  let ct = class extends re {
9583
9642
  constructor() {
@@ -9610,7 +9669,7 @@ let ct = class extends re {
9610
9669
  <cb-icon
9611
9670
  color="default"
9612
9671
  style="font-size: 1em;"
9613
- svg="${ri}"
9672
+ svg="${oi}"
9614
9673
  ></cb-icon>
9615
9674
  </sl-button>
9616
9675
  </header>
@@ -9623,25 +9682,25 @@ let ct = class extends re {
9623
9682
  </sl-dialog>`;
9624
9683
  }
9625
9684
  };
9626
- ct.styles = Pn;
9627
- Ht([
9685
+ ct.styles = Ln;
9686
+ Nt([
9628
9687
  x({ type: Boolean })
9629
9688
  ], ct.prototype, "open", 2);
9630
- Ht([
9689
+ Nt([
9631
9690
  x({ type: String, attribute: "label" })
9632
9691
  ], ct.prototype, "label", 2);
9633
- Ht([
9692
+ Nt([
9634
9693
  x({ type: Number })
9635
9694
  ], ct.prototype, "zindex", 2);
9636
- ct = Ht([
9637
- K("cb-dialog")
9695
+ ct = Nt([
9696
+ Z("cb-dialog")
9638
9697
  ], ct);
9639
- var zn = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, oi = (a, e, t, i) => {
9698
+ var On = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, ci = (a, e, t, i) => {
9640
9699
  for (var s = i > 1 ? void 0 : i ? Bn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9641
9700
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9642
- return i && s && zn(e, t, s), s;
9701
+ return i && s && On(e, t, s), s;
9643
9702
  };
9644
- let qt = class extends re {
9703
+ let Dt = class extends re {
9645
9704
  constructor() {
9646
9705
  super(...arguments), this.open = !1;
9647
9706
  }
@@ -9675,7 +9734,7 @@ let qt = class extends re {
9675
9734
  this.emit("cancel");
9676
9735
  }
9677
9736
  };
9678
- qt.styles = J`
9737
+ Dt.styles = J`
9679
9738
  .cb-clear-message-dialog {
9680
9739
  }
9681
9740
 
@@ -9683,13 +9742,13 @@ qt.styles = J`
9683
9742
  z-index: 1000;
9684
9743
  }
9685
9744
  `;
9686
- oi([
9745
+ ci([
9687
9746
  x({ type: Boolean })
9688
- ], qt.prototype, "open", 2);
9689
- qt = oi([
9690
- K("cb-clear-message-dialog")
9691
- ], qt);
9692
- const On = J`
9747
+ ], Dt.prototype, "open", 2);
9748
+ Dt = ci([
9749
+ Z("cb-clear-message-dialog")
9750
+ ], Dt);
9751
+ const qn = J`
9693
9752
  :host {
9694
9753
  // width: 380px;
9695
9754
 
@@ -9749,10 +9808,10 @@ const On = J`
9749
9808
  grid-column-start: 2;
9750
9809
  }
9751
9810
  `;
9752
- var qn = Object.defineProperty, Dn = Object.getOwnPropertyDescriptor, dt = (a, e, t, i) => {
9753
- for (var s = i > 1 ? void 0 : i ? Dn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9811
+ var Dn = Object.defineProperty, Fn = Object.getOwnPropertyDescriptor, dt = (a, e, t, i) => {
9812
+ for (var s = i > 1 ? void 0 : i ? Fn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9754
9813
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9755
- return i && s && qn(e, t, s), s;
9814
+ return i && s && Dn(e, t, s), s;
9756
9815
  };
9757
9816
  let Xe = class extends re {
9758
9817
  constructor() {
@@ -9873,7 +9932,7 @@ let Xe = class extends re {
9873
9932
  });
9874
9933
  }
9875
9934
  };
9876
- Xe.styles = On;
9935
+ Xe.styles = qn;
9877
9936
  dt([
9878
9937
  x({ type: Boolean })
9879
9938
  ], Xe.prototype, "open", 2);
@@ -9890,9 +9949,9 @@ dt([
9890
9949
  x({ type: Boolean })
9891
9950
  ], Xe.prototype, "customRequest", 2);
9892
9951
  Xe = dt([
9893
- K("cb-setting")
9952
+ Z("cb-setting")
9894
9953
  ], Xe);
9895
- const Fn = J`
9954
+ const jn = J`
9896
9955
  ${ke}
9897
9956
  :host {
9898
9957
  --primary-color: var(--sl-color-primary-600);
@@ -10006,12 +10065,12 @@ const Fn = J`
10006
10065
  margin: 4px 4px 0px 0px;
10007
10066
  }
10008
10067
  `;
10009
- var jn = Object.defineProperty, Hn = Object.getOwnPropertyDescriptor, ci = (a, e, t, i) => {
10010
- for (var s = i > 1 ? void 0 : i ? Hn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10068
+ var Hn = Object.defineProperty, Vn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
10069
+ for (var s = i > 1 ? void 0 : i ? Vn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10011
10070
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10012
- return i && s && jn(e, t, s), s;
10071
+ return i && s && Hn(e, t, s), s;
10013
10072
  };
10014
- let Dt = class extends re {
10073
+ let Ft = class extends re {
10015
10074
  constructor() {
10016
10075
  super(...arguments), this.store = new it(this, b), this.open = !1;
10017
10076
  }
@@ -10043,7 +10102,7 @@ let Dt = class extends re {
10043
10102
  return a = b.appearanceAnchorBadgeVariant, a;
10044
10103
  }
10045
10104
  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">${me`${Y(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">${me`${Y(b.setting.logoSvg)}`}</div>` : null;
10105
+ 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
10106
  }
10048
10107
  render() {
10049
10108
  return u`
@@ -10052,8 +10111,8 @@ let Dt = class extends re {
10052
10111
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
10053
10112
  ${W(
10054
10113
  this.open,
10055
- () => u`<div class="cb-anchor-icon" part="anchor-icon">${me`${Y(b.setting.anchorCloseSvg)}`}</div>`,
10056
- () => u`<div class="cb-anchor-icon" part="anchor-icon">${me`${Y(b.setting.anchorOpenSvg)}`}</div>`
10114
+ () => u`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(b.setting.anchorCloseSvg)}`}</div>`,
10115
+ () => u`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(b.setting.anchorOpenSvg)}`}</div>`
10057
10116
  )}
10058
10117
  ${W(
10059
10118
  !this.open && b.unreadMessages > 0,
@@ -10062,7 +10121,7 @@ let Dt = class extends re {
10062
10121
  )}
10063
10122
  </sl-button>
10064
10123
  <div class="cb-engage-popup">
10065
- <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${me`${Y(ri)}`}</div>
10124
+ <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${pe`${G(oi)}`}</div>
10066
10125
  <div class="cb-engage-popup-content">
10067
10126
  ${this.renderPopupLogo()}
10068
10127
  <div>${b.setting.engageMessage}</div>
@@ -10073,22 +10132,22 @@ let Dt = class extends re {
10073
10132
  `;
10074
10133
  }
10075
10134
  };
10076
- Dt.styles = Fn;
10077
- ci([
10135
+ Ft.styles = jn;
10136
+ li([
10078
10137
  x({ type: Boolean })
10079
- ], Dt.prototype, "open", 2);
10080
- Dt = ci([
10081
- K("cb-anchor")
10082
- ], Dt);
10083
- const Vn = J`
10138
+ ], Ft.prototype, "open", 2);
10139
+ Ft = li([
10140
+ Z("cb-anchor")
10141
+ ], Ft);
10142
+ const Nn = J`
10084
10143
  ${ke}
10085
- `, Ba = '<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>', Un = '<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>', Nn = '<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
- var Gn = Object.defineProperty, Xn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
10087
- for (var s = i > 1 ? void 0 : i ? Xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10144
+ `, Ba = '<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>', Un = '<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>', Wn = '<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>', Gn = '<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>';
10145
+ var Xn = Object.defineProperty, Yn = Object.getOwnPropertyDescriptor, di = (a, e, t, i) => {
10146
+ for (var s = i > 1 ? void 0 : i ? Yn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10088
10147
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10089
- return i && s && Gn(e, t, s), s;
10148
+ return i && s && Xn(e, t, s), s;
10090
10149
  };
10091
- const Oa = {
10150
+ const qa = {
10092
10151
  error: {
10093
10152
  variant: "danger",
10094
10153
  icon: Ba
@@ -10103,35 +10162,35 @@ const Oa = {
10103
10162
  },
10104
10163
  success: {
10105
10164
  variant: "success",
10106
- icon: Nn
10165
+ icon: Wn
10107
10166
  },
10108
10167
  info: {
10109
10168
  variant: "primary",
10110
- icon: Wn
10169
+ icon: Gn
10111
10170
  }
10112
10171
  };
10113
- let Ft = class extends re {
10172
+ let jt = class extends re {
10114
10173
  constructor() {
10115
10174
  super(...arguments), this.status = "info";
10116
10175
  }
10117
10176
  render() {
10118
- const { variant: a, icon: e } = Oa[this.status] || Oa.info;
10177
+ const { variant: a, icon: e } = qa[this.status] || qa.info;
10119
10178
  return u`<cb-icon svg=${e} color="${a}"></cb-icon>`;
10120
10179
  }
10121
10180
  };
10122
- Ft.styles = Wa;
10123
- li([
10181
+ jt.styles = Ga;
10182
+ di([
10124
10183
  x({ type: String })
10125
- ], Ft.prototype, "status", 2);
10126
- Ft = li([
10127
- K("cb-status-icon")
10128
- ], Ft);
10129
- var Yn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
10130
- for (var s = i > 1 ? void 0 : i ? Yn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10184
+ ], jt.prototype, "status", 2);
10185
+ jt = di([
10186
+ Z("cb-status-icon")
10187
+ ], jt);
10188
+ var Jn = Object.getOwnPropertyDescriptor, Zn = (a, e, t, i) => {
10189
+ for (var s = i > 1 ? void 0 : i ? Jn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10131
10190
  (o = a[r]) && (s = o(s) || s);
10132
10191
  return s;
10133
10192
  };
10134
- let Qt = class extends re {
10193
+ let ea = class extends re {
10135
10194
  render() {
10136
10195
  return u` <sl-alert variant="danger" open>
10137
10196
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
@@ -10147,10 +10206,10 @@ let Qt = class extends re {
10147
10206
  this.emit("setting:show");
10148
10207
  }
10149
10208
  };
10150
- Qt.styles = Vn;
10151
- Qt = Jn([
10152
- K("cb-auth-alert")
10153
- ], Qt);
10209
+ ea.styles = Nn;
10210
+ ea = Zn([
10211
+ Z("cb-auth-alert")
10212
+ ], ea);
10154
10213
  const Kn = J`
10155
10214
  sl-dialog::part(base) {
10156
10215
  z-index: 1000;
@@ -10235,25 +10294,25 @@ const Kn = J`
10235
10294
  filter: alpha(opacity=80);
10236
10295
  }
10237
10296
  `;
10238
- var Zn = Object.defineProperty, Qn = Object.getOwnPropertyDescriptor, ft = (a, e, t, i) => {
10239
- for (var s = i > 1 ? void 0 : i ? Qn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10297
+ var Qn = Object.defineProperty, er = Object.getOwnPropertyDescriptor, ft = (a, e, t, i) => {
10298
+ for (var s = i > 1 ? void 0 : i ? er(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10240
10299
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10241
- return i && s && Zn(e, t, s), s;
10300
+ return i && s && Qn(e, t, s), s;
10242
10301
  };
10243
- 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>';
10302
+ const Da = Je.noConflict(), tr = '<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
10303
  let Ye = class extends re {
10245
10304
  constructor() {
10246
10305
  super(...arguments), this.store = new it(this, b), this.zindex = 100;
10247
10306
  }
10248
10307
  connectedCallback() {
10249
- super.connectedCallback(), qa.info("connectedCallback");
10308
+ super.connectedCallback(), Da.info("connectedCallback");
10250
10309
  }
10251
10310
  firstUpdated() {
10252
- this._rating.getSymbol = () => er;
10311
+ this._rating.getSymbol = () => tr;
10253
10312
  }
10254
10313
  _stateEventHandler(a) {
10255
10314
  const e = a.detail, t = e?.type || null;
10256
- qa.info(`FEEDBACK: stateEvent: ${t}`, e);
10315
+ Da.info(`FEEDBACK: stateEvent: ${t}`, e);
10257
10316
  }
10258
10317
  _cancelHandler() {
10259
10318
  b.feedback && (console.log("Feedback dialog cancelled"), b.feedback = !1);
@@ -10274,7 +10333,7 @@ let Ye = class extends re {
10274
10333
  b.feedbackScore = 0;
10275
10334
  }}"
10276
10335
  >
10277
- ${me`${Y(ai)}`}
10336
+ ${pe`${G(ii)}`}
10278
10337
  </div>
10279
10338
  <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
10339
  <div
@@ -10283,7 +10342,7 @@ let Ye = class extends re {
10283
10342
  b.feedbackScore = 5;
10284
10343
  }}"
10285
10344
  >
10286
- ${me`${Y(ti)}`}
10345
+ ${pe`${G(ai)}`}
10287
10346
  </div>
10288
10347
  </div>
10289
10348
  <div style="display: flex">
@@ -10300,7 +10359,7 @@ let Ye = class extends re {
10300
10359
  b.feedbackScore = this._rating.value;
10301
10360
  }
10302
10361
  async _submitHandler() {
10303
- const a = this._name?.value || "", e = this._email?.value || "", t = this._comments?.value || "";
10362
+ const a = this._name?.value || "", e = this._email?.value || "", t = Vt(this._comments?.value || "");
10304
10363
  this._comments.value = "", await b.submitFeedback(a, e, t);
10305
10364
  }
10306
10365
  };
@@ -10321,9 +10380,9 @@ ft([
10321
10380
  xe("#cb-feedback-email-el")
10322
10381
  ], Ye.prototype, "_email", 2);
10323
10382
  Ye = ft([
10324
- K("cb-dialog-feedback")
10383
+ Z("cb-dialog-feedback")
10325
10384
  ], Ye);
10326
- const tr = J`
10385
+ const ar = J`
10327
10386
  ${ke}
10328
10387
  :host {
10329
10388
  display: block;
@@ -10406,7 +10465,7 @@ const tr = J`
10406
10465
  display: inline;
10407
10466
  }
10408
10467
  `;
10409
- class ar extends HTMLElement {
10468
+ class ir extends HTMLElement {
10410
10469
  static get observedAttributes() {
10411
10470
  return ["audio-selector", "max-additional-height", "disabled", "fft-size"];
10412
10471
  }
@@ -10629,9 +10688,9 @@ class ar extends HTMLElement {
10629
10688
  this._animationId && (cancelAnimationFrame(this._animationId), this._animationId = null);
10630
10689
  }
10631
10690
  }
10632
- customElements.get("volume-visualizer") || customElements.define("volume-visualizer", ar);
10633
- const da = 1, Da = 2;
10634
- class di extends HTMLElement {
10691
+ customElements.get("volume-visualizer") || customElements.define("volume-visualizer", ir);
10692
+ const fa = 1, Fa = 2;
10693
+ class fi extends HTMLElement {
10635
10694
  constructor() {
10636
10695
  super(), this.attachShadow({ mode: "open" }), this._analyserInput = null, this._dataArrayInput = null, this._analyserOutput = null, this._dataArrayOutput = null, this._thinking = !1, this._muted = !1, this._fftSize = 512, this._smoothingTimeConstant = 0.55, this._canvas = null, this._context = null, this._lastTime = 0, this._render();
10637
10696
  }
@@ -10670,7 +10729,7 @@ class di extends HTMLElement {
10670
10729
  }
10671
10730
  return r;
10672
10731
  };
10673
- return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Da, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source: da, hasActivity: !0 } : this._analyserOutput ? { data: t(this._dataArrayOutput), source: Da, hasActivity: !1 } : { data: [], source: null, hasActivity: !1 };
10732
+ return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source: fa, hasActivity: !0 } : this._analyserOutput ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !1 } : { data: [], source: null, hasActivity: !1 };
10674
10733
  }
10675
10734
  _render() {
10676
10735
  const e = `
@@ -10713,7 +10772,7 @@ class di extends HTMLElement {
10713
10772
  this._stop(), this._analyserInput = null, this._analyserOutput = null;
10714
10773
  }
10715
10774
  }
10716
- class ir extends di {
10775
+ class sr extends fi {
10717
10776
  constructor() {
10718
10777
  super(), this._ribbons = [], this._lastTime = 0, this._ribbons.push(
10719
10778
  new It(
@@ -10757,7 +10816,7 @@ class ir extends di {
10757
10816
  f.update(s, i, this._thinking), f.draw(e, t, r, this._thinking);
10758
10817
  }
10759
10818
  }
10760
- customElements.get("volume-visualizer-liquid") || customElements.define("volume-visualizer-liquid", ir);
10819
+ customElements.get("volume-visualizer-liquid") || customElements.define("volume-visualizer-liquid", sr);
10761
10820
  class It {
10762
10821
  constructor(e, t, i, s) {
10763
10822
  this.inputColorRGB = t, this.outputColorRGB = i, this.currentColorRGB = { ...i }, this.options = s, this.segments = e, this.renderPoints = Array(e).fill(0), this.targetPoints = Array(e).fill(0), this.velocity = Array(e).fill(0), this.springStrength = s.springStrength || 10, this.damping = s.damping || 0.5, this.phase = s.phase || 0, this.scale = s.scale || 1, this.thinkingPhase = 0;
@@ -10784,11 +10843,11 @@ class It {
10784
10843
  if (v === 0)
10785
10844
  e.moveTo(k, w);
10786
10845
  else {
10787
- const _ = (v - 1) * o, P = this.renderPoints[v - 1] * i * 0.8, I = _ + o * 0.5, M = P, L = k - o * 0.5, C = w;
10788
- e.bezierCurveTo(I, M, L, C, k, w);
10846
+ 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;
10847
+ e.bezierCurveTo(E, M, L, C, k, w);
10789
10848
  }
10790
10849
  }
10791
- 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);
10850
+ e.lineTo(t, 0), e.lineTo(0, 0), s === fa && !r ? this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.inputColorRGB, 0.02) : this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.outputColorRGB, 0.02);
10792
10851
  const f = e.createLinearGradient(0, 0, 0, i);
10793
10852
  f.addColorStop(0, this._rgbToString(this.currentColorRGB, 0.5)), f.addColorStop(0.5, this._rgbToString(this.currentColorRGB, 0.75)), f.addColorStop(1, this._rgbToString(this.currentColorRGB, 0.25));
10794
10853
  const p = e.createLinearGradient(0, 0, t, 0);
@@ -10816,7 +10875,7 @@ class It {
10816
10875
  }
10817
10876
  }
10818
10877
  }
10819
- class sr extends di {
10878
+ class nr extends fi {
10820
10879
  constructor() {
10821
10880
  super(), this._numBars = 32, this._renderHeights = Array(this._numBars).fill(0), this._targetHeights = Array(this._numBars).fill(0), this._velocity = Array(this._numBars).fill(0), this._springStrength = 25, this._damping = 0.75, this._inputColor = { r: 255, g: 126, b: 103 }, this._outputColor = { r: 99, g: 193, b: 208 }, this._currentColor = { ...this._outputColor }, this._thinkingPhase = 0;
10822
10881
  }
@@ -10833,7 +10892,7 @@ class sr extends di {
10833
10892
  _draw(e, t, i) {
10834
10893
  e.clearRect(0, 0, t.width, t.height);
10835
10894
  const { data: s, source: r, hasActivity: o } = this._getAudioFrequencyData();
10836
- if (r === da && !this._thinking ? this._currentColor = this._lerpColor(this._currentColor, this._inputColor, 0.1) : this._currentColor = this._lerpColor(this._currentColor, this._outputColor, 0.1), this._thinking) {
10895
+ if (r === fa && !this._thinking ? this._currentColor = this._lerpColor(this._currentColor, this._inputColor, 0.1) : this._currentColor = this._lerpColor(this._currentColor, this._outputColor, 0.1), this._thinking) {
10837
10896
  this._thinkingPhase -= i * 4;
10838
10897
  for (let w = 0; w < this._numBars; w++) {
10839
10898
  const _ = w / this._numBars;
@@ -10858,27 +10917,27 @@ class sr extends di {
10858
10917
  for (let w = 0; w < this._numBars; w++) {
10859
10918
  const _ = this._renderHeights[w] * t.height * 0.9, P = p - (w + 1) * (f * 1.2);
10860
10919
  e.fillRect(P, v - _ / 2, f, _);
10861
- const I = p + w * (f * 1.2);
10862
- e.fillRect(I, v - _ / 2, f, _);
10920
+ const E = p + w * (f * 1.2);
10921
+ e.fillRect(E, v - _ / 2, f, _);
10863
10922
  }
10864
10923
  e.restore();
10865
10924
  }
10866
10925
  }
10867
- customElements.get("volume-visualizer-bars") || customElements.define("volume-visualizer-bars", sr);
10868
- const nr = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 11h-1.7c0 .74-.16 1.43-.43 2.05l1.23 1.23c.56-.98.9-2.09.9-3.28m-4.02.17c0-.06.02-.11.02-.17V5c0-1.66-1.34-3-3-3S9 3.34 9 5v.18zM4.27 3L3 4.27l6.01 6.01V11c0 1.66 1.33 3 2.99 3c.22 0 .44-.03.65-.08l1.66 1.66c-.71.33-1.5.52-2.31.52c-2.76 0-5.3-2.1-5.3-5.1H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c.91-.13 1.77-.45 2.54-.9L19.73 21L21 19.73z"/></svg>';
10869
- var rr = Object.getOwnPropertyDescriptor, or = (a, e, t, i) => {
10870
- for (var s = i > 1 ? void 0 : i ? rr(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10926
+ customElements.get("volume-visualizer-bars") || customElements.define("volume-visualizer-bars", nr);
10927
+ const rr = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 11h-1.7c0 .74-.16 1.43-.43 2.05l1.23 1.23c.56-.98.9-2.09.9-3.28m-4.02.17c0-.06.02-.11.02-.17V5c0-1.66-1.34-3-3-3S9 3.34 9 5v.18zM4.27 3L3 4.27l6.01 6.01V11c0 1.66 1.33 3 2.99 3c.22 0 .44-.03.65-.08l1.66 1.66c-.71.33-1.5.52-2.31.52c-2.76 0-5.3-2.1-5.3-5.1H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c.91-.13 1.77-.45 2.54-.9L19.73 21L21 19.73z"/></svg>';
10928
+ var or = Object.getOwnPropertyDescriptor, cr = (a, e, t, i) => {
10929
+ for (var s = i > 1 ? void 0 : i ? or(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10871
10930
  (o = a[r]) && (s = o(s) || s);
10872
10931
  return s;
10873
10932
  };
10874
10933
  const bt = Je.noConflict();
10875
10934
  bt.setLevel("info");
10876
- let ea = class extends re {
10935
+ let ta = class extends re {
10877
10936
  constructor() {
10878
10937
  super(...arguments), this.store = new it(this, b), this.unsubscribeTypingActive = b.subscribe(
10879
10938
  this._handleTypingActiveChanged.bind(this),
10880
10939
  ["typingActive"]
10881
- ), this.volumeVisualizerRef = Fi(), this.volumeVisualizerInitialized = !1;
10940
+ ), this.volumeVisualizerRef = ji(), this.volumeVisualizerInitialized = !1;
10882
10941
  }
10883
10942
  /*
10884
10943
  createRenderRoot() {
@@ -10908,7 +10967,7 @@ let ea = class extends re {
10908
10967
  !0,
10909
10968
  () => u`
10910
10969
  <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
- ${Y(nr)}
10970
+ ${G(rr)}
10912
10971
  </button>
10913
10972
  `,
10914
10973
  () => u``
@@ -10917,7 +10976,7 @@ let ea = class extends re {
10917
10976
  ${this.renderVisualizer()}
10918
10977
  </div>
10919
10978
  <button type="button" part="audio-end-button" class="circle-btn clear" title="End" @click=${this._toggleHangup}>
10920
- ${Y(la)}
10979
+ ${G(da)}
10921
10980
  </button>
10922
10981
  </div>
10923
10982
  </div>` : null;
@@ -10973,11 +11032,11 @@ let ea = class extends re {
10973
11032
  b.webAudioStarted && (bt.info(`Typing state changed: ${e}`), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setThinking(e));
10974
11033
  }
10975
11034
  };
10976
- ea.styles = tr;
10977
- ea = or([
10978
- K("cb-audio-controls")
10979
- ], ea);
10980
- class ta extends Error {
11035
+ ta.styles = ar;
11036
+ ta = cr([
11037
+ Z("cb-audio-controls")
11038
+ ], ta);
11039
+ class aa extends Error {
10981
11040
  response;
10982
11041
  request;
10983
11042
  options;
@@ -10986,7 +11045,7 @@ class ta extends Error {
10986
11045
  super(`Request failed with ${f}: ${t.method} ${t.url}`), this.name = "HTTPError", this.response = e, this.request = t, this.options = i;
10987
11046
  }
10988
11047
  }
10989
- class fi extends Error {
11048
+ class hi extends Error {
10990
11049
  name = "NonError";
10991
11050
  value;
10992
11051
  constructor(e) {
@@ -10998,17 +11057,17 @@ class fi extends Error {
10998
11057
  super(t), this.value = e;
10999
11058
  }
11000
11059
  }
11001
- class Wt extends Error {
11060
+ class Xt extends Error {
11002
11061
  name = "ForceRetryError";
11003
11062
  customDelay;
11004
11063
  code;
11005
11064
  customRequest;
11006
11065
  constructor(e) {
11007
- const t = e?.cause ? e.cause instanceof Error ? e.cause : new fi(e.cause) : void 0;
11066
+ const t = e?.cause ? e.cause instanceof Error ? e.cause : new hi(e.cause) : void 0;
11008
11067
  super(e?.code ? `Forced retry: ${e.code}` : "Forced retry", t ? { cause: t } : void 0), this.customDelay = e?.delay, this.code = e?.code, this.customRequest = e?.request;
11009
11068
  }
11010
11069
  }
11011
- const Fa = (() => {
11070
+ const ja = (() => {
11012
11071
  let a = !1, e = !1;
11013
11072
  const t = typeof globalThis.ReadableStream == "function", i = typeof globalThis.Request == "function";
11014
11073
  if (t && i)
@@ -11027,7 +11086,7 @@ const Fa = (() => {
11027
11086
  throw s;
11028
11087
  }
11029
11088
  return a && !e;
11030
- })(), cr = typeof globalThis.AbortController == "function", hi = typeof globalThis.AbortSignal == "function" && typeof globalThis.AbortSignal.any == "function", lr = typeof globalThis.ReadableStream == "function", dr = typeof globalThis.FormData == "function", bi = ["get", "post", "put", "patch", "head", "delete"], fr = {
11089
+ })(), lr = typeof globalThis.AbortController == "function", bi = typeof globalThis.AbortSignal == "function" && typeof globalThis.AbortSignal.any == "function", dr = typeof globalThis.ReadableStream == "function", fr = typeof globalThis.FormData == "function", ui = ["get", "post", "put", "patch", "head", "delete"], hr = {
11031
11090
  json: "application/json",
11032
11091
  text: "text/*",
11033
11092
  formData: "multipart/form-data",
@@ -11036,14 +11095,14 @@ const Fa = (() => {
11036
11095
  // Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
11037
11096
  // We still feature-check at runtime before exposing the shortcut.
11038
11097
  bytes: "*/*"
11039
- }, Gt = 2147483647, hr = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, ui = Symbol("stop");
11040
- class pi {
11098
+ }, Yt = 2147483647, br = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, pi = Symbol("stop");
11099
+ class gi {
11041
11100
  options;
11042
11101
  constructor(e) {
11043
11102
  this.options = e;
11044
11103
  }
11045
11104
  }
11046
- const br = (a) => new pi(a), ur = {
11105
+ const ur = (a) => new gi(a), pr = {
11047
11106
  json: !0,
11048
11107
  parseJson: !0,
11049
11108
  stringifyJson: !0,
@@ -11057,10 +11116,10 @@ const br = (a) => new pi(a), ur = {
11057
11116
  onUploadProgress: !0,
11058
11117
  fetch: !0,
11059
11118
  context: !0
11060
- }, pr = {
11119
+ }, gr = {
11061
11120
  next: !0
11062
11121
  // Next.js cache revalidation (revalidate, tags)
11063
- }, gr = {
11122
+ }, mr = {
11064
11123
  method: !0,
11065
11124
  headers: !0,
11066
11125
  body: !0,
@@ -11075,13 +11134,13 @@ const br = (a) => new pi(a), ur = {
11075
11134
  signal: !0,
11076
11135
  window: !0,
11077
11136
  duplex: !0
11078
- }, mr = (a) => {
11137
+ }, yr = (a) => {
11079
11138
  if (!a)
11080
11139
  return 0;
11081
11140
  if (a instanceof FormData) {
11082
11141
  let e = 0;
11083
11142
  for (const [t, i] of a)
11084
- e += hr, e += new TextEncoder().encode(`Content-Disposition: form-data; name="${t}"`).length, e += typeof i == "string" ? new TextEncoder().encode(i).length : i.size;
11143
+ e += br, e += new TextEncoder().encode(`Content-Disposition: form-data; name="${t}"`).length, e += typeof i == "string" ? new TextEncoder().encode(i).length : i.size;
11085
11144
  return e;
11086
11145
  }
11087
11146
  if (a instanceof Blob)
@@ -11102,7 +11161,7 @@ const br = (a) => new pi(a), ur = {
11102
11161
  return 0;
11103
11162
  }
11104
11163
  return 0;
11105
- }, gi = (a, e, t) => {
11164
+ }, mi = (a, e, t) => {
11106
11165
  let i, s = 0;
11107
11166
  return a.pipeThrough(new TransformStream({
11108
11167
  transform(r, o) {
@@ -11117,7 +11176,7 @@ const br = (a) => new pi(a), ur = {
11117
11176
  i && (s += i.byteLength, t?.({ percent: 1, totalBytes: Math.max(e, s), transferredBytes: s }, i));
11118
11177
  }
11119
11178
  }));
11120
- }, yr = (a, e) => {
11179
+ }, vr = (a, e) => {
11121
11180
  if (!a.body)
11122
11181
  return a;
11123
11182
  if (a.status === 204)
@@ -11127,40 +11186,40 @@ const br = (a) => new pi(a), ur = {
11127
11186
  headers: a.headers
11128
11187
  });
11129
11188
  const t = Math.max(0, Number(a.headers.get("content-length")) || 0);
11130
- return new Response(gi(a.body, t, e), {
11189
+ return new Response(mi(a.body, t, e), {
11131
11190
  status: a.status,
11132
11191
  statusText: a.statusText,
11133
11192
  headers: a.headers
11134
11193
  });
11135
- }, vr = (a, e, t) => {
11194
+ }, wr = (a, e, t) => {
11136
11195
  if (!a.body)
11137
11196
  return a;
11138
- const i = mr(t ?? a.body);
11197
+ const i = yr(t ?? a.body);
11139
11198
  return new Request(a, {
11140
11199
  // @ts-expect-error - Types are outdated.
11141
11200
  duplex: "half",
11142
- body: gi(a.body, i, e)
11201
+ body: mi(a.body, i, e)
11143
11202
  });
11144
11203
  }, Qe = (a) => a !== null && typeof a == "object", Et = (...a) => {
11145
11204
  for (const e of a)
11146
11205
  if ((!Qe(e) || Array.isArray(e)) && e !== void 0)
11147
11206
  throw new TypeError("The `options` argument must be an object");
11148
- return fa({}, ...a);
11149
- }, mi = (a = {}, e = {}) => {
11207
+ return ha({}, ...a);
11208
+ }, yi = (a = {}, e = {}) => {
11150
11209
  const t = new globalThis.Headers(a), i = e instanceof globalThis.Headers, s = new globalThis.Headers(e);
11151
11210
  for (const [r, o] of s.entries())
11152
11211
  i && o === "undefined" || o === void 0 ? t.delete(r) : t.set(r, o);
11153
11212
  return t;
11154
11213
  };
11155
11214
  function $t(a, e, t) {
11156
- return Object.hasOwn(e, t) && e[t] === void 0 ? [] : fa(a[t] ?? [], e[t] ?? []);
11215
+ return Object.hasOwn(e, t) && e[t] === void 0 ? [] : ha(a[t] ?? [], e[t] ?? []);
11157
11216
  }
11158
- const yi = (a = {}, e = {}) => ({
11217
+ const vi = (a = {}, e = {}) => ({
11159
11218
  beforeRequest: $t(a, e, "beforeRequest"),
11160
11219
  beforeRetry: $t(a, e, "beforeRetry"),
11161
11220
  afterResponse: $t(a, e, "afterResponse"),
11162
11221
  beforeError: $t(a, e, "beforeError")
11163
- }), wr = (a, e) => {
11222
+ }), xr = (a, e) => {
11164
11223
  const t = new URLSearchParams();
11165
11224
  for (const i of [a, e])
11166
11225
  if (i !== void 0)
@@ -11182,7 +11241,7 @@ const yi = (a = {}, e = {}) => ({
11182
11241
  t.append(r, o);
11183
11242
  }
11184
11243
  return t;
11185
- }, fa = (...a) => {
11244
+ }, ha = (...a) => {
11186
11245
  let e = {}, t = {}, i = {}, s;
11187
11246
  const r = [];
11188
11247
  for (const o of a)
@@ -11204,28 +11263,28 @@ const yi = (a = {}, e = {}) => ({
11204
11263
  continue;
11205
11264
  }
11206
11265
  if (f === "searchParams") {
11207
- p == null ? s = void 0 : s = s === void 0 ? p : wr(s, p);
11266
+ p == null ? s = void 0 : s = s === void 0 ? p : xr(s, p);
11208
11267
  continue;
11209
11268
  }
11210
- Qe(p) && f in e && (p = fa(e[f], p)), e = { ...e, [f]: p };
11269
+ Qe(p) && f in e && (p = ha(e[f], p)), e = { ...e, [f]: p };
11211
11270
  }
11212
- Qe(o.hooks) && (i = yi(i, o.hooks), e.hooks = i), Qe(o.headers) && (t = mi(t, o.headers), e.headers = t);
11271
+ Qe(o.hooks) && (i = vi(i, o.hooks), e.hooks = i), Qe(o.headers) && (t = yi(t, o.headers), e.headers = t);
11213
11272
  }
11214
- return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] : hi ? e.signal = AbortSignal.any(r) : e.signal = r.at(-1)), e.context === void 0 && (e.context = {}), e;
11215
- }, xr = (a) => bi.includes(a) ? a.toUpperCase() : a, kr = ["get", "put", "head", "delete", "options", "trace"], _r = [408, 413, 429, 500, 502, 503, 504], Sr = [413, 429, 503], ja = {
11273
+ return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] : bi ? e.signal = AbortSignal.any(r) : e.signal = r.at(-1)), e.context === void 0 && (e.context = {}), e;
11274
+ }, kr = (a) => ui.includes(a) ? a.toUpperCase() : a, _r = ["get", "put", "head", "delete", "options", "trace"], Sr = [408, 413, 429, 500, 502, 503, 504], Cr = [413, 429, 503], Ha = {
11216
11275
  limit: 2,
11217
- methods: kr,
11218
- statusCodes: _r,
11219
- afterStatusCodes: Sr,
11276
+ methods: _r,
11277
+ statusCodes: Sr,
11278
+ afterStatusCodes: Cr,
11220
11279
  maxRetryAfter: Number.POSITIVE_INFINITY,
11221
11280
  backoffLimit: Number.POSITIVE_INFINITY,
11222
11281
  delay: (a) => 0.3 * 2 ** (a - 1) * 1e3,
11223
11282
  jitter: void 0,
11224
11283
  retryOnTimeout: !1
11225
- }, Cr = (a = {}) => {
11284
+ }, Ar = (a = {}) => {
11226
11285
  if (typeof a == "number")
11227
11286
  return {
11228
- ...ja,
11287
+ ...Ha,
11229
11288
  limit: a
11230
11289
  };
11231
11290
  if (a.methods && !Array.isArray(a.methods))
@@ -11233,27 +11292,27 @@ const yi = (a = {}, e = {}) => ({
11233
11292
  if (a.statusCodes && !Array.isArray(a.statusCodes))
11234
11293
  throw new Error("retry.statusCodes must be an array");
11235
11294
  return {
11236
- ...ja,
11295
+ ...Ha,
11237
11296
  ...a
11238
11297
  };
11239
11298
  };
11240
- class aa extends Error {
11299
+ class ia extends Error {
11241
11300
  request;
11242
11301
  constructor(e) {
11243
11302
  super(`Request timed out: ${e.method} ${e.url}`), this.name = "TimeoutError", this.request = e;
11244
11303
  }
11245
11304
  }
11246
- async function Ar(a, e, t, i) {
11305
+ async function Mr(a, e, t, i) {
11247
11306
  return new Promise((s, r) => {
11248
11307
  const o = setTimeout(() => {
11249
- t && t.abort(), r(new aa(a));
11308
+ t && t.abort(), r(new ia(a));
11250
11309
  }, i.timeout);
11251
11310
  i.fetch(a, e).then(s).catch(r).then(() => {
11252
11311
  clearTimeout(o);
11253
11312
  });
11254
11313
  });
11255
11314
  }
11256
- async function Mr(a, { signal: e }) {
11315
+ async function Tr(a, { signal: e }) {
11257
11316
  return new Promise((t, i) => {
11258
11317
  e && (e.throwIfAborted(), e.addEventListener("abort", s, { once: !0 }));
11259
11318
  function s() {
@@ -11264,35 +11323,35 @@ async function Mr(a, { signal: e }) {
11264
11323
  }, a);
11265
11324
  });
11266
11325
  }
11267
- const Tr = (a, e) => {
11326
+ const Ir = (a, e) => {
11268
11327
  const t = {};
11269
11328
  for (const i in e)
11270
- Object.hasOwn(e, i) && !(i in gr) && !(i in ur) && (!(i in a) || i in pr) && (t[i] = e[i]);
11329
+ Object.hasOwn(e, i) && !(i in mr) && !(i in pr) && (!(i in a) || i in gr) && (t[i] = e[i]);
11271
11330
  return t;
11272
- }, Ir = (a) => a === void 0 ? !1 : Array.isArray(a) ? a.length > 0 : a instanceof URLSearchParams ? a.size > 0 : typeof a == "object" ? Object.keys(a).length > 0 : typeof a == "string" ? a.trim().length > 0 : !!a;
11273
- function Er(a) {
11274
- return a instanceof ta || a?.name === ta.name;
11275
- }
11331
+ }, Er = (a) => a === void 0 ? !1 : Array.isArray(a) ? a.length > 0 : a instanceof URLSearchParams ? a.size > 0 : typeof a == "object" ? Object.keys(a).length > 0 : typeof a == "string" ? a.trim().length > 0 : !!a;
11276
11332
  function $r(a) {
11277
11333
  return a instanceof aa || a?.name === aa.name;
11278
11334
  }
11335
+ function Pr(a) {
11336
+ return a instanceof ia || a?.name === ia.name;
11337
+ }
11279
11338
  class vt {
11280
11339
  static create(e, t) {
11281
11340
  const i = new vt(e, t), s = async () => {
11282
- if (typeof i.#e.timeout == "number" && i.#e.timeout > Gt)
11283
- throw new RangeError(`The \`timeout\` option cannot be greater than ${Gt}`);
11341
+ if (typeof i.#e.timeout == "number" && i.#e.timeout > Yt)
11342
+ throw new RangeError(`The \`timeout\` option cannot be greater than ${Yt}`);
11284
11343
  await Promise.resolve();
11285
11344
  let o = await i.#p();
11286
11345
  for (const f of i.#e.hooks.afterResponse) {
11287
11346
  const p = i.#d(o.clone()), v = await f(i.request, i.#o(), p, { retryCount: i.#a });
11288
- if (v instanceof globalThis.Response && (o = v), v instanceof pi)
11347
+ if (v instanceof globalThis.Response && (o = v), v instanceof gi)
11289
11348
  throw await Promise.all([
11290
11349
  p.body?.cancel(),
11291
11350
  o.body?.cancel()
11292
- ]), new Wt(v.options);
11351
+ ]), new Xt(v.options);
11293
11352
  }
11294
11353
  if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
11295
- let f = new ta(o, i.request, i.#o());
11354
+ let f = new aa(o, i.request, i.#o());
11296
11355
  for (const p of i.#e.hooks.beforeError)
11297
11356
  f = await p(f, { retryCount: i.#a });
11298
11357
  throw f;
@@ -11300,16 +11359,16 @@ class vt {
11300
11359
  if (i.#e.onDownloadProgress) {
11301
11360
  if (typeof i.#e.onDownloadProgress != "function")
11302
11361
  throw new TypeError("The `onDownloadProgress` option must be a function");
11303
- if (!lr)
11362
+ if (!dr)
11304
11363
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
11305
- return yr(o.clone(), i.#e.onDownloadProgress);
11364
+ return vr(o.clone(), i.#e.onDownloadProgress);
11306
11365
  }
11307
11366
  return o;
11308
11367
  }, r = i.#f(s).finally(async () => {
11309
11368
  const o = i.#n, f = [];
11310
11369
  o && !o.bodyUsed && f.push(o.body?.cancel()), i.request.bodyUsed || f.push(i.request.body?.cancel()), await Promise.all(f);
11311
11370
  });
11312
- for (const [o, f] of Object.entries(fr))
11371
+ for (const [o, f] of Object.entries(hr))
11313
11372
  o === "bytes" && typeof globalThis.Response?.prototype?.bytes != "function" || (r[o] = async () => {
11314
11373
  i.request.headers.set("accept", i.request.headers.get("accept") || f);
11315
11374
  const p = await r;
@@ -11340,17 +11399,17 @@ class vt {
11340
11399
  constructor(e, t = {}) {
11341
11400
  if (this.#t = e, this.#e = {
11342
11401
  ...t,
11343
- headers: mi(this.#t.headers, t.headers),
11344
- hooks: yi({
11402
+ headers: yi(this.#t.headers, t.headers),
11403
+ hooks: vi({
11345
11404
  beforeRequest: [],
11346
11405
  beforeRetry: [],
11347
11406
  beforeError: [],
11348
11407
  afterResponse: []
11349
11408
  }, t.hooks),
11350
- method: xr(t.method ?? this.#t.method ?? "GET"),
11409
+ method: kr(t.method ?? this.#t.method ?? "GET"),
11351
11410
  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
11352
11411
  prefixUrl: String(t.prefixUrl || ""),
11353
- retry: Cr(t.retry),
11412
+ retry: Ar(t.retry),
11354
11413
  throwHttpErrors: t.throwHttpErrors ?? !0,
11355
11414
  timeout: t.timeout ?? 1e4,
11356
11415
  fetch: t.fetch ?? globalThis.fetch.bind(globalThis),
@@ -11362,16 +11421,16 @@ class vt {
11362
11421
  throw new Error("`input` must not begin with a slash when using `prefixUrl`");
11363
11422
  this.#e.prefixUrl.endsWith("/") || (this.#e.prefixUrl += "/"), this.#t = this.#e.prefixUrl + this.#t;
11364
11423
  }
11365
- cr && hi && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal), Fa && (this.#e.duplex = "half"), this.#e.json !== void 0 && (this.#e.body = this.#e.stringifyJson?.(this.#e.json) ?? JSON.stringify(this.#e.json), this.#e.headers.set("content-type", this.#e.headers.get("content-type") ?? "application/json"));
11424
+ lr && bi && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal), ja && (this.#e.duplex = "half"), this.#e.json !== void 0 && (this.#e.body = this.#e.stringifyJson?.(this.#e.json) ?? JSON.stringify(this.#e.json), this.#e.headers.set("content-type", this.#e.headers.get("content-type") ?? "application/json"));
11366
11425
  const i = t.headers && new globalThis.Headers(t.headers).has("content-type");
11367
- if (this.#t instanceof globalThis.Request && (dr && this.#e.body instanceof globalThis.FormData || this.#e.body instanceof URLSearchParams) && !i && this.#e.headers.delete("content-type"), this.request = new globalThis.Request(this.#t, this.#e), Ir(this.#e.searchParams)) {
11426
+ if (this.#t instanceof globalThis.Request && (fr && this.#e.body instanceof globalThis.FormData || this.#e.body instanceof URLSearchParams) && !i && this.#e.headers.delete("content-type"), this.request = new globalThis.Request(this.#t, this.#e), Er(this.#e.searchParams)) {
11368
11427
  const r = "?" + (typeof this.#e.searchParams == "string" ? this.#e.searchParams.replace(/^\?/, "") : new URLSearchParams(vt.#b(this.#e.searchParams)).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
11369
11428
  this.request = new globalThis.Request(o, this.#e);
11370
11429
  }
11371
11430
  if (this.#e.onUploadProgress) {
11372
11431
  if (typeof this.#e.onUploadProgress != "function")
11373
11432
  throw new TypeError("The `onUploadProgress` option must be a function");
11374
- if (!Fa)
11433
+ if (!ja)
11375
11434
  throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");
11376
11435
  this.request = this.#h(this.request, this.#e.body ?? void 0);
11377
11436
  }
@@ -11384,8 +11443,8 @@ class vt {
11384
11443
  async #u(e) {
11385
11444
  if (this.#a++, this.#a > this.#e.retry.limit)
11386
11445
  throw e;
11387
- const t = e instanceof Error ? e : new fi(e);
11388
- if (t instanceof Wt)
11446
+ const t = e instanceof Error ? e : new hi(e);
11447
+ if (t instanceof Xt)
11389
11448
  return t.customDelay ?? this.#c();
11390
11449
  if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
11391
11450
  throw e;
@@ -11396,9 +11455,9 @@ class vt {
11396
11455
  if (i === !0)
11397
11456
  return this.#c();
11398
11457
  }
11399
- if ($r(e) && !this.#e.retry.retryOnTimeout)
11458
+ if (Pr(e) && !this.#e.retry.retryOnTimeout)
11400
11459
  throw e;
11401
- if (Er(e)) {
11460
+ if ($r(e)) {
11402
11461
  if (!this.#e.retry.statusCodes.includes(e.response.status))
11403
11462
  throw e;
11404
11463
  const i = e.response.headers.get("Retry-After") ?? e.response.headers.get("RateLimit-Reset") ?? e.response.headers.get("X-RateLimit-Retry-After") ?? e.response.headers.get("X-RateLimit-Reset") ?? e.response.headers.get("X-Rate-Limit-Reset");
@@ -11420,10 +11479,10 @@ class vt {
11420
11479
  try {
11421
11480
  return await e();
11422
11481
  } catch (t) {
11423
- const i = Math.min(await this.#u(t), Gt);
11482
+ const i = Math.min(await this.#u(t), Yt);
11424
11483
  if (this.#a < 1)
11425
11484
  throw t;
11426
- if (await Mr(i, this.#s ? { signal: this.#s } : {}), t instanceof Wt && t.customRequest) {
11485
+ if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof Xt && t.customRequest) {
11427
11486
  const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
11428
11487
  this.#l(s);
11429
11488
  }
@@ -11440,7 +11499,7 @@ class vt {
11440
11499
  }
11441
11500
  if (r instanceof globalThis.Response)
11442
11501
  return r;
11443
- if (r === ui)
11502
+ if (r === pi)
11444
11503
  return;
11445
11504
  }
11446
11505
  return this.#f(e);
@@ -11457,8 +11516,8 @@ class vt {
11457
11516
  break;
11458
11517
  }
11459
11518
  }
11460
- const e = Tr(this.request, this.#e);
11461
- return this.#n = this.request, this.request = this.#n.clone(), this.#e.timeout === !1 ? this.#e.fetch(this.#n, e) : Ar(this.#n, e, this.#i, this.#e);
11519
+ const e = Ir(this.request, this.#e);
11520
+ return this.#n = this.request, this.request = this.#n.clone(), this.#e.timeout === !1 ? this.#e.fetch(this.#n, e) : Mr(this.#n, e, this.#i, this.#e);
11462
11521
  }
11463
11522
  #o() {
11464
11523
  if (!this.#r) {
@@ -11471,16 +11530,16 @@ class vt {
11471
11530
  this.#r = void 0, this.request = this.#h(e);
11472
11531
  }
11473
11532
  #h(e, t) {
11474
- return !this.#e.onUploadProgress || !e.body ? e : vr(e, this.#e.onUploadProgress, t ?? this.#e.body ?? void 0);
11533
+ return !this.#e.onUploadProgress || !e.body ? e : wr(e, this.#e.onUploadProgress, t ?? this.#e.body ?? void 0);
11475
11534
  }
11476
11535
  }
11477
- const ia = (a) => {
11536
+ const sa = (a) => {
11478
11537
  const e = (t, i) => vt.create(t, Et(a, i));
11479
- for (const t of bi)
11538
+ for (const t of ui)
11480
11539
  e[t] = (i, s) => vt.create(i, Et(a, s, { method: t }));
11481
- return e.create = (t) => ia(Et(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), ia(Et(a, t))), e.stop = ui, e.retry = br, e;
11482
- }, Pr = ia();
11483
- Pr.extend({
11540
+ return e.create = (t) => sa(Et(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), sa(Et(a, t))), e.stop = pi, e.retry = ur, e;
11541
+ }, Lr = sa();
11542
+ Lr.extend({
11484
11543
  hooks: {
11485
11544
  beforeRequest: [
11486
11545
  () => {
@@ -11488,7 +11547,7 @@ Pr.extend({
11488
11547
  ]
11489
11548
  }
11490
11549
  });
11491
- async function Lr(a, e) {
11550
+ async function Rr(a, e) {
11492
11551
  const { onmessage: t, onclose: i, ...s } = e, r = async (o, f) => {
11493
11552
  const { value: p, done: v } = await f.read();
11494
11553
  v ? (o.close(), i?.()) : (t?.(p), o.enqueue(p), r(o, f));
@@ -11509,13 +11568,13 @@ async function Lr(a, e) {
11509
11568
  }).text()
11510
11569
  );
11511
11570
  }
11512
- var Rr = Object.defineProperty, zr = Object.getOwnPropertyDescriptor, U = (a, e, t, i) => {
11513
- for (var s = i > 1 ? void 0 : i ? zr(e, t) : e, r = a.length - 1, o; r >= 0; r--)
11571
+ var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, N = (a, e, t, i) => {
11572
+ for (var s = i > 1 ? void 0 : i ? Or(e, t) : e, r = a.length - 1, o; r >= 0; r--)
11514
11573
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
11515
- return i && s && Rr(e, t, s), s;
11574
+ return i && s && zr(e, t, s), s;
11516
11575
  };
11517
- const Oe = Je.noConflict();
11518
- Oe.setLevel("info");
11576
+ const Be = Je.noConflict();
11577
+ Be.setLevel("info");
11519
11578
  let H = class extends re {
11520
11579
  constructor() {
11521
11580
  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 +11595,7 @@ let H = class extends re {
11536
11595
  <rect width="400" height="400" fill="white"/>
11537
11596
  </clipPath>
11538
11597
  </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) => {
11598
+ </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
11599
  this._addMessageHandler(a);
11541
11600
  }, this.handleStateEvent = (a) => {
11542
11601
  this._stateEventHandler(a);
@@ -11544,7 +11603,7 @@ let H = class extends re {
11544
11603
  this._chatbotToggleHandler(a);
11545
11604
  }, this.handleFormSubmitEvent = (a) => {
11546
11605
  this._formSubmitHandler(a);
11547
- }, this.fetchStream = Lr;
11606
+ }, this.fetchStream = Rr;
11548
11607
  }
11549
11608
  /**
11550
11609
  * decodeStreamData
@@ -11579,7 +11638,7 @@ let H = class extends re {
11579
11638
  b.addActions(a);
11580
11639
  }
11581
11640
  render() {
11582
- return b.disabled && !this.alwaysOpen ? (Oe.info("Bot is disabled until settings are loaded"), null) : u`
11641
+ return b.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : u`
11583
11642
  <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
11643
  <cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
11585
11644
  <cb-message-list
@@ -11629,7 +11688,7 @@ let H = class extends re {
11629
11688
  ></cb-user-input>`;
11630
11689
  }
11631
11690
  connectedCallback() {
11632
- super.connectedCallback(), Oe.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);
11691
+ 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
11692
  }
11634
11693
  extractCssVariable(a, e, t) {
11635
11694
  let i = a.getPropertyValue(e).trim();
@@ -11658,26 +11717,26 @@ let H = class extends re {
11658
11717
 
11659
11718
  */
11660
11719
  disconnectedCallback() {
11661
- Oe.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);
11720
+ 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
11721
  }
11663
11722
  // This is called when component is loaded, with all the settings (props) values
11664
11723
  // Use to initialize
11665
11724
  // This is also called when state changes - ??? - i.e. when message added to the array
11666
11725
  updated(a) {
11667
- super.updated(a), a.size > 0 && (Oe.info("updated,_changedProperties:", a), this._initSetting()), !this._scrollToBottomTimeout && (this._scrollToBottomTimeout = setTimeout(() => {
11726
+ super.updated(a), a.size > 0 && (Be.info("updated,_changedProperties:", a), this._initSetting()), !this._scrollToBottomTimeout && (this._scrollToBottomTimeout = setTimeout(() => {
11668
11727
  this._scrollToBottom(), this._scrollToBottomTimeout = void 0;
11669
11728
  }, 200));
11670
11729
  }
11671
11730
  // initialize setting
11672
11731
  _initSetting() {
11673
- Oe.info("_initSetting");
11732
+ Be.info("_initSetting");
11674
11733
  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);
11734
+ 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
11735
  let e = {};
11677
11736
  try {
11678
11737
  e = JSON.parse(this.prefilledFormFields);
11679
11738
  } catch (t) {
11680
- Oe.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
11739
+ Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
11681
11740
  }
11682
11741
  b.setPrefilledFormFields(e), this.open && (b.open = !0), this.alwaysOpen && (b.open = !0, b.alwaysOpen = !0);
11683
11742
  }
@@ -11712,7 +11771,7 @@ let H = class extends re {
11712
11771
  // for example, user profile, current product user is viewing on the web page, etc.
11713
11772
  setContext(a = {}) {
11714
11773
  b.setContext(a).catch((e) => {
11715
- Oe.error(`Failed to set context, error: ${e?.message || ""}`);
11774
+ Be.error(`Failed to set context, error: ${e?.message || ""}`);
11716
11775
  });
11717
11776
  }
11718
11777
  getContext() {
@@ -11759,9 +11818,6 @@ let H = class extends re {
11759
11818
  }
11760
11819
  }
11761
11820
  }
11762
- sanitizeInputText(a) {
11763
- return !a || typeof a != "string" ? "" : a.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
11764
- }
11765
11821
  sendMessage(a) {
11766
11822
  if (!a || typeof a != "string" || a.trim() === "") {
11767
11823
  console.log("sendMessage: input text is empty or not string, ignored", a);
@@ -11778,6 +11834,10 @@ let H = class extends re {
11778
11834
  return this._processSendMessage(e);
11779
11835
  }
11780
11836
  // [sv2] for testing only
11837
+ processAgentConnected(a) {
11838
+ b.handleAgentConnected(a).catch((e) => {
11839
+ });
11840
+ }
11781
11841
  processAgentDisconnected(a) {
11782
11842
  b.handleAgentDisconnected(a).catch((e) => {
11783
11843
  });
@@ -11787,7 +11847,7 @@ let H = class extends re {
11787
11847
  console.log("_processSendMessage: input text is empty, ignored", a);
11788
11848
  return;
11789
11849
  }
11790
- a.data.text = this.sanitizeInputText(a.data.text.trim()), b.isConversationStart() && (console.log("Start of conversation detected, emitting c7o:bot:conversationStart", a), a.conversationId = b.conversationId, this.emitExt("c7o:bot:conversationStart", {
11850
+ a.data.text = Vt(a.data.text.trim()), b.isConversationStart() && (console.log("Start of conversation detected, emitting c7o:bot:conversationStart", a), a.conversationId = b.conversationId, this.emitExt("c7o:bot:conversationStart", {
11791
11851
  detail: a
11792
11852
  })), b.sendMessage(a), setTimeout(() => {
11793
11853
  this._scrollToBottom();
@@ -11815,7 +11875,7 @@ let H = class extends re {
11815
11875
  await b.uploadFiles(e.files);
11816
11876
  }
11817
11877
  async _audioToggleHandler(a) {
11818
- Oe.info("_audioToggleHandler called"), await b.toggleAudio();
11878
+ Be.info("_audioToggleHandler called"), await b.toggleAudio();
11819
11879
  }
11820
11880
  // setting confirm handler
11821
11881
  _settingConfirmHandler(a) {
@@ -11833,96 +11893,99 @@ let H = class extends re {
11833
11893
  this._messageList?.scrollToBottom();
11834
11894
  }
11835
11895
  };
11836
- H.styles = [Gi, Ka];
11837
- U([
11896
+ H.styles = [Xi, Ka];
11897
+ N([
11838
11898
  x({ type: Boolean, attribute: "display-license" })
11839
11899
  ], H.prototype, "displayLicense", 2);
11840
- U([
11900
+ N([
11841
11901
  x({ type: String, attribute: "name" })
11842
11902
  ], H.prototype, "name", 2);
11843
- U([
11903
+ N([
11844
11904
  x({ type: String, attribute: "org-id" })
11845
11905
  ], H.prototype, "orgId", 2);
11846
- U([
11906
+ N([
11847
11907
  x({ type: String, attribute: "bot-id" })
11848
11908
  ], H.prototype, "botId", 2);
11849
- U([
11909
+ N([
11850
11910
  x({ type: String, attribute: "url" })
11851
11911
  ], H.prototype, "url", 2);
11852
- U([
11912
+ N([
11853
11913
  x({ type: String, attribute: "logo-url" })
11854
11914
  ], H.prototype, "logoUrl", 2);
11855
- U([
11915
+ N([
11856
11916
  x({ type: String, attribute: "logo-svg" })
11857
11917
  ], H.prototype, "logoSvg", 2);
11858
- U([
11918
+ N([
11859
11919
  x({ type: String, attribute: "close-svg" })
11860
11920
  ], H.prototype, "closeSvg", 2);
11861
- U([
11921
+ N([
11862
11922
  x({ type: String, attribute: "popup-logo-svg" })
11863
11923
  ], H.prototype, "popupLogoSvg", 2);
11864
- U([
11924
+ N([
11865
11925
  x({ type: String, attribute: "popup-logo-url" })
11866
11926
  ], H.prototype, "popupLogoUrl", 2);
11867
- U([
11927
+ N([
11868
11928
  x({ type: String, attribute: "bot-icon-svg" })
11869
11929
  ], H.prototype, "botIconSvg", 2);
11870
- U([
11930
+ N([
11871
11931
  x({ type: String, attribute: "user-icon-svg" })
11872
11932
  ], H.prototype, "userIconSvg", 2);
11873
- U([
11933
+ N([
11874
11934
  x({ type: String, attribute: "system-icon-svg" })
11875
11935
  ], H.prototype, "systemIconSvg", 2);
11876
- U([
11936
+ N([
11877
11937
  x({ type: String, attribute: "agent-icon-svg" })
11878
11938
  ], H.prototype, "agentIconSvg", 2);
11879
- U([
11939
+ N([
11940
+ x({ type: String, attribute: "info-icon-svg" })
11941
+ ], H.prototype, "infoIconSvg", 2);
11942
+ N([
11880
11943
  x({ type: String, attribute: "anchor-open-svg" })
11881
11944
  ], H.prototype, "anchorOpenSvg", 2);
11882
- U([
11945
+ N([
11883
11946
  x({ type: String, attribute: "anchor-close-svg" })
11884
11947
  ], H.prototype, "anchorCloseSvg", 2);
11885
- U([
11948
+ N([
11886
11949
  x({ type: String, attribute: "send-icon-svg" })
11887
11950
  ], H.prototype, "sendIconSvg", 2);
11888
- U([
11951
+ N([
11889
11952
  x({ type: String, attribute: "attach-icon-svg" })
11890
11953
  ], H.prototype, "attachIconSvg", 2);
11891
- U([
11954
+ N([
11892
11955
  x({ type: Boolean, attribute: "stream" })
11893
11956
  ], H.prototype, "stream", 2);
11894
- U([
11957
+ N([
11895
11958
  x({ type: Boolean, attribute: "custom-request" })
11896
11959
  ], H.prototype, "customRequest", 2);
11897
- U([
11960
+ N([
11898
11961
  x({ type: Boolean, attribute: "enable-file-upload" })
11899
11962
  ], H.prototype, "enableFileUpload", 2);
11900
- U([
11963
+ N([
11901
11964
  x({ type: String, attribute: "upload-file-url" })
11902
11965
  ], H.prototype, "uploadFileUrl", 2);
11903
- U([
11966
+ N([
11904
11967
  x({ type: Boolean, attribute: "open" })
11905
11968
  ], H.prototype, "open", 2);
11906
- U([
11969
+ N([
11907
11970
  x({ type: Boolean, attribute: "always-open" })
11908
11971
  ], H.prototype, "alwaysOpen", 2);
11909
- U([
11972
+ N([
11910
11973
  x({ type: String, attribute: "prefilled-form-fields" })
11911
11974
  ], H.prototype, "prefilledFormFields", 2);
11912
- U([
11975
+ N([
11913
11976
  x({ type: Boolean })
11914
11977
  ], H.prototype, "loading", 2);
11915
- U([
11978
+ N([
11916
11979
  x({ type: Boolean })
11917
11980
  ], H.prototype, "showSetting", 2);
11918
- U([
11981
+ N([
11919
11982
  x({ type: Boolean })
11920
11983
  ], H.prototype, "showAuthAlert", 2);
11921
- U([
11984
+ N([
11922
11985
  xe("cb-message-list")
11923
11986
  ], H.prototype, "_messageList", 2);
11924
- H = U([
11925
- K("enegelai-bot")
11987
+ H = N([
11988
+ Z("enegelai-bot")
11926
11989
  ], H);
11927
11990
  export {
11928
11991
  H as default