@record-evolution/widget-image 1.1.16 → 1.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const z = globalThis, F = z.ShadowRoot && (z.ShadyCSS === void 0 || z.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, G = /* @__PURE__ */ Symbol(), Y = /* @__PURE__ */ new WeakMap();
1
+ const D = globalThis, F = D.ShadowRoot && (D.ShadyCSS === void 0 || D.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, G = /* @__PURE__ */ Symbol(), Y = /* @__PURE__ */ new WeakMap();
2
2
  let pt = class {
3
3
  constructor(t, e, s) {
4
4
  if (this._$cssResult$ = !0, s !== G) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
@@ -27,7 +27,7 @@ const mt = (r) => new pt(typeof r == "string" ? r : r + "", void 0, G), gt = (r,
27
27
  }, _t = (r, t) => {
28
28
  if (F) r.adoptedStyleSheets = t.map(((e) => e instanceof CSSStyleSheet ? e : e.styleSheet));
29
29
  else for (const e of t) {
30
- const s = document.createElement("style"), i = z.litNonce;
30
+ const s = document.createElement("style"), i = D.litNonce;
31
31
  i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, r.appendChild(s);
32
32
  }
33
33
  }, tt = F ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
@@ -35,7 +35,7 @@ const mt = (r) => new pt(typeof r == "string" ? r : r + "", void 0, G), gt = (r,
35
35
  for (const s of t.cssRules) e += s.cssText;
36
36
  return mt(e);
37
37
  })(r) : r;
38
- const { is: yt, defineProperty: At, getOwnPropertyDescriptor: vt, getOwnPropertyNames: bt, getOwnPropertySymbols: wt, getPrototypeOf: xt } = Object, k = globalThis, et = k.trustedTypes, St = et ? et.emptyScript : "", Et = k.reactiveElementPolyfillSupport, T = (r, t) => r, j = { toAttribute(r, t) {
38
+ const { is: yt, defineProperty: At, getOwnPropertyDescriptor: vt, getOwnPropertyNames: bt, getOwnPropertySymbols: wt, getPrototypeOf: xt } = Object, I = globalThis, et = I.trustedTypes, St = et ? et.emptyScript : "", Et = I.reactiveElementPolyfillSupport, O = (r, t) => r, z = { toAttribute(r, t) {
39
39
  switch (t) {
40
40
  case Boolean:
41
41
  r = r ? St : null;
@@ -63,8 +63,8 @@ const { is: yt, defineProperty: At, getOwnPropertyDescriptor: vt, getOwnProperty
63
63
  }
64
64
  }
65
65
  return e;
66
- } }, Z = (r, t) => !yt(r, t), it = { attribute: !0, type: String, converter: j, reflect: !1, useDefault: !1, hasChanged: Z };
67
- Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), k.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
66
+ } }, Z = (r, t) => !yt(r, t), it = { attribute: !0, type: String, converter: z, reflect: !1, useDefault: !1, hasChanged: Z };
67
+ Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), I.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
68
68
  let S = class extends HTMLElement {
69
69
  static addInitializer(t) {
70
70
  this._$Ei(), (this.l ??= []).push(t);
@@ -85,21 +85,21 @@ let S = class extends HTMLElement {
85
85
  this[e] = o;
86
86
  } };
87
87
  return { get: i, set(o) {
88
- const a = i?.call(this);
89
- n?.call(this, o), this.requestUpdate(t, a, s);
88
+ const h = i?.call(this);
89
+ n?.call(this, o), this.requestUpdate(t, h, s);
90
90
  }, configurable: !0, enumerable: !0 };
91
91
  }
92
92
  static getPropertyOptions(t) {
93
93
  return this.elementProperties.get(t) ?? it;
94
94
  }
95
95
  static _$Ei() {
96
- if (this.hasOwnProperty(T("elementProperties"))) return;
96
+ if (this.hasOwnProperty(O("elementProperties"))) return;
97
97
  const t = xt(this);
98
98
  t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
99
99
  }
100
100
  static finalize() {
101
- if (this.hasOwnProperty(T("finalized"))) return;
102
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(T("properties"))) {
101
+ if (this.hasOwnProperty(O("finalized"))) return;
102
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(O("properties"))) {
103
103
  const e = this.properties, s = [...bt(e), ...wt(e)];
104
104
  for (const i of s) this.createProperty(i, e[i]);
105
105
  }
@@ -162,14 +162,14 @@ let S = class extends HTMLElement {
162
162
  _$ET(t, e) {
163
163
  const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s);
164
164
  if (i !== void 0 && s.reflect === !0) {
165
- const n = (s.converter?.toAttribute !== void 0 ? s.converter : j).toAttribute(e, s.type);
165
+ const n = (s.converter?.toAttribute !== void 0 ? s.converter : z).toAttribute(e, s.type);
166
166
  this._$Em = t, n == null ? this.removeAttribute(i) : this.setAttribute(i, n), this._$Em = null;
167
167
  }
168
168
  }
169
169
  _$AK(t, e) {
170
170
  const s = this.constructor, i = s._$Eh.get(t);
171
171
  if (i !== void 0 && this._$Em !== i) {
172
- const n = s.getPropertyOptions(i), o = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== void 0 ? n.converter : j;
172
+ const n = s.getPropertyOptions(i), o = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== void 0 ? n.converter : z;
173
173
  this._$Em = i, this[i] = o.fromAttribute(e, n.type) ?? this._$Ej?.get(i) ?? null, this._$Em = null;
174
174
  }
175
175
  }
@@ -206,8 +206,8 @@ let S = class extends HTMLElement {
206
206
  }
207
207
  const s = this.constructor.elementProperties;
208
208
  if (s.size > 0) for (const [i, n] of s) {
209
- const { wrapped: o } = n, a = this[i];
210
- o !== !0 || this._$AL.has(i) || a === void 0 || this.C(i, void 0, n, a);
209
+ const { wrapped: o } = n, h = this[i];
210
+ o !== !0 || this._$AL.has(i) || h === void 0 || this.C(i, void 0, n, h);
211
211
  }
212
212
  }
213
213
  let t = !1;
@@ -244,10 +244,10 @@ let S = class extends HTMLElement {
244
244
  firstUpdated(t) {
245
245
  }
246
246
  };
247
- S.elementStyles = [], S.shadowRootOptions = { mode: "open" }, S[T("elementProperties")] = /* @__PURE__ */ new Map(), S[T("finalized")] = /* @__PURE__ */ new Map(), Et?.({ ReactiveElement: S }), (k.reactiveElementVersions ??= []).push("2.1.0");
248
- const J = globalThis, I = J.trustedTypes, st = I ? I.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, dt = "$lit$", y = `lit$${Math.random().toFixed(9).slice(2)}$`, ut = "?" + y, Ct = `<${ut}>`, w = document, M = () => w.createComment(""), N = (r) => r === null || typeof r != "object" && typeof r != "function", K = Array.isArray, Pt = (r) => K(r) || typeof r?.[Symbol.iterator] == "function", q = `[
247
+ S.elementStyles = [], S.shadowRootOptions = { mode: "open" }, S[O("elementProperties")] = /* @__PURE__ */ new Map(), S[O("finalized")] = /* @__PURE__ */ new Map(), Et?.({ ReactiveElement: S }), (I.reactiveElementVersions ??= []).push("2.1.0");
248
+ const J = globalThis, j = J.trustedTypes, st = j ? j.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, dt = "$lit$", y = `lit$${Math.random().toFixed(9).slice(2)}$`, ut = "?" + y, Ct = `<${ut}>`, w = document, M = () => w.createComment(""), N = (r) => r === null || typeof r != "object" && typeof r != "function", K = Array.isArray, Pt = (r) => K(r) || typeof r?.[Symbol.iterator] == "function", q = `[
249
249
  \f\r]`, P = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, rt = /-->/g, nt = />/g, A = RegExp(`>|${q}(?:([^\\s"'>=/]+)(${q}*=${q}*(?:[^
250
- \f\r"'\`<>=]|("|')|))|$)`, "g"), ot = /'/g, ht = /"/g, $t = /^(?:script|style|textarea|title)$/i, Ut = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), U = Ut(1), x = /* @__PURE__ */ Symbol.for("lit-noChange"), $ = /* @__PURE__ */ Symbol.for("lit-nothing"), at = /* @__PURE__ */ new WeakMap(), b = w.createTreeWalker(w, 129);
250
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), ot = /'/g, at = /"/g, $t = /^(?:script|style|textarea|title)$/i, Ut = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), R = Ut(1), x = /* @__PURE__ */ Symbol.for("lit-noChange"), f = /* @__PURE__ */ Symbol.for("lit-nothing"), ht = /* @__PURE__ */ new WeakMap(), b = w.createTreeWalker(w, 129);
251
251
  function ft(r, t) {
252
252
  if (!K(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
253
253
  return st !== void 0 ? st.createHTML(t) : t;
@@ -255,43 +255,43 @@ function ft(r, t) {
255
255
  const Ot = (r, t) => {
256
256
  const e = r.length - 1, s = [];
257
257
  let i, n = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", o = P;
258
- for (let a = 0; a < e; a++) {
259
- const h = r[a];
258
+ for (let h = 0; h < e; h++) {
259
+ const a = r[h];
260
260
  let c, u, l = -1, d = 0;
261
- for (; d < h.length && (o.lastIndex = d, u = o.exec(h), u !== null); ) d = o.lastIndex, o === P ? u[1] === "!--" ? o = rt : u[1] !== void 0 ? o = nt : u[2] !== void 0 ? ($t.test(u[2]) && (i = RegExp("</" + u[2], "g")), o = A) : u[3] !== void 0 && (o = A) : o === A ? u[0] === ">" ? (o = i ?? P, l = -1) : u[1] === void 0 ? l = -2 : (l = o.lastIndex - u[2].length, c = u[1], o = u[3] === void 0 ? A : u[3] === '"' ? ht : ot) : o === ht || o === ot ? o = A : o === rt || o === nt ? o = P : (o = A, i = void 0);
262
- const p = o === A && r[a + 1].startsWith("/>") ? " " : "";
263
- n += o === P ? h + Ct : l >= 0 ? (s.push(c), h.slice(0, l) + dt + h.slice(l) + y + p) : h + y + (l === -2 ? a : p);
261
+ for (; d < a.length && (o.lastIndex = d, u = o.exec(a), u !== null); ) d = o.lastIndex, o === P ? u[1] === "!--" ? o = rt : u[1] !== void 0 ? o = nt : u[2] !== void 0 ? ($t.test(u[2]) && (i = RegExp("</" + u[2], "g")), o = A) : u[3] !== void 0 && (o = A) : o === A ? u[0] === ">" ? (o = i ?? P, l = -1) : u[1] === void 0 ? l = -2 : (l = o.lastIndex - u[2].length, c = u[1], o = u[3] === void 0 ? A : u[3] === '"' ? at : ot) : o === at || o === ot ? o = A : o === rt || o === nt ? o = P : (o = A, i = void 0);
262
+ const p = o === A && r[h + 1].startsWith("/>") ? " " : "";
263
+ n += o === P ? a + Ct : l >= 0 ? (s.push(c), a.slice(0, l) + dt + a.slice(l) + y + p) : a + y + (l === -2 ? h : p);
264
264
  }
265
265
  return [ft(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
266
266
  };
267
- class D {
267
+ class T {
268
268
  constructor({ strings: t, _$litType$: e }, s) {
269
269
  let i;
270
270
  this.parts = [];
271
271
  let n = 0, o = 0;
272
- const a = t.length - 1, h = this.parts, [c, u] = Ot(t, e);
273
- if (this.el = D.createElement(c, s), b.currentNode = this.el.content, e === 2 || e === 3) {
272
+ const h = t.length - 1, a = this.parts, [c, u] = Ot(t, e);
273
+ if (this.el = T.createElement(c, s), b.currentNode = this.el.content, e === 2 || e === 3) {
274
274
  const l = this.el.content.firstChild;
275
275
  l.replaceWith(...l.childNodes);
276
276
  }
277
- for (; (i = b.nextNode()) !== null && h.length < a; ) {
277
+ for (; (i = b.nextNode()) !== null && a.length < h; ) {
278
278
  if (i.nodeType === 1) {
279
279
  if (i.hasAttributes()) for (const l of i.getAttributeNames()) if (l.endsWith(dt)) {
280
- const d = u[o++], p = i.getAttribute(l).split(y), f = /([.?@])?(.*)/.exec(d);
281
- h.push({ type: 1, index: n, name: f[2], strings: p, ctor: f[1] === "." ? Ht : f[1] === "?" ? Mt : f[1] === "@" ? Nt : L }), i.removeAttribute(l);
282
- } else l.startsWith(y) && (h.push({ type: 6, index: n }), i.removeAttribute(l));
280
+ const d = u[o++], p = i.getAttribute(l).split(y), $ = /([.?@])?(.*)/.exec(d);
281
+ a.push({ type: 1, index: n, name: $[2], strings: p, ctor: $[1] === "." ? Mt : $[1] === "?" ? Nt : $[1] === "@" ? Tt : k }), i.removeAttribute(l);
282
+ } else l.startsWith(y) && (a.push({ type: 6, index: n }), i.removeAttribute(l));
283
283
  if ($t.test(i.tagName)) {
284
284
  const l = i.textContent.split(y), d = l.length - 1;
285
285
  if (d > 0) {
286
- i.textContent = I ? I.emptyScript : "";
287
- for (let p = 0; p < d; p++) i.append(l[p], M()), b.nextNode(), h.push({ type: 2, index: ++n });
286
+ i.textContent = j ? j.emptyScript : "";
287
+ for (let p = 0; p < d; p++) i.append(l[p], M()), b.nextNode(), a.push({ type: 2, index: ++n });
288
288
  i.append(l[d], M());
289
289
  }
290
290
  }
291
- } else if (i.nodeType === 8) if (i.data === ut) h.push({ type: 2, index: n });
291
+ } else if (i.nodeType === 8) if (i.data === ut) a.push({ type: 2, index: n });
292
292
  else {
293
293
  let l = -1;
294
- for (; (l = i.data.indexOf(y, l + 1)) !== -1; ) h.push({ type: 7, index: n }), l += y.length - 1;
294
+ for (; (l = i.data.indexOf(y, l + 1)) !== -1; ) a.push({ type: 7, index: n }), l += y.length - 1;
295
295
  }
296
296
  n++;
297
297
  }
@@ -307,7 +307,7 @@ function E(r, t, e = r, s) {
307
307
  const n = N(t) ? void 0 : t._$litDirective$;
308
308
  return i?.constructor !== n && (i?._$AO?.(!1), n === void 0 ? i = void 0 : (i = new n(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = i : e._$Cl = i), i !== void 0 && (t = E(r, i._$AS(r, t.values), i, s)), t;
309
309
  }
310
- let Tt = class {
310
+ let Ht = class {
311
311
  constructor(t, e) {
312
312
  this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
313
313
  }
@@ -320,13 +320,13 @@ let Tt = class {
320
320
  u(t) {
321
321
  const { el: { content: e }, parts: s } = this._$AD, i = (t?.creationScope ?? w).importNode(e, !0);
322
322
  b.currentNode = i;
323
- let n = b.nextNode(), o = 0, a = 0, h = s[0];
324
- for (; h !== void 0; ) {
325
- if (o === h.index) {
323
+ let n = b.nextNode(), o = 0, h = 0, a = s[0];
324
+ for (; a !== void 0; ) {
325
+ if (o === a.index) {
326
326
  let c;
327
- h.type === 2 ? c = new C(n, n.nextSibling, this, t) : h.type === 1 ? c = new h.ctor(n, h.name, h.strings, this, t) : h.type === 6 && (c = new Dt(n, this, t)), this._$AV.push(c), h = s[++a];
327
+ a.type === 2 ? c = new C(n, n.nextSibling, this, t) : a.type === 1 ? c = new a.ctor(n, a.name, a.strings, this, t) : a.type === 6 && (c = new Rt(n, this, t)), this._$AV.push(c), a = s[++h];
328
328
  }
329
- o !== h?.index && (n = b.nextNode(), o++);
329
+ o !== a?.index && (n = b.nextNode(), o++);
330
330
  }
331
331
  return b.currentNode = w, i;
332
332
  }
@@ -340,7 +340,7 @@ class C {
340
340
  return this._$AM?._$AU ?? this._$Cv;
341
341
  }
342
342
  constructor(t, e, s, i) {
343
- this.type = 2, this._$AH = $, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = i?.isConnected ?? !0;
343
+ this.type = 2, this._$AH = f, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = i?.isConnected ?? !0;
344
344
  }
345
345
  get parentNode() {
346
346
  let t = this._$AA.parentNode;
@@ -354,7 +354,7 @@ class C {
354
354
  return this._$AB;
355
355
  }
356
356
  _$AI(t, e = this) {
357
- t = E(this, t, e), N(t) ? t === $ || t == null || t === "" ? (this._$AH !== $ && this._$AR(), this._$AH = $) : t !== this._$AH && t !== x && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Pt(t) ? this.k(t) : this._(t);
357
+ t = E(this, t, e), N(t) ? t === f || t == null || t === "" ? (this._$AH !== f && this._$AR(), this._$AH = f) : t !== this._$AH && t !== x && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Pt(t) ? this.k(t) : this._(t);
358
358
  }
359
359
  O(t) {
360
360
  return this._$AA.parentNode.insertBefore(t, this._$AB);
@@ -363,19 +363,19 @@ class C {
363
363
  this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
364
364
  }
365
365
  _(t) {
366
- this._$AH !== $ && N(this._$AH) ? this._$AA.nextSibling.data = t : this.T(w.createTextNode(t)), this._$AH = t;
366
+ this._$AH !== f && N(this._$AH) ? this._$AA.nextSibling.data = t : this.T(w.createTextNode(t)), this._$AH = t;
367
367
  }
368
368
  $(t) {
369
- const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = D.createElement(ft(s.h, s.h[0]), this.options)), s);
369
+ const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = T.createElement(ft(s.h, s.h[0]), this.options)), s);
370
370
  if (this._$AH?._$AD === i) this._$AH.p(e);
371
371
  else {
372
- const n = new Tt(i, this), o = n.u(this.options);
372
+ const n = new Ht(i, this), o = n.u(this.options);
373
373
  n.p(e), this.T(o), this._$AH = n;
374
374
  }
375
375
  }
376
376
  _$AC(t) {
377
- let e = at.get(t.strings);
378
- return e === void 0 && at.set(t.strings, e = new D(t)), e;
377
+ let e = ht.get(t.strings);
378
+ return e === void 0 && ht.set(t.strings, e = new T(t)), e;
379
379
  }
380
380
  k(t) {
381
381
  K(this._$AH) || (this._$AH = [], this._$AR());
@@ -394,7 +394,7 @@ class C {
394
394
  this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
395
395
  }
396
396
  }
397
- class L {
397
+ class k {
398
398
  get tagName() {
399
399
  return this.element.tagName;
400
400
  }
@@ -402,53 +402,53 @@ class L {
402
402
  return this._$AM._$AU;
403
403
  }
404
404
  constructor(t, e, s, i, n) {
405
- this.type = 1, this._$AH = $, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = n, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = $;
405
+ this.type = 1, this._$AH = f, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = n, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = f;
406
406
  }
407
407
  _$AI(t, e = this, s, i) {
408
408
  const n = this.strings;
409
409
  let o = !1;
410
410
  if (n === void 0) t = E(this, t, e, 0), o = !N(t) || t !== this._$AH && t !== x, o && (this._$AH = t);
411
411
  else {
412
- const a = t;
413
- let h, c;
414
- for (t = n[0], h = 0; h < n.length - 1; h++) c = E(this, a[s + h], e, h), c === x && (c = this._$AH[h]), o ||= !N(c) || c !== this._$AH[h], c === $ ? t = $ : t !== $ && (t += (c ?? "") + n[h + 1]), this._$AH[h] = c;
412
+ const h = t;
413
+ let a, c;
414
+ for (t = n[0], a = 0; a < n.length - 1; a++) c = E(this, h[s + a], e, a), c === x && (c = this._$AH[a]), o ||= !N(c) || c !== this._$AH[a], c === f ? t = f : t !== f && (t += (c ?? "") + n[a + 1]), this._$AH[a] = c;
415
415
  }
416
416
  o && !i && this.j(t);
417
417
  }
418
418
  j(t) {
419
- t === $ ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
419
+ t === f ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
420
420
  }
421
421
  }
422
- class Ht extends L {
422
+ class Mt extends k {
423
423
  constructor() {
424
424
  super(...arguments), this.type = 3;
425
425
  }
426
426
  j(t) {
427
- this.element[this.name] = t === $ ? void 0 : t;
427
+ this.element[this.name] = t === f ? void 0 : t;
428
428
  }
429
429
  }
430
- class Mt extends L {
430
+ class Nt extends k {
431
431
  constructor() {
432
432
  super(...arguments), this.type = 4;
433
433
  }
434
434
  j(t) {
435
- this.element.toggleAttribute(this.name, !!t && t !== $);
435
+ this.element.toggleAttribute(this.name, !!t && t !== f);
436
436
  }
437
437
  }
438
- class Nt extends L {
438
+ class Tt extends k {
439
439
  constructor(t, e, s, i, n) {
440
440
  super(t, e, s, i, n), this.type = 5;
441
441
  }
442
442
  _$AI(t, e = this) {
443
- if ((t = E(this, t, e, 0) ?? $) === x) return;
444
- const s = this._$AH, i = t === $ && s !== $ || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, n = t !== $ && (s === $ || i);
443
+ if ((t = E(this, t, e, 0) ?? f) === x) return;
444
+ const s = this._$AH, i = t === f && s !== f || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, n = t !== f && (s === f || i);
445
445
  i && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, t), this._$AH = t;
446
446
  }
447
447
  handleEvent(t) {
448
448
  typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
449
449
  }
450
450
  }
451
- class Dt {
451
+ class Rt {
452
452
  constructor(t, e, s) {
453
453
  this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s;
454
454
  }
@@ -459,8 +459,8 @@ class Dt {
459
459
  E(this, t);
460
460
  }
461
461
  }
462
- const Rt = { I: C }, zt = J.litHtmlPolyfillSupport;
463
- zt?.(D, C), (J.litHtmlVersions ??= []).push("3.3.0");
462
+ const Dt = { I: C }, zt = J.litHtmlPolyfillSupport;
463
+ zt?.(T, C), (J.litHtmlVersions ??= []).push("3.3.0");
464
464
  const jt = (r, t, e) => {
465
465
  const s = e?.renderBefore ?? t;
466
466
  let i = s._$litPart$;
@@ -514,22 +514,22 @@ class Bt {
514
514
  return this.render(...e);
515
515
  }
516
516
  }
517
- const { I: Wt } = Rt, lt = () => document.createComment(""), O = (r, t, e) => {
517
+ const { I: Wt } = Dt, lt = () => document.createComment(""), U = (r, t, e) => {
518
518
  const s = r._$AA.parentNode, i = t === void 0 ? r._$AB : t._$AA;
519
519
  if (e === void 0) {
520
520
  const n = s.insertBefore(lt(), i), o = s.insertBefore(lt(), i);
521
521
  e = new Wt(n, o, r, r.options);
522
522
  } else {
523
- const n = e._$AB.nextSibling, o = e._$AM, a = o !== r;
524
- if (a) {
525
- let h;
526
- e._$AQ?.(r), e._$AM = r, e._$AP !== void 0 && (h = r._$AU) !== o._$AU && e._$AP(h);
523
+ const n = e._$AB.nextSibling, o = e._$AM, h = o !== r;
524
+ if (h) {
525
+ let a;
526
+ e._$AQ?.(r), e._$AM = r, e._$AP !== void 0 && (a = r._$AU) !== o._$AU && e._$AP(a);
527
527
  }
528
- if (n !== i || a) {
529
- let h = e._$AA;
530
- for (; h !== n; ) {
531
- const c = h.nextSibling;
532
- s.insertBefore(h, i), h = c;
528
+ if (n !== i || h) {
529
+ let a = e._$AA;
530
+ for (; a !== n; ) {
531
+ const c = a.nextSibling;
532
+ s.insertBefore(a, i), a = c;
533
533
  }
534
534
  }
535
535
  }
@@ -556,7 +556,7 @@ const ct = (r, t, e) => {
556
556
  e === void 0 ? e = t : t !== void 0 && (s = t);
557
557
  const i = [], n = [];
558
558
  let o = 0;
559
- for (const a of r) i[o] = s ? s(a, o) : o, n[o] = e(a, o), o++;
559
+ for (const h of r) i[o] = s ? s(h, o) : o, n[o] = e(h, o), o++;
560
560
  return { values: n, keys: i };
561
561
  }
562
562
  render(r, t, e) {
@@ -565,69 +565,69 @@ const ct = (r, t, e) => {
565
565
  update(r, [t, e, s]) {
566
566
  const i = Ft(r), { values: n, keys: o } = this.dt(t, e, s);
567
567
  if (!Array.isArray(i)) return this.ut = o, n;
568
- const a = this.ut ??= [], h = [];
569
- let c, u, l = 0, d = i.length - 1, p = 0, f = n.length - 1;
570
- for (; l <= d && p <= f; ) if (i[l] === null) l++;
568
+ const h = this.ut ??= [], a = [];
569
+ let c, u, l = 0, d = i.length - 1, p = 0, $ = n.length - 1;
570
+ for (; l <= d && p <= $; ) if (i[l] === null) l++;
571
571
  else if (i[d] === null) d--;
572
- else if (a[l] === o[p]) h[p] = v(i[l], n[p]), l++, p++;
573
- else if (a[d] === o[f]) h[f] = v(i[d], n[f]), d--, f--;
574
- else if (a[l] === o[f]) h[f] = v(i[l], n[f]), O(r, h[f + 1], i[l]), l++, f--;
575
- else if (a[d] === o[p]) h[p] = v(i[d], n[p]), O(r, i[l], i[d]), d--, p++;
576
- else if (c === void 0 && (c = ct(o, p, f), u = ct(a, l, d)), c.has(a[l])) if (c.has(a[d])) {
577
- const _ = u.get(o[p]), W = _ !== void 0 ? i[_] : null;
572
+ else if (h[l] === o[p]) a[p] = v(i[l], n[p]), l++, p++;
573
+ else if (h[d] === o[$]) a[$] = v(i[d], n[$]), d--, $--;
574
+ else if (h[l] === o[$]) a[$] = v(i[l], n[$]), U(r, a[$ + 1], i[l]), l++, $--;
575
+ else if (h[d] === o[p]) a[p] = v(i[d], n[p]), U(r, i[l], i[d]), d--, p++;
576
+ else if (c === void 0 && (c = ct(o, p, $), u = ct(h, l, d)), c.has(h[l])) if (c.has(h[d])) {
577
+ const g = u.get(o[p]), W = g !== void 0 ? i[g] : null;
578
578
  if (W === null) {
579
- const X = O(r, i[l]);
580
- v(X, n[p]), h[p] = X;
581
- } else h[p] = v(W, n[p]), O(r, i[l], W), i[_] = null;
579
+ const X = U(r, i[l]);
580
+ v(X, n[p]), a[p] = X;
581
+ } else a[p] = v(W, n[p]), U(r, i[l], W), i[g] = null;
582
582
  p++;
583
583
  } else V(i[d]), d--;
584
584
  else V(i[l]), l++;
585
- for (; p <= f; ) {
586
- const _ = O(r, h[f + 1]);
587
- v(_, n[p]), h[p++] = _;
585
+ for (; p <= $; ) {
586
+ const g = U(r, a[$ + 1]);
587
+ v(g, n[p]), a[p++] = g;
588
588
  }
589
589
  for (; l <= d; ) {
590
- const _ = i[l++];
591
- _ !== null && V(_);
590
+ const g = i[l++];
591
+ g !== null && V(g);
592
592
  }
593
- return this.ut = o, Vt(r, h), x;
593
+ return this.ut = o, Vt(r, a), x;
594
594
  }
595
595
  });
596
- const Zt = (r) => r ?? $;
596
+ const Zt = (r) => r ?? f;
597
597
  const Jt = (r) => (t, e) => {
598
598
  e !== void 0 ? e.addInitializer((() => {
599
599
  customElements.define(r, t);
600
600
  })) : customElements.define(r, t);
601
601
  };
602
- const Kt = { attribute: !0, type: String, converter: j, reflect: !1, hasChanged: Z }, Qt = (r = Kt, t, e) => {
602
+ const Kt = { attribute: !0, type: String, converter: z, reflect: !1, hasChanged: Z }, Qt = (r = Kt, t, e) => {
603
603
  const { kind: s, metadata: i } = e;
604
604
  let n = globalThis.litPropertyMetadata.get(i);
605
605
  if (n === void 0 && globalThis.litPropertyMetadata.set(i, n = /* @__PURE__ */ new Map()), s === "setter" && ((r = Object.create(r)).wrapped = !0), n.set(e.name, r), s === "accessor") {
606
606
  const { name: o } = e;
607
- return { set(a) {
608
- const h = t.get.call(this);
609
- t.set.call(this, a), this.requestUpdate(o, h, r);
610
- }, init(a) {
611
- return a !== void 0 && this.C(o, void 0, r, a), a;
607
+ return { set(h) {
608
+ const a = t.get.call(this);
609
+ t.set.call(this, h), this.requestUpdate(o, a, r);
610
+ }, init(h) {
611
+ return h !== void 0 && this.C(o, void 0, r, h), h;
612
612
  } };
613
613
  }
614
614
  if (s === "setter") {
615
615
  const { name: o } = e;
616
- return function(a) {
617
- const h = this[o];
618
- t.call(this, a), this.requestUpdate(o, h, r);
616
+ return function(h) {
617
+ const a = this[o];
618
+ t.call(this, h), this.requestUpdate(o, a, r);
619
619
  };
620
620
  }
621
621
  throw Error("Unsupported decorator location: " + s);
622
622
  };
623
- function B(r) {
623
+ function L(r) {
624
624
  return (t, e) => typeof e == "object" ? Qt(r, t, e) : ((s, i, n) => {
625
625
  const o = i.hasOwnProperty(n);
626
626
  return i.constructor.createProperty(n, s), o ? Object.getOwnPropertyDescriptor(i, n) : void 0;
627
627
  })(r, t, e);
628
628
  }
629
- function R(r) {
630
- return B({ ...r, state: !0, attribute: !1 });
629
+ function B(r) {
630
+ return L({ ...r, state: !0, attribute: !1 });
631
631
  }
632
632
  const Xt = (r, t, e) => (e.configurable = !0, e.enumerable = !0, Reflect.decorate && typeof t != "object" && Object.defineProperty(r, t, e), e);
633
633
  function Yt(r, t) {
@@ -638,14 +638,14 @@ function Yt(r, t) {
638
638
  } });
639
639
  };
640
640
  }
641
- var te = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, g = (r, t, e, s) => {
641
+ var te = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, _ = (r, t, e, s) => {
642
642
  for (var i = s > 1 ? void 0 : s ? ee(t, e) : t, n = r.length - 1, o; n >= 0; n--)
643
643
  (o = r[n]) && (i = (s ? o(t, e, i) : o(i)) || i);
644
644
  return s && i && te(t, e, i), i;
645
645
  };
646
646
  let m = class extends H {
647
647
  constructor() {
648
- super(...arguments), this.elementWidth = 0, this.elementHeight = 0, this.version = "1.1.16";
648
+ super(...arguments), this.elementWidth = 0, this.elementHeight = 0, this.version = "1.1.18";
649
649
  }
650
650
  disconnectedCallback() {
651
651
  super.disconnectedCallback(), this.resizeObserver && this.resizeObserver.disconnect();
@@ -660,7 +660,7 @@ let m = class extends H {
660
660
  }
661
661
  registerTheme(r) {
662
662
  const t = getComputedStyle(this).getPropertyValue("--re-text-color").trim(), e = getComputedStyle(this).getPropertyValue("--re-tile-background-color").trim();
663
- this.themeBgColor = e || this.theme?.theme_object?.backgroundColor, this.themeTitleColor = t || this.theme?.theme_object?.title?.textStyle?.color, this.themeSubtitleColor = t || this.theme?.theme_object?.title?.subtextStyle?.color || this.themeTitleColor;
663
+ this.themeBgColor = e || this.theme?.theme_object?.backgroundColor, this.themeTitleColor = t || this.theme?.theme_object?.title?.textStyle?.color;
664
664
  }
665
665
  /**
666
666
  * Get images filtered by timeRange if available
@@ -688,15 +688,15 @@ let m = class extends H {
688
688
  if (t === 0) return;
689
689
  const e = this.wrapper.getBoundingClientRect(), s = e.width * 0.04, i = e.height * 0.04, n = e.width - s, o = e.height - i;
690
690
  if (n <= 0 || o <= 0) return;
691
- const a = this.optimizeLayout(
691
+ const h = this.optimizeLayout(
692
692
  n,
693
693
  o,
694
694
  t,
695
695
  (c, u) => Math.abs(c / u - 1 / 1),
696
696
  this.inputData?.gap ?? 12
697
697
  );
698
- this.elementWidth = a.elementWidth, this.elementHeight = a.elementHeight, this.wrapper.querySelectorAll(".image-item").forEach((c) => {
699
- c.style.width = `${a.elementWidth}px`, c.style.height = `${a.elementHeight}px`;
698
+ this.elementWidth = h.elementWidth, this.elementHeight = h.elementHeight, this.wrapper.querySelectorAll(".image-item").forEach((c) => {
699
+ c.style.width = `${h.elementWidth}px`, c.style.height = `${h.elementHeight}px`;
700
700
  });
701
701
  }
702
702
  /**
@@ -717,61 +717,49 @@ let m = class extends H {
717
717
  error: 1 / 0
718
718
  };
719
719
  for (let o = 1; o <= e; o++) {
720
- const a = Math.ceil(e / o), h = i * (o - 1), c = i * (a - 1), u = r - h, l = t - c;
720
+ const h = Math.ceil(e / o), a = i * (o - 1), c = i * (h - 1), u = r - a, l = t - c;
721
721
  if (u <= 0 || l <= 0) continue;
722
- const d = u / o, p = l / a, f = s(d, p);
723
- f < n.error && (n = {
722
+ const d = u / o, p = l / h, $ = s(d, p);
723
+ $ < n.error && (n = {
724
724
  elementWidth: d,
725
725
  elementHeight: p,
726
726
  numCols: o,
727
- numRows: a,
728
- error: f
727
+ numRows: h,
728
+ error: $
729
729
  });
730
730
  }
731
731
  return n;
732
732
  }
733
733
  render() {
734
734
  const r = this.getFilteredImages(), t = r.length > 1, e = r.filter((i) => i.label).length > 0, s = r.some((i) => i.imageUrl);
735
- return U`
735
+ return R`
736
736
  <div
737
737
  class="wrapper"
738
738
  style="background-color: ${this.themeBgColor}; color: ${this.themeTitleColor}; gap: ${t ? `${this.inputData?.gap ?? 12}px` : "0px"}; ${t ? "" : "flex-direction: column;"}"
739
739
  >
740
- ${!t && this.inputData?.title ? U`
741
- <h3
742
- class="paging"
743
- ?active=${this.inputData?.title}
744
- style="color: ${this.themeTitleColor};"
745
- >
746
- ${this.inputData?.title}
747
- </h3>
748
- ` : $}
749
- ${!t && this.inputData?.subTitle ? U`
750
- <p
751
- class="paging"
752
- ?active=${this.inputData?.subTitle}
753
- style="color: ${this.themeSubtitleColor};"
754
- >
755
- ${this.inputData?.subTitle}
756
- </p>
757
- ` : $}
758
740
  <div class="paging no-data" ?active=${!s} style="color: ${this.themeTitleColor};">
759
741
  No Image
760
742
  </div>
761
743
  ${Gt(
762
744
  r,
763
745
  (i) => i.imageUrl,
764
- (i) => U`
746
+ (i) => R`
765
747
  <div
766
748
  class="image-item"
767
749
  style="width: ${this.elementWidth}px; height: ${this.elementHeight}px;"
768
750
  >
769
- ${e ? U`<h2
751
+ ${e ? R`<h2
770
752
  class="title"
771
753
  style="${this.inputData?.labelFontSize ? `font-size: ${this.inputData.labelFontSize}px;` : ""}"
772
754
  >
773
- ${i.label ?? ""}
774
- </h2>` : $}
755
+ ${this.inputData?.titleLink ? R`<a
756
+ href="${this.inputData.titleLink}"
757
+ target="_blank"
758
+ rel="noopener noreferrer"
759
+ style="color: inherit; text-decoration: underline;"
760
+ >${i.label ?? ""}</a
761
+ >` : i.label ?? ""}
762
+ </h2>` : f}
775
763
  <div class="img-container paging" ?active="${i.imageUrl}">
776
764
  <img
777
765
  src="${Zt(i.imageUrl)}"
@@ -877,35 +865,32 @@ m.styles = gt`
877
865
  justify-content: center;
878
866
  }
879
867
  `;
880
- g([
881
- B({ type: Object })
868
+ _([
869
+ L({ type: Object })
882
870
  ], m.prototype, "inputData", 2);
883
- g([
884
- B({ type: Object })
871
+ _([
872
+ L({ type: Object })
885
873
  ], m.prototype, "theme", 2);
886
- g([
887
- B({ type: Object })
874
+ _([
875
+ L({ type: Object })
888
876
  ], m.prototype, "timeRange", 2);
889
- g([
890
- R()
877
+ _([
878
+ B()
891
879
  ], m.prototype, "themeBgColor", 2);
892
- g([
893
- R()
880
+ _([
881
+ B()
894
882
  ], m.prototype, "themeTitleColor", 2);
895
- g([
896
- R()
897
- ], m.prototype, "themeSubtitleColor", 2);
898
- g([
899
- R()
883
+ _([
884
+ B()
900
885
  ], m.prototype, "elementWidth", 2);
901
- g([
902
- R()
886
+ _([
887
+ B()
903
888
  ], m.prototype, "elementHeight", 2);
904
- g([
889
+ _([
905
890
  Yt(".wrapper")
906
891
  ], m.prototype, "wrapper", 2);
907
- m = g([
908
- Jt("widget-image-1.1.16")
892
+ m = _([
893
+ Jt("widget-image-1.1.18")
909
894
  ], m);
910
895
  export {
911
896
  m as WidgetImage
@@ -1 +1 @@
1
- {"version":3,"file":"widget-image.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/repeat.js","../node_modules/lit-html/directives/if-defined.js","../node_modules/@lit/reactive-element/decorators/custom-element.js","../node_modules/@lit/reactive-element/decorators/property.js","../node_modules/@lit/reactive-element/decorators/state.js","../node_modules/@lit/reactive-element/decorators/base.js","../node_modules/@lit/reactive-element/decorators/query.js","../src/widget-image.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=h.fromAttribute(s,t.type)??this._$Ej?.get(e)??null,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.0\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.0\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.0\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { html, css, LitElement, PropertyValues, PropertyValueMap, nothing } from 'lit'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { customElement, property, state, query } from 'lit/decorators.js'\nimport { InputData } from './definition-schema'\ntype Theme = {\n theme_name: string\n theme_object: any\n}\n@customElement('widget-image-versionplaceholder')\nexport class WidgetImage extends LitElement {\n @property({ type: Object })\n inputData?: InputData\n\n @property({ type: Object })\n theme?: Theme\n\n @property({ type: Object })\n timeRange?: { start: number; end: number }\n\n @state() private themeBgColor?: string\n @state() private themeTitleColor?: string\n @state() private themeSubtitleColor?: string\n @state() private elementWidth: number = 0\n @state() private elementHeight: number = 0\n\n @query('.wrapper') private wrapper?: HTMLDivElement\n\n version: string = 'versionplaceholder'\n private resizeObserver?: ResizeObserver\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n }\n }\n\n update(changedProperties: Map<string, any>) {\n if (changedProperties.has('inputData') || changedProperties.has('timeRange')) {\n this.updateGridLayout()\n }\n\n if (changedProperties.has('theme')) {\n this.registerTheme(this.theme)\n }\n\n super.update(changedProperties)\n }\n\n protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n this.registerTheme(this.theme)\n\n // Set up ResizeObserver for the wrapper\n if (this.wrapper) {\n this.resizeObserver = new ResizeObserver(() => {\n this.updateGridLayout()\n })\n this.resizeObserver.observe(this.wrapper)\n // Initial layout calculation\n this.updateGridLayout()\n }\n }\n\n registerTheme(theme?: Theme) {\n const cssTextColor = getComputedStyle(this).getPropertyValue('--re-text-color').trim()\n const cssBgColor = getComputedStyle(this).getPropertyValue('--re-tile-background-color').trim()\n this.themeBgColor = cssBgColor || this.theme?.theme_object?.backgroundColor\n this.themeTitleColor = cssTextColor || this.theme?.theme_object?.title?.textStyle?.color\n this.themeSubtitleColor =\n cssTextColor || this.theme?.theme_object?.title?.subtextStyle?.color || this.themeTitleColor\n }\n\n /**\n * Get images filtered by timeRange if available\n */\n getFilteredImages() {\n const singleImageUrl = this.inputData?.useUpload\n ? typeof this.inputData?.image === 'string'\n ? this.inputData.image\n : ''\n : (this.inputData?.imageUrl ?? '')\n\n let images = this.inputData?.multiImage\n ? (this.inputData?.data ?? [])\n : [{ imageUrl: singleImageUrl, label: this.inputData?.title ?? '' }]\n\n // Filter by timeRange if provided and in multi-image mode\n if (this.timeRange && this.inputData?.multiImage) {\n const timeRangeStart = Number(this.timeRange.start)\n const timeRangeEnd = Number(this.timeRange.end)\n\n if (!isNaN(timeRangeStart) || !isNaN(timeRangeEnd)) {\n images = images.filter((img) => {\n const timestamp = img.timestamp\n if (timestamp === undefined || timestamp === null) return true // Keep images without timestamps\n const ts = Number(timestamp)\n if (isNaN(ts)) return true // Keep if timestamp is not a valid number\n if (!isNaN(timeRangeStart) && ts < timeRangeStart) return false\n if (!isNaN(timeRangeEnd) && ts > timeRangeEnd) return false\n return true\n })\n }\n }\n\n return images\n }\n\n /**\n * Update grid layout based on container size and number of elements\n */\n updateGridLayout() {\n if (!this.wrapper) return\n\n const images = this.getFilteredImages()\n\n const numElements = images.length\n if (numElements === 0) return\n\n const rect = this.wrapper.getBoundingClientRect()\n // Account for padding: 2cqw on each side (4% width total), 2cqh on each side (4% height total)\n const horizontalPadding = rect.width * 0.04\n const verticalPadding = rect.height * 0.04\n const containerWidth = rect.width - horizontalPadding\n const containerHeight = rect.height - verticalPadding\n\n if (containerWidth <= 0 || containerHeight <= 0) return\n\n // Optimize for 1:1 aspect ratio\n const layout = this.optimizeLayout(\n containerWidth,\n containerHeight,\n numElements,\n (w, h) => Math.abs(w / h - 1 / 1),\n this.inputData?.gap ?? 12\n )\n\n // Update element dimensions\n this.elementWidth = layout.elementWidth\n this.elementHeight = layout.elementHeight\n\n // Apply width and height to each child image container\n const imageContainers = this.wrapper.querySelectorAll('.image-item') as NodeListOf<HTMLDivElement>\n imageContainers.forEach((container) => {\n container.style.width = `${layout.elementWidth}px`\n container.style.height = `${layout.elementHeight}px`\n })\n }\n\n /**\n * Optimize grid layout by minimizing an error function\n * @param containerWidth - Available width for the grid\n * @param containerHeight - Available height for the grid\n * @param numElements - Number of elements to arrange\n * @param errorFn - Error function that takes (element_width, element_height) and returns error value\n * @param gap - Gap between elements (default: 12)\n * @returns Optimal layout configuration\n */\n optimizeLayout(\n containerWidth: number,\n containerHeight: number,\n numElements: number,\n errorFn: (w: number, h: number) => number,\n gap: number = 12\n ): {\n elementWidth: number\n elementHeight: number\n numCols: number\n numRows: number\n error: number\n } {\n let bestLayout = {\n elementWidth: 0,\n elementHeight: 0,\n numCols: 1,\n numRows: numElements,\n error: Infinity\n }\n\n // Try all possible column configurations from 1 to numElements\n for (let cols = 1; cols <= numElements; cols++) {\n const rows = Math.ceil(numElements / cols)\n\n // Calculate element dimensions accounting for gaps\n const totalGapWidth = gap * (cols - 1)\n const totalGapHeight = gap * (rows - 1)\n const availableWidth = containerWidth - totalGapWidth\n const availableHeight = containerHeight - totalGapHeight\n\n if (availableWidth <= 0 || availableHeight <= 0) continue\n\n const elementWidth = availableWidth / cols\n const elementHeight = availableHeight / rows\n\n // Calculate error for this configuration\n const error = errorFn(elementWidth, elementHeight)\n\n // Update best layout if this is better\n if (error < bestLayout.error) {\n bestLayout = {\n elementWidth,\n elementHeight,\n numCols: cols,\n numRows: rows,\n error\n }\n }\n }\n\n return bestLayout\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n box-sizing: border-box;\n margin: auto;\n container-type: size;\n }\n\n .paging:not([active]) {\n display: none !important;\n }\n\n .wrapper {\n display: flex;\n flex-wrap: wrap;\n height: 100%;\n width: 100%;\n padding: 2cqh 2cqw;\n box-sizing: border-box;\n gap: 12px;\n align-content: flex-start;\n }\n\n .wrapper > * {\n flex-shrink: 1;\n min-width: 0;\n min-height: 0;\n }\n\n .image-item {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n }\n\n .title {\n height: 24px;\n font-size: 18px;\n margin: 0;\n padding: 0 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n flex: 0 0 auto;\n white-space: nowrap;\n }\n\n h3 {\n margin: 0;\n max-width: 300px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n p {\n margin: 10px 0 0 0;\n max-width: 300px;\n font-size: 14px;\n line-height: 17px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .img-container {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n min-width: 0;\n min-height: 0;\n }\n\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .no-data {\n font-size: 20px;\n display: flex;\n height: 100%;\n width: 100%;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n `\n\n render() {\n const images = this.getFilteredImages()\n\n const hasMultipleItems = images.length > 1\n const showTitles = images.filter((img) => img.label).length > 0\n const hasAnyImage = images.some((img) => img.imageUrl)\n\n return html`\n <div\n class=\"wrapper\"\n style=\"background-color: ${this.themeBgColor}; color: ${this\n .themeTitleColor}; gap: ${hasMultipleItems\n ? `${this.inputData?.gap ?? 12}px`\n : '0px'}; ${!hasMultipleItems ? 'flex-direction: column;' : ''}\"\n >\n ${!hasMultipleItems && this.inputData?.title\n ? html`\n <h3\n class=\"paging\"\n ?active=${this.inputData?.title}\n style=\"color: ${this.themeTitleColor};\"\n >\n ${this.inputData?.title}\n </h3>\n `\n : nothing}\n ${!hasMultipleItems && this.inputData?.subTitle\n ? html`\n <p\n class=\"paging\"\n ?active=${this.inputData?.subTitle}\n style=\"color: ${this.themeSubtitleColor};\"\n >\n ${this.inputData?.subTitle}\n </p>\n `\n : nothing}\n <div class=\"paging no-data\" ?active=${!hasAnyImage} style=\"color: ${this.themeTitleColor};\">\n No Image\n </div>\n ${repeat(\n images,\n (img) => img.imageUrl,\n (img) => html`\n <div\n class=\"image-item\"\n style=\"width: ${this.elementWidth}px; height: ${this.elementHeight}px;\"\n >\n ${showTitles\n ? html`<h2\n class=\"title\"\n style=\"${this.inputData?.labelFontSize\n ? `font-size: ${this.inputData.labelFontSize}px;`\n : ''}\"\n >\n ${img.label ?? ''}\n </h2>`\n : nothing}\n <div class=\"img-container paging\" ?active=\"${img.imageUrl}\">\n <img\n src=\"${ifDefined(img.imageUrl)}\"\n alt=\"${img.label || 'Image Widget'}\"\n style=\"object-fit: ${this.inputData?.stretchToFit ? 'fill' : 'contain'}\"\n />\n </div>\n </div>\n `\n )}\n </div>\n `\n }\n}\n"],"names":["t","e","s","o","n$3","r","n","i","S","c","h","a","l","p","d","u","f","b","y$1","y","v","_","m","g","$","x","T","E","A","C","P","V","N","H","I","L","k","M$1","R","z","M","Z","j","B","w","WidgetImage","LitElement","changedProperties","_changedProperties","theme","cssTextColor","cssBgColor","singleImageUrl","images","timeRangeStart","timeRangeEnd","img","timestamp","ts","numElements","rect","horizontalPadding","verticalPadding","containerWidth","containerHeight","layout","container","errorFn","gap","bestLayout","cols","rows","totalGapWidth","totalGapHeight","availableWidth","availableHeight","elementWidth","elementHeight","error","hasMultipleItems","showTitles","hasAnyImage","html","nothing","repeat","ifDefined","css","__decorateClass","property","state","query","customElement"],"mappings":"AAKA,MAAMA,IAAE,YAAWC,IAAED,EAAE,eAAsBA,EAAE,aAAX,UAAqBA,EAAE,SAAS,iBAAe,wBAAuB,SAAS,aAAW,aAAY,cAAc,WAAUE,IAAE,uBAAM,GAAGC,IAAE,oBAAI;AAAO,IAAAC,KAAC,MAAO;AAAA,EAAC,YAAY,GAAE,GAAED,GAAE;AAAC,QAAG,KAAK,eAAa,IAAGA,MAAID,EAAE,OAAM,MAAM,mEAAmE;AAAE,SAAK,UAAQ,GAAE,KAAK,IAAE;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,QAAI,IAAE,KAAK;AAAE,UAAMA,IAAE,KAAK;AAAE,QAAGD,KAAY,MAAT,QAAW;AAAC,YAAMA,IAAWC,MAAT,UAAgBA,EAAE,WAAN;AAAa,MAAAD,MAAI,IAAEE,EAAE,IAAID,CAAC,IAAY,MAAT,YAAc,KAAK,IAAE,IAAE,IAAI,iBAAe,YAAY,KAAK,OAAO,GAAED,KAAGE,EAAE,IAAID,GAAE,CAAC;AAAA,IAAE;AAAC,WAAO;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK;AAAA,EAAO;AAAC;AAAC,MAAMG,KAAE,CAAAL,MAAG,IAAIM,GAAY,OAAON,KAAjB,WAAmBA,IAAEA,IAAE,IAAG,QAAOE,CAAC,GAAEK,KAAE,CAACP,MAAKC,MAAI;AAAC,QAAME,IAAMH,EAAE,WAAN,IAAaA,EAAE,CAAC,IAAEC,EAAE,QAAQ,CAACA,GAAEC,GAAEC,MAAIF,KAAG,CAAAD,MAAG;AAAC,QAAQA,EAAE,iBAAP,GAAoB,QAAOA,EAAE;AAAQ,QAAa,OAAOA,KAAjB,SAAmB,QAAOA;AAAE,UAAM,MAAM,qEAAmEA,IAAE,sFAAsF;AAAA,EAAC,GAAGE,CAAC,IAAEF,EAAEG,IAAE,CAAC,IAAGH,EAAE,CAAC,CAAC;AAAE,SAAO,IAAIM,GAAEH,GAAEH,GAAEE,CAAC;AAAC,GAAEM,KAAE,CAACN,GAAEC,MAAI;AAAC,MAAGF,EAAE,CAAAC,EAAE,qBAAmBC,EAAE,KAAK,CAAAH,MAAGA,aAAa,gBAAcA,IAAEA,EAAE;MAAkB,YAAU,KAAKG,GAAE;AAAC,UAAMA,IAAE,SAAS,cAAc,OAAO,GAAEG,IAAEN,EAAE;AAAS,IAASM,MAAT,UAAYH,EAAE,aAAa,SAAQG,CAAC,GAAEH,EAAE,cAAY,EAAE,SAAQD,EAAE,YAAYC,CAAC;AAAA,EAAC;AAAC,GAAEM,KAAER,IAAE,CAAAD,MAAGA,IAAE,CAAAA,MAAGA,aAAa,iBAAe,OAAG;AAAC,MAAI,IAAE;AAAG,aAAU,KAAK,EAAE,SAAS,MAAG,EAAE;AAAQ,SAAOK,GAAE,CAAC;AAAC,GAAGL,CAAC,IAAEA;ACAxzC,MAAK,EAAC,IAAGO,IAAE,gBAAeN,IAAE,0BAAyBS,IAAE,qBAAoBL,IAAE,uBAAsBF,IAAE,gBAAeG,GAAC,IAAE,QAAOK,IAAE,YAAWF,KAAEE,EAAE,cAAaC,KAAEH,KAAEA,GAAE,cAAY,IAAGI,KAAEF,EAAE,gCAA+BG,IAAE,CAACd,GAAEE,MAAIF,GAAEe,IAAE,EAAC,YAAYf,GAAEE,GAAE;AAAC,UAAOA,GAAC;AAAA,IAAE,KAAK;AAAQ,MAAAF,IAAEA,IAAEY,KAAE;AAAK;AAAA,IAAM,KAAK;AAAA,IAAO,KAAK;AAAM,MAAAZ,IAAQA,KAAN,OAAQA,IAAE,KAAK,UAAUA,CAAC;AAAA,EAAC;AAAC,SAAOA;AAAC,GAAE,cAAcA,GAAEE,GAAE;AAAC,MAAIK,IAAEP;AAAE,UAAOE;IAAG,KAAK;AAAQ,MAAAK,IAASP,MAAP;AAAS;AAAA,IAAM,KAAK;AAAO,MAAAO,IAASP,MAAP,OAAS,OAAK,OAAOA,CAAC;AAAE;AAAA,IAAM,KAAK;AAAA,IAAO,KAAK;AAAM,UAAG;AAAC,QAAAO,IAAE,KAAK,MAAMP,CAAC;AAAA,MAAC,QAAS;AAAC,QAAAO,IAAE;AAAA,MAAI;AAAA,EAAC;AAAC,SAAOA;AAAC,EAAC,GAAES,IAAE,CAAChB,GAAEE,MAAI,CAACK,GAAEP,GAAEE,CAAC,GAAEe,KAAE,EAAC,WAAU,IAAG,MAAK,QAAO,WAAUF,GAAE,SAAQ,IAAG,YAAW,IAAG,YAAWC,EAAC;AAAE,OAAO,aAAW,uBAAO,UAAU,GAAEL,EAAE,wBAAsB,oBAAI;AAAO,IAAAO,IAAC,cAAgB,YAAW;AAAA,EAAC,OAAO,eAAe,GAAE;AAAC,SAAK,KAAI,IAAI,KAAK,MAAI,CAAA,GAAI,KAAK,CAAC;AAAA,EAAC;AAAA,EAAC,WAAW,qBAAoB;AAAC,WAAO,KAAK,SAAQ,GAAG,KAAK,QAAM,CAAC,GAAG,KAAK,KAAK,KAAI,CAAE;AAAA,EAAC;AAAA,EAAC,OAAO,eAAe,GAAEhB,IAAEe,IAAE;AAAC,QAAGf,EAAE,UAAQA,EAAE,YAAU,KAAI,KAAK,KAAI,GAAG,KAAK,UAAU,eAAe,CAAC,OAAKA,IAAE,OAAO,OAAOA,CAAC,GAAG,UAAQ,KAAI,KAAK,kBAAkB,IAAI,GAAEA,CAAC,GAAE,CAACA,EAAE,YAAW;AAAC,YAAMK,IAAE,uBAAM,GAAGG,IAAE,KAAK,sBAAsB,GAAEH,GAAEL,CAAC;AAAE,MAASQ,MAAT,UAAYT,GAAE,KAAK,WAAU,GAAES,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,OAAO,sBAAsB,GAAER,GAAEK,GAAE;AAAC,UAAK,EAAC,KAAIN,GAAE,KAAII,EAAC,IAAEK,GAAE,KAAK,WAAU,CAAC,KAAG,EAAC,MAAK;AAAC,aAAO,KAAKR,CAAC;AAAA,IAAC,GAAE,IAAIF,GAAE;AAAC,WAAKE,CAAC,IAAEF;AAAA,IAAC,EAAC;AAAE,WAAM,EAAC,KAAIC,GAAE,IAAIC,GAAE;AAAC,YAAMQ,IAAET,GAAG,KAAK,IAAI;AAAE,MAAAI,GAAG,KAAK,MAAKH,CAAC,GAAE,KAAK,cAAc,GAAEQ,GAAEH,CAAC;AAAA,IAAC,GAAE,cAAa,IAAG,YAAW,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,mBAAmB,GAAE;AAAC,WAAO,KAAK,kBAAkB,IAAI,CAAC,KAAGU;AAAA,EAAC;AAAA,EAAC,OAAO,OAAM;AAAC,QAAG,KAAK,eAAeH,EAAE,mBAAmB,CAAC,EAAE;AAAO,UAAM,IAAER,GAAE,IAAI;AAAE,MAAE,SAAQ,GAAY,EAAE,MAAX,WAAe,KAAK,IAAE,CAAC,GAAG,EAAE,CAAC,IAAG,KAAK,oBAAkB,IAAI,IAAI,EAAE,iBAAiB;AAAA,EAAC;AAAA,EAAC,OAAO,WAAU;AAAC,QAAG,KAAK,eAAeQ,EAAE,WAAW,CAAC,EAAE;AAAO,QAAG,KAAK,YAAU,IAAG,KAAK,KAAI,GAAG,KAAK,eAAeA,EAAE,YAAY,CAAC,GAAE;AAAC,YAAMd,IAAE,KAAK,YAAW,IAAE,CAAC,GAAGK,GAAEL,CAAC,GAAE,GAAGG,GAAEH,CAAC,CAAC;AAAE,iBAAU,KAAK,EAAE,MAAK,eAAe,GAAEA,EAAE,CAAC,CAAC;AAAA,IAAC;AAAC,UAAM,IAAE,KAAK,OAAO,QAAQ;AAAE,QAAU,MAAP,MAAS;AAAC,YAAME,IAAE,oBAAoB,IAAI,CAAC;AAAE,UAAYA,MAAT,OAAW,YAAS,CAACF,GAAE,CAAC,KAAIE,EAAE,MAAK,kBAAkB,IAAIF,GAAE,CAAC;AAAA,IAAC;AAAC,SAAK,OAAK,oBAAI;AAAI,eAAS,CAACA,GAAE,CAAC,KAAI,KAAK,mBAAkB;AAAC,YAAM,IAAE,KAAK,KAAKA,GAAE,CAAC;AAAE,MAAS,MAAT,UAAY,KAAK,KAAK,IAAI,GAAEA,CAAC;AAAA,IAAC;AAAC,SAAK,gBAAc,KAAK,eAAe,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,OAAO,eAAeE,GAAE;AAAC,UAAMK,IAAE,CAAA;AAAG,QAAG,MAAM,QAAQL,CAAC,GAAE;AAAC,YAAMD,IAAE,IAAI,IAAIC,EAAE,KAAK,KAAG,EAAE,QAAO,CAAE;AAAE,iBAAUA,KAAKD,EAAE,CAAAM,EAAE,QAAQP,GAAEE,CAAC,CAAC;AAAA,IAAC,MAAM,CAASA,MAAT,UAAYK,EAAE,KAAKP,GAAEE,CAAC,CAAC;AAAE,WAAOK;AAAA,EAAC;AAAA,EAAC,OAAO,KAAK,GAAEL,GAAE;AAAC,UAAMK,IAAEL,EAAE;AAAU,WAAWK,MAAL,KAAO,SAAiB,OAAOA,KAAjB,WAAmBA,IAAY,OAAO,KAAjB,WAAmB,EAAE,YAAW,IAAG;AAAA,EAAM;AAAA,EAAC,cAAa;AAAC,UAAK,GAAG,KAAK,OAAK,QAAO,KAAK,kBAAgB,IAAG,KAAK,aAAW,IAAG,KAAK,OAAK,MAAK,KAAK,KAAI;AAAA,EAAE;AAAA,EAAC,OAAM;AAAC,SAAK,OAAK,IAAI,SAAS,OAAG,KAAK,iBAAe,EAAC,GAAG,KAAK,OAAK,oBAAI,OAAI,KAAK,KAAI,GAAG,KAAK,cAAa,GAAG,KAAK,YAAY,GAAG,SAAS,OAAG,EAAE,IAAI,EAAC;AAAA,EAAE;AAAA,EAAC,cAAc,GAAE;AAAC,KAAC,KAAK,SAAO,oBAAI,OAAK,IAAI,CAAC,GAAW,KAAK,eAAd,UAA0B,KAAK,eAAa,EAAE,gBAAa;AAAA,EAAI;AAAA,EAAC,iBAAiB,GAAE;AAAC,SAAK,MAAM,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,OAAM;AAAC,UAAM,IAAE,oBAAI,OAAIL,IAAE,KAAK,YAAY;AAAkB,eAAUK,KAAKL,EAAE,KAAI,EAAG,MAAK,eAAeK,CAAC,MAAI,EAAE,IAAIA,GAAE,KAAKA,CAAC,CAAC,GAAE,OAAO,KAAKA,CAAC;AAAG,MAAE,OAAK,MAAI,KAAK,OAAK;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,UAAM,IAAE,KAAK,cAAY,KAAK,aAAa,KAAK,YAAY,iBAAiB;AAAE,WAAOL,GAAE,GAAE,KAAK,YAAY,aAAa,GAAE;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,SAAK,eAAa,KAAK,iBAAgB,GAAG,KAAK,eAAe,EAAE,GAAE,KAAK,MAAM,SAAS,OAAG,EAAE,gBAAa,EAAI;AAAA,EAAE;AAAA,EAAC,eAAe,GAAE;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,SAAK,MAAM,SAAS,OAAG,EAAE,qBAAoB;AAAA,EAAE;AAAA,EAAC,yBAAyB,GAAEA,GAAEK,GAAE;AAAC,SAAK,KAAK,GAAEA,CAAC;AAAA,EAAC;AAAA,EAAC,KAAK,GAAEL,GAAE;AAAC,UAAMK,IAAE,KAAK,YAAY,kBAAkB,IAAI,CAAC,GAAEN,IAAE,KAAK,YAAY,KAAK,GAAEM,CAAC;AAAE,QAAYN,MAAT,UAAiBM,EAAE,YAAP,IAAe;AAAC,YAAMG,KAAYH,EAAE,WAAW,gBAAtB,SAAkCA,EAAE,YAAUQ,GAAG,YAAYb,GAAEK,EAAE,IAAI;AAAE,WAAK,OAAK,GAAQG,KAAN,OAAQ,KAAK,gBAAgBT,CAAC,IAAE,KAAK,aAAaA,GAAES,CAAC,GAAE,KAAK,OAAK;AAAA,IAAI;AAAA,EAAC;AAAA,EAAC,KAAK,GAAER,GAAE;AAAC,UAAMK,IAAE,KAAK,aAAYN,IAAEM,EAAE,KAAK,IAAI,CAAC;AAAE,QAAYN,MAAT,UAAY,KAAK,SAAOA,GAAE;AAAC,YAAMD,IAAEO,EAAE,mBAAmBN,CAAC,GAAES,IAAc,OAAOV,EAAE,aAArB,aAA+B,EAAC,eAAcA,EAAE,UAAS,IAAWA,EAAE,WAAW,kBAAtB,SAAoCA,EAAE,YAAUe;AAAE,WAAK,OAAKd,GAAE,KAAKA,CAAC,IAAES,EAAE,cAAcR,GAAEF,EAAE,IAAI,KAAG,KAAK,MAAM,IAAIC,CAAC,KAAG,MAAK,KAAK,OAAK;AAAA,IAAI;AAAA,EAAC;AAAA,EAAC,cAAc,GAAEC,GAAEK,GAAE;AAAC,QAAY,MAAT,QAAW;AAAC,YAAMN,IAAE,KAAK,aAAYS,IAAE,KAAK,CAAC;AAAE,UAAGH,MAAIN,EAAE,mBAAmB,CAAC,GAAE,GAAGM,EAAE,cAAYS,GAAGN,GAAER,CAAC,KAAGK,EAAE,cAAYA,EAAE,WAASG,MAAI,KAAK,MAAM,IAAI,CAAC,KAAG,CAAC,KAAK,aAAaT,EAAE,KAAK,GAAEM,CAAC,CAAC,GAAG;AAAO,WAAK,EAAE,GAAEL,GAAEK,CAAC;AAAA,IAAC;AAAC,IAAK,KAAK,oBAAV,OAA4B,KAAK,OAAK,KAAK,KAAI;AAAA,EAAG;AAAA,EAAC,EAAE,GAAEL,GAAE,EAAC,YAAWK,GAAE,SAAQN,GAAE,SAAQS,EAAC,GAAEL,GAAE;AAAC,IAAAE,KAAG,EAAE,KAAK,SAAO,oBAAI,OAAK,IAAI,CAAC,MAAI,KAAK,KAAK,IAAI,GAAEF,KAAGH,KAAG,KAAK,CAAC,CAAC,GAAOQ,MAAL,MAAiBL,MAAT,YAAc,KAAK,KAAK,IAAI,CAAC,MAAI,KAAK,cAAYE,MAAIL,IAAE,SAAQ,KAAK,KAAK,IAAI,GAAEA,CAAC,IAAQD,MAAL,MAAQ,KAAK,SAAO,MAAI,KAAK,SAAO,oBAAI,OAAK,IAAI,CAAC;AAAA,EAAE;AAAA,EAAC,MAAM,OAAM;AAAC,SAAK,kBAAgB;AAAG,QAAG;AAAC,YAAM,KAAK;AAAA,IAAI,SAAOD,GAAE;AAAC,cAAQ,OAAOA,CAAC;AAAA,IAAC;AAAC,UAAM,IAAE,KAAK;AAAiB,WAAa,KAAN,QAAS,MAAM,GAAE,CAAC,KAAK;AAAA,EAAe;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK,cAAa;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,gBAAgB;AAAO,QAAG,CAAC,KAAK,YAAW;AAAC,UAAG,KAAK,eAAa,KAAK,iBAAgB,GAAG,KAAK,MAAK;AAAC,mBAAS,CAACA,GAAEE,CAAC,KAAI,KAAK,KAAK,MAAKF,CAAC,IAAEE;AAAE,aAAK,OAAK;AAAA,MAAM;AAAC,YAAMF,IAAE,KAAK,YAAY;AAAkB,UAAGA,EAAE,OAAK,EAAE,YAAS,CAACE,GAAEK,CAAC,KAAIP,GAAE;AAAC,cAAK,EAAC,SAAQA,EAAC,IAAEO,GAAEN,IAAE,KAAKC,CAAC;AAAE,QAAKF,MAAL,MAAQ,KAAK,KAAK,IAAIE,CAAC,KAAYD,MAAT,UAAY,KAAK,EAAEC,GAAE,QAAOK,GAAEN,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,QAAI,IAAE;AAAG,UAAMC,IAAE,KAAK;AAAK,QAAG;AAAC,UAAE,KAAK,aAAaA,CAAC,GAAE,KAAG,KAAK,WAAWA,CAAC,GAAE,KAAK,MAAM,SAAS,CAAAF,MAAGA,EAAE,aAAU,EAAI,GAAG,KAAK,OAAOE,CAAC,KAAG,KAAK,KAAI;AAAA,IAAE,SAAO,GAAE;AAAC,YAAM,IAAE,IAAG,KAAK,KAAI,GAAG;AAAA,IAAC;AAAC,SAAG,KAAK,KAAKA,CAAC;AAAA,EAAC;AAAA,EAAC,WAAW,GAAE;AAAA,EAAC;AAAA,EAAC,KAAK,GAAE;AAAC,SAAK,MAAM,SAAS,CAAAF,MAAGA,EAAE,cAAW,EAAI,GAAG,KAAK,eAAa,KAAK,aAAW,IAAG,KAAK,aAAa,CAAC,IAAG,KAAK,QAAQ,CAAC;AAAA,EAAC;AAAA,EAAC,OAAM;AAAC,SAAK,OAAK,oBAAI,OAAI,KAAK,kBAAgB;AAAA,EAAE;AAAA,EAAC,IAAI,iBAAgB;AAAC,WAAO,KAAK,kBAAiB;AAAA,EAAE;AAAA,EAAC,oBAAmB;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,aAAa,GAAE;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,GAAE;AAAC,SAAK,SAAO,KAAK,KAAK,SAAS,CAAAA,MAAG,KAAK,KAAKA,GAAE,KAAKA,CAAC,CAAC,EAAC,GAAG,KAAK,KAAI;AAAA,EAAE;AAAA,EAAC,QAAQ,GAAE;AAAA,EAAC;AAAA,EAAC,aAAa,GAAE;AAAA,EAAC;AAAC;AAACmB,EAAE,gBAAc,CAAA,GAAGA,EAAE,oBAAkB,EAAC,MAAK,OAAM,GAAEA,EAAEL,EAAE,mBAAmB,CAAC,IAAE,oBAAI,OAAIK,EAAEL,EAAE,WAAW,CAAC,IAAE,oBAAI,OAAID,KAAI,EAAC,iBAAgBM,EAAC,CAAC,IAAGR,EAAE,4BAA0B,CAAA,GAAI,KAAK,OAAO;ACAjxL,MAACX,IAAE,YAAWO,IAAEP,EAAE,cAAaE,KAAEK,IAAEA,EAAE,aAAa,YAAW,EAAC,YAAW,CAAAP,MAAGA,EAAC,CAAC,IAAE,QAAOC,KAAE,SAAQS,IAAE,OAAO,KAAK,OAAM,EAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAIP,KAAE,MAAIO,GAAEJ,KAAE,IAAIH,EAAC,KAAIE,IAAE,UAASO,IAAE,MAAIP,EAAE,cAAc,EAAE,GAAEI,IAAE,CAAAT,MAAUA,MAAP,QAAoB,OAAOA,KAAjB,YAAgC,OAAOA,KAAnB,YAAqBW,IAAE,MAAM,SAAQI,KAAE,CAAAf,MAAGW,EAAEX,CAAC,KAAe,OAAOA,IAAI,OAAO,QAAQ,KAAtC,YAAwCc,IAAE;AAAA,QAAcE,IAAE,uDAAsDI,KAAE,QAAOC,KAAE,MAAKC,IAAE,OAAO,KAAKR,CAAC,qBAAqBA,CAAC,KAAKA,CAAC;AAAA,2BAAsC,GAAG,GAAED,KAAE,MAAKU,KAAE,MAAKC,KAAE,sCAAqCL,KAAE,CAAAnB,MAAG,CAACO,MAAKL,OAAK,EAAC,YAAWF,GAAE,SAAQO,GAAE,QAAOL,EAAC,IAAGuB,IAAEN,GAAE,CAAC,GAAgBO,IAAE,uBAAO,IAAI,cAAc,GAAEC,IAAE,uBAAO,IAAI,aAAa,GAAEC,KAAE,oBAAI,WAAQC,IAAExB,EAAE,iBAAiBA,GAAE,GAAG;AAAE,SAASyB,GAAE9B,GAAEO,GAAE;AAAC,MAAG,CAACI,EAAEX,CAAC,KAAG,CAACA,EAAE,eAAe,KAAK,EAAE,OAAM,MAAM,gCAAgC;AAAE,SAAgBE,OAAT,SAAWA,GAAE,WAAWK,CAAC,IAAEA;AAAC;AAAC,MAAMwB,KAAE,CAAC/B,GAAEO,MAAI;AAAC,QAAML,IAAEF,EAAE,SAAO,GAAEG,IAAE,CAAA;AAAG,MAAIE,GAAEO,IAAML,MAAJ,IAAM,UAAYA,MAAJ,IAAM,WAAS,IAAGE,IAAEO;AAAE,WAAQT,IAAE,GAAEA,IAAEL,GAAEK,KAAI;AAAC,UAAML,IAAEF,EAAEO,CAAC;AAAE,QAAII,GAAE,GAAEG,IAAE,IAAGK,IAAE;AAAE,WAAKA,IAAEjB,EAAE,WAASO,EAAE,YAAUU,GAAE,IAAEV,EAAE,KAAKP,CAAC,GAAS,MAAP,QAAW,CAAAiB,IAAEV,EAAE,WAAUA,MAAIO,IAAU,EAAE,CAAC,MAAX,QAAaP,IAAEW,KAAW,EAAE,CAAC,MAAZ,SAAcX,IAAEY,KAAW,EAAE,CAAC,MAAZ,UAAeG,GAAE,KAAK,EAAE,CAAC,CAAC,MAAInB,IAAE,OAAO,OAAK,EAAE,CAAC,GAAE,GAAG,IAAGI,IAAEa,KAAY,EAAE,CAAC,MAAZ,WAAgBb,IAAEa,KAAGb,MAAIa,IAAQ,EAAE,CAAC,MAAT,OAAYb,IAAEJ,KAAGW,GAAEF,IAAE,MAAa,EAAE,CAAC,MAAZ,SAAcA,IAAE,MAAIA,IAAEL,EAAE,YAAU,EAAE,CAAC,EAAE,QAAOE,IAAE,EAAE,CAAC,GAAEF,IAAW,EAAE,CAAC,MAAZ,SAAca,IAAQ,EAAE,CAAC,MAAT,MAAWC,KAAEV,MAAGJ,MAAIc,MAAGd,MAAII,KAAEJ,IAAEa,IAAEb,MAAIW,MAAGX,MAAIY,KAAEZ,IAAEO,KAAGP,IAAEa,GAAEjB,IAAE;AAAQ,UAAMoB,IAAEhB,MAAIa,KAAGtB,EAAEO,IAAE,CAAC,EAAE,WAAW,IAAI,IAAE,MAAI;AAAG,IAAAK,KAAGH,MAAIO,IAAEd,IAAEI,KAAEQ,KAAG,KAAGX,EAAE,KAAKQ,CAAC,GAAET,EAAE,MAAM,GAAEY,CAAC,IAAEb,KAAEC,EAAE,MAAMY,CAAC,IAAEJ,IAAEe,KAAGvB,IAAEQ,KAAQI,MAAL,KAAOP,IAAEkB;AAAA,EAAE;AAAC,SAAM,CAACK,GAAE9B,GAAEY,KAAGZ,EAAEE,CAAC,KAAG,UAAYK,MAAJ,IAAM,WAAaA,MAAJ,IAAM,YAAU,GAAG,GAAEJ,CAAC;AAAC;AAAE,MAAM6B,EAAC;AAAA,EAAC,YAAY,EAAC,SAAQ,GAAE,YAAW9B,EAAC,GAAEI,GAAE;AAAC,QAAID;AAAE,SAAK,QAAM,CAAA;AAAG,QAAII,IAAE,GAAEE,IAAE;AAAE,UAAMI,IAAE,EAAE,SAAO,GAAED,IAAE,KAAK,OAAM,CAACE,GAAEI,CAAC,IAAEW,GAAE,GAAE7B,CAAC;AAAE,QAAG,KAAK,KAAG8B,EAAE,cAAchB,GAAEV,CAAC,GAAEuB,EAAE,cAAY,KAAK,GAAG,SAAY3B,MAAJ,KAAWA,MAAJ,GAAM;AAAC,YAAMF,IAAE,KAAK,GAAG,QAAQ;AAAW,MAAAA,EAAE,YAAY,GAAGA,EAAE,UAAU;AAAA,IAAC;AAAC,YAAaK,IAAEwB,EAAE,gBAAZ,QAAyBf,EAAE,SAAOC,KAAG;AAAC,UAAOV,EAAE,aAAN,GAAe;AAAC,YAAGA,EAAE,gBAAgB,YAAUL,KAAKK,EAAE,kBAAiB,EAAG,KAAGL,EAAE,SAASC,EAAC,GAAE;AAAC,gBAAMM,IAAEa,EAAET,GAAG,GAAET,IAAEG,EAAE,aAAaL,CAAC,EAAE,MAAMU,CAAC,GAAET,IAAE,eAAe,KAAKM,CAAC;AAAE,UAAAO,EAAE,KAAK,EAAC,MAAK,GAAE,OAAML,GAAE,MAAKR,EAAE,CAAC,GAAE,SAAQC,GAAE,MAAWD,EAAE,CAAC,MAAT,MAAWgC,KAAQhC,EAAE,CAAC,MAAT,MAAWiC,KAAQjC,EAAE,CAAC,MAAT,MAAWkC,KAAEC,EAAC,CAAC,GAAE/B,EAAE,gBAAgBL,CAAC;AAAA,QAAC,MAAM,CAAAA,EAAE,WAAWU,CAAC,MAAII,EAAE,KAAK,EAAC,MAAK,GAAE,OAAML,EAAC,CAAC,GAAEJ,EAAE,gBAAgBL,CAAC;AAAG,YAAGwB,GAAE,KAAKnB,EAAE,OAAO,GAAE;AAAC,gBAAML,IAAEK,EAAE,YAAY,MAAMK,CAAC,GAAER,IAAEF,EAAE,SAAO;AAAE,cAAGE,IAAE,GAAE;AAAC,YAAAG,EAAE,cAAYE,IAAEA,EAAE,cAAY;AAAG,qBAAQA,IAAE,GAAEA,IAAEL,GAAEK,IAAI,CAAAF,EAAE,OAAOL,EAAEO,CAAC,GAAEK,GAAG,GAAEiB,EAAE,YAAWf,EAAE,KAAK,EAAC,MAAK,GAAE,OAAM,EAAEL,EAAC,CAAC;AAAE,YAAAJ,EAAE,OAAOL,EAAEE,CAAC,GAAEU,EAAC,CAAE;AAAA,UAAC;AAAA,QAAC;AAAA,MAAC,WAAaP,EAAE,aAAN,EAAe,KAAGA,EAAE,SAAOF,GAAE,CAAAW,EAAE,KAAK,EAAC,MAAK,GAAE,OAAML,EAAC,CAAC;AAAA,WAAM;AAAC,YAAIT,IAAE;AAAG,gBAAWA,IAAEK,EAAE,KAAK,QAAQK,GAAEV,IAAE,CAAC,OAA5B,KAAgC,CAAAc,EAAE,KAAK,EAAC,MAAK,GAAE,OAAML,EAAC,CAAC,GAAET,KAAGU,EAAE,SAAO;AAAA,MAAC;AAAC,MAAAD;AAAA,IAAG;AAAA,EAAC;AAAA,EAAC,OAAO,cAAc,GAAEF,GAAE;AAAC,UAAM,IAAEF,EAAE,cAAc,UAAU;AAAE,WAAO,EAAE,YAAU,GAAE;AAAA,EAAC;AAAC;AAAC,SAASG,EAAER,GAAEO,GAAEL,IAAEF,GAAEC,GAAE;AAAC,MAAGM,MAAImB,EAAE,QAAOnB;AAAE,MAAIG,IAAWT,MAAT,SAAWC,EAAE,OAAOD,CAAC,IAAEC,EAAE;AAAK,QAAMC,IAAEM,EAAEF,CAAC,IAAE,SAAOA,EAAE;AAAgB,SAAOG,GAAG,gBAAcP,MAAIO,GAAG,OAAO,EAAE,GAAWP,MAAT,SAAWO,IAAE,UAAQA,IAAE,IAAIP,EAAEH,CAAC,GAAEU,EAAE,KAAKV,GAAEE,GAAED,CAAC,IAAYA,MAAT,UAAYC,EAAE,SAAO,CAAA,GAAID,CAAC,IAAES,IAAER,EAAE,OAAKQ,IAAYA,MAAT,WAAaH,IAAEC,EAAER,GAAEU,EAAE,KAAKV,GAAEO,EAAE,MAAM,GAAEG,GAAET,CAAC,IAAGM;AAAC;AAAA,IAAA8B,KAAC,MAAO;AAAA,EAAC,YAAY,GAAE9B,GAAE;AAAC,SAAK,OAAK,CAAA,GAAG,KAAK,OAAK,QAAO,KAAK,OAAK,GAAE,KAAK,OAAKA;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,KAAK;AAAA,EAAU;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,EAAE,GAAE;AAAC,UAAK,EAAC,IAAG,EAAC,SAAQA,EAAC,GAAE,OAAM,EAAC,IAAE,KAAK,MAAKN,KAAG,GAAG,iBAAeI,GAAG,WAAWE,GAAE,EAAE;AAAE,IAAAsB,EAAE,cAAY5B;AAAE,QAAIS,IAAEmB,EAAE,SAAQ,GAAG,IAAE,GAAEvB,IAAE,GAAEM,IAAE,EAAE,CAAC;AAAE,WAAcA,MAAT,UAAY;AAAC,UAAG,MAAIA,EAAE,OAAM;AAAC,YAAIL;AAAE,QAAIK,EAAE,SAAN,IAAWL,IAAE,IAAI+B,EAAE5B,GAAEA,EAAE,aAAY,MAAK,CAAC,IAAME,EAAE,SAAN,IAAWL,IAAE,IAAIK,EAAE,KAAKF,GAAEE,EAAE,MAAKA,EAAE,SAAQ,MAAK,CAAC,IAAMA,EAAE,SAAN,MAAaL,IAAE,IAAIgC,GAAE7B,GAAE,MAAK,CAAC,IAAG,KAAK,KAAK,KAAKH,CAAC,GAAEK,IAAE,EAAE,EAAEN,CAAC;AAAA,MAAC;AAAC,YAAIM,GAAG,UAAQF,IAAEmB,EAAE,YAAW;AAAA,IAAI;AAAC,WAAOA,EAAE,cAAYxB,GAAEJ;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,QAAIM,IAAE;AAAE,eAAU,KAAK,KAAK,KAAK,CAAS,MAAT,WAAsB,EAAE,YAAX,UAAoB,EAAE,KAAK,GAAE,GAAEA,CAAC,GAAEA,KAAG,EAAE,QAAQ,SAAO,KAAG,EAAE,KAAK,EAAEA,CAAC,CAAC,IAAGA;AAAA,EAAG;AAAC;AAAC,MAAM+B,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,MAAM,QAAM,KAAK;AAAA,EAAI;AAAA,EAAC,YAAY,GAAE/B,GAAE,GAAEN,GAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAK0B,GAAE,KAAK,OAAK,QAAO,KAAK,OAAK,GAAE,KAAK,OAAKpB,GAAE,KAAK,OAAK,GAAE,KAAK,UAAQN,GAAE,KAAK,OAAKA,GAAG,eAAa;AAAA,EAAE;AAAA,EAAC,IAAI,aAAY;AAAC,QAAI,IAAE,KAAK,KAAK;AAAW,UAAMM,IAAE,KAAK;AAAK,WAAgBA,MAAT,UAAiB,GAAG,aAAR,OAAmB,IAAEA,EAAE,aAAY;AAAA,EAAC;AAAA,EAAC,IAAI,YAAW;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,KAAK,GAAEA,IAAE,MAAK;AAAC,QAAEC,EAAE,MAAK,GAAED,CAAC,GAAEE,EAAE,CAAC,IAAE,MAAIkB,KAAS,KAAN,QAAc,MAAL,MAAQ,KAAK,SAAOA,KAAG,KAAK,KAAI,GAAG,KAAK,OAAKA,KAAG,MAAI,KAAK,QAAM,MAAID,KAAG,KAAK,EAAE,CAAC,IAAW,EAAE,eAAX,SAAsB,KAAK,EAAE,CAAC,IAAW,EAAE,aAAX,SAAoB,KAAK,EAAE,CAAC,IAAEX,GAAE,CAAC,IAAE,KAAK,EAAE,CAAC,IAAE,KAAK,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,WAAO,KAAK,KAAK,WAAW,aAAa,GAAE,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,SAAK,SAAO,MAAI,KAAK,KAAI,GAAG,KAAK,OAAK,KAAK,EAAE,CAAC;AAAA,EAAE;AAAA,EAAC,EAAE,GAAE;AAAC,SAAK,SAAOY,KAAGlB,EAAE,KAAK,IAAI,IAAE,KAAK,KAAK,YAAY,OAAK,IAAE,KAAK,EAAEJ,EAAE,eAAe,CAAC,CAAC,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,UAAK,EAAC,QAAOE,GAAE,YAAW,EAAC,IAAE,GAAEN,IAAY,OAAO,KAAjB,WAAmB,KAAK,KAAK,CAAC,KAAY,EAAE,OAAX,WAAgB,EAAE,KAAG+B,EAAE,cAAcF,GAAE,EAAE,GAAE,EAAE,EAAE,CAAC,CAAC,GAAE,KAAK,OAAO,IAAG;AAAG,QAAG,KAAK,MAAM,SAAO7B,EAAE,MAAK,KAAK,EAAEM,CAAC;AAAA,SAAM;AAAC,YAAMP,IAAE,IAAIwC,GAAEvC,GAAE,IAAI,GAAEC,IAAEF,EAAE,EAAE,KAAK,OAAO;AAAE,MAAAA,EAAE,EAAEO,CAAC,GAAE,KAAK,EAAEL,CAAC,GAAE,KAAK,OAAKF;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,KAAK,GAAE;AAAC,QAAIO,IAAEqB,GAAE,IAAI,EAAE,OAAO;AAAE,WAAgBrB,MAAT,UAAYqB,GAAE,IAAI,EAAE,SAAQrB,IAAE,IAAIyB,EAAE,CAAC,CAAC,GAAEzB;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,IAAAI,EAAE,KAAK,IAAI,MAAI,KAAK,OAAK,CAAA,GAAG,KAAK,KAAI;AAAI,UAAMJ,IAAE,KAAK;AAAK,QAAI,GAAEN,IAAE;AAAE,eAAUS,KAAK,EAAE,CAAAT,MAAIM,EAAE,SAAOA,EAAE,KAAK,IAAE,IAAI+B,EAAE,KAAK,EAAE1B,EAAC,CAAE,GAAE,KAAK,EAAEA,EAAC,CAAE,GAAE,MAAK,KAAK,OAAO,CAAC,IAAE,IAAEL,EAAEN,CAAC,GAAE,EAAE,KAAKS,CAAC,GAAET;AAAI,IAAAA,IAAEM,EAAE,WAAS,KAAK,KAAK,KAAG,EAAE,KAAK,aAAYN,CAAC,GAAEM,EAAE,SAAON;AAAA,EAAE;AAAA,EAAC,KAAK,IAAE,KAAK,KAAK,aAAYM,GAAE;AAAC,SAAI,KAAK,OAAO,IAAG,IAAGA,CAAC,GAAE,KAAG,MAAI,KAAK,QAAM;AAAC,YAAMA,IAAE,EAAE;AAAY,QAAE,OAAM,GAAG,IAAEA;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,aAAa,GAAE;AAAC,IAAS,KAAK,SAAd,WAAqB,KAAK,OAAK,GAAE,KAAK,OAAO,CAAC;AAAA,EAAE;AAAC;AAAC,MAAM6B,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,KAAK,QAAQ;AAAA,EAAO;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,YAAY,GAAE7B,GAAE,GAAEN,GAAES,GAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAKiB,GAAE,KAAK,OAAK,QAAO,KAAK,UAAQ,GAAE,KAAK,OAAKpB,GAAE,KAAK,OAAKN,GAAE,KAAK,UAAQS,GAAE,EAAE,SAAO,KAAQ,EAAE,CAAC,MAAR,MAAgB,EAAE,CAAC,MAAR,MAAW,KAAK,OAAK,MAAM,EAAE,SAAO,CAAC,EAAE,KAAK,IAAI,QAAM,GAAE,KAAK,UAAQ,KAAG,KAAK,OAAKiB;AAAA,EAAC;AAAA,EAAC,KAAK,GAAEpB,IAAE,MAAK,GAAEN,GAAE;AAAC,UAAMS,IAAE,KAAK;AAAQ,QAAI,IAAE;AAAG,QAAYA,MAAT,OAAW,KAAEF,EAAE,MAAK,GAAED,GAAE,CAAC,GAAE,IAAE,CAACE,EAAE,CAAC,KAAG,MAAI,KAAK,QAAM,MAAIiB,GAAE,MAAI,KAAK,OAAK;AAAA,SAAO;AAAC,YAAMzB,IAAE;AAAE,UAAIK,GAAED;AAAE,WAAI,IAAEK,EAAE,CAAC,GAAEJ,IAAE,GAAEA,IAAEI,EAAE,SAAO,GAAEJ,IAAI,CAAAD,IAAEG,EAAE,MAAKP,EAAE,IAAEK,CAAC,GAAEC,GAAED,CAAC,GAAED,MAAIqB,MAAIrB,IAAE,KAAK,KAAKC,CAAC,IAAG,MAAI,CAACG,EAAEJ,CAAC,KAAGA,MAAI,KAAK,KAAKC,CAAC,GAAED,MAAIsB,IAAE,IAAEA,IAAE,MAAIA,MAAI,MAAItB,KAAG,MAAIK,EAAEJ,IAAE,CAAC,IAAG,KAAK,KAAKA,CAAC,IAAED;AAAA,IAAC;AAAC,SAAG,CAACJ,KAAG,KAAK,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,UAAI0B,IAAE,KAAK,QAAQ,gBAAgB,KAAK,IAAI,IAAE,KAAK,QAAQ,aAAa,KAAK,MAAK,KAAG,EAAE;AAAA,EAAC;AAAC;AAAC,MAAMM,WAAUG,EAAC;AAAA,EAAC,cAAa;AAAC,UAAM,GAAG,SAAS,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,SAAK,QAAQ,KAAK,IAAI,IAAE,MAAIT,IAAE,SAAO;AAAA,EAAC;AAAC;AAAC,MAAMO,WAAUE,EAAC;AAAA,EAAC,cAAa;AAAC,UAAM,GAAG,SAAS,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,EAAE,GAAE;AAAC,SAAK,QAAQ,gBAAgB,KAAK,MAAK,CAAC,CAAC,KAAG,MAAIT,CAAC;AAAA,EAAC;AAAC;AAAC,MAAMQ,WAAUC,EAAC;AAAA,EAAC,YAAY,GAAE7B,GAAE,GAAEN,GAAES,GAAE;AAAC,UAAM,GAAEH,GAAE,GAAEN,GAAES,CAAC,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,KAAK,GAAEH,IAAE,MAAK;AAAC,SAAI,IAAEC,EAAE,MAAK,GAAED,GAAE,CAAC,KAAGoB,OAAKD,EAAE;AAAO,UAAM,IAAE,KAAK,MAAKzB,IAAE,MAAI0B,KAAG,MAAIA,KAAG,EAAE,YAAU,EAAE,WAAS,EAAE,SAAO,EAAE,QAAM,EAAE,YAAU,EAAE,SAAQjB,IAAE,MAAIiB,MAAI,MAAIA,KAAG1B;AAAG,IAAAA,KAAG,KAAK,QAAQ,oBAAoB,KAAK,MAAK,MAAK,CAAC,GAAES,KAAG,KAAK,QAAQ,iBAAiB,KAAK,MAAK,MAAK,CAAC,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,YAAY,GAAE;AAAC,IAAY,OAAO,KAAK,QAAxB,aAA6B,KAAK,KAAK,KAAK,KAAK,SAAS,QAAM,KAAK,SAAQ,CAAC,IAAE,KAAK,KAAK,YAAY,CAAC;AAAA,EAAC;AAAC;AAAC,MAAM6B,GAAC;AAAA,EAAC,YAAY,GAAEhC,GAAE,GAAE;AAAC,SAAK,UAAQ,GAAE,KAAK,OAAK,GAAE,KAAK,OAAK,QAAO,KAAK,OAAKA,GAAE,KAAK,UAAQ;AAAA,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,KAAK,GAAE;AAAC,IAAAC,EAAE,MAAK,CAAC;AAAA,EAAC;AAAC;AAAC,MAAMiC,KAAE,EAAiC,GAAEH,EAAqB,GAAEI,KAAE1C,EAAE;AAAuB0C,KAAIV,GAAEM,CAAC,IAAGtC,EAAE,oBAAkB,CAAA,GAAI,KAAK,OAAO;AAAE,MAAM2C,KAAE,CAAC3C,GAAEO,GAAEL,MAAI;AAAC,QAAMD,IAAEC,GAAG,gBAAcK;AAAE,MAAIG,IAAET,EAAE;AAAW,MAAYS,MAAT,QAAW;AAAC,UAAMV,IAAEE,GAAG,gBAAc;AAAK,IAAAD,EAAE,aAAWS,IAAE,IAAI4B,EAAE/B,EAAE,aAAaK,EAAC,GAAGZ,CAAC,GAAEA,GAAE,QAAOE,KAAG,CAAA,CAAE;AAAA,EAAC;AAAC,SAAOQ,EAAE,KAAKV,CAAC,GAAEU;AAAC;ACA16N,MAAMR,IAAE;QAAW,cAAgBF,EAAC;AAAA,EAAC,cAAa;AAAC,UAAM,GAAG,SAAS,GAAE,KAAK,gBAAc,EAAC,MAAK,KAAI,GAAE,KAAK,OAAK;AAAA,EAAM;AAAA,EAAC,mBAAkB;AAAC,UAAM,IAAE,MAAM,iBAAgB;AAAG,WAAO,KAAK,cAAc,iBAAe,EAAE,YAAW;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,UAAMK,IAAE,KAAK,OAAM;AAAG,SAAK,eAAa,KAAK,cAAc,cAAY,KAAK,cAAa,MAAM,OAAO,CAAC,GAAE,KAAK,OAAKJ,GAAEI,GAAE,KAAK,YAAW,KAAK,aAAa;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,UAAM,kBAAiB,GAAG,KAAK,MAAM,aAAa,EAAE;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,UAAM,qBAAoB,GAAG,KAAK,MAAM,aAAa,EAAE;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAOA;AAAAA,EAAC;AAAC;AAACE,EAAE,gBAAc,IAAGA,EAAE,YAAa,IAAGL,EAAE,2BAA2B,EAAC,YAAWK,EAAC,CAAC;AAAE,MAAMJ,KAAED,EAAE;AAA0BC,KAAI,EAAC,YAAWI,EAAC,CAAC;AAAA,CAAwDL,EAAE,uBAAqB,IAAI,KAAK,OAAO;ACA/xB,MAAMF,KAAE,EAAa,OAAM,EAAkD,GAAEC,KAAE,CAAAD,MAAG,IAAIC,OAAK,EAAC,iBAAgBD,GAAE,QAAOC,EAAC;AAAG,MAAMM,GAAC;AAAA,EAAC,YAAY,GAAE;AAAA,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,KAAK,GAAE,GAAEA,GAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAK,GAAE,KAAK,OAAKA;AAAA,EAAC;AAAA,EAAC,KAAK,GAAE,GAAE;AAAC,WAAO,KAAK,OAAO,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE,GAAE;AAAC,WAAO,KAAK,OAAO,GAAG,CAAC;AAAA,EAAC;AAAC;ACApS,MAAC,EAAC,GAAEP,GAAC,IAAEG,IAA8PD,KAAE,MAAI,SAAS,cAAc,EAAE,GAAEG,IAAE,CAACF,GAAEI,GAAED,MAAI;AAAC,QAAML,IAAEE,EAAE,KAAK,YAAWS,IAAWL,MAAT,SAAWJ,EAAE,OAAKI,EAAE;AAAK,MAAYD,MAAT,QAAW;AAAC,UAAMC,IAAEN,EAAE,aAAaC,GAAC,GAAGU,CAAC,GAAEH,IAAER,EAAE,aAAaC,GAAC,GAAGU,CAAC;AAAE,IAAAN,IAAE,IAAIN,GAAEO,GAAEE,GAAEN,GAAEA,EAAE,OAAO;AAAA,EAAC,OAAK;AAAC,UAAMH,IAAEM,EAAE,KAAK,aAAYC,IAAED,EAAE,MAAKG,IAAEF,MAAIJ;AAAE,QAAGM,GAAE;AAAC,UAAIT;AAAE,MAAAM,EAAE,OAAOH,CAAC,GAAEG,EAAE,OAAKH,GAAWG,EAAE,SAAX,WAAkBN,IAAEG,EAAE,UAAQI,EAAE,QAAMD,EAAE,KAAKN,CAAC;AAAA,IAAC;AAAC,QAAGA,MAAIY,KAAGH,GAAE;AAAC,UAAIN,IAAEG,EAAE;AAAK,aAAKH,MAAIH,KAAG;AAAC,cAAMA,IAAEG,EAAE;AAAY,QAAAF,EAAE,aAAaE,GAAES,CAAC,GAAET,IAAEH;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOM;AAAC,GAAE,IAAE,CAACH,GAAE,GAAEI,IAAEJ,OAAKA,EAAE,KAAK,GAAEI,CAAC,GAAEJ,IAAGY,KAAE,CAAA,GAAGO,KAAE,CAACnB,GAAE,IAAEY,OAAIZ,EAAE,OAAK,GAAEU,KAAE,CAAAV,MAAGA,EAAE,MAAKqC,IAAE,CAAArC,MAAG;AAAC,EAAAA,EAAE,OAAO,IAAG,EAAE;AAAE,MAAI,IAAEA,EAAE;AAAK,QAAMI,IAAEJ,EAAE,KAAK;AAAY,SAAK,MAAII,KAAG;AAAC,UAAMJ,IAAE,EAAE;AAAY,MAAE,UAAS,IAAEA;AAAA,EAAC;AAAC;ACCj2B,MAAMY,KAAE,CAACd,GAAEC,GAAEF,MAAI;AAAC,QAAMK,IAAE,oBAAI;AAAI,WAAQO,IAAEV,GAAEU,KAAGZ,GAAEY,IAAI,CAAAP,EAAE,IAAIJ,EAAEW,CAAC,GAAEA,CAAC;AAAE,SAAOP;AAAC,GAAEI,KAAEP,GAAE,cAAcF,GAAC;AAAA,EAAC,YAAYC,GAAE;AAAC,QAAG,MAAMA,CAAC,GAAEA,EAAE,SAAOI,GAAE,MAAM,OAAM,MAAM,+CAA+C;AAAA,EAAC;AAAA,EAAC,GAAGJ,GAAEC,GAAEF,GAAE;AAAC,QAAIK;AAAE,IAASL,MAAT,SAAWA,IAAEE,IAAWA,MAAT,WAAaG,IAAEH;AAAG,UAAMU,IAAE,CAAA,GAAGT,IAAE;AAAG,QAAII,IAAE;AAAE,eAAUL,KAAKD,EAAE,CAAAW,EAAEL,CAAC,IAAEF,IAAEA,EAAEH,GAAEK,CAAC,IAAEA,GAAEJ,EAAEI,CAAC,IAAEP,EAAEE,GAAEK,CAAC,GAAEA;AAAI,WAAM,EAAC,QAAOJ,GAAE,MAAKS,EAAC;AAAA,EAAC;AAAA,EAAC,OAAOX,GAAEC,GAAEF,GAAE;AAAC,WAAO,KAAK,GAAGC,GAAEC,GAAEF,CAAC,EAAE;AAAA,EAAM;AAAA,EAAC,OAAOE,GAAE,CAAC,GAAEG,GAAEI,CAAC,GAAE;AAAC,UAAMK,IAAEF,GAAEV,CAAC,GAAE,EAAC,QAAOW,GAAE,MAAKF,EAAC,IAAE,KAAK,GAAG,GAAEN,GAAEI,CAAC;AAAE,QAAG,CAAC,MAAM,QAAQK,CAAC,EAAE,QAAO,KAAK,KAAGH,GAAEE;AAAE,UAAMH,IAAE,KAAK,OAAK,CAAA,GAAGU,IAAE;AAAG,QAAIE,GAAEH,GAAEM,IAAE,GAAEiB,IAAE5B,EAAE,SAAO,GAAEsB,IAAE,GAAEQ,IAAE/B,EAAE,SAAO;AAAE,WAAKY,KAAGiB,KAAGN,KAAGQ,IAAG,KAAU9B,EAAEW,CAAC,MAAV,KAAY,CAAAA;AAAA,aAAmBX,EAAE4B,CAAC,MAAV,KAAY,CAAAA;AAAA,aAAYhC,EAAEe,CAAC,MAAId,EAAEyB,CAAC,EAAEhB,CAAAA,EAAEgB,CAAC,IAAEjC,EAAEW,EAAEW,CAAC,GAAEZ,EAAEuB,CAAC,CAAC,GAAEX,KAAIW;AAAA,aAAY1B,EAAEgC,CAAC,MAAI/B,EAAEiC,CAAC,EAAExB,CAAAA,EAAEwB,CAAC,IAAEzC,EAAEW,EAAE4B,CAAC,GAAE7B,EAAE+B,CAAC,CAAC,GAAEF,KAAIE;AAAA,aAAYlC,EAAEe,CAAC,MAAId,EAAEiC,CAAC,EAAExB,CAAAA,EAAEwB,CAAC,IAAEzC,EAAEW,EAAEW,CAAC,GAAEZ,EAAE+B,CAAC,CAAC,GAAErC,EAAEL,GAAEkB,EAAEwB,IAAE,CAAC,GAAE9B,EAAEW,CAAC,CAAC,GAAEA,KAAImB;AAAA,aAAYlC,EAAEgC,CAAC,MAAI/B,EAAEyB,CAAC,EAAEhB,CAAAA,EAAEgB,CAAC,IAAEjC,EAAEW,EAAE4B,CAAC,GAAE7B,EAAEuB,CAAC,CAAC,GAAE7B,EAAEL,GAAEY,EAAEW,CAAC,GAAEX,EAAE4B,CAAC,CAAC,GAAEA,KAAIN;AAAA,aAAqBd,MAAT,WAAaA,IAAEP,GAAEJ,GAAEyB,GAAEQ,CAAC,GAAEzB,IAAEJ,GAAEL,GAAEe,GAAEiB,CAAC,IAAGpB,EAAE,IAAIZ,EAAEe,CAAC,CAAC,EAAE,KAAGH,EAAE,IAAIZ,EAAEgC,CAAC,CAAC,GAAE;AAAC,YAAMzC,IAAEkB,EAAE,IAAIR,EAAEyB,CAAC,CAAC,GAAEpC,IAAWC,MAAT,SAAWa,EAAEb,CAAC,IAAE;AAAK,UAAUD,MAAP,MAAS;AAAC,cAAMC,IAAEM,EAAEL,GAAEY,EAAEW,CAAC,CAAC;AAAEtB,UAAEF,GAAEY,EAAEuB,CAAC,CAAC,GAAEhB,EAAEgB,CAAC,IAAEnC;AAAA,MAAC,MAAMmB,CAAAA,EAAEgB,CAAC,IAAEjC,EAAEH,GAAEa,EAAEuB,CAAC,CAAC,GAAE7B,EAAEL,GAAEY,EAAEW,CAAC,GAAEzB,CAAC,GAAEc,EAAEb,CAAC,IAAE;AAAK,MAAAmC;AAAA,IAAG,MAAM9B,CAAAA,EAAEQ,EAAE4B,CAAC,CAAC,GAAEA;AAAA,QAASpC,CAAAA,EAAEQ,EAAEW,CAAC,CAAC,GAAEA;AAAI,WAAKW,KAAGQ,KAAG;AAAC,YAAM3C,IAAEM,EAAEL,GAAEkB,EAAEwB,IAAE,CAAC,CAAC;AAAEzC,QAAEF,GAAEY,EAAEuB,CAAC,CAAC,GAAEhB,EAAEgB,GAAG,IAAEnC;AAAA,IAAC;AAAC,WAAKwB,KAAGiB,KAAG;AAAC,YAAMzC,IAAEa,EAAEW,GAAG;AAAE,MAAOxB,MAAP,QAAUK,EAAEL,CAAC;AAAA,IAAC;AAAC,WAAO,KAAK,KAAGU,GAAEK,GAAEd,GAAEkB,CAAC,GAAEnB;AAAAA,EAAC;AAAC,CAAC;ACDjrC,MAAME,KAAE,CAAAA,MAAGA,KAAGH;ACAjB,MAAMA,KAAE,CAAAA,MAAG,CAACC,GAAEE,MAAI;EAAUA,eAAEA,EAAE,gBAAgB,MAAI;AAAC,mBAAe,OAAOH,GAAEC,CAAC;AAAA,EAAC,EAAC,IAAG,eAAe,OAAOD,GAAEC,CAAC;AAAC;ACA1G,MAAME,KAAE,EAAC,WAAU,IAAG,MAAK,QAAO,WAAUH,GAAE,SAAQ,IAAG,YAAWC,EAAC,GAAEI,KAAE,CAACL,IAAEG,IAAEF,GAAEI,MAAI;AAAC,QAAK,EAAC,MAAKC,GAAE,UAAS,EAAC,IAAED;AAAE,MAAIH,IAAE,WAAW,oBAAoB,IAAI,CAAC;AAAE,MAAYA,MAAT,UAAY,WAAW,oBAAoB,IAAI,GAAEA,IAAE,oBAAI,KAAG,GAAaI,MAAX,cAAgBN,IAAE,OAAO,OAAOA,CAAC,GAAG,UAAQ,KAAIE,EAAE,IAAIG,EAAE,MAAKL,CAAC,GAAeM,MAAb,YAAe;AAAC,UAAK,EAAC,MAAK,EAAC,IAAED;AAAE,WAAM,EAAC,IAAIA,GAAE;AAAC,YAAMC,IAAEL,EAAE,IAAI,KAAK,IAAI;AAAE,MAAAA,EAAE,IAAI,KAAK,MAAKI,CAAC,GAAE,KAAK,cAAc,GAAEC,GAAEN,CAAC;AAAA,IAAC,GAAE,KAAKC,GAAE;AAAC,aAAgBA,MAAT,UAAY,KAAK,EAAE,GAAE,QAAOD,GAAEC,CAAC,GAAEA;AAAA,IAAC,EAAC;AAAA,EAAC;AAAC,MAAcK,MAAX,UAAa;AAAC,UAAK,EAAC,MAAK,EAAC,IAAED;AAAE,WAAO,SAASA,GAAE;AAAC,YAAMC,IAAE,KAAK,CAAC;AAAE,MAAAL,EAAE,KAAK,MAAKI,CAAC,GAAE,KAAK,cAAc,GAAEC,GAAEN,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,QAAM,MAAM,qCAAmCM,CAAC;AAAC;AAAE,SAASA,EAAEN,GAAE;AAAC,SAAM,CAACC,GAAEE,MAAc,OAAOA,KAAjB,WAAmBE,GAAEL,GAAEC,GAAEE,CAAC,KAAG,CAACH,GAAEC,GAAEE,MAAI;AAAC,UAAME,IAAEJ,EAAE,eAAeE,CAAC;AAAE,WAAOF,EAAE,YAAY,eAAeE,GAAEH,CAAC,GAAEK,IAAE,OAAO,yBAAyBJ,GAAEE,CAAC,IAAE;AAAA,EAAM,GAAGH,GAAEC,GAAEE,CAAC;AAAC;ACAlyB,SAASE,EAAE,GAAE;AAAC,SAAOL,EAAE,EAAC,GAAG,GAAE,OAAM,IAAG,WAAU,GAAE,CAAC;AAAC;ACAvD,MAAMC,KAAE,CAACA,GAAE,GAAEQ,OAAKA,EAAE,eAAa,IAAGA,EAAE,aAAW,IAAG,QAAQ,YAAoB,OAAO,KAAjB,YAAoB,OAAO,eAAeR,GAAE,GAAEQ,CAAC,GAAEA;ACApH,SAASR,GAAEA,GAAEI,GAAE;AAAC,SAAM,CAACC,GAAE,GAAE,MAAI;AAAC,UAAMH,IAAE,CAAAH,MAAGA,EAAE,YAAY,cAAcC,CAAC,KAAG;AAAwP,WAAOD,GAAEM,GAAE,GAAE,EAAC,MAAK;AAAC,aAAOH,EAAE,IAAI;AAAA,IAAC,EAAC,CAAC;AAAA,EAAC;AAAC;;;;;;ACKrW,IAAM0C,IAAN,cAA0BC,EAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA,GAaM,KAAQ,eAAuB,GAC/B,KAAQ,gBAAwB,GAIzC,KAAA,UAAkB;AAAA,EAAA;AAAA,EAGlB,uBAAuB;AACnB,UAAM,qBAAA,GACF,KAAK,kBACL,KAAK,eAAe,WAAA;AAAA,EAE5B;AAAA,EAEA,OAAOC,GAAqC;AACxC,KAAIA,EAAkB,IAAI,WAAW,KAAKA,EAAkB,IAAI,WAAW,MACvE,KAAK,iBAAA,GAGLA,EAAkB,IAAI,OAAO,KAC7B,KAAK,cAAc,KAAK,KAAK,GAGjC,MAAM,OAAOA,CAAiB;AAAA,EAClC;AAAA,EAEU,aAAaC,GAAuE;AAC1F,SAAK,cAAc,KAAK,KAAK,GAGzB,KAAK,YACL,KAAK,iBAAiB,IAAI,eAAe,MAAM;AAC3C,WAAK,iBAAA;AAAA,IACT,CAAC,GACD,KAAK,eAAe,QAAQ,KAAK,OAAO,GAExC,KAAK,iBAAA;AAAA,EAEb;AAAA,EAEA,cAAcC,GAAe;AACzB,UAAMC,IAAe,iBAAiB,IAAI,EAAE,iBAAiB,iBAAiB,EAAE,KAAA,GAC1EC,IAAa,iBAAiB,IAAI,EAAE,iBAAiB,4BAA4B,EAAE,KAAA;AACzF,SAAK,eAAeA,KAAc,KAAK,OAAO,cAAc,iBAC5D,KAAK,kBAAkBD,KAAgB,KAAK,OAAO,cAAc,OAAO,WAAW,OACnF,KAAK,qBACDA,KAAgB,KAAK,OAAO,cAAc,OAAO,cAAc,SAAS,KAAK;AAAA,EACrF;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAChB,UAAME,IAAiB,KAAK,WAAW,YACjC,OAAO,KAAK,WAAW,SAAU,WAC7B,KAAK,UAAU,QACf,KACH,KAAK,WAAW,YAAY;AAEnC,QAAIC,IAAS,KAAK,WAAW,aACtB,KAAK,WAAW,QAAQ,CAAA,IACzB,CAAC,EAAE,UAAUD,GAAgB,OAAO,KAAK,WAAW,SAAS,IAAI;AAGvE,QAAI,KAAK,aAAa,KAAK,WAAW,YAAY;AAC9C,YAAME,IAAiB,OAAO,KAAK,UAAU,KAAK,GAC5CC,IAAe,OAAO,KAAK,UAAU,GAAG;AAE9C,OAAI,CAAC,MAAMD,CAAc,KAAK,CAAC,MAAMC,CAAY,OAC7CF,IAASA,EAAO,OAAO,CAACG,MAAQ;AAC5B,cAAMC,IAAYD,EAAI;AACtB,YAA+BC,KAAc,KAAM,QAAO;AAC1D,cAAMC,IAAK,OAAOD,CAAS;AAC3B,eAAI,MAAMC,CAAE,IAAU,KAClB,GAAC,MAAMJ,CAAc,KAAKI,IAAKJ,KAC/B,CAAC,MAAMC,CAAY,KAAKG,IAAKH;AAAA,MAErC,CAAC;AAAA,IAET;AAEA,WAAOF;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AACf,QAAI,CAAC,KAAK,QAAS;AAInB,UAAMM,IAFS,KAAK,kBAAA,EAEO;AAC3B,QAAIA,MAAgB,EAAG;AAEvB,UAAMC,IAAO,KAAK,QAAQ,sBAAA,GAEpBC,IAAoBD,EAAK,QAAQ,MACjCE,IAAkBF,EAAK,SAAS,MAChCG,IAAiBH,EAAK,QAAQC,GAC9BG,IAAkBJ,EAAK,SAASE;AAEtC,QAAIC,KAAkB,KAAKC,KAAmB,EAAG;AAGjD,UAAMC,IAAS,KAAK;AAAA,MAChBF;AAAA,MACAC;AAAA,MACAL;AAAA,MACA,CAACf,GAAGlC,MAAM,KAAK,IAAIkC,IAAIlC,IAAI,IAAI,CAAC;AAAA,MAChC,KAAK,WAAW,OAAO;AAAA,IAAA;AAI3B,SAAK,eAAeuD,EAAO,cAC3B,KAAK,gBAAgBA,EAAO,eAGJ,KAAK,QAAQ,iBAAiB,aAAa,EACnD,QAAQ,CAACC,MAAc;AACnC,MAAAA,EAAU,MAAM,QAAQ,GAAGD,EAAO,YAAY,MAC9CC,EAAU,MAAM,SAAS,GAAGD,EAAO,aAAa;AAAA,IACpD,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,eACIF,GACAC,GACAL,GACAQ,GACAC,IAAc,IAOhB;AACE,QAAIC,IAAa;AAAA,MACb,cAAc;AAAA,MACd,eAAe;AAAA,MACf,SAAS;AAAA,MACT,SAASV;AAAA,MACT,OAAO;AAAA,IAAA;AAIX,aAASW,IAAO,GAAGA,KAAQX,GAAaW,KAAQ;AAC5C,YAAMC,IAAO,KAAK,KAAKZ,IAAcW,CAAI,GAGnCE,IAAgBJ,KAAOE,IAAO,IAC9BG,IAAiBL,KAAOG,IAAO,IAC/BG,IAAiBX,IAAiBS,GAClCG,IAAkBX,IAAkBS;AAE1C,UAAIC,KAAkB,KAAKC,KAAmB,EAAG;AAEjD,YAAMC,IAAeF,IAAiBJ,GAChCO,IAAgBF,IAAkBJ,GAGlCO,IAAQX,EAAQS,GAAcC,CAAa;AAGjD,MAAIC,IAAQT,EAAW,UACnBA,IAAa;AAAA,QACT,cAAAO;AAAA,QACA,eAAAC;AAAA,QACA,SAASP;AAAA,QACT,SAASC;AAAA,QACT,OAAAO;AAAA,MAAA;AAAA,IAGZ;AAEA,WAAOT;AAAA,EACX;AAAA,EA8FA,SAAS;AACL,UAAMhB,IAAS,KAAK,kBAAA,GAEd0B,IAAmB1B,EAAO,SAAS,GACnC2B,IAAa3B,EAAO,OAAO,CAACG,MAAQA,EAAI,KAAK,EAAE,SAAS,GACxDyB,IAAc5B,EAAO,KAAK,CAACG,MAAQA,EAAI,QAAQ;AAErD,WAAO0B;AAAAA;AAAAA;AAAAA,2CAG4B,KAAK,YAAY,YAAY,KACnD,eAAe,UAAUH,IACxB,GAAG,KAAK,WAAW,OAAO,EAAE,OAC5B,KAAK,KAAMA,IAA+C,KAA5B,yBAA8B;AAAA;AAAA,kBAEhE,CAACA,KAAoB,KAAK,WAAW,QACjCG;AAAAA;AAAAA;AAAAA,wCAGkB,KAAK,WAAW,KAAK;AAAA,8CACf,KAAK,eAAe;AAAA;AAAA,gCAElC,KAAK,WAAW,KAAK;AAAA;AAAA,0BAG/BC,CAAO;AAAA,kBACX,CAACJ,KAAoB,KAAK,WAAW,WACjCG;AAAAA;AAAAA;AAAAA,wCAGkB,KAAK,WAAW,QAAQ;AAAA,8CAClB,KAAK,kBAAkB;AAAA;AAAA,gCAErC,KAAK,WAAW,QAAQ;AAAA;AAAA,0BAGlCC,CAAO;AAAA,sDACyB,CAACF,CAAW,kBAAkB,KAAK,eAAe;AAAA;AAAA;AAAA,kBAGtFG;AAAAA,MACE/B;AAAA,MACA,CAACG,MAAQA,EAAI;AAAA,MACb,CAACA,MAAQ0B;AAAAA;AAAAA;AAAAA,4CAGe,KAAK,YAAY,eAAe,KAAK,aAAa;AAAA;AAAA,8BAEhEF,IACIE;AAAAA;AAAAA,+CAEa,KAAK,WAAW,gBACnB,cAAc,KAAK,UAAU,aAAa,QAC1C,EAAE;AAAA;AAAA,wCAEN1B,EAAI,SAAS,EAAE;AAAA,2CAErB2B,CAAO;AAAA,yEACgC3B,EAAI,QAAQ;AAAA;AAAA,2CAE1C6B,GAAU7B,EAAI,QAAQ,CAAC;AAAA,2CACvBA,EAAI,SAAS,cAAc;AAAA,yDACb,KAAK,WAAW,eAAe,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAKzF;AAAA;AAAA;AAAA,EAGb;AACJ;AA7WaX,EA0MF,SAASyC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAxMhBC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GADjB3C,EAET,WAAA,aAAA,CAAA;AAGA0C,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAJjB3C,EAKT,WAAA,SAAA,CAAA;AAGA0C,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAPjB3C,EAQT,WAAA,aAAA,CAAA;AAEiB0C,EAAA;AAAA,EAAhBE,EAAA;AAAM,GAVE5C,EAUQ,WAAA,gBAAA,CAAA;AACA0C,EAAA;AAAA,EAAhBE,EAAA;AAAM,GAXE5C,EAWQ,WAAA,mBAAA,CAAA;AACA0C,EAAA;AAAA,EAAhBE,EAAA;AAAM,GAZE5C,EAYQ,WAAA,sBAAA,CAAA;AACA0C,EAAA;AAAA,EAAhBE,EAAA;AAAM,GAbE5C,EAaQ,WAAA,gBAAA,CAAA;AACA0C,EAAA;AAAA,EAAhBE,EAAA;AAAM,GAdE5C,EAcQ,WAAA,iBAAA,CAAA;AAEU0C,EAAA;AAAA,EAA1BG,GAAM,UAAU;AAAA,GAhBR7C,EAgBkB,WAAA,WAAA,CAAA;AAhBlBA,IAAN0C,EAAA;AAAA,EADNI,GAAc,qBAAiC;AAAA,GACnC9C,CAAA;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
1
+ {"version":3,"file":"widget-image.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/repeat.js","../node_modules/lit-html/directives/if-defined.js","../node_modules/@lit/reactive-element/decorators/custom-element.js","../node_modules/@lit/reactive-element/decorators/property.js","../node_modules/@lit/reactive-element/decorators/state.js","../node_modules/@lit/reactive-element/decorators/base.js","../node_modules/@lit/reactive-element/decorators/query.js","../src/widget-image.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=h.fromAttribute(s,t.type)??this._$Ej?.get(e)??null,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.0\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.0\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.0\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { html, css, LitElement, PropertyValues, PropertyValueMap, nothing } from 'lit'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { customElement, property, state, query } from 'lit/decorators.js'\nimport { InputData } from './definition-schema'\ntype Theme = {\n theme_name: string\n theme_object: any\n}\n@customElement('widget-image-versionplaceholder')\nexport class WidgetImage extends LitElement {\n @property({ type: Object })\n inputData?: InputData\n\n @property({ type: Object })\n theme?: Theme\n\n @property({ type: Object })\n timeRange?: { start: number; end: number }\n\n @state() private themeBgColor?: string\n @state() private themeTitleColor?: string\n @state() private elementWidth: number = 0\n @state() private elementHeight: number = 0\n\n @query('.wrapper') private wrapper?: HTMLDivElement\n\n version: string = 'versionplaceholder'\n private resizeObserver?: ResizeObserver\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n }\n }\n\n update(changedProperties: Map<string, any>) {\n if (changedProperties.has('inputData') || changedProperties.has('timeRange')) {\n this.updateGridLayout()\n }\n\n if (changedProperties.has('theme')) {\n this.registerTheme(this.theme)\n }\n\n super.update(changedProperties)\n }\n\n protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n this.registerTheme(this.theme)\n\n // Set up ResizeObserver for the wrapper\n if (this.wrapper) {\n this.resizeObserver = new ResizeObserver(() => {\n this.updateGridLayout()\n })\n this.resizeObserver.observe(this.wrapper)\n // Initial layout calculation\n this.updateGridLayout()\n }\n }\n\n registerTheme(theme?: Theme) {\n const cssTextColor = getComputedStyle(this).getPropertyValue('--re-text-color').trim()\n const cssBgColor = getComputedStyle(this).getPropertyValue('--re-tile-background-color').trim()\n this.themeBgColor = cssBgColor || this.theme?.theme_object?.backgroundColor\n this.themeTitleColor = cssTextColor || this.theme?.theme_object?.title?.textStyle?.color\n }\n\n /**\n * Get images filtered by timeRange if available\n */\n getFilteredImages() {\n const singleImageUrl = this.inputData?.useUpload\n ? typeof this.inputData?.image === 'string'\n ? this.inputData.image\n : ''\n : (this.inputData?.imageUrl ?? '')\n\n let images = this.inputData?.multiImage\n ? (this.inputData?.data ?? [])\n : [{ imageUrl: singleImageUrl, label: this.inputData?.title ?? '' }]\n\n // Filter by timeRange if provided and in multi-image mode\n if (this.timeRange && this.inputData?.multiImage) {\n const timeRangeStart = Number(this.timeRange.start)\n const timeRangeEnd = Number(this.timeRange.end)\n\n if (!isNaN(timeRangeStart) || !isNaN(timeRangeEnd)) {\n images = images.filter((img) => {\n const timestamp = img.timestamp\n if (timestamp === undefined || timestamp === null) return true // Keep images without timestamps\n const ts = Number(timestamp)\n if (isNaN(ts)) return true // Keep if timestamp is not a valid number\n if (!isNaN(timeRangeStart) && ts < timeRangeStart) return false\n if (!isNaN(timeRangeEnd) && ts > timeRangeEnd) return false\n return true\n })\n }\n }\n\n return images\n }\n\n /**\n * Update grid layout based on container size and number of elements\n */\n updateGridLayout() {\n if (!this.wrapper) return\n\n const images = this.getFilteredImages()\n\n const numElements = images.length\n if (numElements === 0) return\n\n const rect = this.wrapper.getBoundingClientRect()\n // Account for padding: 2cqw on each side (4% width total), 2cqh on each side (4% height total)\n const horizontalPadding = rect.width * 0.04\n const verticalPadding = rect.height * 0.04\n const containerWidth = rect.width - horizontalPadding\n const containerHeight = rect.height - verticalPadding\n\n if (containerWidth <= 0 || containerHeight <= 0) return\n\n // Optimize for 1:1 aspect ratio\n const layout = this.optimizeLayout(\n containerWidth,\n containerHeight,\n numElements,\n (w, h) => Math.abs(w / h - 1 / 1),\n this.inputData?.gap ?? 12\n )\n\n // Update element dimensions\n this.elementWidth = layout.elementWidth\n this.elementHeight = layout.elementHeight\n\n // Apply width and height to each child image container\n const imageContainers = this.wrapper.querySelectorAll('.image-item') as NodeListOf<HTMLDivElement>\n imageContainers.forEach((container) => {\n container.style.width = `${layout.elementWidth}px`\n container.style.height = `${layout.elementHeight}px`\n })\n }\n\n /**\n * Optimize grid layout by minimizing an error function\n * @param containerWidth - Available width for the grid\n * @param containerHeight - Available height for the grid\n * @param numElements - Number of elements to arrange\n * @param errorFn - Error function that takes (element_width, element_height) and returns error value\n * @param gap - Gap between elements (default: 12)\n * @returns Optimal layout configuration\n */\n optimizeLayout(\n containerWidth: number,\n containerHeight: number,\n numElements: number,\n errorFn: (w: number, h: number) => number,\n gap: number = 12\n ): {\n elementWidth: number\n elementHeight: number\n numCols: number\n numRows: number\n error: number\n } {\n let bestLayout = {\n elementWidth: 0,\n elementHeight: 0,\n numCols: 1,\n numRows: numElements,\n error: Infinity\n }\n\n // Try all possible column configurations from 1 to numElements\n for (let cols = 1; cols <= numElements; cols++) {\n const rows = Math.ceil(numElements / cols)\n\n // Calculate element dimensions accounting for gaps\n const totalGapWidth = gap * (cols - 1)\n const totalGapHeight = gap * (rows - 1)\n const availableWidth = containerWidth - totalGapWidth\n const availableHeight = containerHeight - totalGapHeight\n\n if (availableWidth <= 0 || availableHeight <= 0) continue\n\n const elementWidth = availableWidth / cols\n const elementHeight = availableHeight / rows\n\n // Calculate error for this configuration\n const error = errorFn(elementWidth, elementHeight)\n\n // Update best layout if this is better\n if (error < bestLayout.error) {\n bestLayout = {\n elementWidth,\n elementHeight,\n numCols: cols,\n numRows: rows,\n error\n }\n }\n }\n\n return bestLayout\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n box-sizing: border-box;\n margin: auto;\n container-type: size;\n }\n\n .paging:not([active]) {\n display: none !important;\n }\n\n .wrapper {\n display: flex;\n flex-wrap: wrap;\n height: 100%;\n width: 100%;\n padding: 2cqh 2cqw;\n box-sizing: border-box;\n gap: 12px;\n align-content: flex-start;\n }\n\n .wrapper > * {\n flex-shrink: 1;\n min-width: 0;\n min-height: 0;\n }\n\n .image-item {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n }\n\n .title {\n height: 24px;\n font-size: 18px;\n margin: 0;\n padding: 0 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n flex: 0 0 auto;\n white-space: nowrap;\n }\n\n h3 {\n margin: 0;\n max-width: 300px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n p {\n margin: 10px 0 0 0;\n max-width: 300px;\n font-size: 14px;\n line-height: 17px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .img-container {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n min-width: 0;\n min-height: 0;\n }\n\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .no-data {\n font-size: 20px;\n display: flex;\n height: 100%;\n width: 100%;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n `\n\n render() {\n const images = this.getFilteredImages()\n\n const hasMultipleItems = images.length > 1\n const showTitles = images.filter((img) => img.label).length > 0\n const hasAnyImage = images.some((img) => img.imageUrl)\n\n return html`\n <div\n class=\"wrapper\"\n style=\"background-color: ${this.themeBgColor}; color: ${this\n .themeTitleColor}; gap: ${hasMultipleItems\n ? `${this.inputData?.gap ?? 12}px`\n : '0px'}; ${!hasMultipleItems ? 'flex-direction: column;' : ''}\"\n >\n <div class=\"paging no-data\" ?active=${!hasAnyImage} style=\"color: ${this.themeTitleColor};\">\n No Image\n </div>\n ${repeat(\n images,\n (img) => img.imageUrl,\n (img) => html`\n <div\n class=\"image-item\"\n style=\"width: ${this.elementWidth}px; height: ${this.elementHeight}px;\"\n >\n ${showTitles\n ? html`<h2\n class=\"title\"\n style=\"${this.inputData?.labelFontSize\n ? `font-size: ${this.inputData.labelFontSize}px;`\n : ''}\"\n >\n ${this.inputData?.titleLink\n ? html`<a\n href=\"${this.inputData.titleLink}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style=\"color: inherit; text-decoration: underline;\"\n >${img.label ?? ''}</a\n >`\n : (img.label ?? '')}\n </h2>`\n : nothing}\n <div class=\"img-container paging\" ?active=\"${img.imageUrl}\">\n <img\n src=\"${ifDefined(img.imageUrl)}\"\n alt=\"${img.label || 'Image Widget'}\"\n style=\"object-fit: ${this.inputData?.stretchToFit ? 'fill' : 'contain'}\"\n />\n </div>\n </div>\n `\n )}\n </div>\n `\n }\n}\n"],"names":["t","e","s","o","n$3","r","n","i","S","c","h","a","l","p","d","u","f","b","y$1","y","v","_","m","g","$","x","T","E","A","C","P","V","N","H","I","L","M$1","R","z","M","Z","j","B","k","w","WidgetImage","LitElement","changedProperties","_changedProperties","theme","cssTextColor","cssBgColor","singleImageUrl","images","timeRangeStart","timeRangeEnd","img","timestamp","ts","numElements","rect","horizontalPadding","verticalPadding","containerWidth","containerHeight","layout","container","errorFn","gap","bestLayout","cols","rows","totalGapWidth","totalGapHeight","availableWidth","availableHeight","elementWidth","elementHeight","error","hasMultipleItems","showTitles","hasAnyImage","html","repeat","nothing","ifDefined","css","__decorateClass","property","state","query","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent widget-image following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "widget-image",
6
- "version": "1.1.16",
6
+ "version": "1.1.18",
7
7
  "engines": {
8
8
  "node": ">=24.9.0",
9
9
  "npm": ">=10.0.2"
@@ -5,43 +5,52 @@
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
7
 
8
+ /**
9
+ * The main heading displayed above the image in single-image mode. Use to describe or label the image content.
10
+ */
8
11
  export type Title = string;
9
- export type Subtitle = string;
10
12
  /**
11
- * If enabled, the image will stretch to fill the entire widget area. If disabled, the image will maintain its aspect ratio.
13
+ * Optional URL for the title. When provided, the title becomes a clickable link.
14
+ */
15
+ export type TitleLink = string;
16
+ /**
17
+ * When enabled, images stretch to fill the entire widget area, potentially distorting aspect ratio. When disabled, images maintain their original aspect ratio and are contained within the widget bounds with letterboxing if needed.
12
18
  */
13
19
  export type StretchToFill = boolean;
14
20
  /**
15
- * Display multiple images based on URLs in a list.
21
+ * When enabled, displays multiple images in a responsive grid layout from the data array. When disabled, shows a single image from imageUrl or uploaded file. Enable for galleries, camera grids, or comparing multiple visual assets.
16
22
  */
17
23
  export type MultiImage = boolean;
18
24
  /**
19
- * The gap between images in pixels.
25
+ * Spacing between images in pixels when using multi-image mode. Increase for visual separation, decrease for compact grids. The gap scales proportionally with image size.
20
26
  */
21
27
  export type Gap = number;
22
28
  /**
23
- * Font size for the image label in pixels.
29
+ * Font size in pixels for image labels displayed below each image. Applies to both single and multi-image modes when labels are provided.
24
30
  */
25
31
  export type ImageLabelFontSize = number;
32
+ /**
33
+ * Direct URL to the image file for single-image mode (e.g., 'https://example.com/image.jpg'). Can be bound to a data column for dynamic image sources. Used when 'Use image upload' is disabled.
34
+ */
26
35
  export type ImageURL = string;
27
36
  /**
28
- * If true, the image upload will be used instead of the image URL
37
+ * When enabled, displays an uploaded image file instead of loading from URL. Use for static images that don't change or when the image isn't accessible via URL.
29
38
  */
30
39
  export type UseImageUpload = boolean;
31
40
  /**
32
- * Unix timestamp in milliseconds for time-based filtering.
41
+ * Unix timestamp in milliseconds for time-based filtering. When a timeRange filter is active, only images with timestamps within the range are displayed. Images without timestamps are always shown.
33
42
  */
34
43
  export type Timestamp = number;
35
44
  /**
36
- * This should be a valid URL string.
45
+ * Full URL to the image file. Must be a valid, accessible URL starting with http:// or https://.
37
46
  */
38
47
  export type ImageURL1 = string;
39
48
  /**
40
- * Optionally provide a label for this image.
49
+ * Text label displayed below this image. Use for identification, captions, or metadata like camera name or timestamp.
41
50
  */
42
51
  export type ImageLabel = string;
43
52
  /**
44
- * A list of image URLs to layout.
53
+ * Array of images for multi-image mode. Each entry specifies an image URL, optional label, and optional timestamp for time-based filtering. Images are arranged in an optimized responsive grid.
45
54
  */
46
55
  export type Images = {
47
56
  timestamp?: Timestamp;
@@ -50,9 +59,12 @@ export type Images = {
50
59
  [k: string]: unknown;
51
60
  }[];
52
61
 
62
+ /**
63
+ * An image display widget for showing single or multiple images from URLs or base64-encoded data. Use this widget to display photos, diagrams, camera feeds, or any visual content on dashboards. Supports single image mode with direct URL or file upload, and multi-image mode for grid layouts of multiple images with optional labels. Features time-based filtering for displaying images within a selected time range and responsive grid layouts that optimize image arrangement based on available space.
64
+ */
53
65
  export interface InputData {
54
66
  title?: Title;
55
- subTitle?: Subtitle;
67
+ titleLink?: TitleLink;
56
68
  stretchToFit?: StretchToFill;
57
69
  multiImage?: MultiImage;
58
70
  gap?: Gap;
@@ -63,6 +75,9 @@ export interface InputData {
63
75
  data?: Images;
64
76
  [k: string]: unknown;
65
77
  }
78
+ /**
79
+ * Upload an image file directly to the dashboard. Supports common formats (PNG, JPG, GIF, SVG). The image is stored with the dashboard configuration.
80
+ */
66
81
  export interface UploadImageFile {
67
82
  [k: string]: unknown;
68
83
  }
@@ -1,27 +1,30 @@
1
1
  {
2
2
  "title": "InputData",
3
+ "description": "An image display widget for showing single or multiple images from URLs or base64-encoded data. Use this widget to display photos, diagrams, camera feeds, or any visual content on dashboards. Supports single image mode with direct URL or file upload, and multi-image mode for grid layouts of multiple images with optional labels. Features time-based filtering for displaying images within a selected time range and responsive grid layouts that optimize image arrangement based on available space.",
3
4
  "type": "object",
4
5
  "properties": {
5
6
  "title": {
6
7
  "title": "Title",
8
+ "description": "The main heading displayed above the image in single-image mode. Use to describe or label the image content.",
7
9
  "order": 1,
8
10
  "type": "string"
9
11
  },
10
- "subTitle": {
11
- "title": "Subtitle",
12
+ "titleLink": {
13
+ "title": "Title Link",
14
+ "description": "Optional URL for the title. When provided, the title becomes a clickable link.",
12
15
  "order": 2,
13
16
  "type": "string"
14
17
  },
15
18
  "stretchToFit": {
16
19
  "title": "Stretch to fill",
17
20
  "type": "boolean",
18
- "description": "If enabled, the image will stretch to fill the entire widget area. If disabled, the image will maintain its aspect ratio.",
21
+ "description": "When enabled, images stretch to fill the entire widget area, potentially distorting aspect ratio. When disabled, images maintain their original aspect ratio and are contained within the widget bounds with letterboxing if needed.",
19
22
  "dataDrivenDisabled": true,
20
23
  "order": 3
21
24
  },
22
25
  "multiImage": {
23
26
  "title": "Multi Image",
24
- "description": "Display multiple images based on URLs in a list.",
27
+ "description": "When enabled, displays multiple images in a responsive grid layout from the data array. When disabled, shows a single image from imageUrl or uploaded file. Enable for galleries, camera grids, or comparing multiple visual assets.",
25
28
  "type": "boolean",
26
29
  "dataDrivenDisabled": true,
27
30
  "order": 4
@@ -29,7 +32,7 @@
29
32
  "gap": {
30
33
  "title": "Gap",
31
34
  "type": "number",
32
- "description": "The gap between images in pixels.",
35
+ "description": "Spacing between images in pixels when using multi-image mode. Increase for visual separation, decrease for compact grids. The gap scales proportionally with image size.",
33
36
  "order": 5,
34
37
  "condition": {
35
38
  "relativePath": "../multiImage",
@@ -39,11 +42,12 @@
39
42
  "labelFontSize": {
40
43
  "title": "Image Label Font Size",
41
44
  "type": "number",
42
- "description": "Font size for the image label in pixels.",
45
+ "description": "Font size in pixels for image labels displayed below each image. Applies to both single and multi-image modes when labels are provided.",
43
46
  "order": 6
44
47
  },
45
48
  "imageUrl": {
46
49
  "title": "Image URL",
50
+ "description": "Direct URL to the image file for single-image mode (e.g., 'https://example.com/image.jpg'). Can be bound to a data column for dynamic image sources. Used when 'Use image upload' is disabled.",
47
51
  "order": 7,
48
52
  "condition": {
49
53
  "relativePath": "../multiImage",
@@ -53,7 +57,7 @@
53
57
  },
54
58
  "useUpload": {
55
59
  "title": "Use image upload",
56
- "description": "If true, the image upload will be used instead of the image URL",
60
+ "description": "When enabled, displays an uploaded image file instead of loading from URL. Use for static images that don't change or when the image isn't accessible via URL.",
57
61
  "dataDrivenDisabled": true,
58
62
  "order": 8,
59
63
  "condition": {
@@ -64,6 +68,7 @@
64
68
  },
65
69
  "image": {
66
70
  "title": "Upload image file",
71
+ "description": "Upload an image file directly to the dashboard. Supports common formats (PNG, JPG, GIF, SVG). The image is stored with the dashboard configuration.",
67
72
  "order": 9,
68
73
  "dataDrivenDisabled": true,
69
74
  "condition": {
@@ -74,7 +79,7 @@
74
79
  },
75
80
  "data": {
76
81
  "title": "Images",
77
- "description": "A list of image URLs to layout.",
82
+ "description": "Array of images for multi-image mode. Each entry specifies an image URL, optional label, and optional timestamp for time-based filtering. Images are arranged in an optimized responsive grid.",
78
83
  "type": "array",
79
84
  "condition": {
80
85
  "relativePath": "../multiImage",
@@ -86,19 +91,19 @@
86
91
  "properties": {
87
92
  "timestamp": {
88
93
  "title": "Timestamp",
89
- "description": "Unix timestamp in milliseconds for time-based filtering.",
94
+ "description": "Unix timestamp in milliseconds for time-based filtering. When a timeRange filter is active, only images with timestamps within the range are displayed. Images without timestamps are always shown.",
90
95
  "type": "number",
91
96
  "order": 1
92
97
  },
93
98
  "imageUrl": {
94
99
  "title": "Image URL",
95
- "description": "This should be a valid URL string.",
100
+ "description": "Full URL to the image file. Must be a valid, accessible URL starting with http:// or https://.",
96
101
  "type": "string",
97
102
  "order": 2
98
103
  },
99
104
  "label": {
100
105
  "title": "Image Label",
101
- "description": "Optionally provide a label for this image.",
106
+ "description": "Text label displayed below this image. Use for identification, captions, or metadata like camera name or timestamp.",
102
107
  "type": "string",
103
108
  "order": 3
104
109
  }
@@ -20,7 +20,6 @@ export class WidgetImage extends LitElement {
20
20
 
21
21
  @state() private themeBgColor?: string
22
22
  @state() private themeTitleColor?: string
23
- @state() private themeSubtitleColor?: string
24
23
  @state() private elementWidth: number = 0
25
24
  @state() private elementHeight: number = 0
26
25
 
@@ -67,8 +66,6 @@ export class WidgetImage extends LitElement {
67
66
  const cssBgColor = getComputedStyle(this).getPropertyValue('--re-tile-background-color').trim()
68
67
  this.themeBgColor = cssBgColor || this.theme?.theme_object?.backgroundColor
69
68
  this.themeTitleColor = cssTextColor || this.theme?.theme_object?.title?.textStyle?.color
70
- this.themeSubtitleColor =
71
- cssTextColor || this.theme?.theme_object?.title?.subtextStyle?.color || this.themeTitleColor
72
69
  }
73
70
 
74
71
  /**
@@ -317,28 +314,6 @@ export class WidgetImage extends LitElement {
317
314
  ? `${this.inputData?.gap ?? 12}px`
318
315
  : '0px'}; ${!hasMultipleItems ? 'flex-direction: column;' : ''}"
319
316
  >
320
- ${!hasMultipleItems && this.inputData?.title
321
- ? html`
322
- <h3
323
- class="paging"
324
- ?active=${this.inputData?.title}
325
- style="color: ${this.themeTitleColor};"
326
- >
327
- ${this.inputData?.title}
328
- </h3>
329
- `
330
- : nothing}
331
- ${!hasMultipleItems && this.inputData?.subTitle
332
- ? html`
333
- <p
334
- class="paging"
335
- ?active=${this.inputData?.subTitle}
336
- style="color: ${this.themeSubtitleColor};"
337
- >
338
- ${this.inputData?.subTitle}
339
- </p>
340
- `
341
- : nothing}
342
317
  <div class="paging no-data" ?active=${!hasAnyImage} style="color: ${this.themeTitleColor};">
343
318
  No Image
344
319
  </div>
@@ -357,7 +332,15 @@ export class WidgetImage extends LitElement {
357
332
  ? `font-size: ${this.inputData.labelFontSize}px;`
358
333
  : ''}"
359
334
  >
360
- ${img.label ?? ''}
335
+ ${this.inputData?.titleLink
336
+ ? html`<a
337
+ href="${this.inputData.titleLink}"
338
+ target="_blank"
339
+ rel="noopener noreferrer"
340
+ style="color: inherit; text-decoration: underline;"
341
+ >${img.label ?? ''}</a
342
+ >`
343
+ : (img.label ?? '')}
361
344
  </h2>`
362
345
  : nothing}
363
346
  <div class="img-container paging" ?active="${img.imageUrl}">