@knapsack/sandbox-components 4.71.0--canary.4884.682c89f.0 → 4.71.0--canary.4884.e6e5828.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +31 -0
- package/dist/web-components/bundle.js +35 -63
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,34 @@
|
|
1
|
+
# v4.70.6 (Mon Oct 21 2024)
|
2
|
+
|
3
|
+
#### 🐛 Bug Fix
|
4
|
+
|
5
|
+
- remove fin chatbot [#4977](https://github.com/knapsack-labs/app-monorepo/pull/4977) ([@mabry1985](https://github.com/mabry1985))
|
6
|
+
|
7
|
+
#### 🏠 Internal
|
8
|
+
|
9
|
+
- add priority and additional category support [#4980](https://github.com/knapsack-labs/app-monorepo/pull/4980) ([@mabry1985](https://github.com/mabry1985))
|
10
|
+
- change feedback formgql endpoint to send to zendesk instead [#4965](https://github.com/knapsack-labs/app-monorepo/pull/4965) ([@mabry1985](https://github.com/mabry1985))
|
11
|
+
|
12
|
+
#### Authors: 1
|
13
|
+
|
14
|
+
- Josh Mabry ([@mabry1985](https://github.com/mabry1985))
|
15
|
+
|
16
|
+
---
|
17
|
+
|
18
|
+
# v4.70.5 (Mon Oct 21 2024)
|
19
|
+
|
20
|
+
#### 🏠 Internal
|
21
|
+
|
22
|
+
- update to TypeScript 5.6 [#4972](https://github.com/knapsack-labs/app-monorepo/pull/4972) ([@EvanLovely](https://github.com/EvanLovely))
|
23
|
+
- Update dependency esbuild to ^0.24.0 [#4720](https://github.com/knapsack-labs/app-monorepo/pull/4720) ([@renovate[bot]](https://github.com/renovate[bot]))
|
24
|
+
|
25
|
+
#### Authors: 2
|
26
|
+
|
27
|
+
- [@renovate[bot]](https://github.com/renovate[bot])
|
28
|
+
- Evan Lovely ([@EvanLovely](https://github.com/EvanLovely))
|
29
|
+
|
30
|
+
---
|
31
|
+
|
1
32
|
# v4.70.4 (Wed Oct 09 2024)
|
2
33
|
|
3
34
|
#### 🏠 Internal
|
@@ -5,8 +5,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
5
5
|
for (var i5 = decorators.length - 1, decorator; i5 >= 0; i5--)
|
6
6
|
if (decorator = decorators[i5])
|
7
7
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
8
|
-
if (kind && result)
|
9
|
-
__defProp(target, key, result);
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
10
9
|
return result;
|
11
10
|
};
|
12
11
|
|
@@ -17,8 +16,7 @@ var s = Symbol();
|
|
17
16
|
var n = /* @__PURE__ */ new WeakMap();
|
18
17
|
var o = class {
|
19
18
|
constructor(t4, e7, n7) {
|
20
|
-
if (this._$cssResult$ = true, n7 !== s)
|
21
|
-
throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
19
|
+
if (this._$cssResult$ = true, n7 !== s) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
22
20
|
this.cssText = t4, this.t = e7;
|
23
21
|
}
|
24
22
|
get styleSheet() {
|
@@ -37,10 +35,8 @@ var o = class {
|
|
37
35
|
var r = (t4) => new o("string" == typeof t4 ? t4 : t4 + "", void 0, s);
|
38
36
|
var i = (t4, ...e7) => {
|
39
37
|
const n7 = 1 === t4.length ? t4[0] : e7.reduce((e8, s5, n8) => e8 + ((t5) => {
|
40
|
-
if (true === t5._$cssResult$)
|
41
|
-
|
42
|
-
if ("number" == typeof t5)
|
43
|
-
return t5;
|
38
|
+
if (true === t5._$cssResult$) return t5.cssText;
|
39
|
+
if ("number" == typeof t5) return t5;
|
44
40
|
throw Error("Value passed to 'css' function must be a 'css' function result: " + t5 + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
45
41
|
})(s5) + t4[n8 + 1], t4[0]);
|
46
42
|
return new o(n7, t4, s);
|
@@ -53,8 +49,7 @@ var S = (s5, n7) => {
|
|
53
49
|
};
|
54
50
|
var c = e ? (t4) => t4 : (t4) => t4 instanceof CSSStyleSheet ? ((t5) => {
|
55
51
|
let e7 = "";
|
56
|
-
for (const s5 of t5.cssRules)
|
57
|
-
e7 += s5.cssText;
|
52
|
+
for (const s5 of t5.cssRules) e7 += s5.cssText;
|
58
53
|
return r(e7);
|
59
54
|
})(t4) : t4;
|
60
55
|
|
@@ -130,14 +125,12 @@ var u = class extends HTMLElement {
|
|
130
125
|
return this.elementProperties.get(t4) || l;
|
131
126
|
}
|
132
127
|
static finalize() {
|
133
|
-
if (this.hasOwnProperty(d))
|
134
|
-
return false;
|
128
|
+
if (this.hasOwnProperty(d)) return false;
|
135
129
|
this[d] = true;
|
136
130
|
const t4 = Object.getPrototypeOf(this);
|
137
131
|
if (t4.finalize(), void 0 !== t4.h && (this.h = [...t4.h]), this.elementProperties = new Map(t4.elementProperties), this._$Ev = /* @__PURE__ */ new Map(), this.hasOwnProperty("properties")) {
|
138
132
|
const t5 = this.properties, i5 = [...Object.getOwnPropertyNames(t5), ...Object.getOwnPropertySymbols(t5)];
|
139
|
-
for (const s5 of i5)
|
140
|
-
this.createProperty(s5, t5[s5]);
|
133
|
+
for (const s5 of i5) this.createProperty(s5, t5[s5]);
|
141
134
|
}
|
142
135
|
return this.elementStyles = this.finalizeStyles(this.styles), true;
|
143
136
|
}
|
@@ -145,10 +138,8 @@ var u = class extends HTMLElement {
|
|
145
138
|
const s5 = [];
|
146
139
|
if (Array.isArray(i5)) {
|
147
140
|
const e7 = new Set(i5.flat(1 / 0).reverse());
|
148
|
-
for (const i6 of e7)
|
149
|
-
|
150
|
-
} else
|
151
|
-
void 0 !== i5 && s5.push(c(i5));
|
141
|
+
for (const i6 of e7) s5.unshift(c(i6));
|
142
|
+
} else void 0 !== i5 && s5.push(c(i5));
|
152
143
|
return s5;
|
153
144
|
}
|
154
145
|
static _$Ep(t4, i5) {
|
@@ -231,8 +222,7 @@ var u = class extends HTMLElement {
|
|
231
222
|
}
|
232
223
|
performUpdate() {
|
233
224
|
var t4;
|
234
|
-
if (!this.isUpdatePending)
|
235
|
-
return;
|
225
|
+
if (!this.isUpdatePending) return;
|
236
226
|
this.hasUpdated, this._$Ei && (this._$Ei.forEach((t5, i6) => this[i6] = t5), this._$Ei = void 0);
|
237
227
|
let i5 = false;
|
238
228
|
const s5 = this._$AL;
|
@@ -308,8 +298,7 @@ var A = Symbol.for("lit-nothing");
|
|
308
298
|
var E = /* @__PURE__ */ new WeakMap();
|
309
299
|
var C = r3.createTreeWalker(r3, 129, null, false);
|
310
300
|
function P(t4, i5) {
|
311
|
-
if (!Array.isArray(t4) || !t4.hasOwnProperty("raw"))
|
312
|
-
throw Error("invalid template strings array");
|
301
|
+
if (!Array.isArray(t4) || !t4.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
313
302
|
return void 0 !== e3 ? e3.createHTML(i5) : i5;
|
314
303
|
}
|
315
304
|
var V = (t4, i5) => {
|
@@ -318,8 +307,7 @@ var V = (t4, i5) => {
|
|
318
307
|
for (let i6 = 0; i6 < s5; i6++) {
|
319
308
|
const s6 = t4[i6];
|
320
309
|
let d3, c3, v2 = -1, a3 = 0;
|
321
|
-
for (; a3 < s6.length && (u3.lastIndex = a3, c3 = u3.exec(s6), null !== c3); )
|
322
|
-
a3 = u3.lastIndex, u3 === f ? "!--" === c3[1] ? u3 = _ : void 0 !== c3[1] ? u3 = m : void 0 !== c3[2] ? (y.test(c3[2]) && (l5 = RegExp("</" + c3[2], "g")), u3 = p) : void 0 !== c3[3] && (u3 = p) : u3 === p ? ">" === c3[0] ? (u3 = null != l5 ? l5 : f, v2 = -1) : void 0 === c3[1] ? v2 = -2 : (v2 = u3.lastIndex - c3[2].length, d3 = c3[1], u3 = void 0 === c3[3] ? p : '"' === c3[3] ? $ : g) : u3 === $ || u3 === g ? u3 = p : u3 === _ || u3 === m ? u3 = f : (u3 = p, l5 = void 0);
|
310
|
+
for (; a3 < s6.length && (u3.lastIndex = a3, c3 = u3.exec(s6), null !== c3); ) a3 = u3.lastIndex, u3 === f ? "!--" === c3[1] ? u3 = _ : void 0 !== c3[1] ? u3 = m : void 0 !== c3[2] ? (y.test(c3[2]) && (l5 = RegExp("</" + c3[2], "g")), u3 = p) : void 0 !== c3[3] && (u3 = p) : u3 === p ? ">" === c3[0] ? (u3 = null != l5 ? l5 : f, v2 = -1) : void 0 === c3[1] ? v2 = -2 : (v2 = u3.lastIndex - c3[2].length, d3 = c3[1], u3 = void 0 === c3[3] ? p : '"' === c3[3] ? $ : g) : u3 === $ || u3 === g ? u3 = p : u3 === _ || u3 === m ? u3 = f : (u3 = p, l5 = void 0);
|
323
311
|
const w2 = u3 === p && t4[i6 + 1].startsWith("/>") ? " " : "";
|
324
312
|
r4 += u3 === f ? s6 + h2 : v2 >= 0 ? (e7.push(d3), s6.slice(0, v2) + o3 + s6.slice(v2) + n3 + w2) : s6 + n3 + (-2 === v2 ? (e7.push(void 0), i6) : w2);
|
325
313
|
}
|
@@ -339,35 +327,28 @@ var N = class _N {
|
|
339
327
|
if (1 === h3.nodeType) {
|
340
328
|
if (h3.hasAttributes()) {
|
341
329
|
const t5 = [];
|
342
|
-
for (const i6 of h3.getAttributeNames())
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
}
|
351
|
-
for (const i6 of t5)
|
352
|
-
h3.removeAttribute(i6);
|
330
|
+
for (const i6 of h3.getAttributeNames()) if (i6.endsWith(o3) || i6.startsWith(n3)) {
|
331
|
+
const s5 = f2[d3++];
|
332
|
+
if (t5.push(i6), void 0 !== s5) {
|
333
|
+
const t6 = h3.getAttribute(s5.toLowerCase() + o3).split(n3), i7 = /([.?@])?(.*)/.exec(s5);
|
334
|
+
v2.push({ type: 1, index: r4, name: i7[2], strings: t6, ctor: "." === i7[1] ? H : "?" === i7[1] ? L : "@" === i7[1] ? z : k });
|
335
|
+
} else v2.push({ type: 6, index: r4 });
|
336
|
+
}
|
337
|
+
for (const i6 of t5) h3.removeAttribute(i6);
|
353
338
|
}
|
354
339
|
if (y.test(h3.tagName)) {
|
355
340
|
const t5 = h3.textContent.split(n3), i6 = t5.length - 1;
|
356
341
|
if (i6 > 0) {
|
357
342
|
h3.textContent = s3 ? s3.emptyScript : "";
|
358
|
-
for (let s5 = 0; s5 < i6; s5++)
|
359
|
-
h3.append(t5[s5], u2()), C.nextNode(), v2.push({ type: 2, index: ++r4 });
|
343
|
+
for (let s5 = 0; s5 < i6; s5++) h3.append(t5[s5], u2()), C.nextNode(), v2.push({ type: 2, index: ++r4 });
|
360
344
|
h3.append(t5[i6], u2());
|
361
345
|
}
|
362
346
|
}
|
363
|
-
} else if (8 === h3.nodeType)
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
for (; -1 !== (t5 = h3.data.indexOf(n3, t5 + 1)); )
|
369
|
-
v2.push({ type: 7, index: r4 }), t5 += n3.length - 1;
|
370
|
-
}
|
347
|
+
} else if (8 === h3.nodeType) if (h3.data === l2) v2.push({ type: 2, index: r4 });
|
348
|
+
else {
|
349
|
+
let t5 = -1;
|
350
|
+
for (; -1 !== (t5 = h3.data.indexOf(n3, t5 + 1)); ) v2.push({ type: 7, index: r4 }), t5 += n3.length - 1;
|
351
|
+
}
|
371
352
|
r4++;
|
372
353
|
}
|
373
354
|
}
|
@@ -378,8 +359,7 @@ var N = class _N {
|
|
378
359
|
};
|
379
360
|
function S2(t4, i5, s5 = t4, e7) {
|
380
361
|
var o7, n7, l5, h3;
|
381
|
-
if (i5 === T)
|
382
|
-
return i5;
|
362
|
+
if (i5 === T) return i5;
|
383
363
|
let r4 = void 0 !== e7 ? null === (o7 = s5._$Co) || void 0 === o7 ? void 0 : o7[e7] : s5._$Cl;
|
384
364
|
const u3 = d2(i5) ? void 0 : i5._$litDirective$;
|
385
365
|
return (null == r4 ? void 0 : r4.constructor) !== u3 && (null === (n7 = null == r4 ? void 0 : r4._$AO) || void 0 === n7 || n7.call(r4, false), void 0 === u3 ? r4 = void 0 : (r4 = new u3(t4), r4._$AT(t4, s5, e7)), void 0 !== e7 ? (null !== (l5 = (h3 = s5)._$Co) && void 0 !== l5 ? l5 : h3._$Co = [])[e7] = r4 : s5._$Cl = r4), void 0 !== r4 && (i5 = S2(t4, r4._$AS(t4, i5.values), r4, e7)), i5;
|
@@ -410,8 +390,7 @@ var M = class {
|
|
410
390
|
}
|
411
391
|
v(t4) {
|
412
392
|
let i5 = 0;
|
413
|
-
for (const s5 of this._$AV)
|
414
|
-
void 0 !== s5 && (void 0 !== s5.strings ? (s5._$AI(t4, s5, i5), i5 += s5.strings.length - 2) : s5._$AI(t4[i5])), i5++;
|
393
|
+
for (const s5 of this._$AV) void 0 !== s5 && (void 0 !== s5.strings ? (s5._$AI(t4, s5, i5), i5 += s5.strings.length - 2) : s5._$AI(t4[i5])), i5++;
|
415
394
|
}
|
416
395
|
};
|
417
396
|
var R = class _R {
|
@@ -449,8 +428,7 @@ var R = class _R {
|
|
449
428
|
g(t4) {
|
450
429
|
var i5;
|
451
430
|
const { values: s5, _$litType$: e7 } = t4, o7 = "number" == typeof e7 ? this._$AC(t4) : (void 0 === e7.el && (e7.el = N.createElement(P(e7.h, e7.h[0]), this.options)), e7);
|
452
|
-
if ((null === (i5 = this._$AH) || void 0 === i5 ? void 0 : i5._$AD) === o7)
|
453
|
-
this._$AH.v(s5);
|
431
|
+
if ((null === (i5 = this._$AH) || void 0 === i5 ? void 0 : i5._$AD) === o7) this._$AH.v(s5);
|
454
432
|
else {
|
455
433
|
const t5 = new M(o7, this), i6 = t5.u(this.options);
|
456
434
|
t5.v(s5), this.$(i6), this._$AH = t5;
|
@@ -464,8 +442,7 @@ var R = class _R {
|
|
464
442
|
c2(this._$AH) || (this._$AH = [], this._$AR());
|
465
443
|
const i5 = this._$AH;
|
466
444
|
let s5, e7 = 0;
|
467
|
-
for (const o7 of t4)
|
468
|
-
e7 === i5.length ? i5.push(s5 = new _R(this.k(u2()), this.k(u2()), this, this.options)) : s5 = i5[e7], s5._$AI(o7), e7++;
|
445
|
+
for (const o7 of t4) e7 === i5.length ? i5.push(s5 = new _R(this.k(u2()), this.k(u2()), this, this.options)) : s5 = i5[e7], s5._$AI(o7), e7++;
|
469
446
|
e7 < i5.length && (this._$AR(s5 && s5._$AB.nextSibling, e7), i5.length = e7);
|
470
447
|
}
|
471
448
|
_$AR(t4 = this._$AA.nextSibling, i5) {
|
@@ -493,13 +470,11 @@ var k = class {
|
|
493
470
|
_$AI(t4, i5 = this, s5, e7) {
|
494
471
|
const o7 = this.strings;
|
495
472
|
let n7 = false;
|
496
|
-
if (void 0 === o7)
|
497
|
-
t4 = S2(this, t4, i5, 0), n7 = !d2(t4) || t4 !== this._$AH && t4 !== T, n7 && (this._$AH = t4);
|
473
|
+
if (void 0 === o7) t4 = S2(this, t4, i5, 0), n7 = !d2(t4) || t4 !== this._$AH && t4 !== T, n7 && (this._$AH = t4);
|
498
474
|
else {
|
499
475
|
const e8 = t4;
|
500
476
|
let l5, h3;
|
501
|
-
for (t4 = o7[0], l5 = 0; l5 < o7.length - 1; l5++)
|
502
|
-
h3 = S2(this, e8[s5 + l5], i5, l5), h3 === T && (h3 = this._$AH[l5]), n7 || (n7 = !d2(h3) || h3 !== this._$AH[l5]), h3 === A ? t4 = A : t4 !== A && (t4 += (null != h3 ? h3 : "") + o7[l5 + 1]), this._$AH[l5] = h3;
|
477
|
+
for (t4 = o7[0], l5 = 0; l5 < o7.length - 1; l5++) h3 = S2(this, e8[s5 + l5], i5, l5), h3 === T && (h3 = this._$AH[l5]), n7 || (n7 = !d2(h3) || h3 !== this._$AH[l5]), h3 === A ? t4 = A : t4 !== A && (t4 += (null != h3 ? h3 : "") + o7[l5 + 1]), this._$AH[l5] = h3;
|
503
478
|
}
|
504
479
|
n7 && !e7 && this.j(t4);
|
505
480
|
}
|
@@ -530,8 +505,7 @@ var z = class extends k {
|
|
530
505
|
}
|
531
506
|
_$AI(t4, i5 = this) {
|
532
507
|
var s5;
|
533
|
-
if ((t4 = null !== (s5 = S2(this, t4, i5, 0)) && void 0 !== s5 ? s5 : A) === T)
|
534
|
-
return;
|
508
|
+
if ((t4 = null !== (s5 = S2(this, t4, i5, 0)) && void 0 !== s5 ? s5 : A) === T) return;
|
535
509
|
const e7 = this._$AH, o7 = t4 === A && e7 !== A || t4.capture !== e7.capture || t4.once !== e7.once || t4.passive !== e7.passive, n7 = t4 !== A && (e7 === A || o7);
|
536
510
|
o7 && this.element.removeEventListener(this.name, this, e7), n7 && this.element.addEventListener(this.name, this, t4), this._$AH = t4;
|
537
511
|
}
|
@@ -621,8 +595,7 @@ var i3 = class {
|
|
621
595
|
var o5 = e4(class extends i3 {
|
622
596
|
constructor(t4) {
|
623
597
|
var i5;
|
624
|
-
if (super(t4), t4.type !== t3.ATTRIBUTE || "class" !== t4.name || (null === (i5 = t4.strings) || void 0 === i5 ? void 0 : i5.length) > 2)
|
625
|
-
throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
|
598
|
+
if (super(t4), t4.type !== t3.ATTRIBUTE || "class" !== t4.name || (null === (i5 = t4.strings) || void 0 === i5 ? void 0 : i5.length) > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
|
626
599
|
}
|
627
600
|
render(t4) {
|
628
601
|
return " " + Object.keys(t4).filter((i5) => t4[i5]).join(" ") + " ";
|
@@ -631,8 +604,7 @@ var o5 = e4(class extends i3 {
|
|
631
604
|
var r4, o7;
|
632
605
|
if (void 0 === this.it) {
|
633
606
|
this.it = /* @__PURE__ */ new Set(), void 0 !== i5.strings && (this.nt = new Set(i5.strings.join(" ").split(/\s/).filter((t4) => "" !== t4)));
|
634
|
-
for (const t4 in s5)
|
635
|
-
s5[t4] && !(null === (r4 = this.nt) || void 0 === r4 ? void 0 : r4.has(t4)) && this.it.add(t4);
|
607
|
+
for (const t4 in s5) s5[t4] && !(null === (r4 = this.nt) || void 0 === r4 ? void 0 : r4.has(t4)) && this.it.add(t4);
|
636
608
|
return this.render(s5);
|
637
609
|
}
|
638
610
|
const e7 = i5.element.classList;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@knapsack/sandbox-components",
|
3
3
|
"description": "",
|
4
|
-
"version": "4.71.0--canary.4884.
|
4
|
+
"version": "4.71.0--canary.4884.e6e5828.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
7
7
|
"./css": "./dist/css/ks-sandbox-styles.css",
|
@@ -44,19 +44,19 @@
|
|
44
44
|
"vue": "^3.5.11"
|
45
45
|
},
|
46
46
|
"devDependencies": {
|
47
|
-
"@knapsack/eslint-config-starter": "4.71.0--canary.4884.
|
48
|
-
"@knapsack/postcss-config-starter": "4.71.0--canary.4884.
|
49
|
-
"@knapsack/prettier-config": "4.71.0--canary.4884.
|
50
|
-
"@knapsack/sandbox-tokens": "4.71.0--canary.4884.
|
51
|
-
"@knapsack/typescript-config-starter": "4.71.0--canary.4884.
|
47
|
+
"@knapsack/eslint-config-starter": "4.71.0--canary.4884.e6e5828.0",
|
48
|
+
"@knapsack/postcss-config-starter": "4.71.0--canary.4884.e6e5828.0",
|
49
|
+
"@knapsack/prettier-config": "4.71.0--canary.4884.e6e5828.0",
|
50
|
+
"@knapsack/sandbox-tokens": "4.71.0--canary.4884.e6e5828.0",
|
51
|
+
"@knapsack/typescript-config-starter": "4.71.0--canary.4884.e6e5828.0",
|
52
52
|
"@types/node": "^20.16.11",
|
53
53
|
"@types/react": "^18.3.11",
|
54
|
-
"esbuild": "^0.
|
54
|
+
"esbuild": "^0.24.0",
|
55
55
|
"eslint": "^8.57.0",
|
56
56
|
"npm-run-all2": "^5.0.2",
|
57
57
|
"postcss-cli": "^9.1.0",
|
58
58
|
"tailwindcss": "^3.4.13",
|
59
|
-
"typescript": "^5.
|
59
|
+
"typescript": "^5.6.3",
|
60
60
|
"web-component-analyzer": "^2.0.0"
|
61
61
|
},
|
62
62
|
"license": "GPL-2.0-or-later",
|
@@ -68,5 +68,5 @@
|
|
68
68
|
"directory": "apps/ui/libs/sandbox-components",
|
69
69
|
"type": "git"
|
70
70
|
},
|
71
|
-
"gitHead": "
|
71
|
+
"gitHead": "e6e58282ca3e6642485d1d8c40530213b41f96bb"
|
72
72
|
}
|