@enegelai/bot-widget 1.2.5 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,9 +1,9 @@
1
- var pt = Object.defineProperty;
2
- var ht = (t, e, o) => e in t ? pt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o;
3
- var j = (t, e, o) => (ht(t, typeof e != "symbol" ? e + "" : e, o), o);
4
- import { css as x, LitElement as de, html as c, svg as ve } from "lit";
5
- import { property as l, customElement as k, queryAll as ut, query as pe, eventOptions as qe } from "lit/decorators.js";
6
- import { unsafeHTML as q } from "lit-html/directives/unsafe-html.js";
1
+ var ic = Object.defineProperty;
2
+ var lc = (c, e, a) => e in c ? ic(c, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : c[e] = a;
3
+ var j = (c, e, a) => (lc(c, typeof e != "symbol" ? e + "" : e, a), a);
4
+ import { css as x, LitElement as ie, html as s, svg as ae } from "lit";
5
+ import { property as r, customElement as k, queryAll as pc, query as le, eventOptions as qe } from "lit/decorators.js";
6
+ import { unsafeHTML as B } from "lit-html/directives/unsafe-html.js";
7
7
  import "@shoelace-style/shoelace/dist/themes/light.css";
8
8
  import "@shoelace-style/shoelace/dist/themes/dark.css";
9
9
  import "@shoelace-style/shoelace/dist/components/button/button.js";
@@ -24,39 +24,39 @@ import "@shoelace-style/shoelace/dist/components/alert/alert.js";
24
24
  import { repeat as we } from "lit/directives/repeat.js";
25
25
  import { when as D } from "lit/directives/when.js";
26
26
  import { until as Ie } from "lit-html/directives/until.js";
27
- import gt from "markdown-it";
28
- import bt from "markdown-it-link-attributes";
27
+ import hc from "markdown-it";
28
+ import uc from "markdown-it-link-attributes";
29
29
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
30
- function De(t) {
31
- return typeof t == "function" ? t() : t;
30
+ function De(c) {
31
+ return typeof c == "function" ? c() : c;
32
32
  }
33
- const ce = class ce extends Event {
33
+ const ne = class ne extends Event {
34
34
  /**
35
35
  * @param {string} key of the state that has changed
36
36
  * @param {unknown} value for the changed key
37
37
  */
38
- constructor(o, a, r) {
39
- super(ce.eventName, {
38
+ constructor(a, f, t) {
39
+ super(ne.eventName, {
40
40
  cancelable: !1
41
41
  });
42
42
  j(this, "key");
43
43
  j(this, "state");
44
44
  j(this, "value");
45
- this.key = o, this.value = a, this.state = r;
45
+ this.key = a, this.value = f, this.state = t;
46
46
  }
47
47
  };
48
- j(ce, "eventName", "lit-state-changed");
49
- let B = ce;
50
- const mt = (t, e) => e !== t && (e === e || t === t);
48
+ j(ne, "eventName", "lit-state-changed");
49
+ let R = ne;
50
+ const gc = (c, e) => e !== c && (e === e || c === c);
51
51
  class X extends EventTarget {
52
52
  constructor() {
53
53
  super();
54
54
  // hold a reference to hooks
55
55
  j(this, "hookMap", /* @__PURE__ */ new Map());
56
- this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([o, a]) => {
57
- if (a.initialValue !== void 0) {
58
- const r = De(a.initialValue);
59
- this[o] = r, a.value = r;
56
+ this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([a, f]) => {
57
+ if (f.initialValue !== void 0) {
58
+ const t = De(f.initialValue);
59
+ this[a] = t, f.value = t;
60
60
  }
61
61
  });
62
62
  }
@@ -64,31 +64,31 @@ class X extends EventTarget {
64
64
  return this.constructor.propertyMap;
65
65
  }
66
66
  get stateValue() {
67
- return Object.fromEntries([...this.propertyMap].map(([o]) => [o, this[o]]));
67
+ return Object.fromEntries([...this.propertyMap].map(([a]) => [a, this[a]]));
68
68
  }
69
69
  static finalize() {
70
70
  if (this.finalized)
71
71
  return !1;
72
72
  this.finalized = !0;
73
- const o = Object.keys(this.properties || {});
74
- for (const a of o)
75
- this.createProperty(a, this.properties[a]);
73
+ const a = Object.keys(this.properties || {});
74
+ for (const f of a)
75
+ this.createProperty(f, this.properties[f]);
76
76
  return !0;
77
77
  }
78
- static createProperty(o, a) {
78
+ static createProperty(a, f) {
79
79
  this.finalize();
80
- const r = typeof o == "symbol" ? Symbol() : `__${o}`, s = this.getPropertyDescriptor(o, r, a);
81
- Object.defineProperty(this.prototype, o, s);
80
+ const t = typeof a == "symbol" ? Symbol() : `__${a}`, o = this.getPropertyDescriptor(a, t, f);
81
+ Object.defineProperty(this.prototype, a, o);
82
82
  }
83
- static getPropertyDescriptor(o, a, r) {
84
- const s = (r == null ? void 0 : r.hasChanged) || mt;
83
+ static getPropertyDescriptor(a, f, t) {
84
+ const o = (t == null ? void 0 : t.hasChanged) || gc;
85
85
  return {
86
86
  get() {
87
- return this[a];
87
+ return this[f];
88
88
  },
89
- set(n) {
90
- const i = this[o];
91
- this[a] = n, s(n, i) === !0 && this.dispatchStateEvent(o, n, this);
89
+ set(d) {
90
+ const b = this[a];
91
+ this[f] = d, o(d, b) === !0 && this.dispatchStateEvent(a, d, this);
92
92
  },
93
93
  configurable: !0,
94
94
  enumerable: !0
@@ -99,8 +99,8 @@ class X extends EventTarget {
99
99
  * properties marked as skipReset
100
100
  */
101
101
  reset() {
102
- this.hookMap.forEach((o) => o.reset()), [...this.propertyMap].filter(([o, a]) => !(a.skipReset === !0 || a.resetValue === void 0)).forEach(([o, a]) => {
103
- this[o] = a.resetValue;
102
+ this.hookMap.forEach((a) => a.reset()), [...this.propertyMap].filter(([a, f]) => !(f.skipReset === !0 || f.resetValue === void 0)).forEach(([a, f]) => {
103
+ this[a] = f.resetValue;
104
104
  });
105
105
  }
106
106
  /**
@@ -111,31 +111,31 @@ class X extends EventTarget {
111
111
  * @param nameOrNames
112
112
  * @returns a unsubscribe function.
113
113
  */
114
- subscribe(o, a, r) {
115
- a && !Array.isArray(a) && (a = [a]);
116
- const s = (n) => {
117
- (!a || a.includes(n.key)) && o(n.key, n.value, this);
114
+ subscribe(a, f, t) {
115
+ f && !Array.isArray(f) && (f = [f]);
116
+ const o = (d) => {
117
+ (!f || f.includes(d.key)) && a(d.key, d.value, this);
118
118
  };
119
- return this.addEventListener(B.eventName, s, r), () => this.removeEventListener(B.eventName, s);
119
+ return this.addEventListener(R.eventName, o, t), () => this.removeEventListener(R.eventName, o);
120
120
  }
121
- dispatchStateEvent(o, a, r) {
122
- this.dispatchEvent(new B(o, a, r));
121
+ dispatchStateEvent(a, f, t) {
122
+ this.dispatchEvent(new R(a, f, t));
123
123
  }
124
124
  }
125
125
  // a map holding decorators definition.
126
126
  j(X, "propertyMap"), j(X, "properties"), j(X, "finalized", !1);
127
127
  class Fe {
128
- constructor(e, o, a) {
128
+ constructor(e, a, f) {
129
129
  j(this, "host");
130
130
  j(this, "state");
131
131
  j(this, "callback");
132
- this.host = e, this.state = o, this.host.addController(this), this.callback = a || (() => this.host.requestUpdate());
132
+ this.host = e, this.state = a, this.host.addController(this), this.callback = f || (() => this.host.requestUpdate());
133
133
  }
134
134
  hostConnected() {
135
- this.state.addEventListener(B.eventName, this.callback), this.callback();
135
+ this.state.addEventListener(R.eventName, this.callback), this.callback();
136
136
  }
137
137
  hostDisconnected() {
138
- this.state.removeEventListener(B.eventName, this.callback);
138
+ this.state.removeEventListener(R.eventName, this.callback);
139
139
  }
140
140
  }
141
141
  /**
@@ -143,122 +143,122 @@ class Fe {
143
143
  * Copyright 2017 Google LLC
144
144
  * SPDX-License-Identifier: BSD-3-Clause
145
145
  */
146
- const Ue = ({ finisher: t, descriptor: e }) => (o, a) => {
147
- var r;
148
- if (a === void 0) {
149
- const s = (r = o.originalKey) !== null && r !== void 0 ? r : o.key, n = e != null ? { kind: "method", placement: "prototype", key: s, descriptor: e(o.key) } : { ...o, key: s };
150
- return t != null && (n.finisher = function(i) {
151
- t(i, s);
152
- }), n;
146
+ const Ue = ({ finisher: c, descriptor: e }) => (a, f) => {
147
+ var t;
148
+ if (f === void 0) {
149
+ const o = (t = a.originalKey) !== null && t !== void 0 ? t : a.key, d = e != null ? { kind: "method", placement: "prototype", key: o, descriptor: e(a.key) } : { ...a, key: o };
150
+ return c != null && (d.finisher = function(b) {
151
+ c(b, o);
152
+ }), d;
153
153
  }
154
154
  {
155
- const s = o.constructor;
156
- e !== void 0 && Object.defineProperty(o, a, e(a)), t == null || t(s, a);
155
+ const o = a.constructor;
156
+ e !== void 0 && Object.defineProperty(a, f, e(f)), c == null || c(o, f);
157
157
  }
158
158
  };
159
- function L(t) {
159
+ function O(c) {
160
160
  return Ue({
161
161
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
162
- finisher: (e, o) => {
163
- if (Object.getOwnPropertyDescriptor(e.prototype, o))
162
+ finisher: (e, a) => {
163
+ if (Object.getOwnPropertyDescriptor(e.prototype, a))
164
164
  throw new Error("@property must be called before all state decorators");
165
- return e.propertyMap || (e.propertyMap = /* @__PURE__ */ new Map()), e.propertyMap.set(o, { ...t, initialValue: t == null ? void 0 : t.value, resetValue: t == null ? void 0 : t.value }), e.createProperty(o, t);
165
+ return e.propertyMap || (e.propertyMap = /* @__PURE__ */ new Map()), e.propertyMap.set(a, { ...c, initialValue: c == null ? void 0 : c.value, resetValue: c == null ? void 0 : c.value }), e.createProperty(a, c);
166
166
  }
167
167
  });
168
168
  }
169
- function yt(t, e) {
170
- if (t !== null && (e === Boolean || e === Number || e === Array || e === Object))
169
+ function mc(c, e) {
170
+ if (c !== null && (e === Boolean || e === Number || e === Array || e === Object))
171
171
  try {
172
- t = JSON.parse(t);
172
+ c = JSON.parse(c);
173
173
  } catch {
174
- console.warn("cannot parse value", t);
174
+ console.warn("cannot parse value", c);
175
175
  }
176
- return t;
176
+ return c;
177
177
  }
178
178
  new URL(window.location.href);
179
- const ft = {
179
+ const yc = {
180
180
  prefix: "_ls"
181
181
  };
182
- function R(t) {
183
- return t = { ...ft, ...t }, Ue({
182
+ function V(c) {
183
+ return c = { ...yc, ...c }, Ue({
184
184
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
185
- finisher: (e, o) => {
186
- const a = Object.getOwnPropertyDescriptor(e.prototype, o);
187
- if (!a)
185
+ finisher: (e, a) => {
186
+ const f = Object.getOwnPropertyDescriptor(e.prototype, a);
187
+ if (!f)
188
188
  throw new Error("@local-storage decorator need to be called after @property");
189
- const r = `${(t == null ? void 0 : t.prefix) || ""}_${(t == null ? void 0 : t.key) || String(o)}`, s = e.propertyMap.get(o), n = s == null ? void 0 : s.type;
190
- if (s) {
191
- const y = s.initialValue;
192
- s.initialValue = () => yt(localStorage.getItem(r), n) ?? De(y), e.propertyMap.set(o, { ...s, ...t });
189
+ const t = `${(c == null ? void 0 : c.prefix) || ""}_${(c == null ? void 0 : c.key) || String(a)}`, o = e.propertyMap.get(a), d = o == null ? void 0 : o.type;
190
+ if (o) {
191
+ const m = o.initialValue;
192
+ o.initialValue = () => mc(localStorage.getItem(t), d) ?? De(m), e.propertyMap.set(a, { ...o, ...c });
193
193
  }
194
- const i = a == null ? void 0 : a.set, m = {
195
- ...a,
196
- set: function(y) {
197
- y !== void 0 && localStorage.setItem(r, n === Object || n === Array ? JSON.stringify(y) : y), i && i.call(this, y);
194
+ const b = f == null ? void 0 : f.set, g = {
195
+ ...f,
196
+ set: function(m) {
197
+ m !== void 0 && localStorage.setItem(t, d === Object || d === Array ? JSON.stringify(m) : m), b && b.call(this, m);
198
198
  }
199
199
  };
200
- Object.defineProperty(e.prototype, o, m);
200
+ Object.defineProperty(e.prototype, a, g);
201
201
  }
202
202
  });
203
203
  }
204
- var vt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
205
- function wt(t) {
206
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
204
+ var vc = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
205
+ function wc(c) {
206
+ return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c;
207
207
  }
208
208
  var Ze = { exports: {} };
209
- (function(t) {
210
- (function(e, o) {
211
- t.exports ? t.exports = o() : e.log = o();
212
- })(vt, function() {
209
+ (function(c) {
210
+ (function(e, a) {
211
+ c.exports ? c.exports = a() : e.log = a();
212
+ })(vc, function() {
213
213
  var e = function() {
214
- }, o = "undefined", a = typeof window !== o && typeof window.navigator !== o && /Trident\/|MSIE /.test(window.navigator.userAgent), r = [
214
+ }, a = "undefined", f = typeof window !== a && typeof window.navigator !== a && /Trident\/|MSIE /.test(window.navigator.userAgent), t = [
215
215
  "trace",
216
216
  "debug",
217
217
  "info",
218
218
  "warn",
219
219
  "error"
220
220
  ];
221
- function s(u, f) {
222
- var w = u[f];
221
+ function o(p, y) {
222
+ var w = p[y];
223
223
  if (typeof w.bind == "function")
224
- return w.bind(u);
224
+ return w.bind(p);
225
225
  try {
226
- return Function.prototype.bind.call(w, u);
226
+ return Function.prototype.bind.call(w, p);
227
227
  } catch {
228
228
  return function() {
229
- return Function.prototype.apply.apply(w, [u, arguments]);
229
+ return Function.prototype.apply.apply(w, [p, arguments]);
230
230
  };
231
231
  }
232
232
  }
233
- function n() {
233
+ function d() {
234
234
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
235
235
  }
236
- function i(u) {
237
- return u === "debug" && (u = "log"), typeof console === o ? !1 : u === "trace" && a ? n : console[u] !== void 0 ? s(console, u) : console.log !== void 0 ? s(console, "log") : e;
236
+ function b(p) {
237
+ return p === "debug" && (p = "log"), typeof console === a ? !1 : p === "trace" && f ? d : console[p] !== void 0 ? o(console, p) : console.log !== void 0 ? o(console, "log") : e;
238
238
  }
239
- function g(u, f) {
240
- for (var w = 0; w < r.length; w++) {
241
- var h = r[w];
242
- this[h] = w < u ? e : this.methodFactory(h, u, f);
239
+ function h(p, y) {
240
+ for (var w = 0; w < t.length; w++) {
241
+ var l = t[w];
242
+ this[l] = w < p ? e : this.methodFactory(l, p, y);
243
243
  }
244
244
  this.log = this.debug;
245
245
  }
246
- function m(u, f, w) {
246
+ function g(p, y, w) {
247
247
  return function() {
248
- typeof console !== o && (g.call(this, f, w), this[u].apply(this, arguments));
248
+ typeof console !== a && (h.call(this, y, w), this[p].apply(this, arguments));
249
249
  };
250
250
  }
251
- function y(u, f, w) {
252
- return i(u) || m.apply(this, arguments);
251
+ function m(p, y, w) {
252
+ return b(p) || g.apply(this, arguments);
253
253
  }
254
- function be(u, f, w) {
255
- var h = this, Le;
256
- f = f ?? "WARN";
254
+ function ge(p, y, w) {
255
+ var l = this, Oe;
256
+ y = y ?? "WARN";
257
257
  var A = "loglevel";
258
- typeof u == "string" ? A += ":" + u : typeof u == "symbol" && (A = void 0);
259
- function lt(p) {
260
- var T = (r[p] || "silent").toUpperCase();
261
- if (!(typeof window === o || !A)) {
258
+ typeof p == "string" ? A += ":" + p : typeof p == "symbol" && (A = void 0);
259
+ function rc(i) {
260
+ var T = (t[i] || "silent").toUpperCase();
261
+ if (!(typeof window === a || !A)) {
262
262
  try {
263
263
  window.localStorage[A] = T;
264
264
  return;
@@ -271,25 +271,25 @@ var Ze = { exports: {} };
271
271
  }
272
272
  }
273
273
  function He() {
274
- var p;
275
- if (!(typeof window === o || !A)) {
274
+ var i;
275
+ if (!(typeof window === a || !A)) {
276
276
  try {
277
- p = window.localStorage[A];
277
+ i = window.localStorage[A];
278
278
  } catch {
279
279
  }
280
- if (typeof p === o)
280
+ if (typeof i === a)
281
281
  try {
282
282
  var T = window.document.cookie, Y = T.indexOf(
283
283
  encodeURIComponent(A) + "="
284
284
  );
285
- Y !== -1 && (p = /^([^;]+)/.exec(T.slice(Y))[1]);
285
+ Y !== -1 && (i = /^([^;]+)/.exec(T.slice(Y))[1]);
286
286
  } catch {
287
287
  }
288
- return h.levels[p] === void 0 && (p = void 0), p;
288
+ return l.levels[i] === void 0 && (i = void 0), i;
289
289
  }
290
290
  }
291
- function ct() {
292
- if (!(typeof window === o || !A)) {
291
+ function sc() {
292
+ if (!(typeof window === a || !A)) {
293
293
  try {
294
294
  window.localStorage.removeItem(A);
295
295
  return;
@@ -301,54 +301,54 @@ var Ze = { exports: {} };
301
301
  }
302
302
  }
303
303
  }
304
- h.name = u, h.levels = {
304
+ l.name = p, l.levels = {
305
305
  TRACE: 0,
306
306
  DEBUG: 1,
307
307
  INFO: 2,
308
308
  WARN: 3,
309
309
  ERROR: 4,
310
310
  SILENT: 5
311
- }, h.methodFactory = w || y, h.getLevel = function() {
312
- return Le;
313
- }, h.setLevel = function(p, T) {
314
- if (typeof p == "string" && h.levels[p.toUpperCase()] !== void 0 && (p = h.levels[p.toUpperCase()]), typeof p == "number" && p >= 0 && p <= h.levels.SILENT) {
315
- if (Le = p, T !== !1 && lt(p), g.call(h, p, u), typeof console === o && p < h.levels.SILENT)
311
+ }, l.methodFactory = w || m, l.getLevel = function() {
312
+ return Oe;
313
+ }, l.setLevel = function(i, T) {
314
+ if (typeof i == "string" && l.levels[i.toUpperCase()] !== void 0 && (i = l.levels[i.toUpperCase()]), typeof i == "number" && i >= 0 && i <= l.levels.SILENT) {
315
+ if (Oe = i, T !== !1 && rc(i), h.call(l, i, p), typeof console === a && i < l.levels.SILENT)
316
316
  return "No console available for logging";
317
317
  } else
318
- throw "log.setLevel() called with invalid level: " + p;
319
- }, h.setDefaultLevel = function(p) {
320
- f = p, He() || h.setLevel(p, !1);
321
- }, h.resetLevel = function() {
322
- h.setLevel(f, !1), ct();
323
- }, h.enableAll = function(p) {
324
- h.setLevel(h.levels.TRACE, p);
325
- }, h.disableAll = function(p) {
326
- h.setLevel(h.levels.SILENT, p);
318
+ throw "log.setLevel() called with invalid level: " + i;
319
+ }, l.setDefaultLevel = function(i) {
320
+ y = i, He() || l.setLevel(i, !1);
321
+ }, l.resetLevel = function() {
322
+ l.setLevel(y, !1), sc();
323
+ }, l.enableAll = function(i) {
324
+ l.setLevel(l.levels.TRACE, i);
325
+ }, l.disableAll = function(i) {
326
+ l.setLevel(l.levels.SILENT, i);
327
327
  };
328
328
  var ye = He();
329
- ye == null && (ye = f), h.setLevel(ye, !1);
329
+ ye == null && (ye = y), l.setLevel(ye, !1);
330
330
  }
331
- var S = new be(), me = {};
332
- S.getLogger = function(f) {
333
- if (typeof f != "symbol" && typeof f != "string" || f === "")
331
+ var S = new ge(), me = {};
332
+ S.getLogger = function(y) {
333
+ if (typeof y != "symbol" && typeof y != "string" || y === "")
334
334
  throw new TypeError("You must supply a name when creating a logger.");
335
- var w = me[f];
336
- return w || (w = me[f] = new be(
337
- f,
335
+ var w = me[y];
336
+ return w || (w = me[y] = new ge(
337
+ y,
338
338
  S.getLevel(),
339
339
  S.methodFactory
340
340
  )), w;
341
341
  };
342
- var it = typeof window !== o ? window.log : void 0;
342
+ var bc = typeof window !== a ? window.log : void 0;
343
343
  return S.noConflict = function() {
344
- return typeof window !== o && window.log === S && (window.log = it), S;
344
+ return typeof window !== a && window.log === S && (window.log = bc), S;
345
345
  }, S.getLoggers = function() {
346
346
  return me;
347
347
  }, S.default = S, S;
348
348
  });
349
349
  })(Ze);
350
- var xt = Ze.exports;
351
- const he = /* @__PURE__ */ wt(xt), kt = x`
350
+ var xc = Ze.exports;
351
+ const pe = /* @__PURE__ */ wc(xc), kc = x`
352
352
  :host {
353
353
  }
354
354
  .cb-wrapper {
@@ -505,99 +505,99 @@ const he = /* @__PURE__ */ wt(xt), kt = x`
505
505
  color: white;
506
506
  }
507
507
  `;
508
- var _t = Object.defineProperty, Ct = Object.getOwnPropertyDescriptor, Me = (t, e, o, a) => {
509
- for (var r = a > 1 ? void 0 : a ? Ct(e, o) : e, s = t.length - 1, n; s >= 0; s--)
510
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
511
- return a && r && _t(e, o, r), r;
508
+ var _c = Object.defineProperty, Cc = Object.getOwnPropertyDescriptor, Me = (c, e, a, f) => {
509
+ for (var t = f > 1 ? void 0 : f ? Cc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
510
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
511
+ return f && t && _c(e, a, t), t;
512
512
  };
513
- let W = class extends de {
513
+ let W = class extends ie {
514
514
  constructor() {
515
515
  super(...arguments), this.color = "primary", this.svg = "";
516
516
  }
517
517
  render() {
518
- return c`<span class="cb-icon color-${this.color}" part="base"
519
- >${q(this.svg)}</span
518
+ return s`<span class="cb-icon color-${this.color}" part="base"
519
+ >${B(this.svg)}</span
520
520
  >`;
521
521
  }
522
522
  };
523
523
  W.styles = Ne;
524
524
  Me([
525
- l({ type: String })
525
+ r({ type: String })
526
526
  ], W.prototype, "color", 2);
527
527
  Me([
528
- l({ type: String })
528
+ r({ type: String })
529
529
  ], W.prototype, "svg", 2);
530
530
  W = Me([
531
531
  k("cb-icon")
532
532
  ], W);
533
- let $t = (t) => crypto.getRandomValues(new Uint8Array(t)), jt = (t, e, o) => {
534
- let a = (2 << Math.log(t.length - 1) / Math.LN2) - 1, r = -~(1.6 * a * e / t.length);
535
- return (s = e) => {
536
- let n = "";
533
+ let $c = (c) => crypto.getRandomValues(new Uint8Array(c)), jc = (c, e, a) => {
534
+ let f = (2 << Math.log(c.length - 1) / Math.LN2) - 1, t = -~(1.6 * f * e / c.length);
535
+ return (o = e) => {
536
+ let d = "";
537
537
  for (; ; ) {
538
- let i = o(r), g = r;
539
- for (; g--; )
540
- if (n += t[i[g] & a] || "", n.length === s)
541
- return n;
538
+ let b = a(t), h = t;
539
+ for (; h--; )
540
+ if (d += c[b[h] & f] || "", d.length === o)
541
+ return d;
542
542
  }
543
543
  };
544
- }, Mt = (t, e = 21) => jt(t, e, $t);
545
- const St = Mt("1234567890abcdefghijklmnopqrstuvwxyz", 10);
546
- function xe(t = 10) {
547
- return St(t);
544
+ }, Mc = (c, e = 21) => jc(c, e, $c);
545
+ const Sc = Mc("1234567890abcdefghijklmnopqrstuvwxyz", 10);
546
+ function xe(c = 10) {
547
+ return Sc(c);
548
548
  }
549
- function At(t) {
550
- return new Promise((e, o) => {
549
+ function Ac(c) {
550
+ return new Promise((e, a) => {
551
551
  try {
552
- navigator.clipboard.writeText(t).then(() => {
553
- e(t);
552
+ navigator.clipboard.writeText(c).then(() => {
553
+ e(c);
554
554
  });
555
- } catch (a) {
556
- o(a);
555
+ } catch (f) {
556
+ a(f);
557
557
  }
558
558
  });
559
559
  }
560
- function Ot(t = !0) {
560
+ function Lc(c = !0) {
561
561
  return new Promise((e) => {
562
- const o = document.createElement("input");
563
- o.type = "file", t && (o.multiple = !0), o.style.display = "none", o.addEventListener("change", () => {
564
- const a = Array.prototype.slice.call(o.files);
565
- e(a);
566
- }), o.click();
562
+ const a = document.createElement("input");
563
+ a.type = "file", c && (a.multiple = !0), a.style.display = "none", a.addEventListener("change", () => {
564
+ const f = Array.prototype.slice.call(a.files);
565
+ e(f);
566
+ }), a.click();
567
567
  });
568
568
  }
569
- const _ = he.noConflict();
569
+ const _ = pe.noConflict();
570
570
  _.setLevel("info");
571
- class Lt {
571
+ class Oc {
572
572
  constructor(e = {}) {
573
- this.id = 0, this.url = (e == null ? void 0 : e.url) || null, this.orgId = (e == null ? void 0 : e.orgId) || null, this.botId = (e == null ? void 0 : e.botId) || null, this.convId = (e == null ? void 0 : e.convId) || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (e == null ? void 0 : e.onMessage) || null, this.queue = [], this.pause = (o) => new Promise((a) => setTimeout(a, o)), _.info(`WSC: Created, url: ${this.url}`);
573
+ this.id = 0, this.url = (e == null ? void 0 : e.url) || null, this.orgId = (e == null ? void 0 : e.orgId) || null, this.botId = (e == null ? void 0 : e.botId) || null, this.convId = (e == null ? void 0 : e.convId) || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (e == null ? void 0 : e.onMessage) || null, this.queue = [], this.pause = (a) => new Promise((f) => setTimeout(f, a)), _.info(`WSC: Created, url: ${this.url}`);
574
574
  }
575
575
  connect(e = {}) {
576
576
  if (this.url = (e == null ? void 0 : e.url) || this.url, this.connected = !1, !this.url)
577
577
  return _.error("WSC: URL must be provided to connect"), null;
578
- const o = this.url;
579
- _.info(`WSC: Connecting to ${o} ...`), this._ws = new WebSocket(o);
580
- let a = setTimeout(() => {
578
+ const a = this.url;
579
+ _.info(`WSC: Connecting to ${a} ...`), this._ws = new WebSocket(a);
580
+ let f = setTimeout(() => {
581
581
  _.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
582
582
  }, 15e3);
583
583
  this._ws.onopen = () => {
584
- _.info(`WSC: Connection to ${o} opened`);
585
- }, this._ws.onmessage = (r) => {
586
- let s = (r == null ? void 0 : r.data) || null;
587
- if (!s)
584
+ _.info(`WSC: Connection to ${a} opened`);
585
+ }, this._ws.onmessage = (t) => {
586
+ let o = (t == null ? void 0 : t.data) || null;
587
+ if (!o)
588
588
  return;
589
- let n = null;
589
+ let d = null;
590
590
  try {
591
- n = JSON.parse(s);
591
+ d = JSON.parse(o);
592
592
  } catch {
593
- _.error(`Failed to parse message: ${s}`);
593
+ _.error(`Failed to parse message: ${o}`);
594
594
  return;
595
595
  }
596
- (n == null ? void 0 : n.type) === "connected" && (_.info(`WS[${this.id}] Connected`), clearTimeout(a), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(n);
597
- }, this._ws.onerror = (r) => {
598
- _.error("WSC: Socket error"), clearTimeout(a), this.connected = !1, this._ws = null;
599
- }, this._ws.onclose = (r) => {
600
- _.info(`WSC: Closed - code:${r.code}, reason:"${r.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
596
+ (d == null ? void 0 : d.type) === "connected" && (_.info(`WS[${this.id}] Connected`), clearTimeout(f), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(d);
597
+ }, this._ws.onerror = (t) => {
598
+ _.error("WSC: Socket error"), clearTimeout(f), this.connected = !1, this._ws = null;
599
+ }, this._ws.onclose = (t) => {
600
+ _.info(`WSC: Closed - code:${t.code}, reason:"${t.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
601
601
  };
602
602
  }
603
603
  reconnect() {
@@ -620,11 +620,11 @@ class Lt {
620
620
  }
621
621
  // Attempt to connect, and reconnect if failed
622
622
  async startOld() {
623
- let e = 1, o = !0;
624
- for (; o; ) {
623
+ let e = 1, a = !0;
624
+ for (; a; ) {
625
625
  if (_.info(`WSC: start: connecting, attempt ${e}`), await this.connect(), this.connected)
626
626
  return _.info("WSC: connected"), !0;
627
- e++, o = e <= 4, o && await this.pause(1e3);
627
+ e++, a = e <= 4, a && await this.pause(1e3);
628
628
  }
629
629
  return _.error(`WSC: start: failed to connect after ${e} attempts, exiting`), !1;
630
630
  }
@@ -676,22 +676,23 @@ class Lt {
676
676
  });
677
677
  }*/
678
678
  }
679
- var Ht = Object.defineProperty, It = Object.getOwnPropertyDescriptor, H = (t, e, o, a) => {
680
- for (var r = a > 1 ? void 0 : a ? It(e, o) : e, s = t.length - 1, n; s >= 0; s--)
681
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
682
- return a && r && Ht(e, o, r), r;
679
+ const Hc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
680
+ var Ic = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, H = (c, e, a, f) => {
681
+ for (var t = f > 1 ? void 0 : f ? Pc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
682
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
683
+ return f && t && Ic(e, a, t), t;
683
684
  };
684
- const $ = he.noConflict();
685
+ const $ = pe.noConflict();
685
686
  $.setLevel("info");
686
- const V = "cb_";
687
+ const q = "cb_";
687
688
  class M extends X {
688
689
  constructor() {
689
690
  super(...arguments), this.actionIdCounter = 0, this.wsClient = null, this.replyMessage = null;
690
691
  }
691
692
  // this is called at startup
692
693
  setSetting(e) {
693
- $.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((o) => {
694
- $.info(`Exception during bot initialization: ${o.message}`);
694
+ $.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((a) => {
695
+ $.info(`Exception during bot initialization: ${a.message}`);
695
696
  });
696
697
  }
697
698
  clearConversation() {
@@ -714,25 +715,25 @@ class M extends X {
714
715
  }
715
716
  async initBot() {
716
717
  if (!this.botSettingsInitialized) {
717
- const o = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
718
- $.info(`Getting bot settings at ${o} ...`);
719
- let a = null, r = null;
718
+ const a = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
719
+ $.info(`Getting bot settings at ${a} ...`);
720
+ let f = null, t = null;
720
721
  try {
721
- a = await fetch(o, {
722
+ f = await fetch(a, {
722
723
  headers: {
723
724
  "Access-Control-Allow-Origin": "null",
724
725
  "X-Enegel-Signature": this.setting.botId
725
726
  }
726
- }), !a.ok || a.status !== 200 ? $.error(`Failed to get bot ${this.setting.botId} settings: ${a.status} ${a.statusText}`) : r = await a.json();
727
- } catch (s) {
728
- $.error(`Failed to get bot ${this.setting.botId} settings: ${s.message}`), r = null;
727
+ }), !f.ok || f.status !== 200 ? $.error(`Failed to get bot ${this.setting.botId} settings: ${f.status} ${f.statusText}`) : t = await f.json();
728
+ } catch (o) {
729
+ $.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), t = null;
729
730
  }
730
- if (this.botSettingsInitialized = !0, !r) {
731
+ if (this.botSettingsInitialized = !0, !t) {
731
732
  $.error("No bot settings available - bot disabled"), this.disabled = !0;
732
733
  return;
733
734
  }
734
- this.setting.welcomeMessage = (r == null ? void 0 : r.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (r == null ? void 0 : r.engageMessage) || "How can I help ?", this.setting.engageTimeout = (r == null ? void 0 : r.engageTimeout) || 5, setTimeout(() => {
735
- this.open || ($.info("Engaging User !"), this.engage = !0);
735
+ this.setting.welcomeMessage = (t == null ? void 0 : t.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (t == null ? void 0 : t.engageMessage) || "How can I help ?", this.setting.engageTimeout = (t == null ? void 0 : t.engageTimeout) || 5, setTimeout(() => {
736
+ this.showEngagePopup();
736
737
  }, this.setting.engageTimeout * 1e3);
737
738
  }
738
739
  Array.isArray(this.messages) && this.messages.length <= 0 && this.addMessage({
@@ -745,20 +746,34 @@ class M extends X {
745
746
  $.error(`Exception during ws client startup: ${e.message}`);
746
747
  }));
747
748
  }
749
+ showEngagePopup() {
750
+ if (this.open)
751
+ return;
752
+ $.info("Engaging User !"), this.engage = !0;
753
+ const e = (o) => {
754
+ const d = new Uint8Array(o.length / 2);
755
+ for (let b = 0; b < d.length; b++)
756
+ d[b] = parseInt(o.substr(b * 2, 2), 16);
757
+ return d;
758
+ };
759
+ let a = new Blob([e(Hc)], { type: "application/octet-stream" });
760
+ const f = URL.createObjectURL(a);
761
+ new Audio(f).play();
762
+ }
748
763
  // Lazy initialization: avoid connecting until we actually need to send something
749
764
  // TODO Depending on state, start ws & connect immediately when initialized
750
765
  // use case: page refresh in the middle of the conversation
751
766
  async getWsClient() {
752
767
  if (this.wsClient)
753
768
  return this.wsClient;
754
- const o = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
755
- return $.info(`Initiating ws connection to ${o} ...`), this.wsClient = new Lt({
756
- url: o,
769
+ const a = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
770
+ return $.info(`Initiating ws connection to ${a} ...`), this.wsClient = new Oc({
771
+ url: a,
757
772
  orgId: this.setting.orgId,
758
773
  botId: this.setting.botId,
759
774
  convId: this.conversationId
760
- }), await this.wsClient.start(), this.wsClient.onMessage = (a) => {
761
- this.handleWscMessage(a);
775
+ }), await this.wsClient.start(), this.wsClient.onMessage = (f) => {
776
+ this.handleWscMessage(f);
762
777
  }, this.wsClient;
763
778
  }
764
779
  handleWscMessage(e) {
@@ -767,16 +782,16 @@ class M extends X {
767
782
  if (this.replyMessage)
768
783
  this.replyMessage.data.text = e.text, this.updateMessage(this.replyMessage, ""), this.replyMessage = null;
769
784
  else {
770
- const o = {
785
+ const a = {
771
786
  type: "text",
772
787
  author: "assistant",
773
788
  data: {
774
789
  text: e.text
775
790
  }
776
791
  };
777
- "userName" in e && (o.data.userName = e.userName, this.connectWs = "true"), "userAvatar" in e && (o.data.userAvatar = e.userAvatar, this.connectWs = "true");
778
- const a = this.formatMessage(o);
779
- this.messages = this.messages.concat([a]);
792
+ "userName" in e && (a.data.userName = e.userName, this.connectWs = "true"), "userAvatar" in e && (a.data.userAvatar = e.userAvatar, this.connectWs = "true");
793
+ const f = this.formatMessage(a);
794
+ this.messages = this.messages.concat([f]);
780
795
  }
781
796
  break;
782
797
  }
@@ -803,26 +818,26 @@ class M extends X {
803
818
  }
804
819
  addActions(e) {
805
820
  if (Array.isArray(e) && e.length > 0) {
806
- const o = e.map((a) => Object.assign(a, { internalId: this.actionIdCounter++ }));
807
- this.actions = this.actions.concat(o);
821
+ const a = e.map((f) => Object.assign(f, { internalId: this.actionIdCounter++ }));
822
+ this.actions = this.actions.concat(a);
808
823
  }
809
824
  }
810
825
  removeAction(e) {
811
- const o = this.actions.findIndex((a) => a.internalId === e);
812
- if (o !== -1) {
813
- this.actions.splice(o, 1);
814
- const a = [];
815
- this.actions = a.concat(this.actions);
826
+ const a = this.actions.findIndex((f) => f.internalId === e);
827
+ if (a !== -1) {
828
+ this.actions.splice(a, 1);
829
+ const f = [];
830
+ this.actions = f.concat(this.actions);
816
831
  }
817
832
  }
818
833
  async sendMessage(e) {
819
834
  e = this.formatMessage(e), $.info("Send Message:", e), this.messages = this.messages.concat([e]);
820
- const o = await this.getWsClient();
821
- if (!o) {
835
+ const a = await this.getWsClient();
836
+ if (!a) {
822
837
  $.error("Error - failed to obtain ws client"), this.replyMessage = null;
823
838
  return;
824
839
  }
825
- o.sendMessage({
840
+ a.sendMessage({
826
841
  type: "message",
827
842
  id: e.id,
828
843
  text: e.data.text
@@ -830,8 +845,8 @@ class M extends X {
830
845
  }
831
846
  // TODO revisit below
832
847
  formatMessage(e) {
833
- var o;
834
- return e.id || (e.id = xe()), e.timestamp = Date.now(), e.author === "assistant" && (e.replyId = (o = this.messages[this.messages.length - 1]) == null ? void 0 : o.id), e;
848
+ var a;
849
+ return e.id || (e.id = xe()), e.timestamp = Date.now(), e.author === "assistant" && (e.replyId = (a = this.messages[this.messages.length - 1]) == null ? void 0 : a.id), e;
835
850
  }
836
851
  // add message
837
852
  addMessage(e) {
@@ -847,13 +862,13 @@ class M extends X {
847
862
  });
848
863
  }
849
864
  // update message
850
- updateMessage(e, o) {
851
- const a = this.formatMessage(e);
852
- return a.isThinking = !1, o && (a.data.text += o), this.messages = this.messages.map((r) => r.id === a.id ? a : r), a;
865
+ updateMessage(e, a) {
866
+ const f = this.formatMessage(e);
867
+ return f.isThinking = !1, a && (f.data.text += a), this.messages = this.messages.map((t) => t.id === f.id ? f : t), f;
853
868
  }
854
869
  // remove message
855
870
  removeMessage(e) {
856
- this.messages = this.messages.filter((o) => o.id !== e);
871
+ this.messages = this.messages.filter((a) => a.id !== e);
857
872
  }
858
873
  // clear messages
859
874
  clearMessages() {
@@ -861,31 +876,31 @@ class M extends X {
861
876
  }
862
877
  }
863
878
  H([
864
- R({ prefix: V }),
865
- L({ value: "en" })
879
+ V({ prefix: q }),
880
+ O({ value: "en" })
866
881
  ], M.prototype, "language", 2);
867
882
  H([
868
- R({ prefix: V }),
869
- L({ value: "light" })
883
+ V({ prefix: q }),
884
+ O({ value: "light" })
870
885
  ], M.prototype, "theme", 2);
871
886
  H([
872
- R({ prefix: V }),
873
- L({ type: Boolean, value: !1 })
887
+ V({ prefix: q }),
888
+ O({ type: Boolean, value: !1 })
874
889
  ], M.prototype, "open", 2);
875
890
  H([
876
- R({ prefix: V }),
877
- L({ value: "false" })
891
+ V({ prefix: q }),
892
+ O({ value: "false" })
878
893
  ], M.prototype, "connectWs", 2);
879
894
  H([
880
- R({ prefix: V }),
881
- L({ value: xe() })
895
+ V({ prefix: q }),
896
+ O({ value: xe() })
882
897
  ], M.prototype, "conversationId", 2);
883
898
  H([
884
- R({ prefix: V }),
885
- L({ type: Array, value: [] })
899
+ V({ prefix: q }),
900
+ O({ type: Array, value: [] })
886
901
  ], M.prototype, "messages", 2);
887
902
  H([
888
- L({
903
+ O({
889
904
  type: Array,
890
905
  value: []
891
906
  /*
@@ -929,17 +944,17 @@ H([
929
944
  })
930
945
  ], M.prototype, "actions", 2);
931
946
  H([
932
- L({ type: Boolean, value: !1 })
947
+ O({ type: Boolean, value: !1 })
933
948
  ], M.prototype, "botSettingsInitialized", 2);
934
949
  H([
935
- L({ type: Boolean, value: !1 })
950
+ O({ type: Boolean, value: !1 })
936
951
  ], M.prototype, "disabled", 2);
937
952
  H([
938
- L({ type: Boolean, value: !1 })
953
+ O({ type: Boolean, value: !1 })
939
954
  ], M.prototype, "engage", 2);
940
955
  H([
941
- R({ prefix: V }),
942
- L({
956
+ V({ prefix: q }),
957
+ O({
943
958
  type: Object,
944
959
  value: {
945
960
  orgId: null,
@@ -949,7 +964,7 @@ H([
949
964
  }
950
965
  })
951
966
  ], M.prototype, "setting", 2);
952
- const d = new M(), Pt = x`
967
+ const n = new M(), Ec = x`
953
968
  ${I}
954
969
  :host {
955
970
  position: relative;
@@ -995,50 +1010,50 @@ const d = new M(), Pt = x`
995
1010
  display: inline;
996
1011
  }
997
1012
  `;
998
- var zt = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, Tt = (t, e, o, a) => {
999
- for (var r = a > 1 ? void 0 : a ? Et(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1000
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1001
- return a && r && zt(e, o, r), r;
1013
+ var zc = Object.defineProperty, Tc = Object.getOwnPropertyDescriptor, Bc = (c, e, a, f) => {
1014
+ for (var t = f > 1 ? void 0 : f ? Tc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1015
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1016
+ return f && t && zc(e, a, t), t;
1002
1017
  };
1003
- class C extends de {
1018
+ class C extends ie {
1004
1019
  constructor() {
1005
1020
  super(...arguments), this.lang = "en";
1006
1021
  }
1007
- emit(e, o) {
1008
- const a = new CustomEvent(e, {
1022
+ emit(e, a) {
1023
+ const f = new CustomEvent(e, {
1009
1024
  bubbles: !0,
1010
1025
  cancelable: !1,
1011
1026
  composed: !0,
1012
1027
  detail: {},
1013
- ...o
1028
+ ...a
1014
1029
  });
1015
- return this.dispatchEvent(a), a;
1030
+ return this.dispatchEvent(f), f;
1016
1031
  }
1017
1032
  }
1018
- Tt([
1019
- l({ type: String })
1033
+ Bc([
1034
+ r({ type: String })
1020
1035
  ], C.prototype, "lang", 2);
1021
- const oe = '<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 8L2.146 2.854Z"/></svg>';
1022
- var Bt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, We = (t, e, o, a) => {
1023
- for (var r = a > 1 ? void 0 : a ? Rt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1024
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1025
- return a && r && Bt(e, o, r), r;
1036
+ const te = '<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 8L2.146 2.854Z"/></svg>';
1037
+ var Rc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, We = (c, e, a, f) => {
1038
+ for (var t = f > 1 ? void 0 : f ? Vc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1039
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1040
+ return f && t && Rc(e, a, t), t;
1026
1041
  };
1027
- let re = class extends C {
1042
+ let fe = class extends C {
1028
1043
  constructor() {
1029
1044
  super(...arguments), this.title = "ChatBot";
1030
1045
  }
1031
1046
  render() {
1032
- return c` <header class="cb-header" part="header">
1047
+ return s` <header class="cb-header" part="header">
1033
1048
  <span class="left">
1034
1049
  <sl-button @click=${this._clickHandler} class="cb-setting-button" variant="text" circle>
1035
- <cb-icon color="white" svg="${d.setting.logoSvg}"></cb-icon>
1050
+ <cb-icon color="white" svg="${n.setting.logoSvg}"></cb-icon>
1036
1051
  </sl-button>
1037
1052
  </span>
1038
1053
  <span class="center title">${this.title}</span>
1039
1054
  <span class="right">
1040
1055
  <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1041
- <cb-icon color="white" svg="${oe}"></cb-icon>
1056
+ <cb-icon color="white" svg="${te}"></cb-icon>
1042
1057
  </sl-button>
1043
1058
  </span>
1044
1059
  </header>`;
@@ -1054,14 +1069,14 @@ let re = class extends C {
1054
1069
  });
1055
1070
  }
1056
1071
  };
1057
- re.styles = Pt;
1072
+ fe.styles = Ec;
1058
1073
  We([
1059
- l({ type: String, attribute: "title" })
1060
- ], re.prototype, "title", 2);
1061
- re = We([
1074
+ r({ type: String, attribute: "title" })
1075
+ ], fe.prototype, "title", 2);
1076
+ fe = We([
1062
1077
  k("cb-header")
1063
- ], re);
1064
- const Vt = x`
1078
+ ], fe);
1079
+ const qc = x`
1065
1080
  ${I}
1066
1081
  .cb-footer {
1067
1082
  line-height: 60px;
@@ -1076,17 +1091,17 @@ const Vt = x`
1076
1091
  color: var(--primary-color);
1077
1092
  }
1078
1093
  `;
1079
- var qt = Object.defineProperty, Dt = Object.getOwnPropertyDescriptor, Ft = (t, e, o, a) => {
1080
- for (var r = a > 1 ? void 0 : a ? Dt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1081
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1082
- return a && r && qt(e, o, r), r;
1094
+ var Dc = Object.defineProperty, Fc = Object.getOwnPropertyDescriptor, Uc = (c, e, a, f) => {
1095
+ for (var t = f > 1 ? void 0 : f ? Fc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1096
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1097
+ return f && t && Dc(e, a, t), t;
1083
1098
  };
1084
1099
  let ke = class extends C {
1085
1100
  constructor() {
1086
1101
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1087
1102
  }
1088
1103
  render() {
1089
- return c`
1104
+ return s`
1090
1105
  <div class="cb-footer" part="footer">
1091
1106
  yugasun@${this.year}
1092
1107
  <a
@@ -1116,11 +1131,11 @@ let ke = class extends C {
1116
1131
  `;
1117
1132
  }
1118
1133
  };
1119
- ke.styles = Vt;
1120
- ke = Ft([
1134
+ ke.styles = qc;
1135
+ ke = Uc([
1121
1136
  k("cb-footer")
1122
1137
  ], ke);
1123
- const Ut = x`
1138
+ const Zc = x`
1124
1139
  ${I}
1125
1140
 
1126
1141
  :host {
@@ -1217,14 +1232,14 @@ const Ut = x`
1217
1232
  transition: background 0s;
1218
1233
  }
1219
1234
  `;
1220
- var Zt = Object.defineProperty, Nt = Object.getOwnPropertyDescriptor, Wt = (t, e, o, a) => {
1221
- for (var r = a > 1 ? void 0 : a ? Nt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1222
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1223
- return a && r && Zt(e, o, r), r;
1235
+ var Nc = Object.defineProperty, Wc = Object.getOwnPropertyDescriptor, Kc = (c, e, a, f) => {
1236
+ for (var t = f > 1 ? void 0 : f ? Wc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1237
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1238
+ return f && t && Nc(e, a, t), t;
1224
1239
  };
1225
- let _e = class extends de {
1240
+ let _e = class extends ie {
1226
1241
  render() {
1227
- return c` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
1242
+ return s` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
1228
1243
  }
1229
1244
  };
1230
1245
  _e.styles = x`
@@ -1265,31 +1280,31 @@ _e.styles = x`
1265
1280
  }
1266
1281
  }
1267
1282
  `;
1268
- _e = Wt([
1283
+ _e = Kc([
1269
1284
  k("cb-thinking")
1270
1285
  ], _e);
1271
- var Kt = Object.defineProperty, Jt = Object.getOwnPropertyDescriptor, Ke = (t, e, o, a) => {
1272
- for (var r = a > 1 ? void 0 : a ? Jt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1273
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1274
- return a && r && Kt(e, o, r), r;
1286
+ var Jc = Object.defineProperty, Yc = Object.getOwnPropertyDescriptor, Ke = (c, e, a, f) => {
1287
+ for (var t = f > 1 ? void 0 : f ? Yc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1288
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1289
+ return f && t && Jc(e, a, t), t;
1275
1290
  };
1276
- let ae = class extends C {
1291
+ let oe = class extends C {
1277
1292
  constructor() {
1278
1293
  super(...arguments), this.files = [];
1279
1294
  }
1280
1295
  render() {
1281
- return c` <div class="cb-uploading">
1296
+ return s` <div class="cb-uploading">
1282
1297
  <div class="cb-uploading__title">
1283
1298
  <sl-spinner class="cb-spinner"></sl-spinner>
1284
1299
  <span>Uploading...</span>
1285
1300
  </div>
1286
1301
  <div class="cb-uploading__filelist">
1287
- ${this.files.map((t) => c`${t.name}<br />`)}
1302
+ ${this.files.map((c) => s`${c.name}<br />`)}
1288
1303
  </div>
1289
1304
  </div>`;
1290
1305
  }
1291
1306
  };
1292
- ae.styles = x`
1307
+ oe.styles = x`
1293
1308
  .cb-uploading {
1294
1309
  text-align: left;
1295
1310
  }
@@ -1308,12 +1323,12 @@ ae.styles = x`
1308
1323
  }
1309
1324
  `;
1310
1325
  Ke([
1311
- l({ type: Array })
1312
- ], ae.prototype, "files", 2);
1313
- ae = Ke([
1326
+ r({ type: Array })
1327
+ ], oe.prototype, "files", 2);
1328
+ oe = Ke([
1314
1329
  k("cb-uploading")
1315
- ], ae);
1316
- const Yt = x`
1330
+ ], oe);
1331
+ const Gc = x`
1317
1332
  ${I}
1318
1333
  :host {
1319
1334
  }
@@ -1334,17 +1349,17 @@ const Yt = x`
1334
1349
  margin-right: 0.2em;
1335
1350
  }
1336
1351
  `;
1337
- var Gt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, Se = (t, e, o, a) => {
1338
- for (var r = a > 1 ? void 0 : a ? Xt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1339
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1340
- return a && r && Gt(e, o, r), r;
1352
+ var Xc = Object.defineProperty, Qc = Object.getOwnPropertyDescriptor, Se = (c, e, a, f) => {
1353
+ for (var t = f > 1 ? void 0 : f ? Qc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1354
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1355
+ return f && t && Xc(e, a, t), t;
1341
1356
  };
1342
- let K = class extends de {
1357
+ let K = class extends ie {
1343
1358
  constructor() {
1344
1359
  super(...arguments), this.url = "", this.inverse = !1;
1345
1360
  }
1346
1361
  render() {
1347
- return c`
1362
+ return s`
1348
1363
  <a
1349
1364
  class="
1350
1365
  cb-external-link link__item
@@ -1385,42 +1400,42 @@ K.styles = x`
1385
1400
  }
1386
1401
  `;
1387
1402
  Se([
1388
- l({ type: String })
1403
+ r({ type: String })
1389
1404
  ], K.prototype, "url", 2);
1390
1405
  Se([
1391
- l({ type: Boolean })
1406
+ r({ type: Boolean })
1392
1407
  ], K.prototype, "inverse", 2);
1393
1408
  K = Se([
1394
1409
  k("cb-external-link")
1395
1410
  ], K);
1396
- const Qt = '<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.5L14 4.5ZM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm4.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.992l1.274-2.007Zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', eo = '<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.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', to = '<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.5L14 4.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.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', oo = '<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.5L14 4.5ZM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.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.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', ro = '<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.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', ao = '<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.5L14 4.5Zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', so = '<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.5L14 4.5Zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972ZM1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.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.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.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.035l.823-1.439Z"/></svg>';
1397
- var no = Object.defineProperty, io = Object.getOwnPropertyDescriptor, Ae = (t, e, o, a) => {
1398
- for (var r = a > 1 ? void 0 : a ? io(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1399
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1400
- return a && r && no(e, o, r), r;
1411
+ const ea = '<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.5L14 4.5ZM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm4.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.992l1.274-2.007Zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', ca = '<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.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', aa = '<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.5L14 4.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.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', ta = '<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.5L14 4.5ZM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.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.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', fa = '<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.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', oa = '<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.5L14 4.5Zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', da = '<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.5L14 4.5Zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972ZM1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.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.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.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.035l.823-1.439Z"/></svg>';
1412
+ var ba = Object.defineProperty, ra = Object.getOwnPropertyDescriptor, Ae = (c, e, a, f) => {
1413
+ for (var t = f > 1 ? void 0 : f ? ra(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1414
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1415
+ return f && t && ba(e, a, t), t;
1401
1416
  };
1402
1417
  const Pe = {
1403
- pdf: eo,
1404
- txt: Qt,
1405
- md: to,
1406
- csv: oo,
1407
- ppd: ro,
1408
- doc: ao,
1409
- docx: so
1418
+ pdf: ca,
1419
+ txt: ea,
1420
+ md: aa,
1421
+ csv: ta,
1422
+ ppd: fa,
1423
+ doc: oa,
1424
+ docx: da
1410
1425
  };
1411
1426
  let J = class extends C {
1412
1427
  constructor() {
1413
1428
  super(...arguments), this.filename = "", this.url = "";
1414
1429
  }
1415
1430
  get type() {
1416
- const t = "txt";
1431
+ const c = "txt";
1417
1432
  if (!this.filename)
1418
- return t;
1433
+ return c;
1419
1434
  const e = this.filename.split(".").pop();
1420
- return e ? e.toLowerCase() : t;
1435
+ return e ? e.toLowerCase() : c;
1421
1436
  }
1422
1437
  render() {
1423
- return c`
1438
+ return s`
1424
1439
  <cb-external-link url="${this.url}" inverse>
1425
1440
  <div class="cb-file">
1426
1441
  ${this.renderFileIcon()}
@@ -1430,7 +1445,7 @@ let J = class extends C {
1430
1445
  `;
1431
1446
  }
1432
1447
  renderFileIcon() {
1433
- return c`
1448
+ return s`
1434
1449
  <cb-icon
1435
1450
  class="cb-file-icon"
1436
1451
  svg="${Pe[this.type] || Pe.txt}"
@@ -1438,17 +1453,17 @@ let J = class extends C {
1438
1453
  `;
1439
1454
  }
1440
1455
  };
1441
- J.styles = Yt;
1456
+ J.styles = Gc;
1442
1457
  Ae([
1443
- l({ type: String })
1458
+ r({ type: String })
1444
1459
  ], J.prototype, "filename", 2);
1445
1460
  Ae([
1446
- l({ type: String })
1461
+ r({ type: String })
1447
1462
  ], J.prototype, "url", 2);
1448
1463
  J = Ae([
1449
1464
  k("cb-file")
1450
1465
  ], J);
1451
- const lo = '<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-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z"/><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 1v1ZM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z"/></g></svg>', co = '<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 6Zm2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664h10Z"/></svg>', po = x`
1466
+ const sa = '<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-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z"/><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 1v1ZM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z"/></g></svg>', na = '<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 6Zm2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664h10Z"/></svg>', ia = x`
1452
1467
  pre code.hljs {
1453
1468
  display: block;
1454
1469
  overflow-x: auto;
@@ -2613,9 +2628,9 @@ const lo = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
2613
2628
  pre {
2614
2629
  background-color: #282c34;
2615
2630
  }
2616
- `, ho = x`
2631
+ `, la = x`
2617
2632
  ${I}
2618
- ${po}
2633
+ ${ia}
2619
2634
 
2620
2635
  .cb-message-row {
2621
2636
  width: 100%;
@@ -2769,20 +2784,20 @@ const lo = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
2769
2784
  font-size: 1em;
2770
2785
  }
2771
2786
  `;
2772
- function uo() {
2773
- const t = new gt({
2787
+ function pa() {
2788
+ const c = new hc({
2774
2789
  linkify: !0
2775
2790
  });
2776
- return t.use(bt, { attrs: { target: "_blank", rel: "noopener" } }), t;
2791
+ return c.use(uc, { attrs: { target: "_blank", rel: "noopener" } }), c;
2777
2792
  }
2778
- async function ze(t) {
2779
- const e = uo();
2780
- return c`${q(e.render(t))}`;
2793
+ async function Ee(c) {
2794
+ const e = pa();
2795
+ return s`${B(e.render(c))}`;
2781
2796
  }
2782
- var go = Object.defineProperty, bo = Object.getOwnPropertyDescriptor, ue = (t, e, o, a) => {
2783
- for (var r = a > 1 ? void 0 : a ? bo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
2784
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
2785
- return a && r && go(e, o, r), r;
2797
+ var ha = Object.defineProperty, ua = Object.getOwnPropertyDescriptor, he = (c, e, a, f) => {
2798
+ for (var t = f > 1 ? void 0 : f ? ua(e, a) : e, o = c.length - 1, d; o >= 0; o--)
2799
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
2800
+ return f && t && ha(e, a, t), t;
2786
2801
  };
2787
2802
  let F = class extends C {
2788
2803
  constructor() {
@@ -2795,8 +2810,8 @@ let F = class extends C {
2795
2810
  * updated lifecycle hook: same to vue mounted or react useEffect
2796
2811
  * @param changedProperties
2797
2812
  */
2798
- updated(t) {
2799
- super.updated(t), t.has("message") && requestIdleCallback(() => {
2813
+ updated(c) {
2814
+ super.updated(c), c.has("message") && requestIdleCallback(() => {
2800
2815
  this._addCopyEvents();
2801
2816
  });
2802
2817
  }
@@ -2809,28 +2824,28 @@ let F = class extends C {
2809
2824
  });
2810
2825
  }
2811
2826
  _addCopyEvents() {
2812
- this.copyBtns.forEach((t) => {
2813
- t.addEventListener("click", () => {
2814
- var o, a;
2815
- const e = (a = (o = t.parentElement) == null ? void 0 : o.nextElementSibling) == null ? void 0 : a.textContent;
2816
- e && At(e).then(() => {
2817
- t.textContent = "Success", setTimeout(() => {
2818
- t.textContent = "Copy";
2827
+ this.copyBtns.forEach((c) => {
2828
+ c.addEventListener("click", () => {
2829
+ var a, f;
2830
+ const e = (f = (a = c.parentElement) == null ? void 0 : a.nextElementSibling) == null ? void 0 : f.textContent;
2831
+ e && Ac(e).then(() => {
2832
+ c.textContent = "Success", setTimeout(() => {
2833
+ c.textContent = "Copy";
2819
2834
  }, 500);
2820
2835
  });
2821
2836
  });
2822
2837
  });
2823
2838
  }
2824
2839
  _removeCopyEvents() {
2825
- this.copyBtns.forEach((t) => {
2826
- t.removeEventListener("click", () => {
2840
+ this.copyBtns.forEach((c) => {
2841
+ c.removeEventListener("click", () => {
2827
2842
  });
2828
2843
  });
2829
2844
  }
2830
2845
  render() {
2831
2846
  return D(
2832
2847
  this.message.data || this.message.isThinking,
2833
- () => c`
2848
+ () => s`
2834
2849
  <div class="cb-message-row" part="cb-message-row">
2835
2850
  <!-- message -->
2836
2851
  ${D(
@@ -2843,109 +2858,109 @@ let F = class extends C {
2843
2858
  () => null
2844
2859
  );
2845
2860
  }
2846
- renderButtons(t = "left") {
2847
- return c`<div class="cb-message__buttons ${t}">
2861
+ renderButtons(c = "left") {
2862
+ return s`<div class="cb-message__buttons ${c}">
2848
2863
  <!-- delete button -->
2849
2864
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
2850
- <cb-icon svg="${lo}" style="font-size: 1em !important;"></cb-icon>
2865
+ <cb-icon svg="${sa}" style="font-size: 1em !important;"></cb-icon>
2851
2866
  </sl-button>
2852
2867
  </div>`;
2853
2868
  }
2854
- renderMessage(t) {
2855
- return c`
2869
+ renderMessage(c) {
2870
+ return s`
2856
2871
  <div
2857
2872
  class="cb-message__content
2858
- ${t.author}-message
2859
- message-type-${t.type}
2860
- ${t.isThinking ? "thinking" : ""}"
2873
+ ${c.author}-message
2874
+ message-type-${c.type}
2875
+ ${c.isThinking ? "thinking" : ""}"
2861
2876
  style="display: flex"
2862
2877
  >
2863
- ${this.renderMessageContent(t)}
2878
+ ${this.renderMessageContent(c)}
2864
2879
  </div>
2865
2880
  `;
2866
2881
  }
2867
- async _getMessageText(t) {
2868
- return ze(t.data.text);
2882
+ async _getMessageText(c) {
2883
+ return Ee(c.data.text);
2869
2884
  }
2870
- renderMessageContent(t) {
2885
+ renderMessageContent(c) {
2871
2886
  var e;
2872
- return t.isThinking ? c`<cb-thinking></cb-thinking>` : t.isUploading ? c`<cb-uploading .files="${t.data.files || []}"></cb-uploading>` : t.type === "text" ? c`<div class="cb-message-text">
2887
+ return c.isThinking ? s`<cb-thinking></cb-thinking>` : c.isUploading ? s`<cb-uploading .files="${c.data.files || []}"></cb-uploading>` : c.type === "text" ? s`<div class="cb-message-text">
2873
2888
  ${D(
2874
- t.data.userName,
2875
- () => c`<div style="font-size: 12px; color:#9ca3af">${t.data.userName}</div>`,
2889
+ c.data.userName,
2890
+ () => s`<div style="font-size: 12px; color:#9ca3af">${c.data.userName}</div>`,
2876
2891
  () => null
2877
2892
  )}
2878
2893
  ${Ie(
2879
- this._getMessageText(t).then((o) => c`${o}`)
2894
+ this._getMessageText(c).then((a) => s`${a}`)
2880
2895
  )}
2881
- </div>` : t.type === "file" ? c`${we(
2882
- t.data.files || [],
2883
- (o) => o.id,
2884
- (o) => c`<cb-file filename="${o.name}" url="${o.url}"></cb-file>`
2885
- )}` : c`<div class="cb-message-text">
2896
+ </div>` : c.type === "file" ? s`${we(
2897
+ c.data.files || [],
2898
+ (a) => a.id,
2899
+ (a) => s`<cb-file filename="${a.name}" url="${a.url}"></cb-file>`
2900
+ )}` : s`<div class="cb-message-text">
2886
2901
  ${Ie(
2887
- ze(((e = t.data.text) == null ? void 0 : e.toString()) || "").then((o) => c`${o}`)
2902
+ Ee(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => s`${a}`)
2888
2903
  )}
2889
2904
  </div>`;
2890
2905
  }
2891
- renderBotMessageAvatar(t) {
2892
- if (t.data.userName && t.data.userName !== "") {
2893
- const e = t.data.userAvatar || "";
2894
- return c` <img src="${e}" style="width: 24px;height: 24px;" /> `;
2906
+ renderBotMessageAvatar(c) {
2907
+ if (c.data.userName && c.data.userName !== "") {
2908
+ const e = c.data.userAvatar || "";
2909
+ return s` <img src="${e}" style="width: 24px;height: 24px;" /> `;
2895
2910
  }
2896
- return t.author === "system" ? ve`${q(d.setting.systemIconSvg)}` : ve`${q(d.setting.botIconSvg)}`;
2911
+ return c.author === "system" ? ae`${B(n.setting.systemIconSvg)}` : ae`${B(n.setting.botIconSvg)}`;
2897
2912
  }
2898
- renderBotMessage(t) {
2899
- return c`
2913
+ renderBotMessage(c) {
2914
+ return s`
2900
2915
  <div class="cb-message cb-bot-message-wrapper" part="cb-message">
2901
- <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(t)}</div>
2902
- <div style="margin-left: 4px;width: 100%">${this.renderMessage(t)}</div>
2916
+ <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(c)}</div>
2917
+ <div style="margin-left: 4px;width: 100%">${this.renderMessage(c)}</div>
2903
2918
  </div>
2904
2919
  `;
2905
2920
  }
2906
- renderUserMessage(t) {
2907
- return c`
2921
+ renderUserMessage(c) {
2922
+ return s`
2908
2923
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
2909
2924
  <!--<sl-avatar class="avatar user-avatar small" label="User">
2910
- <cb-icon slot="icon" svg="${co}" color="white"></cb-icon>
2925
+ <cb-icon slot="icon" svg="${na}" color="white"></cb-icon>
2911
2926
  </sl-avatar>-->
2912
- <div class="avatar user-avatar">${q(d.setting.userIconSvg)}</div>
2913
- ${this.renderMessage(t)}
2927
+ <div class="avatar user-avatar">${B(n.setting.userIconSvg)}</div>
2928
+ ${this.renderMessage(c)}
2914
2929
  </div>
2915
2930
  `;
2916
2931
  }
2917
2932
  };
2918
- F.styles = ho;
2919
- ue([
2920
- l({ type: Object })
2933
+ F.styles = la;
2934
+ he([
2935
+ r({ type: Object })
2921
2936
  ], F.prototype, "message", 2);
2922
- ue([
2923
- l({ type: String })
2937
+ he([
2938
+ r({ type: String })
2924
2939
  ], F.prototype, "type", 2);
2925
- ue([
2926
- ut(".code-block-header__copy")
2940
+ he([
2941
+ pc(".code-block-header__copy")
2927
2942
  ], F.prototype, "copyBtns", 2);
2928
- F = ue([
2943
+ F = he([
2929
2944
  k("cb-message")
2930
2945
  ], F);
2931
- var mo = Object.defineProperty, yo = Object.getOwnPropertyDescriptor, Z = (t, e, o, a) => {
2932
- for (var r = a > 1 ? void 0 : a ? yo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
2933
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
2934
- return a && r && mo(e, o, r), r;
2946
+ var ga = Object.defineProperty, ma = Object.getOwnPropertyDescriptor, Z = (c, e, a, f) => {
2947
+ for (var t = f > 1 ? void 0 : f ? ma(e, a) : e, o = c.length - 1, d; o >= 0; o--)
2948
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
2949
+ return f && t && ga(e, a, t), t;
2935
2950
  };
2936
- const Q = he.noConflict();
2951
+ const Q = pe.noConflict();
2937
2952
  Q.setLevel("info");
2938
- let z = class extends C {
2953
+ let E = class extends C {
2939
2954
  constructor() {
2940
2955
  super(...arguments), this.messages = [], this.actions = [], this.calendlyInjected = !1, this.activeCalendlyAction = -1;
2941
2956
  }
2942
2957
  render() {
2943
- return c`
2958
+ return s`
2944
2959
  <div class="cb-message-list" part="cb-message-list">
2945
2960
  ${we(
2946
2961
  this.messages,
2947
- (t) => t.id + JSON.stringify(t.data),
2948
- (t) => c`<cb-message .message="${t}"></cb-message>`
2962
+ (c) => c.id + JSON.stringify(c.data),
2963
+ (c) => s`<cb-message .message="${c}"></cb-message>`
2949
2964
  )}
2950
2965
  ${this.renderActions()}
2951
2966
  <div id="cb-message-list-bottom-anchor"></div>
@@ -2953,12 +2968,12 @@ let z = class extends C {
2953
2968
  `;
2954
2969
  }
2955
2970
  renderActions() {
2956
- return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : c`
2971
+ return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : s`
2957
2972
  <div class="cb-actions-list">
2958
2973
  ${we(
2959
2974
  this.actions,
2960
- (t) => t,
2961
- (t) => this.renderAction(t)
2975
+ (c) => c,
2976
+ (c) => this.renderAction(c)
2962
2977
  )}
2963
2978
  </div>
2964
2979
  `;
@@ -2966,41 +2981,41 @@ let z = class extends C {
2966
2981
  scrollToBottom() {
2967
2982
  this._messageListBottomAnchor.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" });
2968
2983
  }
2969
- renderAction(t) {
2970
- switch (t.type) {
2984
+ renderAction(c) {
2985
+ switch (c.type) {
2971
2986
  case "calendlyMeeting":
2972
- return this.renderCalendlyAction(t);
2987
+ return this.renderCalendlyAction(c);
2973
2988
  case "link":
2974
- return this.renderLinkAction(t);
2989
+ return this.renderLinkAction(c);
2975
2990
  }
2976
2991
  return null;
2977
2992
  }
2978
- handleCalendlyEvent(t) {
2979
- switch (Q.info("Got Calendly Event:", t.data), t.data.event) {
2993
+ handleCalendlyEvent(c) {
2994
+ switch (Q.info("Got Calendly Event:", c.data), c.data.event) {
2980
2995
  case "calendly.event_scheduled": {
2981
2996
  const e = this.activeCalendlyAction;
2982
- e >= 0 && (d.removeAction(e), d.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
2997
+ e >= 0 && (n.removeAction(e), n.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
2983
2998
  }
2984
2999
  }
2985
3000
  }
2986
- invokeLinkAction(t = {}) {
2987
- Q.info("invokeLinkAction:", t), window.open(t.url, "_blank");
3001
+ invokeLinkAction(c = {}) {
3002
+ Q.info("invokeLinkAction:", c), window.open(c.url, "_blank");
2988
3003
  }
2989
- invokeCalendlyAction(t = {}) {
2990
- return Q.info("invokeCalendlyAction:", t), "Calendly" in window && (this.activeCalendlyAction = t.internalId, window.Calendly.initPopupWidget({ url: t.url })), !1;
3004
+ invokeCalendlyAction(c = {}) {
3005
+ return Q.info("invokeCalendlyAction:", c), "Calendly" in window && (this.activeCalendlyAction = c.internalId, window.Calendly.initPopupWidget({ url: c.url })), !1;
2991
3006
  }
2992
- renderCalendlyAction(t) {
3007
+ renderCalendlyAction(c) {
2993
3008
  if (!("Calendly" in window) && !this.calendlyInjected) {
2994
3009
  let e = document.createElement("link");
2995
3010
  e.href = "https://assets.calendly.com/assets/external/widget.css", e.rel = "stylesheet", document.body.appendChild(e);
2996
- let o = document.createElement("script");
2997
- o.type = "text/javascript", o.src = "https://assets.calendly.com/assets/external/widget.js", document.body.appendChild(o), console.log("Injected Calendly"), window.addEventListener("message", (a) => {
2998
- a.origin === "https://calendly.com" && a.data.event && a.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(a);
3011
+ let a = document.createElement("script");
3012
+ a.type = "text/javascript", a.src = "https://assets.calendly.com/assets/external/widget.js", document.body.appendChild(a), console.log("Injected Calendly"), window.addEventListener("message", (f) => {
3013
+ f.origin === "https://calendly.com" && f.data.event && f.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(f);
2999
3014
  }), this.calendlyInjected = !0;
3000
3015
  }
3001
- return c`
3016
+ return s`
3002
3017
  <div class="cb-actions-list">
3003
- <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, t)}">
3018
+ <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, c)}">
3004
3019
  <div class="cb-action-icon">
3005
3020
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
3006
3021
  <path
@@ -3009,46 +3024,46 @@ let z = class extends C {
3009
3024
  />
3010
3025
  </svg>
3011
3026
  </div>
3012
- ${t.title}
3027
+ ${c.title}
3013
3028
  </div>
3014
3029
  </div>
3015
3030
  `;
3016
3031
  }
3017
- renderLinkAction(t) {
3018
- return c`
3032
+ renderLinkAction(c) {
3033
+ return s`
3019
3034
  <div class="cb-actions-list">
3020
- <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, t)}">
3035
+ <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, c)}">
3021
3036
  <div class="cb-action-icon">
3022
3037
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
3023
3038
  <path d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" fill="currentColor" />
3024
3039
  </svg>
3025
3040
  </div>
3026
- ${t.title}
3041
+ ${c.title}
3027
3042
  </div>
3028
3043
  </div>
3029
3044
  `;
3030
3045
  }
3031
3046
  };
3032
- z.styles = Ut;
3047
+ E.styles = Zc;
3033
3048
  Z([
3034
- l({ type: Array })
3035
- ], z.prototype, "messages", 2);
3049
+ r({ type: Array })
3050
+ ], E.prototype, "messages", 2);
3036
3051
  Z([
3037
- l({ type: Array })
3038
- ], z.prototype, "actions", 2);
3052
+ r({ type: Array })
3053
+ ], E.prototype, "actions", 2);
3039
3054
  Z([
3040
- pe("#cb-message-list-bottom-anchor")
3041
- ], z.prototype, "_messageListBottomAnchor", 2);
3055
+ le("#cb-message-list-bottom-anchor")
3056
+ ], E.prototype, "_messageListBottomAnchor", 2);
3042
3057
  Z([
3043
3058
  qe({ capture: !1, passive: !0 })
3044
- ], z.prototype, "invokeLinkAction", 1);
3059
+ ], E.prototype, "invokeLinkAction", 1);
3045
3060
  Z([
3046
3061
  qe({ capture: !1, passive: !0 })
3047
- ], z.prototype, "invokeCalendlyAction", 1);
3048
- z = Z([
3062
+ ], E.prototype, "invokeCalendlyAction", 1);
3063
+ E = Z([
3049
3064
  k("cb-message-list")
3050
- ], z);
3051
- const fo = x`
3065
+ ], E);
3066
+ const ya = x`
3052
3067
  ${I}
3053
3068
 
3054
3069
  :host {
@@ -3091,18 +3106,18 @@ const fo = x`
3091
3106
  .cb-input-buttons {
3092
3107
  padding: 0 5px;
3093
3108
  }
3094
- `, vo = '<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.576L6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', wo = '<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 0V3z"/></svg>';
3095
- var xo = Object.defineProperty, ko = Object.getOwnPropertyDescriptor, P = (t, e, o, a) => {
3096
- for (var r = a > 1 ? void 0 : a ? ko(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3097
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3098
- return a && r && xo(e, o, r), r;
3109
+ `, va = '<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.576L6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', wa = '<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 0V3z"/></svg>';
3110
+ var xa = Object.defineProperty, ka = Object.getOwnPropertyDescriptor, P = (c, e, a, f) => {
3111
+ for (var t = f > 1 ? void 0 : f ? ka(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3112
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3113
+ return f && t && xa(e, a, t), t;
3099
3114
  };
3100
- let O = class extends C {
3115
+ let L = class extends C {
3101
3116
  constructor() {
3102
3117
  super(...arguments), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
3103
3118
  }
3104
- _inputChangeHandler(t) {
3105
- const e = t.target;
3119
+ _inputChangeHandler(c) {
3120
+ const e = c.target;
3106
3121
  this.value = e.value;
3107
3122
  }
3108
3123
  _sendHandler() {
@@ -3120,15 +3135,15 @@ let O = class extends C {
3120
3135
  });
3121
3136
  }
3122
3137
  async _sendFileHandler() {
3123
- const t = await Ot();
3138
+ const c = await Lc();
3124
3139
  this.emit("message:send:file", {
3125
3140
  detail: {
3126
- files: t
3141
+ files: c
3127
3142
  }
3128
3143
  });
3129
3144
  }
3130
3145
  render() {
3131
- return c`
3146
+ return s`
3132
3147
  <div class="cb-user-input-wrapper" part="user-input-wrapper">
3133
3148
  <sl-textarea
3134
3149
  @sl-input=${this._inputChangeHandler}
@@ -3147,14 +3162,14 @@ let O = class extends C {
3147
3162
  <span class="cb-input-buttons">
3148
3163
  ${D(
3149
3164
  this.enableFileUpload,
3150
- () => c`
3165
+ () => s`
3151
3166
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
3152
- <cb-icon svg="${wo}"></cb-icon>
3167
+ <cb-icon svg="${wa}"></cb-icon>
3153
3168
  <!-- select file input -->
3154
3169
  <input type="file" id="file" name="file" class="file-input" />
3155
3170
  </sl-button>
3156
3171
  `,
3157
- () => c``
3172
+ () => s``
3158
3173
  )}
3159
3174
  <sl-button
3160
3175
  @click=${this._sendHandler}
@@ -3167,45 +3182,45 @@ let O = class extends C {
3167
3182
  ?loading=${this.loading}
3168
3183
  circle
3169
3184
  >
3170
- <cb-icon svg="${vo}"></cb-icon>
3185
+ <cb-icon svg="${va}"></cb-icon>
3171
3186
  </sl-button>
3172
3187
  </span>
3173
3188
  </div>
3174
3189
  `;
3175
3190
  }
3176
- _keyDownHandler(t) {
3177
- t.key === "Enter" && !t.shiftKey && this._sendHandler();
3191
+ _keyDownHandler(c) {
3192
+ c.key === "Enter" && !c.shiftKey && this._sendHandler();
3178
3193
  }
3179
3194
  };
3180
- O.styles = fo;
3195
+ L.styles = ya;
3181
3196
  P([
3182
- l({ type: String, attribute: "placeholder" })
3183
- ], O.prototype, "placeholder", 2);
3197
+ r({ type: String, attribute: "placeholder" })
3198
+ ], L.prototype, "placeholder", 2);
3184
3199
  P([
3185
- l({ type: String, attribute: "send-button-label" })
3186
- ], O.prototype, "sendButtonLabel", 2);
3200
+ r({ type: String, attribute: "send-button-label" })
3201
+ ], L.prototype, "sendButtonLabel", 2);
3187
3202
  P([
3188
- l({ type: Boolean, attribute: "enable-file-upload" })
3189
- ], O.prototype, "enableFileUpload", 2);
3203
+ r({ type: Boolean, attribute: "enable-file-upload" })
3204
+ ], L.prototype, "enableFileUpload", 2);
3190
3205
  P([
3191
- l({ type: String })
3192
- ], O.prototype, "value", 2);
3206
+ r({ type: String })
3207
+ ], L.prototype, "value", 2);
3193
3208
  P([
3194
- l({ type: Boolean })
3195
- ], O.prototype, "loading", 2);
3209
+ r({ type: Boolean })
3210
+ ], L.prototype, "loading", 2);
3196
3211
  P([
3197
- l({ type: Boolean })
3198
- ], O.prototype, "disabled", 2);
3212
+ r({ type: Boolean })
3213
+ ], L.prototype, "disabled", 2);
3199
3214
  P([
3200
- l({ type: String })
3201
- ], O.prototype, "currentKey", 2);
3215
+ r({ type: String })
3216
+ ], L.prototype, "currentKey", 2);
3202
3217
  P([
3203
- pe("sl-textarea")
3204
- ], O.prototype, "inputElement", 2);
3205
- O = P([
3218
+ le("sl-textarea")
3219
+ ], L.prototype, "inputElement", 2);
3220
+ L = P([
3206
3221
  k("cb-user-input")
3207
- ], O);
3208
- const _o = x`
3222
+ ], L);
3223
+ const _a = x`
3209
3224
  ${I}
3210
3225
 
3211
3226
  sl-dialog::part(base) {
@@ -3240,10 +3255,10 @@ const _o = x`
3240
3255
  gap: 8px;
3241
3256
  }
3242
3257
  `;
3243
- var Co = Object.defineProperty, $o = Object.getOwnPropertyDescriptor, ge = (t, e, o, a) => {
3244
- for (var r = a > 1 ? void 0 : a ? $o(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3245
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3246
- return a && r && Co(e, o, r), r;
3258
+ var Ca = Object.defineProperty, $a = Object.getOwnPropertyDescriptor, ue = (c, e, a, f) => {
3259
+ for (var t = f > 1 ? void 0 : f ? $a(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3260
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3261
+ return f && t && Ca(e, a, t), t;
3247
3262
  };
3248
3263
  let U = class extends C {
3249
3264
  constructor() {
@@ -3253,7 +3268,7 @@ let U = class extends C {
3253
3268
  this.emit("cancel");
3254
3269
  }
3255
3270
  render() {
3256
- return c` <sl-dialog
3271
+ return s` <sl-dialog
3257
3272
  label="Setting"
3258
3273
  class="cb-dialog"
3259
3274
  style="sl-dialog::part(base) { z-index: ${this.zindex}; }"
@@ -3263,7 +3278,7 @@ let U = class extends C {
3263
3278
  >
3264
3279
  <header class="cb-header">
3265
3280
  <div class="cb-header__left">
3266
- ${this.label ? c`<span class="title">${this.label}</span>` : ""}
3281
+ ${this.label ? s`<span class="title">${this.label}</span>` : ""}
3267
3282
  </div>
3268
3283
  <sl-button
3269
3284
  @click=${this._settingCancelHandler}
@@ -3276,7 +3291,7 @@ let U = class extends C {
3276
3291
  <cb-icon
3277
3292
  color="default"
3278
3293
  style="font-size: 1em;"
3279
- svg="${oe}"
3294
+ svg="${te}"
3280
3295
  ></cb-icon>
3281
3296
  </sl-button>
3282
3297
  </header>
@@ -3289,30 +3304,30 @@ let U = class extends C {
3289
3304
  </sl-dialog>`;
3290
3305
  }
3291
3306
  };
3292
- U.styles = _o;
3293
- ge([
3294
- l({ type: Boolean })
3307
+ U.styles = _a;
3308
+ ue([
3309
+ r({ type: Boolean })
3295
3310
  ], U.prototype, "open", 2);
3296
- ge([
3297
- l({ type: String, attribute: "label" })
3311
+ ue([
3312
+ r({ type: String, attribute: "label" })
3298
3313
  ], U.prototype, "label", 2);
3299
- ge([
3300
- l({ type: Number })
3314
+ ue([
3315
+ r({ type: Number })
3301
3316
  ], U.prototype, "zindex", 2);
3302
- U = ge([
3317
+ U = ue([
3303
3318
  k("cb-dialog")
3304
3319
  ], U);
3305
- var jo = Object.defineProperty, Mo = Object.getOwnPropertyDescriptor, Je = (t, e, o, a) => {
3306
- for (var r = a > 1 ? void 0 : a ? Mo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3307
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3308
- return a && r && jo(e, o, r), r;
3320
+ var ja = Object.defineProperty, Ma = Object.getOwnPropertyDescriptor, Je = (c, e, a, f) => {
3321
+ for (var t = f > 1 ? void 0 : f ? Ma(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3322
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3323
+ return f && t && ja(e, a, t), t;
3309
3324
  };
3310
- let se = class extends C {
3325
+ let de = class extends C {
3311
3326
  constructor() {
3312
3327
  super(...arguments), this.open = !1;
3313
3328
  }
3314
3329
  render() {
3315
- return c` <cb-dialog
3330
+ return s` <cb-dialog
3316
3331
  label="Confirm"
3317
3332
  class="cb-clear-message-dialog"
3318
3333
  ?open=${this.open}
@@ -3341,7 +3356,7 @@ let se = class extends C {
3341
3356
  this.emit("cancel");
3342
3357
  }
3343
3358
  };
3344
- se.styles = x`
3359
+ de.styles = x`
3345
3360
  .cb-clear-message-dialog {
3346
3361
  }
3347
3362
 
@@ -3350,12 +3365,12 @@ se.styles = x`
3350
3365
  }
3351
3366
  `;
3352
3367
  Je([
3353
- l({ type: Boolean })
3354
- ], se.prototype, "open", 2);
3355
- se = Je([
3368
+ r({ type: Boolean })
3369
+ ], de.prototype, "open", 2);
3370
+ de = Je([
3356
3371
  k("cb-clear-message-dialog")
3357
- ], se);
3358
- const So = x`
3372
+ ], de);
3373
+ const Sa = x`
3359
3374
  :host {
3360
3375
  // width: 380px;
3361
3376
 
@@ -3415,17 +3430,17 @@ const So = x`
3415
3430
  grid-column-start: 2;
3416
3431
  }
3417
3432
  `;
3418
- var Ao = Object.defineProperty, Oo = Object.getOwnPropertyDescriptor, N = (t, e, o, a) => {
3419
- for (var r = a > 1 ? void 0 : a ? Oo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3420
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3421
- return a && r && Ao(e, o, r), r;
3433
+ var Aa = Object.defineProperty, La = Object.getOwnPropertyDescriptor, N = (c, e, a, f) => {
3434
+ for (var t = f > 1 ? void 0 : f ? La(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3435
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3436
+ return f && t && Aa(e, a, t), t;
3422
3437
  };
3423
- let E = class extends C {
3438
+ let z = class extends C {
3424
3439
  constructor() {
3425
3440
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
3426
3441
  }
3427
3442
  render() {
3428
- return this.customRequest = this.setting.customRequest, c`
3443
+ return this.customRequest = this.setting.customRequest, s`
3429
3444
  <cb-dialog
3430
3445
  label="Setting"
3431
3446
  class="cb-dialog"
@@ -3518,7 +3533,7 @@ let E = class extends C {
3518
3533
  `;
3519
3534
  }
3520
3535
  renderInternalServices() {
3521
- return c`
3536
+ return s`
3522
3537
  <div class="form-item">
3523
3538
  <label class="label">Service</label>
3524
3539
  <sl-radio-group name="openai" value="openai" size="small">
@@ -3555,14 +3570,14 @@ let E = class extends C {
3555
3570
  this.emit("message:clear"), this.clearMessageDialogOpen = !1;
3556
3571
  }
3557
3572
  // input change handler
3558
- _inputChangeHandler(t) {
3559
- const { name: e, value: o } = t.target, [a, r] = e.split(".");
3560
- r ? this.setting[a][r] = o : this.setting[a] = o;
3573
+ _inputChangeHandler(c) {
3574
+ const { name: e, value: a } = c.target, [f, t] = e.split(".");
3575
+ t ? this.setting[f][t] = a : this.setting[f] = a;
3561
3576
  }
3562
3577
  // checked change handler
3563
- _checkChangeHandler(t) {
3564
- const { name: e, checked: o } = t.target, [a, r] = e.split(".");
3565
- r ? this.setting[a][r] = o : this.setting[a] = o, a === "customRequest" && (this.customRequest = o);
3578
+ _checkChangeHandler(c) {
3579
+ const { name: e, checked: a } = c.target, [f, t] = e.split(".");
3580
+ t ? this.setting[f][t] = a : this.setting[f] = a, f === "customRequest" && (this.customRequest = a);
3566
3581
  }
3567
3582
  // emit setting confirm event
3568
3583
  _settingConfirmHandler() {
@@ -3576,33 +3591,33 @@ let E = class extends C {
3576
3591
  _settingCancelHandler() {
3577
3592
  this.emit("setting:hide");
3578
3593
  }
3579
- updated(t) {
3594
+ updated(c) {
3580
3595
  var e;
3581
- super.updated(t), (e = this.dialog) == null || e.addEventListener("sl-request-close", (o) => {
3582
- o.detail.source === "overlay" && o.preventDefault();
3596
+ super.updated(c), (e = this.dialog) == null || e.addEventListener("sl-request-close", (a) => {
3597
+ a.detail.source === "overlay" && a.preventDefault();
3583
3598
  });
3584
3599
  }
3585
3600
  };
3586
- E.styles = So;
3601
+ z.styles = Sa;
3587
3602
  N([
3588
- l({ type: Boolean })
3589
- ], E.prototype, "open", 2);
3603
+ r({ type: Boolean })
3604
+ ], z.prototype, "open", 2);
3590
3605
  N([
3591
- l({ type: Object })
3592
- ], E.prototype, "setting", 2);
3606
+ r({ type: Object })
3607
+ ], z.prototype, "setting", 2);
3593
3608
  N([
3594
- l({ type: Boolean })
3595
- ], E.prototype, "clearMessageDialogOpen", 2);
3609
+ r({ type: Boolean })
3610
+ ], z.prototype, "clearMessageDialogOpen", 2);
3596
3611
  N([
3597
- pe("sl-dialog")
3598
- ], E.prototype, "dialog", 2);
3612
+ le("sl-dialog")
3613
+ ], z.prototype, "dialog", 2);
3599
3614
  N([
3600
- l({ type: Boolean })
3601
- ], E.prototype, "customRequest", 2);
3602
- E = N([
3615
+ r({ type: Boolean })
3616
+ ], z.prototype, "customRequest", 2);
3617
+ z = N([
3603
3618
  k("cb-setting")
3604
- ], E);
3605
- const Lo = x`
3619
+ ], z);
3620
+ const Oa = x`
3606
3621
  ${I}
3607
3622
  :host {
3608
3623
  --primary-color: var(--sl-color-primary-600);
@@ -3650,7 +3665,7 @@ const Lo = x`
3650
3665
  min-width: 250px;
3651
3666
  min-height: 100px;
3652
3667
  color: var(--enegelai-bot-popup-color, rgb(0, 0, 0));
3653
- padding: 10px;
3668
+ padding: 10px 20px 10px 10px;
3654
3669
  background: var(--enegelai-bot-popup-background, var(--sl-color-gray-50));
3655
3670
  //border: 1px solid;
3656
3671
  //border-color: var(--sl-color-gray-100);
@@ -3659,6 +3674,7 @@ const Lo = x`
3659
3674
  -webkit-font-smoothing: subpixel-antialiased;
3660
3675
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
3661
3676
  //font-size: 0.9rem;
3677
+ line-height: 1.4;
3662
3678
  font-style: normal;
3663
3679
  letter-spacing: normal;
3664
3680
  font-stretch: normal;
@@ -3674,6 +3690,10 @@ const Lo = x`
3674
3690
  --arrow-color: var(--sl-color-gray-500);
3675
3691
  }
3676
3692
 
3693
+ .cb-engage-popup-logo {
3694
+ color: var(--enegelai-bot-popup-logo-color, rgb(0, 208, 117));
3695
+ }
3696
+
3677
3697
  .cb-engage-popup-close {
3678
3698
  position: absolute;
3679
3699
  top: 0;
@@ -3689,44 +3709,45 @@ const Lo = x`
3689
3709
  align-items: start;
3690
3710
  gap: 10px;
3691
3711
  }
3692
- `, Ho = '<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.06 9.06 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 7zM5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2z"/></svg>';
3693
- var Io = Object.defineProperty, Po = Object.getOwnPropertyDescriptor, Ye = (t, e, o, a) => {
3694
- for (var r = a > 1 ? void 0 : a ? Po(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3695
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3696
- return a && r && Io(e, o, r), r;
3712
+ `, Ha = '<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.06 9.06 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 7zM5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2z"/></svg>';
3713
+ var Ia = Object.defineProperty, Pa = Object.getOwnPropertyDescriptor, Ye = (c, e, a, f) => {
3714
+ for (var t = f > 1 ? void 0 : f ? Pa(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3715
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3716
+ return f && t && Ia(e, a, t), t;
3697
3717
  };
3698
- let ne = class extends C {
3718
+ let be = class extends C {
3699
3719
  constructor() {
3700
- super(...arguments), this.store = new Fe(this, d), this.open = !1;
3720
+ super(...arguments), this.store = new Fe(this, n), this.open = !1;
3701
3721
  }
3702
3722
  // handler click
3703
3723
  _clickHandler() {
3704
- const t = !this.open;
3724
+ const c = !this.open;
3705
3725
  this.emit("chatbot:toggle", {
3706
3726
  detail: {
3707
- open: t
3727
+ open: c
3708
3728
  }
3709
- }), this.open = t;
3729
+ }), this.open = c;
3710
3730
  }
3711
- _engageClickHandler(t) {
3712
- console.log("engage close clicked!"), d.engage = !1, t.stopPropagation();
3731
+ _engageClickHandler(c) {
3732
+ console.log("engage close clicked!"), n.engage = !1, c.stopPropagation();
3713
3733
  }
3714
3734
  render() {
3715
- return c`
3735
+ return s`
3716
3736
  <div class="cb-anchor ${this.open ? "open" : ""}" part="cb-anchor" @click=${this._clickHandler.bind(this)}>
3717
- <sl-popup placement="top-end" distance="16" ?active="${d.engage && !d.open}">
3737
+ <sl-popup placement="top-end" distance="16" ?active="${n.engage && !n.open}">
3718
3738
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="icon anchor-button" circle>
3719
3739
  ${D(
3720
3740
  this.open,
3721
- () => c`<cb-icon color="white" svg="${oe}"></cb-icon>`,
3722
- () => c`<cb-icon color="white" svg="${Ho}"></cb-icon>`
3741
+ () => s`<cb-icon color="white" svg="${te}"></cb-icon>`,
3742
+ () => s`<cb-icon color="white" svg="${Ha}"></cb-icon>`
3723
3743
  )}
3724
3744
  </sl-button>
3725
3745
  <div class="cb-engage-popup">
3726
- <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${ve`${q(oe)}`}</div>
3746
+ <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${ae`${B(te)}`}</div>
3727
3747
  <div class="cb-engage-popup-content">
3728
- <cb-icon svg="${d.setting.logoSvg}"></cb-icon>
3729
- <div>${d.setting.engageMessage}</div>
3748
+ <div class="cb-engage-popup-logo">${ae`${B(n.setting.logoSvg)}`}</div>
3749
+ <!--<cb-icon class="cb-engage-popup-logo" svg="${n.setting.logoSvg}"></cb-icon>-->
3750
+ <div>${n.setting.engageMessage}</div>
3730
3751
  </div>
3731
3752
  </div>
3732
3753
  </sl-popup>
@@ -3734,22 +3755,22 @@ let ne = class extends C {
3734
3755
  `;
3735
3756
  }
3736
3757
  };
3737
- ne.styles = Lo;
3758
+ be.styles = Oa;
3738
3759
  Ye([
3739
- l({ type: Boolean })
3740
- ], ne.prototype, "open", 2);
3741
- ne = Ye([
3760
+ r({ type: Boolean })
3761
+ ], be.prototype, "open", 2);
3762
+ be = Ye([
3742
3763
  k("cb-anchor")
3743
- ], ne);
3744
- const zo = x`
3764
+ ], be);
3765
+ const Ea = x`
3745
3766
  ${I}
3746
3767
  `, Ce = '<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-.353L4.54.146zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"/></g></svg>', Ge = '<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.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06a.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017a.163.163 0 0 1-.054-.06a.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.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.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"/></g></svg>', Xe = '<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 0z"/><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 0l7-7z"/></g></svg>', Qe = '<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 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><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-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0z"/></g></svg>';
3747
- var Eo = Object.defineProperty, To = Object.getOwnPropertyDescriptor, et = (t, e, o, a) => {
3748
- for (var r = a > 1 ? void 0 : a ? To(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3749
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3750
- return a && r && Eo(e, o, r), r;
3768
+ var za = Object.defineProperty, Ta = Object.getOwnPropertyDescriptor, ec = (c, e, a, f) => {
3769
+ for (var t = f > 1 ? void 0 : f ? Ta(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3770
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3771
+ return f && t && za(e, a, t), t;
3751
3772
  };
3752
- const Ee = {
3773
+ const ze = {
3753
3774
  error: {
3754
3775
  variant: "danger",
3755
3776
  icon: Ce
@@ -3771,30 +3792,30 @@ const Ee = {
3771
3792
  icon: Qe
3772
3793
  }
3773
3794
  };
3774
- let ie = class extends C {
3795
+ let re = class extends C {
3775
3796
  constructor() {
3776
3797
  super(...arguments), this.status = "info";
3777
3798
  }
3778
3799
  render() {
3779
- const { variant: t, icon: e } = Ee[this.status] || Ee.info;
3780
- return c`<cb-icon svg=${e} color="${t}"></cb-icon>`;
3800
+ const { variant: c, icon: e } = ze[this.status] || ze.info;
3801
+ return s`<cb-icon svg=${e} color="${c}"></cb-icon>`;
3781
3802
  }
3782
3803
  };
3783
- ie.styles = Ne;
3784
- et([
3785
- l({ type: String })
3786
- ], ie.prototype, "status", 2);
3787
- ie = et([
3804
+ re.styles = Ne;
3805
+ ec([
3806
+ r({ type: String })
3807
+ ], re.prototype, "status", 2);
3808
+ re = ec([
3788
3809
  k("cb-status-icon")
3789
- ], ie);
3790
- var Bo = Object.defineProperty, Ro = Object.getOwnPropertyDescriptor, Vo = (t, e, o, a) => {
3791
- for (var r = a > 1 ? void 0 : a ? Ro(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3792
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3793
- return a && r && Bo(e, o, r), r;
3810
+ ], re);
3811
+ var Ba = Object.defineProperty, Ra = Object.getOwnPropertyDescriptor, Va = (c, e, a, f) => {
3812
+ for (var t = f > 1 ? void 0 : f ? Ra(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3813
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3814
+ return f && t && Ba(e, a, t), t;
3794
3815
  };
3795
3816
  let $e = class extends C {
3796
3817
  render() {
3797
- return c` <sl-alert variant="danger" open>
3818
+ return s` <sl-alert variant="danger" open>
3798
3819
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
3799
3820
  Please config openai api key in the settings.
3800
3821
  <span
@@ -3808,14 +3829,14 @@ let $e = class extends C {
3808
3829
  this.emit("setting:show");
3809
3830
  }
3810
3831
  };
3811
- $e.styles = zo;
3812
- $e = Vo([
3832
+ $e.styles = Ea;
3833
+ $e = Va([
3813
3834
  k("cb-auth-alert")
3814
3835
  ], $e);
3815
3836
  class Te extends Error {
3816
- constructor(e, o, a) {
3817
- const r = e.status || e.status === 0 ? e.status : "", s = e.statusText || "", n = `${r} ${s}`.trim(), i = n ? `status code ${n}` : "an unknown error";
3818
- super(`Request failed with ${i}`), Object.defineProperty(this, "response", {
3837
+ constructor(e, a, f) {
3838
+ const t = e.status || e.status === 0 ? e.status : "", o = e.statusText || "", d = `${t} ${o}`.trim(), b = d ? `status code ${d}` : "an unknown error";
3839
+ super(`Request failed with ${b}`), Object.defineProperty(this, "response", {
3819
3840
  enumerable: !0,
3820
3841
  configurable: !0,
3821
3842
  writable: !0,
@@ -3830,10 +3851,10 @@ class Te extends Error {
3830
3851
  configurable: !0,
3831
3852
  writable: !0,
3832
3853
  value: void 0
3833
- }), this.name = "HTTPError", this.response = e, this.request = o, this.options = a;
3854
+ }), this.name = "HTTPError", this.response = e, this.request = a, this.options = f;
3834
3855
  }
3835
3856
  }
3836
- class tt extends Error {
3857
+ class cc extends Error {
3837
3858
  constructor(e) {
3838
3859
  super("Request timed out"), Object.defineProperty(this, "request", {
3839
3860
  enumerable: !0,
@@ -3843,144 +3864,144 @@ class tt extends Error {
3843
3864
  }), this.name = "TimeoutError", this.request = e;
3844
3865
  }
3845
3866
  }
3846
- const ee = (t) => t !== null && typeof t == "object", G = (...t) => {
3847
- for (const e of t)
3867
+ const ee = (c) => c !== null && typeof c == "object", G = (...c) => {
3868
+ for (const e of c)
3848
3869
  if ((!ee(e) || Array.isArray(e)) && typeof e < "u")
3849
3870
  throw new TypeError("The `options` argument must be an object");
3850
- return Oe({}, ...t);
3851
- }, ot = (t = {}, e = {}) => {
3852
- const o = new globalThis.Headers(t), a = e instanceof globalThis.Headers, r = new globalThis.Headers(e);
3853
- for (const [s, n] of r.entries())
3854
- a && n === "undefined" || n === void 0 ? o.delete(s) : o.set(s, n);
3855
- return o;
3856
- }, Oe = (...t) => {
3857
- let e = {}, o = {};
3858
- for (const a of t)
3859
- if (Array.isArray(a))
3860
- Array.isArray(e) || (e = []), e = [...e, ...a];
3861
- else if (ee(a)) {
3862
- for (let [r, s] of Object.entries(a))
3863
- ee(s) && r in e && (s = Oe(e[r], s)), e = { ...e, [r]: s };
3864
- ee(a.headers) && (o = ot(o, a.headers), e.headers = o);
3871
+ return Le({}, ...c);
3872
+ }, ac = (c = {}, e = {}) => {
3873
+ const a = new globalThis.Headers(c), f = e instanceof globalThis.Headers, t = new globalThis.Headers(e);
3874
+ for (const [o, d] of t.entries())
3875
+ f && d === "undefined" || d === void 0 ? a.delete(o) : a.set(o, d);
3876
+ return a;
3877
+ }, Le = (...c) => {
3878
+ let e = {}, a = {};
3879
+ for (const f of c)
3880
+ if (Array.isArray(f))
3881
+ Array.isArray(e) || (e = []), e = [...e, ...f];
3882
+ else if (ee(f)) {
3883
+ for (let [t, o] of Object.entries(f))
3884
+ ee(o) && t in e && (o = Le(e[t], o)), e = { ...e, [t]: o };
3885
+ ee(f.headers) && (a = ac(a, f.headers), e.headers = a);
3865
3886
  }
3866
3887
  return e;
3867
- }, qo = (() => {
3868
- let t = !1, e = !1;
3869
- const o = typeof globalThis.ReadableStream == "function", a = typeof globalThis.Request == "function";
3870
- return o && a && (e = new globalThis.Request("https://a.com", {
3888
+ }, qa = (() => {
3889
+ let c = !1, e = !1;
3890
+ const a = typeof globalThis.ReadableStream == "function", f = typeof globalThis.Request == "function";
3891
+ return a && f && (e = new globalThis.Request("https://a.com", {
3871
3892
  body: new globalThis.ReadableStream(),
3872
3893
  method: "POST",
3873
3894
  // @ts-expect-error - Types are outdated.
3874
3895
  get duplex() {
3875
- return t = !0, "half";
3896
+ return c = !0, "half";
3876
3897
  }
3877
- }).headers.has("Content-Type")), t && !e;
3878
- })(), Do = typeof globalThis.AbortController == "function", Fo = typeof globalThis.ReadableStream == "function", Uo = typeof globalThis.FormData == "function", rt = ["get", "post", "put", "patch", "head", "delete"], Zo = {
3898
+ }).headers.has("Content-Type")), c && !e;
3899
+ })(), Da = typeof globalThis.AbortController == "function", Fa = typeof globalThis.ReadableStream == "function", Ua = typeof globalThis.FormData == "function", tc = ["get", "post", "put", "patch", "head", "delete"], Za = {
3879
3900
  json: "application/json",
3880
3901
  text: "text/*",
3881
3902
  formData: "multipart/form-data",
3882
3903
  arrayBuffer: "*/*",
3883
3904
  blob: "*/*"
3884
- }, fe = 2147483647, at = Symbol("stop"), No = (t) => rt.includes(t) ? t.toUpperCase() : t, Wo = ["get", "put", "head", "delete", "options", "trace"], Ko = [408, 413, 429, 500, 502, 503, 504], st = [413, 429, 503], Be = {
3905
+ }, ve = 2147483647, fc = Symbol("stop"), Na = (c) => tc.includes(c) ? c.toUpperCase() : c, Wa = ["get", "put", "head", "delete", "options", "trace"], Ka = [408, 413, 429, 500, 502, 503, 504], oc = [413, 429, 503], Be = {
3885
3906
  limit: 2,
3886
- methods: Wo,
3887
- statusCodes: Ko,
3888
- afterStatusCodes: st,
3907
+ methods: Wa,
3908
+ statusCodes: Ka,
3909
+ afterStatusCodes: oc,
3889
3910
  maxRetryAfter: Number.POSITIVE_INFINITY,
3890
3911
  backoffLimit: Number.POSITIVE_INFINITY
3891
- }, Jo = (t = {}) => {
3892
- if (typeof t == "number")
3912
+ }, Ja = (c = {}) => {
3913
+ if (typeof c == "number")
3893
3914
  return {
3894
3915
  ...Be,
3895
- limit: t
3916
+ limit: c
3896
3917
  };
3897
- if (t.methods && !Array.isArray(t.methods))
3918
+ if (c.methods && !Array.isArray(c.methods))
3898
3919
  throw new Error("retry.methods must be an array");
3899
- if (t.statusCodes && !Array.isArray(t.statusCodes))
3920
+ if (c.statusCodes && !Array.isArray(c.statusCodes))
3900
3921
  throw new Error("retry.statusCodes must be an array");
3901
3922
  return {
3902
3923
  ...Be,
3903
- ...t,
3904
- afterStatusCodes: st
3924
+ ...c,
3925
+ afterStatusCodes: oc
3905
3926
  };
3906
3927
  };
3907
- async function Yo(t, e, o) {
3908
- return new Promise((a, r) => {
3909
- const s = setTimeout(() => {
3910
- e && e.abort(), r(new tt(t));
3911
- }, o.timeout);
3912
- o.fetch(t).then(a).catch(r).then(() => {
3913
- clearTimeout(s);
3928
+ async function Ya(c, e, a) {
3929
+ return new Promise((f, t) => {
3930
+ const o = setTimeout(() => {
3931
+ e && e.abort(), t(new cc(c));
3932
+ }, a.timeout);
3933
+ a.fetch(c).then(f).catch(t).then(() => {
3934
+ clearTimeout(o);
3914
3935
  });
3915
3936
  });
3916
3937
  }
3917
- const Go = !!globalThis.DOMException;
3918
- function Re(t) {
3919
- if (Go)
3920
- return new DOMException((t == null ? void 0 : t.reason) ?? "The operation was aborted.", "AbortError");
3921
- const e = new Error((t == null ? void 0 : t.reason) ?? "The operation was aborted.");
3938
+ const Ga = !!globalThis.DOMException;
3939
+ function Re(c) {
3940
+ if (Ga)
3941
+ return new DOMException((c == null ? void 0 : c.reason) ?? "The operation was aborted.", "AbortError");
3942
+ const e = new Error((c == null ? void 0 : c.reason) ?? "The operation was aborted.");
3922
3943
  return e.name = "AbortError", e;
3923
3944
  }
3924
- async function Xo(t, { signal: e }) {
3925
- return new Promise((o, a) => {
3945
+ async function Xa(c, { signal: e }) {
3946
+ return new Promise((a, f) => {
3926
3947
  if (e) {
3927
3948
  if (e.aborted) {
3928
- a(Re(e));
3949
+ f(Re(e));
3929
3950
  return;
3930
3951
  }
3931
- e.addEventListener("abort", r, { once: !0 });
3952
+ e.addEventListener("abort", t, { once: !0 });
3932
3953
  }
3933
- function r() {
3934
- a(Re(e)), clearTimeout(s);
3954
+ function t() {
3955
+ f(Re(e)), clearTimeout(o);
3935
3956
  }
3936
- const s = setTimeout(() => {
3937
- e == null || e.removeEventListener("abort", r), o();
3938
- }, t);
3957
+ const o = setTimeout(() => {
3958
+ e == null || e.removeEventListener("abort", t), a();
3959
+ }, c);
3939
3960
  });
3940
3961
  }
3941
- class le {
3962
+ class se {
3942
3963
  // eslint-disable-next-line @typescript-eslint/promise-function-async
3943
- static create(e, o) {
3944
- const a = new le(e, o), r = async () => {
3945
- if (a._options.timeout > fe)
3946
- throw new RangeError(`The \`timeout\` option cannot be greater than ${fe}`);
3964
+ static create(e, a) {
3965
+ const f = new se(e, a), t = async () => {
3966
+ if (f._options.timeout > ve)
3967
+ throw new RangeError(`The \`timeout\` option cannot be greater than ${ve}`);
3947
3968
  await Promise.resolve();
3948
- let i = await a._fetch();
3949
- for (const g of a._options.hooks.afterResponse) {
3950
- const m = await g(a.request, a._options, a._decorateResponse(i.clone()));
3951
- m instanceof globalThis.Response && (i = m);
3969
+ let b = await f._fetch();
3970
+ for (const h of f._options.hooks.afterResponse) {
3971
+ const g = await h(f.request, f._options, f._decorateResponse(b.clone()));
3972
+ g instanceof globalThis.Response && (b = g);
3952
3973
  }
3953
- if (a._decorateResponse(i), !i.ok && a._options.throwHttpErrors) {
3954
- let g = new Te(i, a.request, a._options);
3955
- for (const m of a._options.hooks.beforeError)
3956
- g = await m(g);
3957
- throw g;
3974
+ if (f._decorateResponse(b), !b.ok && f._options.throwHttpErrors) {
3975
+ let h = new Te(b, f.request, f._options);
3976
+ for (const g of f._options.hooks.beforeError)
3977
+ h = await g(h);
3978
+ throw h;
3958
3979
  }
3959
- if (a._options.onDownloadProgress) {
3960
- if (typeof a._options.onDownloadProgress != "function")
3980
+ if (f._options.onDownloadProgress) {
3981
+ if (typeof f._options.onDownloadProgress != "function")
3961
3982
  throw new TypeError("The `onDownloadProgress` option must be a function");
3962
- if (!Fo)
3983
+ if (!Fa)
3963
3984
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
3964
- return a._stream(i.clone(), a._options.onDownloadProgress);
3985
+ return f._stream(b.clone(), f._options.onDownloadProgress);
3965
3986
  }
3966
- return i;
3967
- }, n = a._options.retry.methods.includes(a.request.method.toLowerCase()) ? a._retry(r) : r();
3968
- for (const [i, g] of Object.entries(Zo))
3969
- n[i] = async () => {
3970
- a.request.headers.set("accept", a.request.headers.get("accept") || g);
3971
- const y = (await n).clone();
3972
- if (i === "json") {
3973
- if (y.status === 204 || (await y.clone().arrayBuffer()).byteLength === 0)
3987
+ return b;
3988
+ }, d = f._options.retry.methods.includes(f.request.method.toLowerCase()) ? f._retry(t) : t();
3989
+ for (const [b, h] of Object.entries(Za))
3990
+ d[b] = async () => {
3991
+ f.request.headers.set("accept", f.request.headers.get("accept") || h);
3992
+ const m = (await d).clone();
3993
+ if (b === "json") {
3994
+ if (m.status === 204 || (await m.clone().arrayBuffer()).byteLength === 0)
3974
3995
  return "";
3975
- if (o.parseJson)
3976
- return o.parseJson(await y.text());
3996
+ if (a.parseJson)
3997
+ return a.parseJson(await m.text());
3977
3998
  }
3978
- return y[i]();
3999
+ return m[b]();
3979
4000
  };
3980
- return n;
4001
+ return d;
3981
4002
  }
3982
4003
  // eslint-disable-next-line complexity
3983
- constructor(e, o = {}) {
4004
+ constructor(e, a = {}) {
3984
4005
  if (Object.defineProperty(this, "request", {
3985
4006
  enumerable: !0,
3986
4007
  configurable: !0,
@@ -4009,21 +4030,21 @@ class le {
4009
4030
  }), this._input = e, this._options = {
4010
4031
  // TODO: credentials can be removed when the spec change is implemented in all browsers. Context: https://www.chromestatus.com/feature/4539473312350208
4011
4032
  credentials: this._input.credentials || "same-origin",
4012
- ...o,
4013
- headers: ot(this._input.headers, o.headers),
4014
- hooks: Oe({
4033
+ ...a,
4034
+ headers: ac(this._input.headers, a.headers),
4035
+ hooks: Le({
4015
4036
  beforeRequest: [],
4016
4037
  beforeRetry: [],
4017
4038
  beforeError: [],
4018
4039
  afterResponse: []
4019
- }, o.hooks),
4020
- method: No(o.method ?? this._input.method),
4040
+ }, a.hooks),
4041
+ method: Na(a.method ?? this._input.method),
4021
4042
  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
4022
- prefixUrl: String(o.prefixUrl || ""),
4023
- retry: Jo(o.retry),
4024
- throwHttpErrors: o.throwHttpErrors !== !1,
4025
- timeout: typeof o.timeout > "u" ? 1e4 : o.timeout,
4026
- fetch: o.fetch ?? globalThis.fetch.bind(globalThis)
4043
+ prefixUrl: String(a.prefixUrl || ""),
4044
+ retry: Ja(a.retry),
4045
+ throwHttpErrors: a.throwHttpErrors !== !1,
4046
+ timeout: typeof a.timeout > "u" ? 1e4 : a.timeout,
4047
+ fetch: a.fetch ?? globalThis.fetch.bind(globalThis)
4027
4048
  }, typeof this._input != "string" && !(this._input instanceof URL || this._input instanceof globalThis.Request))
4028
4049
  throw new TypeError("`input` must be a string, URL, or Request");
4029
4050
  if (this._options.prefixUrl && typeof this._input == "string") {
@@ -4031,36 +4052,36 @@ class le {
4031
4052
  throw new Error("`input` must not begin with a slash when using `prefixUrl`");
4032
4053
  this._options.prefixUrl.endsWith("/") || (this._options.prefixUrl += "/"), this._input = this._options.prefixUrl + this._input;
4033
4054
  }
4034
- if (Do) {
4055
+ if (Da) {
4035
4056
  if (this.abortController = new globalThis.AbortController(), this._options.signal) {
4036
- const a = this._options.signal;
4057
+ const f = this._options.signal;
4037
4058
  this._options.signal.addEventListener("abort", () => {
4038
- this.abortController.abort(a.reason);
4059
+ this.abortController.abort(f.reason);
4039
4060
  });
4040
4061
  }
4041
4062
  this._options.signal = this.abortController.signal;
4042
4063
  }
4043
- if (qo && (this._options.duplex = "half"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
4044
- const r = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), s = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
4045
- (Uo && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(s, { ...this.request }), this._options);
4064
+ if (qa && (this._options.duplex = "half"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
4065
+ const t = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, t);
4066
+ (Ua && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(o, { ...this.request }), this._options);
4046
4067
  }
4047
4068
  this._options.json !== void 0 && (this._options.body = JSON.stringify(this._options.json), this.request.headers.set("content-type", this._options.headers.get("content-type") ?? "application/json"), this.request = new globalThis.Request(this.request, { body: this._options.body }));
4048
4069
  }
4049
4070
  _calculateRetryDelay(e) {
4050
- if (this._retryCount++, this._retryCount < this._options.retry.limit && !(e instanceof tt)) {
4071
+ if (this._retryCount++, this._retryCount < this._options.retry.limit && !(e instanceof cc)) {
4051
4072
  if (e instanceof Te) {
4052
4073
  if (!this._options.retry.statusCodes.includes(e.response.status))
4053
4074
  return 0;
4054
- const a = e.response.headers.get("Retry-After");
4055
- if (a && this._options.retry.afterStatusCodes.includes(e.response.status)) {
4056
- let r = Number(a);
4057
- return Number.isNaN(r) ? r = Date.parse(a) - Date.now() : r *= 1e3, typeof this._options.retry.maxRetryAfter < "u" && r > this._options.retry.maxRetryAfter ? 0 : r;
4075
+ const f = e.response.headers.get("Retry-After");
4076
+ if (f && this._options.retry.afterStatusCodes.includes(e.response.status)) {
4077
+ let t = Number(f);
4078
+ return Number.isNaN(t) ? t = Date.parse(f) - Date.now() : t *= 1e3, typeof this._options.retry.maxRetryAfter < "u" && t > this._options.retry.maxRetryAfter ? 0 : t;
4058
4079
  }
4059
4080
  if (e.response.status === 413)
4060
4081
  return 0;
4061
4082
  }
4062
- const o = 0.3;
4063
- return Math.min(this._options.retry.backoffLimit, o * 2 ** (this._retryCount - 1) * 1e3);
4083
+ const a = 0.3;
4084
+ return Math.min(this._options.retry.backoffLimit, a * 2 ** (this._retryCount - 1) * 1e3);
4064
4085
  }
4065
4086
  return 0;
4066
4087
  }
@@ -4070,61 +4091,61 @@ class le {
4070
4091
  async _retry(e) {
4071
4092
  try {
4072
4093
  return await e();
4073
- } catch (o) {
4074
- const a = Math.min(this._calculateRetryDelay(o), fe);
4075
- if (a !== 0 && this._retryCount > 0) {
4076
- await Xo(a, { signal: this._options.signal });
4077
- for (const r of this._options.hooks.beforeRetry)
4078
- if (await r({
4094
+ } catch (a) {
4095
+ const f = Math.min(this._calculateRetryDelay(a), ve);
4096
+ if (f !== 0 && this._retryCount > 0) {
4097
+ await Xa(f, { signal: this._options.signal });
4098
+ for (const t of this._options.hooks.beforeRetry)
4099
+ if (await t({
4079
4100
  request: this.request,
4080
4101
  options: this._options,
4081
- error: o,
4102
+ error: a,
4082
4103
  retryCount: this._retryCount
4083
- }) === at)
4104
+ }) === fc)
4084
4105
  return;
4085
4106
  return this._retry(e);
4086
4107
  }
4087
- throw o;
4108
+ throw a;
4088
4109
  }
4089
4110
  }
4090
4111
  async _fetch() {
4091
4112
  for (const e of this._options.hooks.beforeRequest) {
4092
- const o = await e(this.request, this._options);
4093
- if (o instanceof Request) {
4094
- this.request = o;
4113
+ const a = await e(this.request, this._options);
4114
+ if (a instanceof Request) {
4115
+ this.request = a;
4095
4116
  break;
4096
4117
  }
4097
- if (o instanceof Response)
4098
- return o;
4118
+ if (a instanceof Response)
4119
+ return a;
4099
4120
  }
4100
- return this._options.timeout === !1 ? this._options.fetch(this.request.clone()) : Yo(this.request.clone(), this.abortController, this._options);
4121
+ return this._options.timeout === !1 ? this._options.fetch(this.request.clone()) : Ya(this.request.clone(), this.abortController, this._options);
4101
4122
  }
4102
4123
  /* istanbul ignore next */
4103
- _stream(e, o) {
4104
- const a = Number(e.headers.get("content-length")) || 0;
4105
- let r = 0;
4106
- return e.status === 204 ? (o && o({ percent: 1, totalBytes: a, transferredBytes: r }, new Uint8Array()), new globalThis.Response(null, {
4124
+ _stream(e, a) {
4125
+ const f = Number(e.headers.get("content-length")) || 0;
4126
+ let t = 0;
4127
+ return e.status === 204 ? (a && a({ percent: 1, totalBytes: f, transferredBytes: t }, new Uint8Array()), new globalThis.Response(null, {
4107
4128
  status: e.status,
4108
4129
  statusText: e.statusText,
4109
4130
  headers: e.headers
4110
4131
  })) : new globalThis.Response(new globalThis.ReadableStream({
4111
- async start(s) {
4112
- const n = e.body.getReader();
4113
- o && o({ percent: 0, transferredBytes: 0, totalBytes: a }, new Uint8Array());
4114
- async function i() {
4115
- const { done: g, value: m } = await n.read();
4116
- if (g) {
4117
- s.close();
4132
+ async start(o) {
4133
+ const d = e.body.getReader();
4134
+ a && a({ percent: 0, transferredBytes: 0, totalBytes: f }, new Uint8Array());
4135
+ async function b() {
4136
+ const { done: h, value: g } = await d.read();
4137
+ if (h) {
4138
+ o.close();
4118
4139
  return;
4119
4140
  }
4120
- if (o) {
4121
- r += m.byteLength;
4122
- const y = a === 0 ? 0 : r / a;
4123
- o({ percent: y, transferredBytes: r, totalBytes: a }, m);
4141
+ if (a) {
4142
+ t += g.byteLength;
4143
+ const m = f === 0 ? 0 : t / f;
4144
+ a({ percent: m, transferredBytes: t, totalBytes: f }, g);
4124
4145
  }
4125
- s.enqueue(m), await i();
4146
+ o.enqueue(g), await b();
4126
4147
  }
4127
- await i();
4148
+ await b();
4128
4149
  }
4129
4150
  }), {
4130
4151
  status: e.status,
@@ -4134,12 +4155,12 @@ class le {
4134
4155
  }
4135
4156
  }
4136
4157
  /*! MIT License © Sindre Sorhus */
4137
- const je = (t) => {
4138
- const e = (o, a) => le.create(o, G(t, a));
4139
- for (const o of rt)
4140
- e[o] = (a, r) => le.create(a, G(t, r, { method: o }));
4141
- return e.create = (o) => je(G(o)), e.extend = (o) => je(G(t, o)), e.stop = at, e;
4142
- }, Qo = je(), er = Qo, nt = er.extend({
4158
+ const je = (c) => {
4159
+ const e = (a, f) => se.create(a, G(c, f));
4160
+ for (const a of tc)
4161
+ e[a] = (f, t) => se.create(f, G(c, t, { method: a }));
4162
+ return e.create = (a) => je(G(a)), e.extend = (a) => je(G(c, a)), e.stop = fc, e;
4163
+ }, Qa = je(), e1 = Qa, dc = e1.extend({
4143
4164
  hooks: {
4144
4165
  beforeRequest: [
4145
4166
  () => {
@@ -4147,41 +4168,41 @@ const je = (t) => {
4147
4168
  ]
4148
4169
  }
4149
4170
  });
4150
- async function tr(t, e) {
4151
- const { onmessage: o, onclose: a, ...r } = e, s = async (n, i) => {
4152
- const { value: g, done: m } = await i.read();
4153
- m ? (n.close(), a == null || a()) : (o == null || o(g), n.enqueue(g), s(n, i));
4171
+ async function c1(c, e) {
4172
+ const { onmessage: a, onclose: f, ...t } = e, o = async (d, b) => {
4173
+ const { value: h, done: g } = await b.read();
4174
+ g ? (d.close(), f == null || f()) : (a == null || a(h), d.enqueue(h), o(d, b));
4154
4175
  };
4155
- return r.body && typeof r.body == "object" && (r.body = JSON.stringify(r.body)), console.log("Fetching:", r), fetch(t, r).then((n) => {
4156
- const i = n.body.getReader();
4176
+ return t.body && typeof t.body == "object" && (t.body = JSON.stringify(t.body)), console.log("Fetching:", t), fetch(c, t).then((d) => {
4177
+ const b = d.body.getReader();
4157
4178
  return new ReadableStream({
4158
- start(m) {
4159
- s(
4160
- m,
4161
- i
4179
+ start(g) {
4180
+ o(
4181
+ g,
4182
+ b
4162
4183
  );
4163
4184
  }
4164
4185
  });
4165
4186
  }).then(
4166
- (n) => new Response(n, {
4187
+ (d) => new Response(d, {
4167
4188
  headers: { "Content-Type": "text/html" }
4168
4189
  }).text()
4169
4190
  );
4170
4191
  }
4171
- async function or(t, e) {
4172
- const o = new FormData();
4173
- for (let r = 0; r < e.length; r++)
4174
- o.append("files", e[r]);
4175
- const a = await nt.post(t, {
4176
- body: o
4192
+ async function a1(c, e) {
4193
+ const a = new FormData();
4194
+ for (let t = 0; t < e.length; t++)
4195
+ a.append("files", e[t]);
4196
+ const f = await dc.post(c, {
4197
+ body: a
4177
4198
  });
4178
4199
  try {
4179
- return await a.json();
4180
- } catch (r) {
4200
+ return await f.json();
4201
+ } catch (t) {
4181
4202
  return {
4182
4203
  code: 1,
4183
4204
  url: "",
4184
- message: r.message
4205
+ message: t.message
4185
4206
  };
4186
4207
  }
4187
4208
  }
@@ -4203,109 +4224,109 @@ const Ve = {
4203
4224
  icon: Qe
4204
4225
  }
4205
4226
  };
4206
- function rr(t) {
4227
+ function t1(c) {
4207
4228
  const e = document.createElement("div");
4208
- return e.textContent = t, e.innerHTML;
4229
+ return e.textContent = c, e.innerHTML;
4209
4230
  }
4210
- function ar(t = "info", e, o = 1e8) {
4211
- const { variant: a, icon: r } = Ve[t] || Ve.info, s = Object.assign(document.createElement("sl-alert"), {
4212
- variant: a,
4231
+ function f1(c = "info", e, a = 1e8) {
4232
+ const { variant: f, icon: t } = Ve[c] || Ve.info, o = Object.assign(document.createElement("sl-alert"), {
4233
+ variant: f,
4213
4234
  closable: !0,
4214
- duration: o,
4235
+ duration: a,
4215
4236
  innerHTML: `
4216
- <cb-status-icon slot="icon" status="${t}"></cb-status-icon>
4217
- ${rr(e)}
4237
+ <cb-status-icon slot="icon" status="${c}"></cb-status-icon>
4238
+ ${t1(e)}
4218
4239
  `
4219
4240
  });
4220
- return document.body.append(s), s.toast();
4241
+ return document.body.append(o), o.toast();
4221
4242
  }
4222
- async function sr(t, e) {
4223
- const o = t.getReader(), a = new TextDecoder("utf-8");
4224
- let r = !1;
4225
- for (; !r; ) {
4226
- const { value: s, done: n } = await o.read();
4227
- if (s) {
4228
- let i = a.decode(s);
4229
- const g = i.lastIndexOf("data:"), m = i.lastIndexOf(`
4243
+ async function o1(c, e) {
4244
+ const a = c.getReader(), f = new TextDecoder("utf-8");
4245
+ let t = !1;
4246
+ for (; !t; ) {
4247
+ const { value: o, done: d } = await a.read();
4248
+ if (o) {
4249
+ let b = f.decode(o);
4250
+ const h = b.lastIndexOf("data:"), g = b.lastIndexOf(`
4230
4251
  `);
4231
- if (g !== -1 && (i = i.slice(g + 6)), m !== -1 && (i = i.slice(0, m)), i = i.trim(), i === `
4232
- ` || i === "")
4252
+ if (h !== -1 && (b = b.slice(h + 6)), g !== -1 && (b = b.slice(0, g)), b = b.trim(), b === `
4253
+ ` || b === "")
4233
4254
  continue;
4234
- if (i === "[DONE]") {
4235
- r = !0;
4255
+ if (b === "[DONE]") {
4256
+ t = !0;
4236
4257
  continue;
4237
4258
  }
4238
4259
  try {
4239
- const y = JSON.parse(i);
4240
- e(null, y);
4241
- } catch (y) {
4242
- console.log("error", y), e(y, null);
4260
+ const m = JSON.parse(b);
4261
+ e(null, m);
4262
+ } catch (m) {
4263
+ console.log("error", m), e(m, null);
4243
4264
  }
4244
4265
  }
4245
- r = n;
4266
+ t = d;
4246
4267
  }
4247
4268
  }
4248
- async function nr(t) {
4249
- var r;
4250
- if (!t.apiKey)
4269
+ async function d1(c) {
4270
+ var t;
4271
+ if (!c.apiKey)
4251
4272
  throw new Error("apiKey is required");
4252
- const e = t.options ?? {};
4273
+ const e = c.options ?? {};
4253
4274
  e.model || (e.model = "gpt-3.5-turbo");
4254
- const o = await nt.post(t.url, {
4275
+ const a = await dc.post(c.url, {
4255
4276
  json: {
4256
- messages: t.messages,
4257
- ...t.options ?? {}
4277
+ messages: c.messages,
4278
+ ...c.options ?? {}
4258
4279
  },
4259
4280
  headers: {
4260
4281
  "Content-Type": "application/json",
4261
- Authorization: `Bearer ${t.apiKey}`
4282
+ Authorization: `Bearer ${c.apiKey}`
4262
4283
  },
4263
4284
  timeout: 1e3 * 60 * 10,
4264
- signal: t.signal
4265
- }), a = o.body;
4266
- if (!a)
4285
+ signal: c.signal
4286
+ }), f = a.body;
4287
+ if (!f)
4267
4288
  throw new Error("No data");
4268
- if ((r = t.options) != null && r.stream) {
4269
- await sr(a, t.onMessage);
4289
+ if ((t = c.options) != null && t.stream) {
4290
+ await o1(f, c.onMessage);
4270
4291
  return;
4271
4292
  }
4272
- return o.json();
4293
+ return a.json();
4273
4294
  }
4274
- var ir = Object.defineProperty, lr = Object.getOwnPropertyDescriptor, v = (t, e, o, a) => {
4275
- for (var r = a > 1 ? void 0 : a ? lr(e, o) : e, s = t.length - 1, n; s >= 0; s--)
4276
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
4277
- return a && r && ir(e, o, r), r;
4295
+ var b1 = Object.defineProperty, r1 = Object.getOwnPropertyDescriptor, v = (c, e, a, f) => {
4296
+ for (var t = f > 1 ? void 0 : f ? r1(e, a) : e, o = c.length - 1, d; o >= 0; o--)
4297
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
4298
+ return f && t && b1(e, a, t), t;
4278
4299
  };
4279
- const te = he.noConflict();
4280
- te.setLevel("info");
4281
- let b = class extends C {
4300
+ const ce = pe.noConflict();
4301
+ ce.setLevel("info");
4302
+ let u = class extends C {
4282
4303
  constructor() {
4283
- super(...arguments), this.store = new Fe(this, d), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
4304
+ super(...arguments), this.store = new Fe(this, n), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
4284
4305
  <path
4285
4306
  d="M34.728 0.275L2.245 15.267c-3.748 1.749 -2.498 7.246 1.499 7.246h13.743v13.743c0 3.998 5.497 5.248 7.246 1.499l14.992 -32.483c1.249 -2.999 -1.999 -6.248 -4.998 -4.998z"
4286
4307
  fill="#E24D42"
4287
4308
  ></path>
4288
4309
  </svg>
4289
- `, 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.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = tr;
4310
+ `, 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.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = c1;
4290
4311
  }
4291
4312
  //HTMLElement;
4292
4313
  /**
4293
4314
  * decodeStreamData
4294
4315
  */
4295
- decodeStreamData(t) {
4296
- return new TextDecoder().decode(t);
4316
+ decodeStreamData(c) {
4317
+ return new TextDecoder().decode(c);
4297
4318
  }
4298
4319
  addMessage() {
4299
- const t = {
4320
+ const c = {
4300
4321
  author: "assistant",
4301
4322
  type: "text",
4302
4323
  isThinking: !0,
4303
4324
  data: {}
4304
4325
  };
4305
- return d.addMessage(t), t;
4326
+ return n.addMessage(c), c;
4306
4327
  }
4307
4328
  addTestMessage() {
4308
- const t = {
4329
+ const c = {
4309
4330
  author: "assistant",
4310
4331
  type: "text",
4311
4332
  isThinking: !1,
@@ -4313,28 +4334,28 @@ let b = class extends C {
4313
4334
  text: "Long text.The element may not be scrolled completely to the top or bottom depending on the layout of other elements.The element may not be scrolled completely to the top or bottom depending on the layout of other elements."
4314
4335
  }
4315
4336
  };
4316
- return d.addMessage(t), t;
4337
+ return n.addMessage(c), c;
4317
4338
  }
4318
4339
  render() {
4319
- return c`
4320
- <div class="cb-wrapper" style="${d.open ? "display:flex" : "display:none"}">
4340
+ return s`
4341
+ <div class="cb-wrapper" style="${n.open ? "display:flex" : "display:none"}">
4321
4342
  <cb-header title="${this.name}"></cb-header>
4322
- <cb-message-list .messages=${d.messages} .actions=${d.actions}></cb-message-list>
4343
+ <cb-message-list .messages=${n.messages} .actions=${n.actions}></cb-message-list>
4323
4344
  <cb-user-input ?loading=${this.loading} ?disabled=${this.loading || this.showAuthAlert} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>
4324
4345
  </div>
4325
- <cb-anchor ?open=${d.open}></cb-anchor>
4346
+ <cb-anchor ?open=${n.open}></cb-anchor>
4326
4347
  `;
4327
4348
  }
4328
4349
  connectedCallback() {
4329
- super.connectedCallback(), te.info("connectedCallback"), addEventListener("setting:show", () => {
4350
+ super.connectedCallback(), ce.info("connectedCallback"), addEventListener("setting:show", () => {
4330
4351
  this.showSetting = !0;
4331
4352
  }), addEventListener("message:send", this._addMessageHandler.bind(this)), addEventListener("message:remove", this._deleteMessageHandler.bind(this)), addEventListener("setting:confirm", this._settingConfirmHandler.bind(this)), addEventListener("setting:hide", () => {
4332
4353
  this.showSetting = !1;
4333
- }), addEventListener("chatbot:toggle", (t) => {
4334
- const e = t.detail;
4335
- d.open = e.open, d.engage = !1;
4354
+ }), addEventListener("chatbot:toggle", (c) => {
4355
+ const e = c.detail;
4356
+ n.open = e.open, n.engage = !1;
4336
4357
  }), addEventListener("message:clear", () => {
4337
- d.clearMessages();
4358
+ n.clearMessages();
4338
4359
  }), addEventListener("message:send:file", this._sendFileHandler.bind(this)), addEventListener("setting:show", () => {
4339
4360
  this.showSetting = !0;
4340
4361
  });
@@ -4342,52 +4363,52 @@ let b = class extends C {
4342
4363
  // This is called when component is loaded, with all the settings (props) values
4343
4364
  // Use to initialize
4344
4365
  // This is also called when state changes - ??? - i.e. when message added to the array
4345
- updated(t) {
4346
- super.updated(t), te.info("updated,_changedProperties:", t), t.size > 0 && (te.info("updated,_changedProperties:", t), this._initSetting()), setTimeout(() => {
4366
+ updated(c) {
4367
+ super.updated(c), ce.info("updated,_changedProperties:", c), c.size > 0 && (ce.info("updated,_changedProperties:", c), this._initSetting()), setTimeout(() => {
4347
4368
  this._scrollToBottom();
4348
4369
  }, 0);
4349
4370
  }
4350
4371
  // initialize setting
4351
4372
  _initSetting() {
4352
- const t = d.setting;
4353
- t.orgId = this.orgId, t.botId = this.botId, t.url = this.url, t.logoSvg = this.logoSvg, t.botIconSvg = this.botIconSvg, t.userIconSvg = this.userIconSvg, t.systemIconSvg = this.systemIconSvg, d.setSetting(t);
4373
+ const c = n.setting;
4374
+ c.orgId = this.orgId, c.botId = this.botId, c.url = this.url, c.logoSvg = this.logoSvg, c.botIconSvg = this.botIconSvg, c.userIconSvg = this.userIconSvg, c.systemIconSvg = this.systemIconSvg, n.setSetting(c);
4354
4375
  }
4355
- setLoading(t) {
4356
- this.loading = t;
4376
+ setLoading(c) {
4377
+ this.loading = c;
4357
4378
  }
4358
4379
  clearConversation() {
4359
- d.clearConversation();
4380
+ n.clearConversation();
4360
4381
  }
4361
4382
  // check auth
4362
4383
  _checkAuth() {
4363
4384
  }
4364
4385
  // TODO Remove
4365
- async _sendToOpenai(t, e) {
4366
- let o = "";
4367
- const a = d.setting.openai.apiBase || "https://api.openai.com/v1", r = await nr({
4368
- url: `${a}/chat/completions`,
4369
- apiKey: d.setting.openai.apiKey,
4386
+ async _sendToOpenai(c, e) {
4387
+ let a = "";
4388
+ const f = n.setting.openai.apiBase || "https://api.openai.com/v1", t = await d1({
4389
+ url: `${f}/chat/completions`,
4390
+ apiKey: n.setting.openai.apiKey,
4370
4391
  messages: e,
4371
4392
  options: {
4372
- stream: d.setting.stream,
4373
- model: d.setting.openai.model
4393
+ stream: n.setting.stream,
4394
+ model: n.setting.openai.model
4374
4395
  // temperature: 0.9,
4375
4396
  },
4376
- onMessage: (s, n) => {
4377
- var i;
4378
- if (s) {
4379
- console.error(s);
4397
+ onMessage: (o, d) => {
4398
+ var b;
4399
+ if (o) {
4400
+ console.error(o);
4380
4401
  return;
4381
4402
  }
4382
- n && ((i = n.choices[0].delta) != null && i.content) && requestIdleCallback(() => {
4383
- o += n.choices[0].delta.content, d.updateMessage(t, o);
4403
+ d && ((b = d.choices[0].delta) != null && b.content) && requestIdleCallback(() => {
4404
+ a += d.choices[0].delta.content, n.updateMessage(c, a);
4384
4405
  });
4385
4406
  }
4386
4407
  });
4387
- !d.setting.stream && r && d.updateMessage(t, r.choices[0].message.content);
4408
+ !n.setting.stream && t && n.updateMessage(c, t.choices[0].message.content);
4388
4409
  }
4389
4410
  // TODO Remove
4390
- async _sendHandler(t) {
4411
+ async _sendHandler(c) {
4391
4412
  this.setLoading(!0);
4392
4413
  const e = {
4393
4414
  author: "assistant",
@@ -4395,128 +4416,128 @@ let b = class extends C {
4395
4416
  isThinking: !0,
4396
4417
  data: {}
4397
4418
  };
4398
- if (d.addMessage(e), this.customRequest)
4419
+ if (n.addMessage(e), this.customRequest)
4399
4420
  await this.emit("chatbot:send", {
4400
4421
  detail: {
4401
4422
  newMessage: e,
4402
- messages: t
4423
+ messages: c
4403
4424
  },
4404
4425
  bubbles: !0,
4405
4426
  composed: !0
4406
4427
  });
4407
4428
  else
4408
4429
  try {
4409
- await this._sendToOpenai(e, t);
4410
- } catch (o) {
4411
- ar("error", o.message), console.error(o);
4430
+ await this._sendToOpenai(e, c);
4431
+ } catch (a) {
4432
+ f1("error", a.message), console.error(a);
4412
4433
  }
4413
4434
  this.setLoading(!1);
4414
4435
  }
4415
- _addMessageHandler(t) {
4416
- const e = t.detail;
4417
- d.sendMessage(e);
4436
+ _addMessageHandler(c) {
4437
+ const e = c.detail;
4438
+ n.sendMessage(e);
4418
4439
  }
4419
- _deleteMessageHandler(t) {
4420
- const e = t.detail;
4421
- d.removeMessage(e.id);
4440
+ _deleteMessageHandler(c) {
4441
+ const e = c.detail;
4442
+ n.removeMessage(e.id);
4422
4443
  }
4423
- async _sendFileHandler(t) {
4424
- const e = t.detail, a = {
4444
+ async _sendFileHandler(c) {
4445
+ const e = c.detail, f = {
4425
4446
  author: "user",
4426
4447
  type: "file",
4427
4448
  isUploading: !0,
4428
4449
  data: {
4429
- files: e.files.map((r, s) => ({
4430
- id: `${r.name}-${s}`,
4431
- name: r.name,
4432
- size: r.size,
4433
- type: r.type,
4450
+ files: e.files.map((t, o) => ({
4451
+ id: `${t.name}-${o}`,
4452
+ name: t.name,
4453
+ size: t.size,
4454
+ type: t.type,
4434
4455
  url: ""
4435
4456
  }))
4436
4457
  }
4437
4458
  };
4438
- if (d.addMessage(a), this.uploadFileUrl) {
4439
- const r = await or(this.uploadFileUrl, e.files);
4440
- r.code === 0 && r.data && (a.isUploading = !1, a.data = {
4441
- files: r.data
4442
- }, d.updateMessage(a));
4459
+ if (n.addMessage(f), this.uploadFileUrl) {
4460
+ const t = await a1(this.uploadFileUrl, e.files);
4461
+ t.code === 0 && t.data && (f.isUploading = !1, f.data = {
4462
+ files: t.data
4463
+ }, n.updateMessage(f));
4443
4464
  }
4444
4465
  this.emit("chatbot:file:send", {
4445
4466
  detail: {
4446
4467
  files: e.files,
4447
- message: a
4468
+ message: f
4448
4469
  }
4449
4470
  });
4450
4471
  }
4451
4472
  // setting confirm handler
4452
- _settingConfirmHandler(t) {
4453
- const e = t.detail;
4454
- d.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
4473
+ _settingConfirmHandler(c) {
4474
+ const e = c.detail;
4475
+ n.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
4455
4476
  }
4456
4477
  // scroll to bottom
4457
- _scrollToBottom(t = !1) {
4478
+ _scrollToBottom(c = !1) {
4458
4479
  var e;
4459
4480
  console.log("Scrolling to bottom ..."), (e = this._messageList) == null || e.scrollToBottom();
4460
4481
  }
4461
4482
  };
4462
- b.styles = kt;
4483
+ u.styles = kc;
4463
4484
  v([
4464
- l({ type: Boolean, attribute: "display-license" })
4465
- ], b.prototype, "displayLicense", 2);
4485
+ r({ type: Boolean, attribute: "display-license" })
4486
+ ], u.prototype, "displayLicense", 2);
4466
4487
  v([
4467
- l({ type: String, attribute: "name" })
4468
- ], b.prototype, "name", 2);
4488
+ r({ type: String, attribute: "name" })
4489
+ ], u.prototype, "name", 2);
4469
4490
  v([
4470
- l({ type: String, attribute: "org-id" })
4471
- ], b.prototype, "orgId", 2);
4491
+ r({ type: String, attribute: "org-id" })
4492
+ ], u.prototype, "orgId", 2);
4472
4493
  v([
4473
- l({ type: String, attribute: "bot-id" })
4474
- ], b.prototype, "botId", 2);
4494
+ r({ type: String, attribute: "bot-id" })
4495
+ ], u.prototype, "botId", 2);
4475
4496
  v([
4476
- l({ type: String, attribute: "url" })
4477
- ], b.prototype, "url", 2);
4497
+ r({ type: String, attribute: "url" })
4498
+ ], u.prototype, "url", 2);
4478
4499
  v([
4479
- l({ type: String, attribute: "logo-svg" })
4480
- ], b.prototype, "logoSvg", 2);
4500
+ r({ type: String, attribute: "logo-svg" })
4501
+ ], u.prototype, "logoSvg", 2);
4481
4502
  v([
4482
- l({ type: String, attribute: "bot-icon-svg" })
4483
- ], b.prototype, "botIconSvg", 2);
4503
+ r({ type: String, attribute: "bot-icon-svg" })
4504
+ ], u.prototype, "botIconSvg", 2);
4484
4505
  v([
4485
- l({ type: String, attribute: "user-icon-svg" })
4486
- ], b.prototype, "userIconSvg", 2);
4506
+ r({ type: String, attribute: "user-icon-svg" })
4507
+ ], u.prototype, "userIconSvg", 2);
4487
4508
  v([
4488
- l({ type: String, attribute: "system-icon-svg" })
4489
- ], b.prototype, "systemIconSvg", 2);
4509
+ r({ type: String, attribute: "system-icon-svg" })
4510
+ ], u.prototype, "systemIconSvg", 2);
4490
4511
  v([
4491
- l({ type: Boolean, attribute: "stream" })
4492
- ], b.prototype, "stream", 2);
4512
+ r({ type: Boolean, attribute: "stream" })
4513
+ ], u.prototype, "stream", 2);
4493
4514
  v([
4494
- l({ type: Boolean, attribute: "custom-request" })
4495
- ], b.prototype, "customRequest", 2);
4515
+ r({ type: Boolean, attribute: "custom-request" })
4516
+ ], u.prototype, "customRequest", 2);
4496
4517
  v([
4497
- l({ type: Boolean, attribute: "enable-file-upload" })
4498
- ], b.prototype, "enableFileUpload", 2);
4518
+ r({ type: Boolean, attribute: "enable-file-upload" })
4519
+ ], u.prototype, "enableFileUpload", 2);
4499
4520
  v([
4500
- l({ type: String, attribute: "upload-file-url" })
4501
- ], b.prototype, "uploadFileUrl", 2);
4521
+ r({ type: String, attribute: "upload-file-url" })
4522
+ ], u.prototype, "uploadFileUrl", 2);
4502
4523
  v([
4503
- l({ type: Boolean, attribute: "open" })
4504
- ], b.prototype, "open", 2);
4524
+ r({ type: Boolean, attribute: "open" })
4525
+ ], u.prototype, "open", 2);
4505
4526
  v([
4506
- l({ type: Boolean })
4507
- ], b.prototype, "loading", 2);
4527
+ r({ type: Boolean })
4528
+ ], u.prototype, "loading", 2);
4508
4529
  v([
4509
- l({ type: Boolean })
4510
- ], b.prototype, "showSetting", 2);
4530
+ r({ type: Boolean })
4531
+ ], u.prototype, "showSetting", 2);
4511
4532
  v([
4512
- l({ type: Boolean })
4513
- ], b.prototype, "showAuthAlert", 2);
4533
+ r({ type: Boolean })
4534
+ ], u.prototype, "showAuthAlert", 2);
4514
4535
  v([
4515
- pe("cb-message-list")
4516
- ], b.prototype, "_messageList", 2);
4517
- b = v([
4536
+ le("cb-message-list")
4537
+ ], u.prototype, "_messageList", 2);
4538
+ u = v([
4518
4539
  k("enegelai-bot")
4519
- ], b);
4540
+ ], u);
4520
4541
  export {
4521
- b as default
4542
+ u as default
4522
4543
  };