easy-email-pro-kit 1.26.1 → 1.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.es.js CHANGED
@@ -1,80 +1,80 @@
1
- var fn = Object.defineProperty, wn = Object.defineProperties;
2
- var Mn = Object.getOwnPropertyDescriptors;
1
+ var yn = Object.defineProperty, fn = Object.defineProperties;
2
+ var wn = Object.getOwnPropertyDescriptors;
3
3
  var it = Object.getOwnPropertySymbols;
4
4
  var kt = Object.prototype.hasOwnProperty, Yt = Object.prototype.propertyIsEnumerable;
5
- var Wt = (e, n, d) => n in e ? fn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[n] = d, fe = (e, n) => {
5
+ var Wt = (e, n, d) => n in e ? yn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[n] = d, fe = (e, n) => {
6
6
  for (var d in n || (n = {}))
7
7
  kt.call(n, d) && Wt(e, d, n[d]);
8
8
  if (it)
9
9
  for (var d of it(n))
10
10
  Yt.call(n, d) && Wt(e, d, n[d]);
11
11
  return e;
12
- }, He = (e, n) => wn(e, Mn(n));
13
- var wt = (e, n) => {
12
+ }, He = (e, n) => fn(e, wn(n));
13
+ var ft = (e, n) => {
14
14
  var d = {};
15
- for (var h in e)
16
- kt.call(e, h) && n.indexOf(h) < 0 && (d[h] = e[h]);
15
+ for (var p in e)
16
+ kt.call(e, p) && n.indexOf(p) < 0 && (d[p] = e[p]);
17
17
  if (e != null && it)
18
- for (var h of it(e))
19
- n.indexOf(h) < 0 && Yt.call(e, h) && (d[h] = e[h]);
18
+ for (var p of it(e))
19
+ n.indexOf(p) < 0 && Yt.call(e, p) && (d[p] = e[p]);
20
20
  return d;
21
21
  };
22
- var Se = (e, n, d) => new Promise((h, f) => {
22
+ var Se = (e, n, d) => new Promise((p, f) => {
23
23
  var M = (u) => {
24
24
  try {
25
- s(d.next(u));
25
+ a(d.next(u));
26
26
  } catch (w) {
27
27
  f(w);
28
28
  }
29
29
  }, m = (u) => {
30
30
  try {
31
- s(d.throw(u));
31
+ a(d.throw(u));
32
32
  } catch (w) {
33
33
  f(w);
34
34
  }
35
- }, s = (u) => u.done ? h(u.value) : Promise.resolve(u.value).then(M, m);
36
- s((d = d.apply(e, n)).next());
35
+ }, a = (u) => u.done ? p(u.value) : Promise.resolve(u.value).then(M, m);
36
+ a((d = d.apply(e, n)).next());
37
37
  });
38
- import { createCustomBlock as qe, t as X, mergeBlock as $e, ElementCategory as et, NodeUtils as xn, components as $t, ElementPlugin as tt, BlockManager as nt } from "easy-email-pro-core";
39
- import { AttributesPanelWrapper as rt, ResponsiveTabs as ct, useEditorContext as Je, CollapseWrapper as Re, AttributeField as R, ResponsiveField as B, previewLoadImage as en, useElementInteract as Tn, ConfigPanelsMap as ot } from "easy-email-pro-theme";
40
- import { cloneDeep as De, flatMap as vn, get as tn, isEqual as _e, set as Ge, merge as Sn } from "lodash";
41
- import p, { useState as Fe, useEffect as Ue, useRef as zt, useMemo as Zn, useCallback as Dt } from "react";
42
- import { Collapse as ue, Button as dt, Message as ut, Grid as je, Divider as Mt, Radio as xt, Form as Nn, Space as In, InputNumber as Kt } from "@arco-design/web-react";
43
- import { ActiveTabKeys as de, useEditorProps as mt, useSelectedNode as ke, useEditorState as ht } from "easy-email-pro-editor";
44
- import { useSlate as Et, ReactEditor as nn } from "slate-react";
45
- import { HistoryEditor as Cn } from "slate-history";
46
- import { IconLink as Dn } from "@arco-design/web-react/icon";
47
- const Gn = {
38
+ import { createCustomBlock as qe, t as X, mergeBlock as $e, ElementCategory as et, NodeUtils as Mn, components as qt, ElementPlugin as tt, BlockManager as nt } from "easy-email-pro-core";
39
+ import { AttributesPanelWrapper as rt, ResponsiveTabs as Lt, useEditorContext as Je, CollapseWrapper as Re, AttributeField as R, ResponsiveField as B, previewLoadImage as $t, useElementInteract as xn, ConfigPanelsMap as ot } from "easy-email-pro-theme";
40
+ import { cloneDeep as De, flatMap as Tn, get as en, isEqual as _e, set as Ge, merge as vn } from "lodash";
41
+ import h, { useState as Fe, useEffect as Ue, useRef as zt, useMemo as Sn, useCallback as Ct } from "react";
42
+ import { Collapse as ue, Button as ct, Message as dt, Grid as je, Divider as wt, Radio as Mt, Form as Zn, Space as Nn, InputNumber as Kt } from "@arco-design/web-react";
43
+ import { ActiveTabKeys as de, useEditorProps as ut, useSelectedNode as ke, useEditorState as mt } from "easy-email-pro-editor";
44
+ import { useSlate as Et, ReactEditor as tn } from "slate-react";
45
+ import { HistoryEditor as In } from "slate-history";
46
+ import { IconLink as Cn } from "@arco-design/web-react/icon";
47
+ const Dn = {
48
48
  MARKETING_SHOPWINDOW: "marketing-shopwindow",
49
49
  MARKETING_COUNTDOWN: "marketing-countdown",
50
50
  MARKETING_QR_CODE: "marketing-qr-code"
51
- }, Ln = {
51
+ }, Gn = {
52
52
  COMMON_VIDEO: "common-video",
53
53
  COMMON_IMAGE_WITH_TEXT: "common-image-with-text"
54
- }, Ne = fe(fe({}, Gn), Ln), Gt = 60, lt = 60 * Gt, at = 24 * lt;
55
- function rn(e) {
56
- const n = Math.floor(e / at), d = Math.floor((e - n * at) / lt), h = Math.floor((e - n * at - d * lt) / Gt), f = Math.floor(e - n * at - d * lt - h * Gt);
54
+ }, Ne = fe(fe({}, Dn), Gn), Dt = 60, lt = 60 * Dt, at = 24 * lt;
55
+ function nn(e) {
56
+ const n = Math.floor(e / at), d = Math.floor((e - n * at) / lt), p = Math.floor((e - n * at - d * lt) / Dt), f = Math.floor(e - n * at - d * lt - p * Dt);
57
57
  return {
58
58
  day: n < 10 ? "0" + n : n.toString(),
59
59
  hour: d < 10 ? "0" + d : d.toString(),
60
- minute: h < 10 ? "0" + h : h.toString(),
60
+ minute: p < 10 ? "0" + p : p.toString(),
61
61
  second: f < 10 ? "0" + f : f.toString()
62
62
  };
63
63
  }
64
- function En(e) {
64
+ function Ln(e) {
65
65
  const { attributes: n, data: d } = e;
66
- let h = d.remainingTime;
66
+ let p = d.remainingTime;
67
67
  switch (d.unit) {
68
68
  case "minute":
69
- h = 60 * h;
69
+ p = 60 * p;
70
70
  break;
71
71
  case "hour":
72
- h = 60 * 60 * h;
72
+ p = 60 * 60 * p;
73
73
  break;
74
74
  case "day":
75
- h = 60 * 60 * 24 * h;
75
+ p = 60 * 60 * 24 * p;
76
76
  }
77
- const { day: f, hour: M, minute: m, second: s } = rn(h), u = [
77
+ const { day: f, hour: M, minute: m, second: a } = nn(p), u = [
78
78
  {
79
79
  unit: "days",
80
80
  value: f
@@ -89,17 +89,17 @@ function En(e) {
89
89
  },
90
90
  {
91
91
  unit: "secs",
92
- value: s
92
+ value: a
93
93
  }
94
94
  ];
95
- return /* @__PURE__ */ p.createElement(
95
+ return /* @__PURE__ */ h.createElement(
96
96
  "div",
97
97
  {
98
98
  style: {
99
99
  color: n.color
100
100
  }
101
101
  },
102
- /* @__PURE__ */ p.createElement("div", null, /* @__PURE__ */ p.createElement(
102
+ /* @__PURE__ */ h.createElement("div", null, /* @__PURE__ */ h.createElement(
103
103
  "div",
104
104
  {
105
105
  style: {
@@ -109,7 +109,7 @@ function En(e) {
109
109
  paddingBottom: 15
110
110
  }
111
111
  },
112
- u.map((w, x) => /* @__PURE__ */ p.createElement(
112
+ u.map((w, x) => /* @__PURE__ */ h.createElement(
113
113
  "div",
114
114
  {
115
115
  key: w.unit,
@@ -119,7 +119,7 @@ function En(e) {
119
119
  justifyContent: "center"
120
120
  }
121
121
  },
122
- /* @__PURE__ */ p.createElement(
122
+ /* @__PURE__ */ h.createElement(
123
123
  "div",
124
124
  {
125
125
  style: {
@@ -135,9 +135,9 @@ function En(e) {
135
135
  fontSize: 24
136
136
  }
137
137
  },
138
- /* @__PURE__ */ p.createElement("div", { style: { height: "100%", overflow: "hidden" } }, /* @__PURE__ */ p.createElement("div", { className: w.unit }, w.value))
138
+ /* @__PURE__ */ h.createElement("div", { style: { height: "100%", overflow: "hidden" } }, /* @__PURE__ */ h.createElement("div", { className: w.unit }, w.value))
139
139
  ),
140
- x !== u.length - 1 && /* @__PURE__ */ p.createElement(
140
+ x !== u.length - 1 && /* @__PURE__ */ h.createElement(
141
141
  "div",
142
142
  {
143
143
  key: w.unit,
@@ -146,7 +146,7 @@ function En(e) {
146
146
  ":"
147
147
  )
148
148
  ))
149
- ), /* @__PURE__ */ p.createElement(
149
+ ), /* @__PURE__ */ h.createElement(
150
150
  "div",
151
151
  {
152
152
  style: {
@@ -156,7 +156,7 @@ function En(e) {
156
156
  paddingBottom: 10
157
157
  }
158
158
  },
159
- u.map((w, x) => /* @__PURE__ */ p.createElement(
159
+ u.map((w, x) => /* @__PURE__ */ h.createElement(
160
160
  "div",
161
161
  {
162
162
  key: w.unit,
@@ -166,7 +166,7 @@ function En(e) {
166
166
  justifyContent: "center"
167
167
  }
168
168
  },
169
- /* @__PURE__ */ p.createElement(
169
+ /* @__PURE__ */ h.createElement(
170
170
  "div",
171
171
  {
172
172
  key: w.unit,
@@ -182,7 +182,7 @@ function En(e) {
182
182
  },
183
183
  w.unit
184
184
  ),
185
- x !== u.length - 1 && /* @__PURE__ */ p.createElement(
185
+ x !== u.length - 1 && /* @__PURE__ */ h.createElement(
186
186
  "div",
187
187
  {
188
188
  style: {
@@ -197,7 +197,7 @@ function En(e) {
197
197
  ))
198
198
  );
199
199
  }
200
- const { SlateNodePlaceholder: Wn } = $t, Tt = {
200
+ const { SlateNodePlaceholder: En } = qt, xt = {
201
201
  attributes: {
202
202
  color: "#ffffff",
203
203
  "padding-top": "20px",
@@ -217,14 +217,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
217
217
  get name() {
218
218
  return X("Countdown");
219
219
  },
220
- defaultData: Tt,
220
+ defaultData: xt,
221
221
  void: !0,
222
222
  type: Ne.MARKETING_COUNTDOWN,
223
223
  create: (e) => {
224
224
  const n = {
225
225
  type: Ne.MARKETING_COUNTDOWN,
226
- data: fe({}, Tt.data),
227
- attributes: fe({}, Tt.attributes),
226
+ data: fe({}, xt.data),
227
+ attributes: fe({}, xt.attributes),
228
228
  children: [
229
229
  {
230
230
  type: "text",
@@ -232,7 +232,8 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
232
232
  attributes: {
233
233
  color: "#ffffff",
234
234
  "font-size": "32px",
235
- align: "center"
235
+ align: "center",
236
+ "line-height": "1.2"
236
237
  },
237
238
  children: [
238
239
  {
@@ -261,34 +262,44 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
261
262
  },
262
263
  category: et.UNKNOWN_CONTENT,
263
264
  render(e) {
264
- const { node: n, mode: d } = e, { attributes: h, children: f } = n;
265
- return d === "testing" ? /* @__PURE__ */ p.createElement("mj-section", { padding: "0px" }, /* @__PURE__ */ p.createElement("mj-column", { padding: "0px" }, /* @__PURE__ */ p.createElement(
266
- "div",
267
- {
268
- style: {
269
- backgroundColor: h["background-color"],
270
- paddingBottom: h["padding-bottom"],
271
- paddingTop: h["padding-top"],
272
- paddingLeft: h["padding-left"],
273
- paddingRight: h["padding-right"],
274
- fontSize: "0px",
275
- lineHeight: 1
276
- }
277
- },
278
- /* @__PURE__ */ p.createElement(
265
+ const {
266
+ node: n,
267
+ mode: d,
268
+ context: { content: p },
269
+ displayMode: f
270
+ } = e, { attributes: M, children: m } = n;
271
+ if (d === "testing") {
272
+ const a = parseInt(p.attributes.width || "600"), u = f === "only-mobile" ? 375 / a : 1;
273
+ return /* @__PURE__ */ h.createElement("mj-section", { padding: "0px" }, /* @__PURE__ */ h.createElement("mj-column", { padding: "0px" }, /* @__PURE__ */ h.createElement("div", null, /* @__PURE__ */ h.createElement(
279
274
  "div",
280
275
  {
281
276
  style: {
282
- width: "100%",
283
- textAlign: "center",
284
- display: "table"
277
+ backgroundColor: M["background-color"],
278
+ paddingBottom: M["padding-bottom"],
279
+ paddingTop: M["padding-top"],
280
+ paddingLeft: M["padding-left"],
281
+ paddingRight: M["padding-right"],
282
+ fontSize: "0px",
283
+ lineHeight: 1,
284
+ zoom: u
285
285
  }
286
286
  },
287
- f.map((M, m) => xn.isElement(M) ? /* @__PURE__ */ p.createElement(Wn, { key: m, node: M }) : null),
288
- /* @__PURE__ */ p.createElement("mj-spacer", { height: "20px" }),
289
- /* @__PURE__ */ p.createElement(En, { attributes: n.attributes, data: n.data })
290
- )
291
- ))) : /* @__PURE__ */ p.createElement(
287
+ /* @__PURE__ */ h.createElement(
288
+ "div",
289
+ {
290
+ style: {
291
+ width: "100%",
292
+ textAlign: "center",
293
+ display: "table"
294
+ }
295
+ },
296
+ m.map((w, x) => Mn.isElement(w) ? /* @__PURE__ */ h.createElement(En, { key: x, node: w }) : null),
297
+ /* @__PURE__ */ h.createElement("mj-spacer", { height: "20px" }),
298
+ /* @__PURE__ */ h.createElement(Ln, { attributes: n.attributes, data: n.data })
299
+ )
300
+ ))));
301
+ }
302
+ return /* @__PURE__ */ h.createElement(
292
303
  "mj-image",
293
304
  He(fe({}, e.node.attributes), {
294
305
  "padding-bottom": "0px",
@@ -348,18 +359,18 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
348
359
  render(e) {
349
360
  const { node: n } = e, u = n.attributes, {
350
361
  "border-enabled": d,
351
- "border-width": h,
362
+ "border-width": p,
352
363
  "border-style": f,
353
364
  "border-color": M
354
- } = u, m = wt(u, [
365
+ } = u, m = ft(u, [
355
366
  "border-enabled",
356
367
  "border-width",
357
368
  "border-style",
358
369
  "border-color"
359
- ]), s = d ? `${h || "1px"} ${f || "solid"} ${M || "#AAAAAA"}` : "";
360
- return /* @__PURE__ */ p.createElement("mj-image", He(fe({}, m), { border: s }));
370
+ ]), a = d ? `${p || "1px"} ${f || "solid"} ${M || "#AAAAAA"}` : "";
371
+ return /* @__PURE__ */ h.createElement("mj-image", He(fe({}, m), { border: a }));
361
372
  }
362
- }), vt = {
373
+ }), Tt = {
363
374
  attributes: {
364
375
  "dot-color": "#4267b2",
365
376
  "dot-color-rotation": 0,
@@ -393,14 +404,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
393
404
  get name() {
394
405
  return X("QR code");
395
406
  },
396
- defaultData: vt,
407
+ defaultData: Tt,
397
408
  void: !0,
398
409
  type: Ne.MARKETING_QR_CODE,
399
410
  create: (e) => {
400
411
  const n = {
401
412
  type: Ne.MARKETING_QR_CODE,
402
- data: fe({}, vt.data),
403
- attributes: fe({}, vt.attributes),
413
+ data: fe({}, Tt.data),
414
+ attributes: fe({}, Tt.attributes),
404
415
  children: [
405
416
  {
406
417
  text: ""
@@ -411,11 +422,11 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
411
422
  },
412
423
  category: et.IMAGE,
413
424
  render(e) {
414
- return /* @__PURE__ */ p.createElement("mj-image", fe({}, e.node.attributes));
425
+ return /* @__PURE__ */ h.createElement("mj-image", fe({}, e.node.attributes));
415
426
  }
416
- }), kn = (e) => {
417
- const { attributes: n, data: d, scale: h } = e;
418
- return /* @__PURE__ */ p.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ p.createElement(
427
+ }), Wn = (e) => {
428
+ const { attributes: n, data: d, scale: p } = e;
429
+ return /* @__PURE__ */ h.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ h.createElement(
419
430
  "img",
420
431
  {
421
432
  className: "video-thumbnail",
@@ -423,7 +434,7 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
423
434
  alt: "",
424
435
  style: { width: "100%" }
425
436
  }
426
- ), /* @__PURE__ */ p.createElement(
437
+ ), /* @__PURE__ */ h.createElement(
427
438
  "div",
428
439
  {
429
440
  style: {
@@ -436,18 +447,18 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
436
447
  backgroundColor: `rgba(0,0,0, ${d["video-mask-opacity"] / 100})`
437
448
  }
438
449
  }
439
- ), /* @__PURE__ */ p.createElement(
450
+ ), /* @__PURE__ */ h.createElement(
440
451
  "div",
441
452
  {
442
453
  style: {
443
454
  position: "absolute",
444
455
  top: "50%",
445
456
  left: "50%",
446
- transform: `translate(-50%, -50%) scale(${h})`,
457
+ transform: `translate(-50%, -50%) scale(${p})`,
447
458
  zIndex: 10
448
459
  }
449
460
  },
450
- /* @__PURE__ */ p.createElement(
461
+ /* @__PURE__ */ h.createElement(
451
462
  "img",
452
463
  {
453
464
  src: d["button-image"],
@@ -456,7 +467,7 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
456
467
  }
457
468
  )
458
469
  ));
459
- }, St = {
470
+ }, vt = {
460
471
  attributes: {
461
472
  src: "https://res.cloudinary.com/djnkpbshx/image/upload/v1695859176/easy-email-pro-test/nshvakptfeftmooxb0as.png",
462
473
  "padding-top": "0px",
@@ -475,14 +486,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
475
486
  get name() {
476
487
  return X("Video");
477
488
  },
478
- defaultData: St,
489
+ defaultData: vt,
479
490
  void: !0,
480
491
  type: Ne.COMMON_VIDEO,
481
492
  create: (e) => {
482
493
  const n = {
483
494
  type: Ne.COMMON_VIDEO,
484
- data: fe({}, St.data),
485
- attributes: fe({}, St.attributes),
495
+ data: fe({}, vt.data),
496
+ attributes: fe({}, vt.attributes),
486
497
  children: []
487
498
  };
488
499
  return $e(n, e);
@@ -492,26 +503,26 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
492
503
  const {
493
504
  node: n,
494
505
  mode: d,
495
- context: { content: h },
506
+ context: { content: p },
496
507
  displayMode: f
497
508
  } = e, { data: M, attributes: m } = n;
498
509
  if (d === "testing") {
499
- const s = parseInt(
500
- m.width || h.attributes.width || "600"
501
- ), u = f === "only-mobile" ? 375 / s : 1;
502
- return /* @__PURE__ */ p.createElement("mj-section", { padding: "0px" }, /* @__PURE__ */ p.createElement("mj-column", { padding: "0px" }, /* @__PURE__ */ p.createElement("mj-text", { padding: "0px" }, /* @__PURE__ */ p.createElement("div", null, /* @__PURE__ */ p.createElement(
510
+ const a = parseInt(
511
+ m.width || p.attributes.width || "600"
512
+ ), u = f === "only-mobile" ? 375 / a : 1;
513
+ return /* @__PURE__ */ h.createElement("mj-section", { padding: "0px" }, /* @__PURE__ */ h.createElement("mj-column", { padding: "0px" }, /* @__PURE__ */ h.createElement("mj-text", { padding: "0px" }, /* @__PURE__ */ h.createElement("div", null, /* @__PURE__ */ h.createElement(
503
514
  "div",
504
515
  {
505
516
  style: {
506
517
  width: "100%"
507
518
  }
508
519
  },
509
- /* @__PURE__ */ p.createElement(kn, { attributes: m, data: M, scale: u })
520
+ /* @__PURE__ */ h.createElement(Wn, { attributes: m, data: M, scale: u })
510
521
  )))));
511
522
  }
512
- return /* @__PURE__ */ p.createElement("mj-image", fe({}, m));
523
+ return /* @__PURE__ */ h.createElement("mj-image", fe({}, m));
513
524
  }
514
- }), { SlateNodePlaceholder: st } = $t, Zt = {
525
+ }), { SlateNodePlaceholder: st } = qt, St = {
515
526
  attributes: {
516
527
  "padding-top": "0px",
517
528
  "padding-right": "0px",
@@ -526,14 +537,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
526
537
  get name() {
527
538
  return X("Image with text");
528
539
  },
529
- defaultData: Zt,
540
+ defaultData: St,
530
541
  void: !0,
531
542
  type: Ne.COMMON_IMAGE_WITH_TEXT,
532
543
  create: (e) => {
533
544
  const n = {
534
545
  type: Ne.COMMON_IMAGE_WITH_TEXT,
535
- data: fe({}, Zt.data),
536
- attributes: fe({}, Zt.attributes),
546
+ data: fe({}, St.data),
547
+ attributes: fe({}, St.attributes),
537
548
  children: [
538
549
  {
539
550
  type: "standard-image",
@@ -569,13 +580,13 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
569
580
  category: et.SECTION,
570
581
  render(e) {
571
582
  const { node: n } = e, z = De(n.attributes), {
572
- "border-enabled": h,
583
+ "border-enabled": p,
573
584
  "border-width": f,
574
585
  "border-style": M,
575
586
  "border-color": m,
576
- "vertical-align": s = "top",
587
+ "vertical-align": a = "top",
577
588
  "first-column-width": u = 50
578
- } = z, w = wt(z, [
589
+ } = z, w = ft(z, [
579
590
  "border-enabled",
580
591
  "border-width",
581
592
  "border-style",
@@ -584,61 +595,61 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
584
595
  "first-column-width"
585
596
  ]);
586
597
  w["background-image-enabled"] || (delete w["background-image-enabled"], w["background-url"] = "");
587
- const x = h ? `${f || "1px"} ${M || "solid"} ${m || "#AAAAAA"}` : "", Y = n.children[0], G = n.children[1];
588
- return n.data.stackOnMobile ? /* @__PURE__ */ p.createElement("mj-section", He(fe({}, w), { border: x }), /* @__PURE__ */ p.createElement(
598
+ const x = p ? `${f || "1px"} ${M || "solid"} ${m || "#AAAAAA"}` : "", Y = n.children[0], G = n.children[1];
599
+ return n.data.stackOnMobile ? /* @__PURE__ */ h.createElement("mj-section", He(fe({}, w), { border: x }), /* @__PURE__ */ h.createElement(
589
600
  "mj-column",
590
601
  {
591
602
  width: u + "%",
592
- "vertical-align": s
603
+ "vertical-align": a
593
604
  },
594
- /* @__PURE__ */ p.createElement(st, { node: Y })
595
- ), /* @__PURE__ */ p.createElement(
605
+ /* @__PURE__ */ h.createElement(st, { node: Y })
606
+ ), /* @__PURE__ */ h.createElement(
596
607
  "mj-column",
597
608
  {
598
609
  width: 100 - u + "%",
599
- "vertical-align": s
610
+ "vertical-align": a
600
611
  },
601
- /* @__PURE__ */ p.createElement(st, { node: G })
602
- )) : /* @__PURE__ */ p.createElement("mj-section", He(fe({}, w), { border: x }), /* @__PURE__ */ p.createElement("mj-group", null, /* @__PURE__ */ p.createElement(
612
+ /* @__PURE__ */ h.createElement(st, { node: G })
613
+ )) : /* @__PURE__ */ h.createElement("mj-section", He(fe({}, w), { border: x }), /* @__PURE__ */ h.createElement("mj-group", null, /* @__PURE__ */ h.createElement(
603
614
  "mj-column",
604
615
  {
605
616
  width: u + "%",
606
- "vertical-align": s
617
+ "vertical-align": a
607
618
  },
608
- /* @__PURE__ */ p.createElement(st, { node: Y })
609
- ), /* @__PURE__ */ p.createElement(
619
+ /* @__PURE__ */ h.createElement(st, { node: Y })
620
+ ), /* @__PURE__ */ h.createElement(
610
621
  "mj-column",
611
622
  {
612
623
  width: 100 - u + "%",
613
- "vertical-align": s
624
+ "vertical-align": a
614
625
  },
615
- /* @__PURE__ */ p.createElement(st, { node: G })
626
+ /* @__PURE__ */ h.createElement(st, { node: G })
616
627
  )));
617
628
  }
618
- }), Ae = document.createElement("canvas"), Be = Ae.getContext("2d"), on = (e) => Se(void 0, null, function* () {
629
+ }), Ae = document.createElement("canvas"), Be = Ae.getContext("2d"), rn = (e) => Se(void 0, null, function* () {
619
630
  const n = new Image();
620
- return n.src = e, yield new Promise((d, h) => {
621
- n.onload = d, n.onerror = h;
631
+ return n.src = e, yield new Promise((d, p) => {
632
+ n.onload = d, n.onerror = p;
622
633
  }), n;
623
- }), Yn = (e) => Se(void 0, null, function* () {
634
+ }), kn = (e) => Se(void 0, null, function* () {
624
635
  const n = new Image();
625
- return n.crossOrigin = "anonymous", new Promise((d, h) => {
636
+ return n.crossOrigin = "anonymous", new Promise((d, p) => {
626
637
  n.onload = () => {
627
638
  const f = n.width, M = n.height;
628
639
  Ae.width = f, Ae.height = M, Be.clearRect(0, 0, f, M), Be.drawImage(n, 0, 0), d(Ae.toDataURL());
629
- }, n.onerror = h, n.src = e.src;
640
+ }, n.onerror = p, n.src = e.src;
630
641
  });
631
- }), zn = (e) => new Promise((n) => {
632
- const d = e.width, h = e.height;
633
- Ae.width = d, Ae.height = h, Be.clearRect(0, 0, d, h), Be.drawImage(e, 0, 0), Be.transform, Ae.toBlob(n);
634
- }), Kn = vn(
642
+ }), Yn = (e) => new Promise((n) => {
643
+ const d = e.width, p = e.height;
644
+ Ae.width = d, Ae.height = p, Be.clearRect(0, 0, d, p), Be.drawImage(e, 0, 0), Be.transform, Ae.toBlob(n);
645
+ }), zn = Tn(
635
646
  ["padding", "margin", "border"].map((e) => [
636
647
  `${e}-top`,
637
648
  `${e}-right`,
638
649
  `${e}-bottom`,
639
650
  `${e}-left`
640
651
  ])
641
- ), Xn = [
652
+ ), Kn = [
642
653
  "color",
643
654
  "width",
644
655
  "height",
@@ -660,37 +671,37 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
660
671
  "opacity",
661
672
  "visibility",
662
673
  "textTransform",
663
- ...Kn
674
+ ...zn
664
675
  ];
665
- function an(e) {
676
+ function on(e) {
666
677
  const n = e.cloneNode(!0);
667
678
  if (!(n instanceof HTMLElement && e instanceof HTMLElement))
668
679
  return n;
669
680
  const d = window.getComputedStyle(e);
670
- return Xn.forEach((h) => {
671
- n.style.setProperty(h, d.getPropertyValue(h));
672
- }), n.childNodes.forEach((h, f) => {
673
- n.replaceChild(an(e.childNodes[f]), h);
681
+ return Kn.forEach((p) => {
682
+ n.style.setProperty(p, d.getPropertyValue(p));
683
+ }), n.childNodes.forEach((p, f) => {
684
+ n.replaceChild(on(e.childNodes[f]), p);
674
685
  }), n;
675
686
  }
676
- const sn = function(d) {
687
+ const an = function(d) {
677
688
  return Se(this, arguments, function* (e, n = {}) {
678
- const h = n.width || e.offsetWidth, f = n.height || e.offsetHeight, { overwrite: M = [], wrapper: m = (x) => x } = n, s = an(e);
679
- if (s.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"), s.classList.remove("outline"), n.styleText) {
689
+ const p = n.width || e.offsetWidth, f = n.height || e.offsetHeight, { overwrite: M = [], wrapper: m = (x) => x } = n, a = on(e);
690
+ if (a.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"), a.classList.remove("outline"), n.styleText) {
680
691
  const x = document.createElement("style");
681
- x.innerHTML = n.styleText, s.appendChild(x);
692
+ x.innerHTML = n.styleText, a.appendChild(x);
682
693
  }
683
694
  M.forEach((x) => {
684
695
  if (x.selector === "" && x instanceof HTMLElement) {
685
696
  const Y = x.style;
686
697
  Object.keys(x.style).forEach((G) => {
687
698
  Y.setProperty(G, x.style[G]);
688
- }), x.innerText && (s.innerText = x.innerText), x.innerHTML && (s.innerHTML = x.innerHTML), x.attrs && Object.keys(x.attrs).forEach((G) => {
689
- s.setAttribute(G, x.attrs[G]);
699
+ }), x.innerText && (a.innerText = x.innerText), x.innerHTML && (a.innerHTML = x.innerHTML), x.attrs && Object.keys(x.attrs).forEach((G) => {
700
+ a.setAttribute(G, x.attrs[G]);
690
701
  });
691
702
  }
692
- s.querySelectorAll(x.selector).forEach((Y) => {
693
- if (tn(Y, "nodeType") === 1) {
703
+ a.querySelectorAll(x.selector).forEach((Y) => {
704
+ if (en(Y, "nodeType") === 1) {
694
705
  const G = Y, z = G.style;
695
706
  if (x.style && Object.keys(x.style).forEach((W) => {
696
707
  z.setProperty(W, x.style[W]);
@@ -700,39 +711,39 @@ const sn = function(d) {
700
711
  }
701
712
  });
702
713
  }), yield Promise.all(
703
- [...s.querySelectorAll("img")].map((x) => Se(this, null, function* () {
704
- x.src = yield Yn(x);
714
+ [...a.querySelectorAll("img")].map((x) => Se(this, null, function* () {
715
+ x.src = yield kn(x);
705
716
  }))
706
717
  );
707
- const u = new XMLSerializer().serializeToString(m(s));
708
- let w = 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="' + h + '" height="' + f + '"><foreignObject x="0" y="0" width="100%" height="100%">' + u + "</foreignObject></svg>";
718
+ const u = new XMLSerializer().serializeToString(m(a));
719
+ let w = 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="' + p + '" height="' + f + '"><foreignObject x="0" y="0" width="100%" height="100%">' + u + "</foreignObject></svg>";
709
720
  return w = w.replace(/\n/g, "").replace(/\t/g, "").replace(/#/g, "%23"), w;
710
721
  });
711
722
  };
712
- var On = Object.defineProperty, Vn = Object.defineProperties, jn = Object.getOwnPropertyDescriptors, Ft = Object.getOwnPropertySymbols, Pn = Object.prototype.hasOwnProperty, An = Object.prototype.propertyIsEnumerable, Ze = Math.pow, Rt = (e, n, d) => n in e ? On(e, n, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[n] = d, We = (e, n) => {
723
+ var Xn = Object.defineProperty, On = Object.defineProperties, Vn = Object.getOwnPropertyDescriptors, Ft = Object.getOwnPropertySymbols, jn = Object.prototype.hasOwnProperty, Pn = Object.prototype.propertyIsEnumerable, Ze = Math.pow, Rt = (e, n, d) => n in e ? Xn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[n] = d, We = (e, n) => {
713
724
  for (var d in n || (n = {}))
714
- Pn.call(n, d) && Rt(e, d, n[d]);
725
+ jn.call(n, d) && Rt(e, d, n[d]);
715
726
  if (Ft)
716
727
  for (var d of Ft(n))
717
- An.call(n, d) && Rt(e, d, n[d]);
728
+ Pn.call(n, d) && Rt(e, d, n[d]);
718
729
  return e;
719
- }, Qe = (e, n) => Vn(e, jn(n)), Ee = (e, n, d) => new Promise((h, f) => {
730
+ }, Qe = (e, n) => On(e, Vn(n)), Ee = (e, n, d) => new Promise((p, f) => {
720
731
  var M = (u) => {
721
732
  try {
722
- s(d.next(u));
733
+ a(d.next(u));
723
734
  } catch (w) {
724
735
  f(w);
725
736
  }
726
737
  }, m = (u) => {
727
738
  try {
728
- s(d.throw(u));
739
+ a(d.throw(u));
729
740
  } catch (w) {
730
741
  f(w);
731
742
  }
732
- }, s = (u) => u.done ? h(u.value) : Promise.resolve(u.value).then(M, m);
733
- s((d = d.apply(e, n)).next());
743
+ }, a = (u) => u.done ? p(u.value) : Promise.resolve(u.value).then(M, m);
744
+ a((d = d.apply(e, n)).next());
734
745
  });
735
- const Fn = typeof window < "u", ae = 65536 - 1, Pe = ae * ae, Rn = 512 - 1, Nt = [
746
+ const An = typeof window < "u", ae = 65536 - 1, Pe = ae * ae, Fn = 512 - 1, Zt = [
736
747
  0,
737
748
  20,
738
749
  40,
@@ -1503,7 +1514,7 @@ const Fn = typeof window < "u", ae = 65536 - 1, Pe = ae * ae, Rn = 512 - 1, Nt =
1503
1514
  255,
1504
1515
  255
1505
1516
  ];
1506
- function It(e) {
1517
+ function Nt(e) {
1507
1518
  let n;
1508
1519
  if (e <= 0)
1509
1520
  return 0;
@@ -1511,65 +1522,65 @@ function It(e) {
1511
1522
  return ae;
1512
1523
  n = e * (e * (e + -144107) / ae + 132114) / ae + 14379;
1513
1524
  for (let d = 0; d < 2; d++) {
1514
- const h = n * n * n, f = e + (2 * h + Pe / 2) / Pe;
1515
- n = (n * (2 * e + (h + Pe / 2) / Pe) + f / 2) / f;
1525
+ const p = n * n * n, f = e + (2 * p + Pe / 2) / Pe;
1526
+ n = (n * (2 * e + (p + Pe / 2) / Pe) + f / 2) / f;
1516
1527
  }
1517
1528
  return n;
1518
1529
  }
1519
1530
  function Ce(e, n) {
1520
1531
  return (e ^ n) < 0 ? (e - n / 2) / n : (e + n / 2) / n;
1521
1532
  }
1522
- function ln(e) {
1523
- const n = Nt[e >> 16 & 255], d = Nt[e >> 8 & 255], h = Nt[e & 255], f = (27015 * n + 35149 * d + 3372 * h + ae / 2) / ae, M = (13887 * n + 44610 * d + 7038 * h + ae / 2) / ae, m = (5787 * n + 18462 * d + 41286 * h + ae / 2) / ae, s = It(f), u = It(M), w = It(m);
1533
+ function sn(e) {
1534
+ const n = Zt[e >> 16 & 255], d = Zt[e >> 8 & 255], p = Zt[e & 255], f = (27015 * n + 35149 * d + 3372 * p + ae / 2) / ae, M = (13887 * n + 44610 * d + 7038 * p + ae / 2) / ae, m = (5787 * n + 18462 * d + 41286 * p + ae / 2) / ae, a = Nt(f), u = Nt(M), w = Nt(m);
1524
1535
  return [
1525
- Ce(13792 * s + 52010 * u - 267 * w, ae),
1526
- Ce(129628 * s - 159158 * u + 29530 * w, ae),
1527
- Ce(1698 * s + 51299 * u - 52997 * w, ae)
1536
+ Ce(13792 * a + 52010 * u - 267 * w, ae),
1537
+ Ce(129628 * a - 159158 * u + 29530 * w, ae),
1538
+ Ce(1698 * a + 51299 * u - 52997 * w, ae)
1528
1539
  ];
1529
1540
  }
1530
- function Ct(e) {
1541
+ function It(e) {
1531
1542
  if (e <= 0)
1532
1543
  return 0;
1533
1544
  if (e >= ae)
1534
1545
  return 255;
1535
1546
  {
1536
- const n = e * Rn, d = ~~(n / ae), h = n % ae, f = Ut[d], M = Ut[d + 1];
1537
- return (h * (M - f) + ae / 2) / ae + f;
1547
+ const n = e * Fn, d = ~~(n / ae), p = n % ae, f = Ut[d], M = Ut[d + 1];
1548
+ return (p * (M - f) + ae / 2) / ae + f;
1538
1549
  }
1539
1550
  }
1540
- function Un(e) {
1541
- const n = e[0] + Ce(25974 * e[1], ae) + Ce(14143 * e[2], ae), d = e[0] + Ce(-6918 * e[1], ae) + Ce(-4185 * e[2], ae), h = e[0] + Ce(-5864 * e[1], ae) + Ce(-84638 * e[2], ae), f = Ze(n, 2) * n / Pe, M = Ze(d, 2) * d / Pe, m = Ze(h, 2) * h / Pe, s = Ct((267169 * f + -216771 * M + 15137 * m + ae / 2) / ae), u = Ct((-83127 * f + 171030 * M + -22368 * m + ae / 2) / ae), w = Ct((-275 * f + -46099 * M + 111909 * m + ae / 2) / ae);
1542
- return s << 16 | u << 8 | w;
1551
+ function Rn(e) {
1552
+ const n = e[0] + Ce(25974 * e[1], ae) + Ce(14143 * e[2], ae), d = e[0] + Ce(-6918 * e[1], ae) + Ce(-4185 * e[2], ae), p = e[0] + Ce(-5864 * e[1], ae) + Ce(-84638 * e[2], ae), f = Ze(n, 2) * n / Pe, M = Ze(d, 2) * d / Pe, m = Ze(p, 2) * p / Pe, a = It((267169 * f + -216771 * M + 15137 * m + ae / 2) / ae), u = It((-83127 * f + 171030 * M + -22368 * m + ae / 2) / ae), w = It((-275 * f + -46099 * M + 111909 * m + ae / 2) / ae);
1553
+ return a << 16 | u << 8 | w;
1543
1554
  }
1544
- function Jn(e) {
1545
- const n = { l: 0, a: 1, b: 2 }, d = e[0], h = e[1], f = e[2], M = n[d], m = n[h], s = n[f];
1546
- return (u, w) => u.oklab[M] - w.oklab[M] || u.oklab[m] - w.oklab[m] || u.oklab[s] - w.oklab[s];
1555
+ function Un(e) {
1556
+ const n = { l: 0, a: 1, b: 2 }, d = e[0], p = e[1], f = e[2], M = n[d], m = n[p], a = n[f];
1557
+ return (u, w) => u.oklab[M] - w.oklab[M] || u.oklab[m] - w.oklab[m] || u.oklab[a] - w.oklab[a];
1547
1558
  }
1548
- function Hn(e, n, d) {
1559
+ function Jn(e, n, d) {
1549
1560
  return e >= n ? n >= d ? "lab" : e >= d ? "lba" : "bla" : e >= d ? "alb" : n >= d ? "abl" : "bal";
1550
1561
  }
1551
- function Qn(e) {
1562
+ function Hn(e) {
1552
1563
  return new Promise((n) => {
1553
1564
  const d = new Image();
1554
1565
  d.decoding = "sync", d.loading = "eager", d.crossOrigin = "anonymous", d.onload = () => n(d), d.onerror = () => n(d), d.src = e;
1555
1566
  });
1556
1567
  }
1557
- function cn(e) {
1568
+ function ln(e) {
1558
1569
  return e && typeof e == "object" && "__CONTEXT__" in e;
1559
1570
  }
1560
- function Bn(e) {
1561
- return cn(e) ? e : _n(e);
1571
+ function Qn(e) {
1572
+ return ln(e) ? e : Bn(e);
1562
1573
  }
1563
- function _n(e = {}) {
1574
+ function Bn(e = {}) {
1564
1575
  const {
1565
1576
  maxColors: n = 256,
1566
1577
  statsMode: d = "full",
1567
- samples: h = [],
1578
+ samples: p = [],
1568
1579
  skipTransparent: f = !0
1569
1580
  } = e;
1570
1581
  return {
1571
1582
  __CONTEXT__: !0,
1572
- samples: h,
1583
+ samples: p,
1573
1584
  maxColors: n,
1574
1585
  statsMode: d,
1575
1586
  skipTransparent: f,
@@ -1580,71 +1591,71 @@ function _n(e = {}) {
1580
1591
  finderCache: /* @__PURE__ */ new Map()
1581
1592
  };
1582
1593
  }
1583
- function dn(e) {
1584
- const n = cn(e) ? e : e.context, {
1594
+ function cn(e) {
1595
+ const n = ln(e) ? e : e.context, {
1585
1596
  colorBoxesIndexTree: d,
1586
- finderCache: h
1597
+ finderCache: p
1587
1598
  } = n;
1588
- function f(m, s, u) {
1599
+ function f(m, a, u) {
1589
1600
  const { left: w, right: x, longest: Y, oklab: G, colorBoxIndex: z } = d[m], W = Math.min(
1590
- Ze(s[0] - G[0], 2) + Ze(s[1] - G[1], 2) + Ze(s[2] - G[2], 2),
1601
+ Ze(a[0] - G[0], 2) + Ze(a[1] - G[1], 2) + Ze(a[2] - G[2], 2),
1591
1602
  4294967295 - 1
1592
1603
  );
1593
1604
  W < u.dist && (u.colorBoxIndex = z, u.dist = W);
1594
1605
  let T, O;
1595
1606
  if (w !== -1 || x !== -1) {
1596
- const _ = s[Y] - G[Y];
1597
- _ <= 0 ? (T = w, O = x) : (T = x, O = w), T !== -1 && f(T, s, u), O !== -1 && Ze(_, 2) < u.dist && f(O, s, u);
1607
+ const _ = a[Y] - G[Y];
1608
+ _ <= 0 ? (T = w, O = x) : (T = x, O = w), T !== -1 && f(T, a, u), O !== -1 && Ze(_, 2) < u.dist && f(O, a, u);
1598
1609
  }
1599
1610
  }
1600
1611
  function M(m) {
1601
- const s = {
1612
+ const a = {
1602
1613
  dist: Number.MAX_SAFE_INTEGER,
1603
1614
  colorBoxIndex: -1
1604
1615
  };
1605
- return f(0, m, s), s.colorBoxIndex;
1616
+ return f(0, m, a), a.colorBoxIndex;
1606
1617
  }
1607
1618
  return (m) => {
1608
- const s = m % 32768;
1609
- let u = h.get(s);
1610
- u || (u = /* @__PURE__ */ new Map(), h.set(s, u));
1619
+ const a = m % 32768;
1620
+ let u = p.get(a);
1621
+ u || (u = /* @__PURE__ */ new Map(), p.set(a, u));
1611
1622
  let w = u.get(m);
1612
- return w !== void 0 || (w = M(ln(m)), u.set(m, w)), w;
1623
+ return w !== void 0 || (w = M(sn(m)), u.set(m, w)), w;
1613
1624
  };
1614
1625
  }
1615
- function qn(e, n) {
1616
- const { colorBoxes: d } = e, h = d.reduce((m, s) => m + s.weight, 0);
1626
+ function _n(e, n) {
1627
+ const { colorBoxes: d } = e, p = d.reduce((m, a) => m + a.weight, 0);
1617
1628
  if (!n)
1618
1629
  return e.colorBoxes.map((m) => {
1619
- const { srgb: s, weight: u } = m;
1630
+ const { srgb: a, weight: u } = m;
1620
1631
  return {
1621
- value: s,
1622
- percentage: u / h
1632
+ value: a,
1633
+ percentage: u / p
1623
1634
  };
1624
1635
  });
1625
1636
  const f = [];
1626
- for (let m = d.length, s = 0; s < m; s++) {
1627
- const { srgb: u, weight: w } = d[s];
1637
+ for (let m = d.length, a = 0; a < m; a++) {
1638
+ const { srgb: u, weight: w } = d[a];
1628
1639
  f.push({
1629
1640
  value: [
1630
1641
  u >> 16 & 255,
1631
1642
  u >> 8 & 255,
1632
1643
  u & 255
1633
1644
  ],
1634
- percentage: w / h
1645
+ percentage: w / p
1635
1646
  });
1636
1647
  }
1637
1648
  let M;
1638
1649
  if (n === "buffer") {
1639
1650
  M = new Uint8ClampedArray(f.length * 4);
1640
- for (let m = f.length, s = 0; s < m; s++) {
1641
- const u = s * 4, w = f[s].value;
1651
+ for (let m = f.length, a = 0; a < m; a++) {
1652
+ const u = a * 4, w = f[a].value;
1642
1653
  M[u] = w[0], M[u + 1] = w[1], M[u + 2] = w[2], M[u + 3] = 255;
1643
1654
  }
1644
1655
  } else if (n === "hex") {
1645
1656
  M = [];
1646
- for (let m = f.length, s = 0; s < m; s++) {
1647
- const { value: u, percentage: w } = f[s], x = u[0].toString(16).padStart(2, "0"), Y = u[1].toString(16).padStart(2, "0"), G = u[2].toString(16).padStart(2, "0");
1657
+ for (let m = f.length, a = 0; a < m; a++) {
1658
+ const { value: u, percentage: w } = f[a], x = u[0].toString(16).padStart(2, "0"), Y = u[1].toString(16).padStart(2, "0"), G = u[2].toString(16).padStart(2, "0");
1648
1659
  M.push({
1649
1660
  value: `#${x}${Y}${G}`,
1650
1661
  percentage: w
@@ -1654,10 +1665,10 @@ function qn(e, n) {
1654
1665
  M = f;
1655
1666
  return M;
1656
1667
  }
1657
- function Lt(e, n, d) {
1658
- var h, f, M, m;
1668
+ function Gt(e, n, d) {
1669
+ var p, f, M, m;
1659
1670
  const {
1660
- getContext2d: s,
1671
+ getContext2d: a,
1661
1672
  previousSample: u,
1662
1673
  skipTransparent: w
1663
1674
  } = d, {
@@ -1675,7 +1686,7 @@ function Lt(e, n, d) {
1675
1686
  const W = [];
1676
1687
  for (let T = n.length, O = 0; O < T; O++)
1677
1688
  W.push(
1678
- (h = n[O][0]) != null ? h : 0,
1689
+ (p = n[O][0]) != null ? p : 0,
1679
1690
  (f = n[O][1]) != null ? f : 0,
1680
1691
  (M = n[O][2]) != null ? M : 0,
1681
1692
  (m = n[O][3]) != null ? m : 255
@@ -1684,21 +1695,21 @@ function Lt(e, n, d) {
1684
1695
  } else
1685
1696
  z = new Uint8ClampedArray(n);
1686
1697
  else if (typeof n == "string") {
1687
- const W = s == null ? void 0 : s();
1698
+ const W = a == null ? void 0 : a();
1688
1699
  if (!W)
1689
1700
  return;
1690
1701
  const T = W.canvas;
1691
- return Qn(n).then((O) => (W.clearRect(0, 0, T.width, T.height), T.width = O.width, T.height = O.height, W.drawImage(O, 0, 0, T.width, T.height), Lt(
1702
+ return Hn(n).then((O) => (W.clearRect(0, 0, T.width, T.height), T.width = O.width, T.height = O.height, W.drawImage(O, 0, 0, T.width, T.height), Gt(
1692
1703
  e,
1693
1704
  W.getImageData(0, 0, T.width, T.height).data,
1694
1705
  d
1695
1706
  )));
1696
1707
  } else {
1697
- const W = s == null ? void 0 : s();
1708
+ const W = a == null ? void 0 : a();
1698
1709
  if (!W)
1699
1710
  return;
1700
1711
  const T = W.canvas;
1701
- return W.clearRect(0, 0, T.width, T.height), T.width = typeof n.width == "number" ? n.width : n.width.baseVal.value, T.height = typeof n.height == "number" ? n.height : n.height.baseVal.value, W.drawImage(n, 0, 0, T.width, T.height), Lt(
1712
+ return W.clearRect(0, 0, T.width, T.height), T.width = typeof n.width == "number" ? n.width : n.width.baseVal.value, T.height = typeof n.height == "number" ? n.height : n.height.baseVal.value, W.drawImage(n, 0, 0, T.width, T.height), Gt(
1702
1713
  e,
1703
1714
  W.getImageData(0, 0, T.width, T.height).data,
1704
1715
  d
@@ -1719,18 +1730,18 @@ function Lt(e, n, d) {
1719
1730
  be = Y.push({
1720
1731
  alpha: te,
1721
1732
  srgb: $,
1722
- oklab: ln($),
1733
+ oklab: sn($),
1723
1734
  count: 1
1724
1735
  }) - 1, se.set(P, be);
1725
1736
  }
1726
1737
  return z;
1727
1738
  }
1728
- function un(e, n) {
1729
- const { colorSamples: d } = n, { start: h, end: f } = e;
1730
- e.length = f - h, e.weight = 0;
1739
+ function dn(e, n) {
1740
+ const { colorSamples: d } = n, { start: p, end: f } = e;
1741
+ e.length = f - p, e.weight = 0;
1731
1742
  const M = [0, 0, 0];
1732
- for (let s = h; s < f; s++) {
1733
- const u = d[s];
1743
+ for (let a = p; a < f; a++) {
1744
+ const u = d[a];
1734
1745
  M[0] += u.oklab[0] * u.count, M[1] += u.oklab[1] * u.count, M[2] += u.oklab[2] * u.count, e.weight += u.count;
1735
1746
  }
1736
1747
  e.oklab = [
@@ -1739,11 +1750,11 @@ function un(e, n) {
1739
1750
  M[2] / e.weight
1740
1751
  ];
1741
1752
  const m = [0, 0, 0];
1742
- for (let s = h; s < f; s++) {
1743
- const u = d[s];
1753
+ for (let a = p; a < f; a++) {
1754
+ const u = d[a];
1744
1755
  m[0] += Ze(u.oklab[0] - e.oklab[0], 2) * u.count, m[1] += Ze(u.oklab[1] - e.oklab[1], 2) * u.count, m[2] += Ze(u.oklab[2] - e.oklab[2], 2) * u.count;
1745
1756
  }
1746
- e.sort = Hn(m[0], m[1], m[2]), e.score = Math.max(m[0], m[1], m[2]);
1757
+ e.sort = Jn(m[0], m[1], m[2]), e.score = Math.max(m[0], m[1], m[2]);
1747
1758
  }
1748
1759
  function Jt(e, n) {
1749
1760
  const d = We({
@@ -1757,14 +1768,14 @@ function Jt(e, n) {
1757
1768
  srgb: 0,
1758
1769
  oklab: [0, 0, 0]
1759
1770
  }, e);
1760
- return un(d, n), d;
1771
+ return dn(d, n), d;
1761
1772
  }
1762
- function $n(e) {
1763
- const { colorBoxes: n } = e, d = [], h = /* @__PURE__ */ new Map();
1764
- for (let m = -1, s = n.length, u = 0; u < s; u++) {
1773
+ function qn(e) {
1774
+ const { colorBoxes: n } = e, d = [], p = /* @__PURE__ */ new Map();
1775
+ for (let m = -1, a = n.length, u = 0; u < a; u++) {
1765
1776
  const { srgb: w } = n[u];
1766
1777
  if (w === m) {
1767
- h.set(u, !0);
1778
+ p.set(u, !0);
1768
1779
  continue;
1769
1780
  }
1770
1781
  m = w;
@@ -1774,7 +1785,7 @@ function $n(e) {
1774
1785
  max: [65535, 65535, 65535]
1775
1786
  });
1776
1787
  function f(m) {
1777
- const s = {
1788
+ const a = {
1778
1789
  min: [65535, 65535, 65535],
1779
1790
  max: [-65535, -65535, -65535]
1780
1791
  };
@@ -1782,7 +1793,7 @@ function $n(e) {
1782
1793
  const w = [];
1783
1794
  for (let W = n.length, T = 0; T < W; T++) {
1784
1795
  const { oklab: O } = n[T];
1785
- h.has(T) || O[0] < m.min[0] || O[1] < m.min[1] || O[2] < m.min[2] || O[0] > m.max[0] || O[1] > m.max[1] || O[2] > m.max[2] || (O[0] < s.min[0] && (s.min[0] = O[0]), O[1] < s.min[1] && (s.min[1] = O[1]), O[2] < s.min[2] && (s.min[2] = O[2]), O[0] > s.max[0] && (s.max[0] = O[0]), O[1] > s.max[1] && (s.max[1] = O[1]), O[2] > s.max[2] && (s.max[2] = O[2]), w[u++] = {
1796
+ p.has(T) || O[0] < m.min[0] || O[1] < m.min[1] || O[2] < m.min[2] || O[0] > m.max[0] || O[1] > m.max[1] || O[2] > m.max[2] || (O[0] < a.min[0] && (a.min[0] = O[0]), O[1] < a.min[1] && (a.min[1] = O[1]), O[2] < a.min[2] && (a.min[2] = O[2]), O[0] > a.max[0] && (a.max[0] = O[0]), O[1] > a.max[1] && (a.max[1] = O[1]), O[2] > a.max[2] && (a.max[2] = O[2]), w[u++] = {
1786
1797
  oklab: O,
1787
1798
  colorBoxIndex: T
1788
1799
  });
@@ -1790,22 +1801,22 @@ function $n(e) {
1790
1801
  let x = 0;
1791
1802
  if (!u)
1792
1803
  return { colorBoxIndex: -1, longest: x };
1793
- const Y = s.max[0] - s.min[0], G = s.max[1] - s.min[1], z = s.max[2] - s.min[2];
1804
+ const Y = a.max[0] - a.min[0], G = a.max[1] - a.min[1], z = a.max[2] - a.min[2];
1794
1805
  return Y >= G && Y >= z ? x = 0 : z >= Y && z >= G ? x = 2 : G >= Y && G >= z && (x = 1), {
1795
1806
  colorBoxIndex: w.sort((W, T) => W.oklab[x] - T.oklab[x])[u >> 1].colorBoxIndex,
1796
1807
  longest: x
1797
1808
  };
1798
1809
  }
1799
1810
  function M(m) {
1800
- const { colorBoxIndex: s, longest: u } = f(m);
1801
- if (s < 0)
1811
+ const { colorBoxIndex: a, longest: u } = f(m);
1812
+ if (a < 0)
1802
1813
  return -1;
1803
- const { oklab: w } = n[s], x = {
1814
+ const { oklab: w } = n[a], x = {
1804
1815
  longest: u,
1805
1816
  oklab: w,
1806
- colorBoxIndex: s
1817
+ colorBoxIndex: a
1807
1818
  }, Y = d.push(x) - 1;
1808
- h.set(s, !0);
1819
+ p.set(a, !0);
1809
1820
  const G = { max: [...m.max], min: [...m.min] }, z = { max: [...m.max], min: [...m.min] };
1810
1821
  G.max[u] = w[u], z.min[u] = Math.min(w[u] + 1, 65535);
1811
1822
  const W = M(G);
@@ -1814,24 +1825,24 @@ function $n(e) {
1814
1825
  }
1815
1826
  return d;
1816
1827
  }
1817
- function er(e, n = {}) {
1828
+ function $n(e, n = {}) {
1818
1829
  const {
1819
1830
  maxColors: d,
1820
- colorSamples: h
1831
+ colorSamples: p
1821
1832
  } = e;
1822
- if (!h.length)
1833
+ if (!p.length)
1823
1834
  return;
1824
1835
  const {
1825
1836
  maxColors: f = d,
1826
1837
  clearSamples: M = !0
1827
1838
  } = n;
1828
- let m = Jt({ end: h.length }, e), s = 1;
1839
+ let m = Jt({ end: p.length }, e), a = 1;
1829
1840
  const u = [m];
1830
1841
  function w() {
1831
1842
  let Y = -1, G = -1;
1832
- if (s === f)
1843
+ if (a === f)
1833
1844
  return -1;
1834
- for (let z = 0; z < s; z++) {
1845
+ for (let z = 0; z < a; z++) {
1835
1846
  const W = u[z];
1836
1847
  W.length >= 2 && W.score > G && (Y = z, G = W.score);
1837
1848
  }
@@ -1843,30 +1854,30 @@ function er(e, n = {}) {
1843
1854
  end: Y.end,
1844
1855
  sorted: Y.sorted
1845
1856
  }, e);
1846
- Y.end -= z.length, un(Y, e), u.push(z), s++;
1857
+ Y.end -= z.length, dn(Y, e), u.push(z), a++;
1847
1858
  }
1848
1859
  for (; m && m.length > 1; ) {
1849
1860
  const { start: Y, end: G, sort: z, sorted: W } = m;
1850
1861
  if (z !== W) {
1851
- const te = h.slice(Y, G).sort(Jn(z));
1862
+ const te = p.slice(Y, G).sort(Un(z));
1852
1863
  for (let $ = te.length, P = 0; P < $; P++)
1853
- h[Y + P] = te[P];
1864
+ p[Y + P] = te[P];
1854
1865
  m.sorted = z;
1855
1866
  }
1856
1867
  const T = m.weight + 1 >> 1;
1857
1868
  let O = Y, _ = 0;
1858
- for (let te = G - 2; O < te && (_ += h[O].count, !(_ > T)); O++)
1869
+ for (let te = G - 2; O < te && (_ += p[O].count, !(_ > T)); O++)
1859
1870
  ;
1860
1871
  x(m, O);
1861
1872
  const ie = w();
1862
1873
  m = ie >= 0 ? u[ie] : null;
1863
1874
  }
1864
1875
  for (let Y = u.length, G = 0; G < Y; G++)
1865
- u[G].srgb = Un(u[G].oklab);
1866
- e.colorBoxes = u.sort((Y, G) => Y.srgb - G.srgb), e.colorBoxesIndexTree = $n(e), M && (e.colorSamples = [], e.colorSamplesCache.clear()), e.finderCache.clear();
1876
+ u[G].srgb = Rn(u[G].oklab);
1877
+ e.colorBoxes = u.sort((Y, G) => Y.srgb - G.srgb), e.colorBoxesIndexTree = qn(e), M && (e.colorSamples = [], e.colorSamplesCache.clear()), e.finderCache.clear();
1867
1878
  }
1868
- function tr(e, n, d) {
1869
- const { colorBoxes: h } = e;
1879
+ function er(e, n, d) {
1880
+ const { colorBoxes: p } = e;
1870
1881
  if (!n)
1871
1882
  return;
1872
1883
  let f;
@@ -1886,12 +1897,12 @@ function tr(e, n, d) {
1886
1897
  const M = n(f);
1887
1898
  if (M === void 0)
1888
1899
  return;
1889
- const m = h[M];
1900
+ const m = p[M];
1890
1901
  if (!m)
1891
1902
  return;
1892
- const { srgb: s } = m;
1903
+ const { srgb: a } = m;
1893
1904
  if (typeof d == "string") {
1894
- const u = (s >> 16 & 255).toString(16).padStart(2, "0"), w = (s >> 8 & 255).toString(16).padStart(2, "0"), x = (s & 255).toString(16).padStart(2, "0");
1905
+ const u = (a >> 16 & 255).toString(16).padStart(2, "0"), w = (a >> 8 & 255).toString(16).padStart(2, "0"), x = (a & 255).toString(16).padStart(2, "0");
1895
1906
  return {
1896
1907
  value: `#${u}${w}${x}`,
1897
1908
  index: M
@@ -1899,37 +1910,37 @@ function tr(e, n, d) {
1899
1910
  } else if (typeof d == "object" && Array.isArray(d))
1900
1911
  return {
1901
1912
  value: [
1902
- s >> 16 & 255,
1903
- s >> 8 & 255,
1904
- s & 255
1913
+ a >> 16 & 255,
1914
+ a >> 8 & 255,
1915
+ a & 255
1905
1916
  ],
1906
1917
  index: M
1907
1918
  };
1908
1919
  return {
1909
- value: s,
1920
+ value: a,
1910
1921
  index: M
1911
1922
  };
1912
1923
  }
1913
- function nr(e) {
1924
+ function tr(e) {
1914
1925
  e.colorSamples = [], e.colorSamplesCache.clear(), e.colorBoxes = [], e.colorBoxesIndexTree = [], e.finderCache.clear();
1915
1926
  }
1916
1927
  function Ht(e) {
1917
- const n = Bn(e), {
1928
+ const n = Qn(e), {
1918
1929
  statsMode: d,
1919
- samples: h,
1930
+ samples: p,
1920
1931
  skipTransparent: f
1921
1932
  } = n, M = function() {
1922
1933
  let w;
1923
- return () => (!w && Fn && (w = document.createElement("canvas").getContext("2d", {
1934
+ return () => (!w && An && (w = document.createElement("canvas").getContext("2d", {
1924
1935
  willReadFrequently: !0
1925
1936
  })), w);
1926
1937
  }();
1927
- let m = null, s = null;
1938
+ let m = null, a = null;
1928
1939
  const u = {
1929
1940
  context: n,
1930
1941
  addSample: (w) => {
1931
1942
  n.colorSamples.length === 0 && (m = null);
1932
- const x = Lt(n, w, {
1943
+ const x = Gt(n, w, {
1933
1944
  getContext2d: M,
1934
1945
  previousSample: m,
1935
1946
  skipTransparent: f
@@ -1940,57 +1951,57 @@ function Ht(e) {
1940
1951
  },
1941
1952
  generate(w = {}) {
1942
1953
  const { clearSamples: x = !0 } = w;
1943
- return x && (m = null), er(n, w), this;
1954
+ return x && (m = null), $n(n, w), this;
1944
1955
  },
1945
- getColors: (w) => qn(n, w),
1946
- findNearestColor: (w) => (s || (s = dn(n)), tr(n, s, w)),
1947
- reset: () => nr(n)
1956
+ getColors: (w) => _n(n, w),
1957
+ findNearestColor: (w) => (a || (a = cn(n)), er(n, a, w)),
1958
+ reset: () => tr(n)
1948
1959
  };
1949
- return h.length && (h.forEach((w) => u.addSample(w)), n.samples = []), u;
1960
+ return p.length && (p.forEach((w) => u.addSample(w)), n.samples = []), u;
1950
1961
  }
1951
- const pt = "[modern-gif]", rr = "GIF", or = 44, mn = 33, ir = 255, ar = 11, sr = 249, lr = 4, cr = 59, dr = (...e) => console.warn(pt, ...e), ur = (...e) => console.debug(pt, ...e), mr = (e) => console.time(`${pt} ${e}`), hr = (e) => console.timeEnd(`${pt} ${e}`);
1952
- function pr(e) {
1962
+ const ht = "[modern-gif]", nr = "GIF", rr = 44, un = 33, or = 255, ir = 11, ar = 249, sr = 4, lr = 59, cr = (...e) => console.warn(ht, ...e), dr = (...e) => console.debug(ht, ...e), ur = (e) => console.time(`${ht} ${e}`), mr = (e) => console.timeEnd(`${ht} ${e}`);
1963
+ function hr(e) {
1953
1964
  const n = new Uint8Array(
1954
- e.reduce((d, h) => d + h.byteLength, 0)
1965
+ e.reduce((d, p) => d + p.byteLength, 0)
1955
1966
  );
1956
- return e.reduce((d, h) => (n.set(h, d), d + h.byteLength), 0), n;
1967
+ return e.reduce((d, p) => (n.set(p, d), d + p.byteLength), 0), n;
1957
1968
  }
1958
- function br(e, n, d) {
1959
- let h;
1969
+ function pr(e, n, d) {
1970
+ let p;
1960
1971
  if (ArrayBuffer.isView(e))
1961
- h = e.buffer;
1972
+ p = e.buffer;
1962
1973
  else if (e instanceof ArrayBuffer)
1963
- h = e;
1974
+ p = e;
1964
1975
  else {
1965
- const f = document.createElement("canvas"), { width: M, height: m } = d || {}, s = f.getContext("2d");
1966
- if (!s)
1976
+ const f = document.createElement("canvas"), { width: M, height: m } = d || {}, a = f.getContext("2d");
1977
+ if (!a)
1967
1978
  throw new Error("Failed to create canvas context2d");
1968
- f.width = M != null ? M : typeof e.width == "number" ? e.width : e.width.baseVal.value, f.height = m != null ? m : typeof e.height == "number" ? e.height : e.height.baseVal.value, s.drawImage(e, 0, 0, f.width, f.height), h = s.getImageData(0, 0, f.width, f.height).data.buffer;
1979
+ f.width = M != null ? M : typeof e.width == "number" ? e.width : e.width.baseVal.value, f.height = m != null ? m : typeof e.height == "number" ? e.height : e.height.baseVal.value, a.drawImage(e, 0, 0, f.width, f.height), p = a.getImageData(0, 0, f.width, f.height).data.buffer;
1969
1980
  }
1970
1981
  switch (n) {
1971
1982
  case "uint8Array":
1972
- return new Uint8Array(h);
1983
+ return new Uint8Array(p);
1973
1984
  case "uint8ClampedArray":
1974
- return new Uint8ClampedArray(h);
1985
+ return new Uint8ClampedArray(p);
1975
1986
  case "dataView":
1976
- return new DataView(h);
1987
+ return new DataView(p);
1977
1988
  default:
1978
1989
  throw new Error("Unsupported output format");
1979
1990
  }
1980
1991
  }
1981
- function gr(e) {
1992
+ function br(e) {
1982
1993
  const n = new Image();
1983
1994
  return n.decoding = "sync", n.loading = "eager", n.crossOrigin = "anonymous", n.src = e, n;
1984
1995
  }
1985
- function yr(e) {
1996
+ function gr(e) {
1986
1997
  return new Promise((n, d) => {
1987
- const h = gr(e);
1988
- h.onload = () => n(h), h.onerror = d;
1998
+ const p = br(e);
1999
+ p.onload = () => n(p), p.onerror = d;
1989
2000
  });
1990
2001
  }
1991
- function fr(e, n) {
2002
+ function yr(e, n) {
1992
2003
  var d;
1993
- const { top: h = 0, left: f = 0, width: M, height: m, rawWidth: s, rate: u = 4, callback: w } = n, x = new Uint8ClampedArray(M * m * u), Y = f * u, G = h * u, z = M * u, W = s * u;
2004
+ const { top: p = 0, left: f = 0, width: M, height: m, rawWidth: a, rate: u = 4, callback: w } = n, x = new Uint8ClampedArray(M * m * u), Y = f * u, G = p * u, z = M * u, W = a * u;
1994
2005
  for (let T = 0; T < m; T++)
1995
2006
  for (let O = 0; O < z; O++) {
1996
2007
  const _ = (G + T) * W + (Y + O);
@@ -1998,36 +2009,36 @@ function fr(e, n) {
1998
2009
  }
1999
2010
  return x;
2000
2011
  }
2001
- function hn(e = {}) {
2012
+ function mn(e = {}) {
2002
2013
  const {
2003
2014
  chunkSize: n = 4096
2004
2015
  } = e;
2005
- let d = [new Uint8Array(n)], h = 0, f = 0;
2006
- const M = (s, u) => {
2007
- u ? d[u[0]][u[1]] = s : (f >= n && (d[++h] = new Uint8Array(n), f = 0), d[h][f++] = s);
2008
- }, m = (s) => s.forEach((u) => M(u));
2016
+ let d = [new Uint8Array(n)], p = 0, f = 0;
2017
+ const M = (a, u) => {
2018
+ u ? d[u[0]][u[1]] = a : (f >= n && (d[++p] = new Uint8Array(n), f = 0), d[p][f++] = a);
2019
+ }, m = (a) => a.forEach((u) => M(u));
2009
2020
  return {
2010
- getCursor: () => [h, f],
2011
- setCursor: (s) => {
2012
- h = s[0], f = s[1];
2021
+ getCursor: () => [p, f],
2022
+ setCursor: (a) => {
2023
+ p = a[0], f = a[1];
2013
2024
  },
2014
- calculateDistance: (s) => h * n + f - (s[0] * n + s[1]),
2025
+ calculateDistance: (a) => p * n + f - (a[0] * n + a[1]),
2015
2026
  writeByte: M,
2016
2027
  writeBytes: m,
2017
- writeString: (s) => s.split("").forEach((u, w) => M(s.charCodeAt(w))),
2018
- writeUnsigned: (s) => m([s & 255, s >> 8 & 255]),
2028
+ writeString: (a) => a.split("").forEach((u, w) => M(a.charCodeAt(w))),
2029
+ writeUnsigned: (a) => m([a & 255, a >> 8 & 255]),
2019
2030
  flush: () => {
2020
- d[h] = d[h].slice(0, f);
2021
- const s = new Uint8Array(d.reduce((w, x) => w + x.byteLength, 0));
2031
+ d[p] = d[p].slice(0, f);
2032
+ const a = new Uint8Array(d.reduce((w, x) => w + x.byteLength, 0));
2022
2033
  let u = 0;
2023
2034
  return d.forEach((w) => {
2024
- s.set(w, u), u += w.byteLength;
2025
- }), d = [new Uint8Array(n)], h = 0, f = 0, s;
2035
+ a.set(w, u), u += w.byteLength;
2036
+ }), d = [new Uint8Array(n)], p = 0, f = 0, a;
2026
2037
  }
2027
2038
  };
2028
2039
  }
2029
- function wr(e) {
2030
- var n, d, h;
2040
+ function fr(e) {
2041
+ var n, d, p;
2031
2042
  const f = We({
2032
2043
  version: "89a",
2033
2044
  looped: !0,
@@ -2054,46 +2065,46 @@ function wr(e) {
2054
2065
  if (f.backgroundColorIndex === 0)
2055
2066
  throw new Error("Background index explicitly passed as 0.");
2056
2067
  }
2057
- const m = hn(), {
2058
- writeByte: s,
2068
+ const m = mn(), {
2069
+ writeByte: a,
2059
2070
  writeBytes: u,
2060
2071
  writeUnsigned: w,
2061
2072
  writeString: x,
2062
2073
  flush: Y
2063
2074
  } = m;
2064
- return x(rr), x(f.version), w(f.width), w(f.height), s(parseInt(`${f.colorTableSize ? 1 : 0}1110${f.colorTableSize.toString(2).padStart(3, "0")}`, 2)), s(f.backgroundColorIndex), s(f.pixelAspectRatio), u((h = (d = f.colorTable) == null ? void 0 : d.flat()) != null ? h : []), f.looped && (s(mn), s(ir), s(ar), x("NETSCAPE2.0"), s(3), s(1), w(f.loopCount), s(0)), Y();
2075
+ return x(nr), x(f.version), w(f.width), w(f.height), a(parseInt(`${f.colorTableSize ? 1 : 0}1110${f.colorTableSize.toString(2).padStart(3, "0")}`, 2)), a(f.backgroundColorIndex), a(f.pixelAspectRatio), u((p = (d = f.colorTable) == null ? void 0 : d.flat()) != null ? p : []), f.looped && (a(un), a(or), a(ir), x("NETSCAPE2.0"), a(3), a(1), w(f.loopCount), a(0)), Y();
2065
2076
  }
2066
- function Mr(e, n, d) {
2067
- const { writeByte: h, getCursor: f, calculateDistance: M } = d;
2068
- h(e);
2077
+ function wr(e, n, d) {
2078
+ const { writeByte: p, getCursor: f, calculateDistance: M } = d;
2079
+ p(e);
2069
2080
  let m = f();
2070
- h(0);
2071
- const s = 1 << e, u = s - 1, w = s + 1;
2081
+ p(0);
2082
+ const a = 1 << e, u = a - 1, w = a + 1;
2072
2083
  let x = w + 1, Y = e + 1, G = 0, z = 0;
2073
2084
  function W(P) {
2074
2085
  for (; G >= P; )
2075
- h(z & 255), z >>= 8, G -= 8, M(m) === 256 && (h(255, m), m = f(), h(0));
2086
+ p(z & 255), z >>= 8, G -= 8, M(m) === 256 && (p(255, m), m = f(), p(0));
2076
2087
  }
2077
2088
  function T(P) {
2078
2089
  z |= P << G, G += Y, W(8);
2079
2090
  }
2080
2091
  let O = n[0] & u, _ = {}, ie, te, $;
2081
- T(s);
2092
+ T(a);
2082
2093
  for (let P = n.length, L = 1; L < P; ++L)
2083
2094
  if ($ = n[L] & u, ie = O << 8 | $, te = _[ie], te === void 0) {
2084
2095
  for (z |= O << G, G += Y; G >= 8; )
2085
- h(z & 255), z >>= 8, G -= 8, M(m) === 256 && (h(255, m), m = f(), h(0));
2086
- x === 4096 ? (T(s), x = w + 1, Y = e + 1, _ = {}) : (x >= 1 << Y && ++Y, _[ie] = x++), O = $;
2096
+ p(z & 255), z >>= 8, G -= 8, M(m) === 256 && (p(255, m), m = f(), p(0));
2097
+ x === 4096 ? (T(a), x = w + 1, Y = e + 1, _ = {}) : (x >= 1 << Y && ++Y, _[ie] = x++), O = $;
2087
2098
  } else
2088
2099
  O = te;
2089
- T(O), T(w), W(1), M(m) === 1 ? h(0, m) : (h(M(m) - 1, m), h(0));
2100
+ T(O), T(w), W(1), M(m) === 1 ? p(0, m) : (p(M(m) - 1, m), p(0));
2090
2101
  }
2091
- function xr(e) {
2092
- var n, d, h;
2093
- const f = hn(), {
2102
+ function Mr(e) {
2103
+ var n, d, p;
2104
+ const f = mn(), {
2094
2105
  writeByte: M,
2095
2106
  writeBytes: m,
2096
- writeUnsigned: s,
2107
+ writeUnsigned: a,
2097
2108
  flush: u
2098
2109
  } = f, {
2099
2110
  left: w = 0,
@@ -2107,7 +2118,7 @@ function xr(e) {
2107
2118
  disposal: T = 0
2108
2119
  } = e;
2109
2120
  const O = (n = e.graphicControl) == null ? void 0 : n.transparent;
2110
- let _ = (h = (d = e.graphicControl) == null ? void 0 : d.transparentIndex) != null ? h : 255;
2121
+ let _ = (p = (d = e.graphicControl) == null ? void 0 : d.transparentIndex) != null ? p : 255;
2111
2122
  if (w < 0 || w > 65535)
2112
2123
  throw new Error("Left invalid.");
2113
2124
  if (x < 0 || x > 65535)
@@ -2123,37 +2134,37 @@ function xr(e) {
2123
2134
  for (; te >>= 1; )
2124
2135
  ++ie;
2125
2136
  }
2126
- return M(mn), M(sr), M(lr), O ? T || (T = 2) : _ = 0, M(parseInt(`000${Number(T & 7).toString(2).padStart(3, "0")}0${O ? 1 : 0}`, 2)), s(z / 10), M(_), M(0), M(or), s(w), s(x), s(Y), s(G), W != null && W.length ? (M(parseInt(`10000${(ie - 1).toString(2).padStart(3, "0")}`, 2)), m(W.flat())) : M(0), Mr(ie, e.imageData, f), u();
2137
+ return M(un), M(ar), M(sr), O ? T || (T = 2) : _ = 0, M(parseInt(`000${Number(T & 7).toString(2).padStart(3, "0")}0${O ? 1 : 0}`, 2)), a(z / 10), M(_), M(0), M(rr), a(w), a(x), a(Y), a(G), W != null && W.length ? (M(parseInt(`10000${(ie - 1).toString(2).padStart(3, "0")}`, 2)), m(W.flat())) : M(0), wr(ie, e.imageData, f), u();
2127
2138
  }
2128
- function Tr(e) {
2139
+ function xr(e) {
2129
2140
  const {
2130
2141
  frames: n,
2131
2142
  palette: d,
2132
- transparentIndex: h
2133
- } = e, f = dn(d);
2143
+ transparentIndex: p
2144
+ } = e, f = cn(d);
2134
2145
  return n.map(({ imageData: M }) => {
2135
2146
  let m = !1;
2136
- const s = new Uint8ClampedArray(M.length / 4);
2147
+ const a = new Uint8ClampedArray(M.length / 4);
2137
2148
  for (let u = M.length, w = 0; w < u; w += 4)
2138
- M[w + 3] === 0 ? (s[w / 4] = h, m = !0) : s[w / 4] = f(
2149
+ M[w + 3] === 0 ? (a[w / 4] = p, m = !0) : a[w / 4] = f(
2139
2150
  M[w] << 16 | M[w + 1] << 8 | M[w + 2]
2140
2151
  );
2141
2152
  return {
2142
- imageData: s,
2153
+ imageData: a,
2143
2154
  transparent: m
2144
2155
  };
2145
2156
  });
2146
2157
  }
2147
- function vr(e) {
2158
+ function Tr(e) {
2148
2159
  const { frames: n, transparentIndex: d } = e;
2149
- let h;
2160
+ let p;
2150
2161
  return n.map((f, M) => {
2151
- var m, s;
2162
+ var m, a;
2152
2163
  const {
2153
2164
  width: u,
2154
2165
  height: w,
2155
2166
  imageData: x
2156
- } = f, Y = f.transparent || ((s = (m = n[M + 1]) == null ? void 0 : m.transparent) != null ? s : !0);
2167
+ } = f, Y = f.transparent || ((a = (m = n[M + 1]) == null ? void 0 : m.transparent) != null ? a : !0);
2157
2168
  let G = 0, z = 0, W = u - 1, T = w - 1, O;
2158
2169
  if (Y) {
2159
2170
  for (; z < T; ) {
@@ -2201,12 +2212,12 @@ function vr(e) {
2201
2212
  W--;
2202
2213
  }
2203
2214
  } else {
2204
- if (h) {
2215
+ if (p) {
2205
2216
  for (; z < T; ) {
2206
2217
  let $ = !0;
2207
2218
  for (let P = 0; P < u; P++) {
2208
2219
  const L = u * z + P;
2209
- if (x[L] !== h[L]) {
2220
+ if (x[L] !== p[L]) {
2210
2221
  $ = !1;
2211
2222
  break;
2212
2223
  }
@@ -2219,7 +2230,7 @@ function vr(e) {
2219
2230
  let $ = !0;
2220
2231
  for (let P = 0; P < u; P++) {
2221
2232
  const L = u * T + P;
2222
- if (x[L] !== h[L]) {
2233
+ if (x[L] !== p[L]) {
2223
2234
  $ = !1;
2224
2235
  break;
2225
2236
  }
@@ -2235,7 +2246,7 @@ function vr(e) {
2235
2246
  let $ = !0;
2236
2247
  for (let P = z; P <= T; P++) {
2237
2248
  const L = P * u + G;
2238
- if (x[L] !== h[L]) {
2249
+ if (x[L] !== p[L]) {
2239
2250
  $ = !1;
2240
2251
  break;
2241
2252
  }
@@ -2248,7 +2259,7 @@ function vr(e) {
2248
2259
  let $ = !0;
2249
2260
  for (let P = z; P <= T; P++) {
2250
2261
  const L = P * u + W;
2251
- if (x[L] !== h[L]) {
2262
+ if (x[L] !== p[L]) {
2252
2263
  $ = !1;
2253
2264
  break;
2254
2265
  }
@@ -2259,9 +2270,9 @@ function vr(e) {
2259
2270
  }
2260
2271
  }
2261
2272
  }
2262
- O = h, h = x;
2273
+ O = p, p = x;
2263
2274
  }
2264
- const _ = W + 1 - G, ie = T + 1 - z, te = fr(
2275
+ const _ = W + 1 - G, ie = T + 1 - z, te = yr(
2265
2276
  x,
2266
2277
  {
2267
2278
  left: G,
@@ -2286,67 +2297,67 @@ function vr(e) {
2286
2297
  };
2287
2298
  });
2288
2299
  }
2289
- function Sr(e) {
2300
+ function vr(e) {
2290
2301
  return {
2291
- time: (n) => e && mr(n),
2292
- timeEnd: (n) => e && hr(n),
2293
- debug: (...n) => e && ur(...n),
2294
- warn: (...n) => e && dr(...n)
2302
+ time: (n) => e && ur(n),
2303
+ timeEnd: (n) => e && mr(n),
2304
+ debug: (...n) => e && dr(...n),
2305
+ warn: (...n) => e && cr(...n)
2295
2306
  };
2296
2307
  }
2297
- function Zr(e) {
2308
+ function Sr(e) {
2298
2309
  const n = /* @__PURE__ */ new Map(), { workerUrl: d } = e;
2299
- let { workerNumber: h = 1 } = e;
2300
- const f = [...new Array(d ? h : 0)].map(() => {
2310
+ let { workerNumber: p = 1 } = e;
2311
+ const f = [...new Array(d ? p : 0)].map(() => {
2301
2312
  try {
2302
- const s = new Worker(d);
2303
- return s.onmessage = M, s;
2304
- } catch (s) {
2313
+ const a = new Worker(d);
2314
+ return a.onmessage = M, a;
2315
+ } catch (a) {
2305
2316
  return null;
2306
2317
  }
2307
2318
  }).filter(Boolean);
2308
- h = f.length;
2309
- function M(s) {
2319
+ p = f.length;
2320
+ function M(a) {
2310
2321
  var u;
2311
- const { id: w, data: x } = s.data;
2322
+ const { id: w, data: x } = a.data;
2312
2323
  (u = n.get(w)) == null || u(x), n.delete(w);
2313
2324
  }
2314
2325
  const m = function() {
2315
- let s = 0;
2316
- return (u) => f[(u != null ? u : s++) % h];
2326
+ let a = 0;
2327
+ return (u) => f[(u != null ? u : a++) % p];
2317
2328
  }();
2318
2329
  return {
2319
2330
  call: function() {
2320
- let s = 0;
2331
+ let a = 0;
2321
2332
  return (u, w, x, Y) => new Promise((G) => {
2322
2333
  const z = m(Y);
2323
2334
  if (!z)
2324
2335
  return G(void 0);
2325
- n.set(s, G), z.postMessage({ id: s++, type: u, data: w }, { transfer: x });
2336
+ n.set(a, G), z.postMessage({ id: a++, type: u, data: w }, { transfer: x });
2326
2337
  });
2327
2338
  }()
2328
2339
  };
2329
2340
  }
2330
- function Nr(e) {
2341
+ function Zr(e) {
2331
2342
  const {
2332
2343
  width: n,
2333
2344
  height: d,
2334
- workerUrl: h,
2345
+ workerUrl: p,
2335
2346
  workerNumber: f = 1,
2336
2347
  colorTableSize: M = 256,
2337
2348
  backgroundColorIndex: m = M - 1,
2338
- maxColors: s = M - 1,
2349
+ maxColors: a = M - 1,
2339
2350
  debug: u = !1
2340
2351
  } = e, w = {
2341
2352
  width: n,
2342
2353
  height: d,
2343
- maxColors: s,
2354
+ maxColors: a,
2344
2355
  frames: [],
2345
- log: Sr(u),
2356
+ log: vr(u),
2346
2357
  palette: Ht({
2347
2358
  skipTransparent: !1
2348
2359
  }),
2349
- worker: Zr({ workerUrl: h, workerNumber: f }),
2360
+ worker: Sr({ workerUrl: p, workerNumber: f }),
2350
2361
  encodeId: 0,
2351
2362
  encode(T) {
2352
2363
  return Ee(this, null, function* () {
@@ -2356,8 +2367,8 @@ function Nr(e) {
2356
2367
  let { imageData: se } = T;
2357
2368
  O.time(`palette:sample-${ie}`);
2358
2369
  try {
2359
- se = typeof se == "string" ? yield yr(se) : se;
2360
- const be = br(se, "uint8ClampedArray", {
2370
+ se = typeof se == "string" ? yield gr(se) : se;
2371
+ const be = pr(se, "uint8ClampedArray", {
2361
2372
  width: P,
2362
2373
  height: L
2363
2374
  });
@@ -2414,13 +2425,13 @@ function Nr(e) {
2414
2425
  })
2415
2426
  )));
2416
2427
  T.timeEnd("frames:encode"), T.time("output");
2417
- const we = wr(Qe(We({}, e), {
2428
+ const we = fr(Qe(We({}, e), {
2418
2429
  colorTable: L,
2419
2430
  backgroundColorIndex: m,
2420
2431
  width: _,
2421
2432
  height: ie
2422
- })), Ye = pr(Le), k = new Uint8Array(we.length + Ye.byteLength + 1);
2423
- return k.set(we), k.set(Ye, we.byteLength), k[k.length - 1] = cr, T.timeEnd("output"), $.reset(), w.frames = [], w.encodeId = 0, k;
2433
+ })), Ye = hr(Le), k = new Uint8Array(we.length + Ye.byteLength + 1);
2434
+ return k.set(we), k.set(Ye, we.byteLength), k[k.length - 1] = lr, T.timeEnd("output"), $.reset(), w.frames = [], w.encodeId = 0, k;
2424
2435
  });
2425
2436
  }
2426
2437
  };
@@ -2449,7 +2460,7 @@ function Nr(e) {
2449
2460
  return (yield w.worker.call(
2450
2461
  "frames:index",
2451
2462
  T
2452
- )) || Tr(T);
2463
+ )) || xr(T);
2453
2464
  });
2454
2465
  }
2455
2466
  function z(T) {
@@ -2458,7 +2469,7 @@ function Nr(e) {
2458
2469
  "frames:crop",
2459
2470
  T,
2460
2471
  T.frames.map((_) => _.imageData.buffer)
2461
- )) || vr(T);
2472
+ )) || Tr(T);
2462
2473
  });
2463
2474
  }
2464
2475
  function W(T) {
@@ -2467,62 +2478,62 @@ function Nr(e) {
2467
2478
  "frame:encode",
2468
2479
  T,
2469
2480
  [T.imageData.buffer]
2470
- )) || xr(T);
2481
+ )) || Mr(T);
2471
2482
  });
2472
2483
  }
2473
2484
  return w;
2474
2485
  }
2475
- function Ir(e) {
2486
+ function Nr(e) {
2476
2487
  return Ee(this, null, function* () {
2477
- const { frames: n } = e, d = Nr(e);
2478
- for (let h = n.length, f = 0; f < h; f++)
2488
+ const { frames: n } = e, d = Zr(e);
2489
+ for (let p = n.length, f = 0; f < p; f++)
2479
2490
  yield d.encode(n[f]);
2480
2491
  return yield d.flush();
2481
2492
  });
2482
2493
  }
2483
- const Cr = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgZXQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0dD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBCPU1hdGgucG93LHVlPShfLHgsayk9PnggaW4gXz9RZShfLHgse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KTpfW3hdPWsscT0oXyx4KT0+e2Zvcih2YXIgayBpbiB4fHwoeD17fSkpZXQuY2FsbCh4LGspJiZ1ZShfLGsseFtrXSk7aWYoZGUpZm9yKHZhciBrIG9mIGRlKHgpKXR0LmNhbGwoeCxrKSYmdWUoXyxrLHhba10pO3JldHVybiBffTsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y29uc3QgXz10eXBlb2Ygd2luZG93PCJ1Iix4PTY1NTM2LTEsaz14KngsaGU9NTEyLTEsRj1bMCwyMCw0MCw2MCw4MCw5OSwxMTksMTM5LDE1OSwxNzksMTk5LDIxOSwyNDEsMjY0LDI4OCwzMTMsMzQwLDM2NywzOTYsNDI3LDQ1OCw0OTEsNTI2LDU2Miw1OTksNjM3LDY3Nyw3MTgsNzYxLDgwNSw4NTEsODk4LDk0Nyw5OTcsMTA0OCwxMTAxLDExNTYsMTIxMiwxMjcwLDEzMzAsMTM5MSwxNDUzLDE1MTcsMTU4MywxNjUxLDE3MjAsMTc5MCwxODYzLDE5MzcsMjAxMywyMDkwLDIxNzAsMjI1MCwyMzMzLDI0MTgsMjUwNCwyNTkyLDI2ODEsMjc3MywyODY2LDI5NjEsMzA1OCwzMTU3LDMyNTgsMzM2MCwzNDY0LDM1NzAsMzY3OCwzNzg4LDM5MDAsNDAxNCw0MTI5LDQyNDcsNDM2Niw0NDg4LDQ2MTEsNDczNiw0ODY0LDQ5OTMsNTEyNCw1MjU3LDUzOTIsNTUzMCw1NjY5LDU4MTAsNTk1Myw2MDk5LDYyNDYsNjM5NSw2NTQ3LDY3MDAsNjg1Niw3MDE0LDcxNzQsNzMzNSw3NTAwLDc2NjYsNzgzNCw4MDA0LDgxNzcsODM1Miw4NTI4LDg3MDgsODg4OSw5MDcyLDkyNTgsOTQ0NSw5NjM1LDk4MjgsMTAwMjIsMTAyMTksMTA0MTcsMTA2MTksMTA4MjIsMTEwMjgsMTEyMzUsMTE0NDYsMTE2NTgsMTE4NzMsMTIwOTAsMTIzMDksMTI1MzAsMTI3NTQsMTI5ODAsMTMyMDksMTM0NDAsMTM2NzMsMTM5MDksMTQxNDYsMTQzODcsMTQ2MjksMTQ4NzQsMTUxMjIsMTUzNzEsMTU2MjMsMTU4NzgsMTYxMzUsMTYzOTQsMTY2NTYsMTY5MjAsMTcxODcsMTc0NTYsMTc3MjcsMTgwMDEsMTgyNzcsMTg1NTYsMTg4MzcsMTkxMjEsMTk0MDcsMTk2OTYsMTk5ODcsMjAyODEsMjA1NzcsMjA4NzYsMjExNzcsMjE0ODEsMjE3ODcsMjIwOTYsMjI0MDcsMjI3MjEsMjMwMzgsMjMzNTcsMjM2NzgsMjQwMDIsMjQzMjksMjQ2NTgsMjQ5OTAsMjUzMjUsMjU2NjIsMjYwMDEsMjYzNDQsMjY2ODgsMjcwMzYsMjczODYsMjc3MzksMjgwOTQsMjg0NTIsMjg4MTMsMjkxNzYsMjk1NDIsMjk5MTEsMzAyODIsMzA2NTYsMzEwMzMsMzE0MTIsMzE3OTQsMzIxNzksMzI1NjcsMzI5NTcsMzMzNTAsMzM3NDUsMzQxNDMsMzQ1NDQsMzQ5NDgsMzUzNTUsMzU3NjQsMzYxNzYsMzY1OTEsMzcwMDgsMzc0MjksMzc4NTIsMzgyNzgsMzg3MDYsMzkxMzgsMzk1NzIsNDAwMDksNDA0NDksNDA4OTEsNDEzMzcsNDE3ODUsNDIyMzYsNDI2OTAsNDMxNDcsNDM2MDYsNDQwNjksNDQ1MzQsNDUwMDIsNDU0NzMsNDU5NDcsNDY0MjMsNDY5MDMsNDczODUsNDc4NzEsNDgzNTksNDg4NTAsNDkzNDQsNDk4NDEsNTAzNDEsNTA4NDQsNTEzNDksNTE4NTgsNTIzNjksNTI4ODQsNTM0MDEsNTM5MjEsNTQ0NDUsNTQ5NzEsNTU1MDAsNTYwMzIsNTY1NjcsNTcxMDUsNTc2NDYsNTgxOTAsNTg3MzcsNTkyODcsNTk4NDAsNjAzOTYsNjA5NTUsNjE1MTcsNjIwODIsNjI2NTAsNjMyMjEsNjM3OTUsNjQzNzIsNjQ5NTIsNjU1MzVdLFk9WzAsNiwxMywxOCwyMiwyNSwyOCwzMSwzNCwzNiwzOCw0MCw0Miw0NCw0Niw0OCw1MCw1MSw1Myw1NCw1Niw1Nyw1OSw2MCw2MSw2Miw2NCw2NSw2Niw2Nyw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Niw4Nyw4OCw4OSw5MCw5MSw5MSw5Miw5Myw5NCw5NSw5NSw5Niw5Nyw5OCw5OCw5OSwxMDAsMTAxLDEwMSwxMDIsMTAzLDEwMywxMDQsMTA1LDEwNiwxMDYsMTA3LDEwOCwxMDgsMTA5LDExMCwxMTAsMTExLDExMSwxMTIsMTEzLDExMywxMTQsMTE1LDExNSwxMTYsMTE2LDExNywxMTgsMTE4LDExOSwxMTksMTIwLDEyMSwxMjEsMTIyLDEyMiwxMjMsMTIzLDEyNCwxMjUsMTI1LDEyNiwxMjYsMTI3LDEyNywxMjgsMTI4LDEyOSwxMjksMTMwLDEzMCwxMzEsMTMyLDEzMiwxMzMsMTMzLDEzNCwxMzQsMTM1LDEzNSwxMzYsMTM2LDEzNywxMzcsMTM4LDEzOCwxMzksMTM5LDE0MCwxNDAsMTQwLDE0MSwxNDEsMTQyLDE0MiwxNDMsMTQzLDE0NCwxNDQsMTQ1LDE0NSwxNDYsMTQ2LDE0NywxNDcsMTQ3LDE0OCwxNDgsMTQ5LDE0OSwxNTAsMTUwLDE1MSwxNTEsMTUxLDE1MiwxNTIsMTUzLDE1MywxNTQsMTU0LDE1NCwxNTUsMTU1LDE1NiwxNTYsMTU2LDE1NywxNTcsMTU4LDE1OCwxNTksMTU5LDE1OSwxNjAsMTYwLDE2MSwxNjEsMTYxLDE2MiwxNjIsMTYzLDE2MywxNjMsMTY0LDE2NCwxNjUsMTY1LDE2NSwxNjYsMTY2LDE2NiwxNjcsMTY3LDE2OCwxNjgsMTY4LDE2OSwxNjksMTY5LDE3MCwxNzAsMTcxLDE3MSwxNzEsMTcyLDE3MiwxNzIsMTczLDE3MywxNzQsMTc0LDE3NCwxNzUsMTc1LDE3NSwxNzYsMTc2LDE3NiwxNzcsMTc3LDE3NywxNzgsMTc4LDE3OSwxNzksMTc5LDE4MCwxODAsMTgwLDE4MSwxODEsMTgxLDE4MiwxODIsMTgyLDE4MywxODMsMTgzLDE4NCwxODQsMTg0LDE4NSwxODUsMTg1LDE4NiwxODYsMTg2LDE4NywxODcsMTg3LDE4OCwxODgsMTg4LDE4OSwxODksMTg5LDE5MCwxOTAsMTkwLDE5MSwxOTEsMTkxLDE5MiwxOTIsMTkyLDE5MywxOTMsMTkzLDE5MywxOTQsMTk0LDE5NCwxOTUsMTk1LDE5NSwxOTYsMTk2LDE5NiwxOTcsMTk3LDE5NywxOTgsMTk4LDE5OCwxOTgsMTk5LDE5OSwxOTksMjAwLDIwMCwyMDAsMjAxLDIwMSwyMDEsMjAxLDIwMiwyMDIsMjAyLDIwMywyMDMsMjAzLDIwNCwyMDQsMjA0LDIwNCwyMDUsMjA1LDIwNSwyMDYsMjA2LDIwNiwyMDYsMjA3LDIwNywyMDcsMjA4LDIwOCwyMDgsMjA4LDIwOSwyMDksMjA5LDIxMCwyMTAsMjEwLDIxMCwyMTEsMjExLDIxMSwyMTIsMjEyLDIxMiwyMTIsMjEzLDIxMywyMTMsMjE0LDIxNCwyMTQsMjE0LDIxNSwyMTUsMjE1LDIxNSwyMTYsMjE2LDIxNiwyMTcsMjE3LDIxNywyMTcsMjE4LDIxOCwyMTgsMjE4LDIxOSwyMTksMjE5LDIyMCwyMjAsMjIwLDIyMCwyMjEsMjIxLDIyMSwyMjEsMjIyLDIyMiwyMjIsMjIyLDIyMywyMjMsMjIzLDIyNCwyMjQsMjI0LDIyNCwyMjUsMjI1LDIyNSwyMjUsMjI2LDIyNiwyMjYsMjI2LDIyNywyMjcsMjI3LDIyNywyMjgsMjI4LDIyOCwyMjgsMjI5LDIyOSwyMjksMjI5LDIzMCwyMzAsMjMwLDIzMCwyMzEsMjMxLDIzMSwyMzEsMjMyLDIzMiwyMzIsMjMyLDIzMywyMzMsMjMzLDIzMywyMzQsMjM0LDIzNCwyMzQsMjM1LDIzNSwyMzUsMjM1LDIzNiwyMzYsMjM2LDIzNiwyMzcsMjM3LDIzNywyMzcsMjM4LDIzOCwyMzgsMjM4LDIzOSwyMzksMjM5LDIzOSwyMzksMjQwLDI0MCwyNDAsMjQwLDI0MSwyNDEsMjQxLDI0MSwyNDIsMjQyLDI0MiwyNDIsMjQzLDI0MywyNDMsMjQzLDI0MywyNDQsMjQ0LDI0NCwyNDQsMjQ1LDI0NSwyNDUsMjQ1LDI0NiwyNDYsMjQ2LDI0NiwyNDYsMjQ3LDI0NywyNDcsMjQ3LDI0OCwyNDgsMjQ4LDI0OCwyNDksMjQ5LDI0OSwyNDksMjQ5LDI1MCwyNTAsMjUwLDI1MCwyNTEsMjUxLDI1MSwyNTEsMjUxLDI1MiwyNTIsMjUyLDI1MiwyNTMsMjUzLDI1MywyNTMsMjUzLDI1NCwyNTQsMjU0LDI1NCwyNTUsMjU1LDI1NV07ZnVuY3Rpb24gVyhyKXtsZXQgZTtpZihyPD0wKXJldHVybiAwO2lmKHI+PXgpcmV0dXJuIHg7ZT1yKihyKihyKy0xNDQxMDcpL3grMTMyMTE0KS94KzE0Mzc5O2ZvcihsZXQgYT0wO2E8MjthKyspe2NvbnN0IGk9ZSplKmUscz1yKygyKmkray8yKS9rO2U9KGUqKDIqcisoaStrLzIpL2spK3MvMikvc31yZXR1cm4gZX1mdW5jdGlvbiB2KHIsZSl7cmV0dXJuKHJeZSk8MD8oci1lLzIpL2U6KHIrZS8yKS9lfWZ1bmN0aW9uIEoocil7Y29uc3QgZT1GW3I+PjE2JjI1NV0sYT1GW3I+PjgmMjU1XSxpPUZbciYyNTVdLHM9KDI3MDE1KmUrMzUxNDkqYSszMzcyKmkreC8yKS94LGY9KDEzODg3KmUrNDQ2MTAqYSs3MDM4KmkreC8yKS94LG89KDU3ODcqZSsxODQ2MiphKzQxMjg2KmkreC8yKS94LG49VyhzKSx0PVcoZiksbD1XKG8pO3JldHVyblt2KDEzNzkyKm4rNTIwMTAqdC0yNjcqbCx4KSx2KDEyOTYyOCpuLTE1OTE1OCp0KzI5NTMwKmwseCksdigxNjk4Km4rNTEyOTkqdC01Mjk5NypsLHgpXX1mdW5jdGlvbiBLKHIpe2lmKHI8PTApcmV0dXJuIDA7aWYocj49eClyZXR1cm4gMjU1O3tjb25zdCBlPXIqaGUsYT1+fihlL3gpLGk9ZSV4LHM9WVthXSxmPVlbYSsxXTtyZXR1cm4oaSooZi1zKSt4LzIpL3grc319ZnVuY3Rpb24gZ2Uocil7Y29uc3QgZT1yWzBdK3YoMjU5NzQqclsxXSx4KSt2KDE0MTQzKnJbMl0seCksYT1yWzBdK3YoLTY5MTgqclsxXSx4KSt2KC00MTg1KnJbMl0seCksaT1yWzBdK3YoLTU4NjQqclsxXSx4KSt2KC04NDYzOCpyWzJdLHgpLHM9QihlLDIpKmUvayxmPUIoYSwyKSphL2ssbz1CKGksMikqaS9rLG49SygoMjY3MTY5KnMrLTIxNjc3MSpmKzE1MTM3Km8reC8yKS94KSx0PUsoKC04MzEyNypzKzE3MTAzMCpmKy0yMjM2OCpvK3gvMikveCksbD1LKCgtMjc1KnMrLTQ2MDk5KmYrMTExOTA5Km8reC8yKS94KTtyZXR1cm4gbjw8MTZ8dDw8OHxsfWZ1bmN0aW9uIHBlKHIpe2NvbnN0IGU9e2w6MCxhOjEsYjoyfSxhPXJbMF0saT1yWzFdLHM9clsyXSxmPWVbYV0sbz1lW2ldLG49ZVtzXTtyZXR1cm4odCxsKT0+dC5va2xhYltmXS1sLm9rbGFiW2ZdfHx0Lm9rbGFiW29dLWwub2tsYWJbb118fHQub2tsYWJbbl0tbC5va2xhYltuXX1mdW5jdGlvbiBtZShyLGUsYSl7cmV0dXJuIHI+PWU/ZT49YT8ibGFiIjpyPj1hPyJsYmEiOiJibGEiOnI+PWE/ImFsYiI6ZT49YT8iYWJsIjoiYmFsIn1mdW5jdGlvbiB3ZShyKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2NvbnN0IGE9bmV3IEltYWdlO2EuZGVjb2Rpbmc9InN5bmMiLGEubG9hZGluZz0iZWFnZXIiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5vbmxvYWQ9KCk9PmUoYSksYS5vbmVycm9yPSgpPT5lKGEpLGEuc3JjPXJ9KX1mdW5jdGlvbiBRKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJiJfX0NPTlRFWFRfXyJpbiByfWZ1bmN0aW9uIGJlKHIpe3JldHVybiBRKHIpP3I6eGUocil9ZnVuY3Rpb24geGUocj17fSl7Y29uc3R7bWF4Q29sb3JzOmU9MjU2LHN0YXRzTW9kZTphPSJmdWxsIixzYW1wbGVzOmk9W10sc2tpcFRyYW5zcGFyZW50OnM9ITB9PXI7cmV0dXJue19fQ09OVEVYVF9fOiEwLHNhbXBsZXM6aSxtYXhDb2xvcnM6ZSxzdGF0c01vZGU6YSxza2lwVHJhbnNwYXJlbnQ6cyxjb2xvclNhbXBsZXM6W10sY29sb3JTYW1wbGVzQ2FjaGU6bmV3IE1hcCxjb2xvckJveGVzOltdLGNvbG9yQm94ZXNJbmRleFRyZWU6W10sZmluZGVyQ2FjaGU6bmV3IE1hcH19ZnVuY3Rpb24gZWUocil7Y29uc3QgZT1RKHIpP3I6ci5jb250ZXh0LHtjb2xvckJveGVzSW5kZXhUcmVlOmEsZmluZGVyQ2FjaGU6aX09ZTtmdW5jdGlvbiBzKG8sbix0KXtjb25zdHtsZWZ0OmwscmlnaHQ6Zyxsb25nZXN0OmMsb2tsYWI6aCxjb2xvckJveEluZGV4OnB9PWFbb10sYj1NYXRoLm1pbihCKG5bMF0taFswXSwyKStCKG5bMV0taFsxXSwyKStCKG5bMl0taFsyXSwyKSw0Mjk0OTY3Mjk1LTEpO2I8dC5kaXN0JiYodC5jb2xvckJveEluZGV4PXAsdC5kaXN0PWIpO2xldCBkLHU7aWYobCE9PS0xfHxnIT09LTEpe2NvbnN0IEM9bltjXS1oW2NdO0M8PTA/KGQ9bCx1PWcpOihkPWcsdT1sKSxkIT09LTEmJnMoZCxuLHQpLHUhPT0tMSYmQihDLDIpPHQuZGlzdCYmcyh1LG4sdCl9fWZ1bmN0aW9uIGYobyl7Y29uc3Qgbj17ZGlzdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixjb2xvckJveEluZGV4Oi0xfTtyZXR1cm4gcygwLG8sbiksbi5jb2xvckJveEluZGV4fXJldHVybiBvPT57Y29uc3Qgbj1vJTMyNzY4O2xldCB0PWkuZ2V0KG4pO3R8fCh0PW5ldyBNYXAsaS5zZXQobix0KSk7bGV0IGw9dC5nZXQobyk7cmV0dXJuIGwhPT12b2lkIDB8fChsPWYoSihvKSksdC5zZXQobyxsKSksbH19ZnVuY3Rpb24gU2UocixlKXtjb25zdHtjb2xvckJveGVzOmF9PXIsaT1hLnJlZHVjZSgobyxuKT0+bytuLndlaWdodCwwKTtpZighZSlyZXR1cm4gci5jb2xvckJveGVzLm1hcChvPT57Y29uc3R7c3JnYjpuLHdlaWdodDp0fT1vO3JldHVybnt2YWx1ZTpuLHBlcmNlbnRhZ2U6dC9pfX0pO2NvbnN0IHM9W107Zm9yKGxldCBvPWEubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdHtzcmdiOnQsd2VpZ2h0Omx9PWFbbl07cy5wdXNoKHt2YWx1ZTpbdD4+MTYmMjU1LHQ+PjgmMjU1LHQmMjU1XSxwZXJjZW50YWdlOmwvaX0pfWxldCBmO2lmKGU9PT0iYnVmZmVyIil7Zj1uZXcgVWludDhDbGFtcGVkQXJyYXkocy5sZW5ndGgqNCk7Zm9yKGxldCBvPXMubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdCB0PW4qNCxsPXNbbl0udmFsdWU7Zlt0XT1sWzBdLGZbdCsxXT1sWzFdLGZbdCsyXT1sWzJdLGZbdCszXT0yNTV9fWVsc2UgaWYoZT09PSJoZXgiKXtmPVtdO2ZvcihsZXQgbz1zLmxlbmd0aCxuPTA7bjxvO24rKyl7Y29uc3R7dmFsdWU6dCxwZXJjZW50YWdlOmx9PXNbbl0sZz10WzBdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksYz10WzFdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksaD10WzJdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7Zi5wdXNoKHt2YWx1ZTpgIyR7Z30ke2N9JHtofWAscGVyY2VudGFnZTpsfSl9fWVsc2UgZj1zO3JldHVybiBmfWZ1bmN0aW9uIFYocixlLGEpe3ZhciBnLGMsaCxwO2NvbnN0e2dldENvbnRleHQyZDppLHByZXZpb3VzU2FtcGxlOnMsc2tpcFRyYW5zcGFyZW50OmZ9PWEse3N0YXRzTW9kZTpvLGNvbG9yU2FtcGxlczpuLGNvbG9yU2FtcGxlc0NhY2hlOnR9PXI7bGV0IGw7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKWw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUuYnVmZmVyKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilsPW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7Y29uc3QgYj1bXTtmb3IobGV0IGQ9ZS5sZW5ndGgsdT0wO3U8ZDt1KyspYi5wdXNoKChnPWVbdV1bMF0pIT1udWxsP2c6MCwoYz1lW3VdWzFdKSE9bnVsbD9jOjAsKGg9ZVt1XVsyXSkhPW51bGw/aDowLChwPWVbdV1bM10pIT1udWxsP3A6MjU1KTtsPW5ldyBVaW50OENsYW1wZWRBcnJheShiKX1lbHNlIGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCBiPWk9PW51bGw/dm9pZCAwOmkoKTtpZighYilyZXR1cm47Y29uc3QgZD1iLmNhbnZhcztyZXR1cm4gd2UoZSkudGhlbih1PT4oYi5jbGVhclJlY3QoMCwwLGQud2lkdGgsZC5oZWlnaHQpLGQud2lkdGg9dS53aWR0aCxkLmhlaWdodD11LmhlaWdodCxiLmRyYXdJbWFnZSh1LDAsMCxkLndpZHRoLGQuaGVpZ2h0KSxWKHIsYi5nZXRJbWFnZURhdGEoMCwwLGQud2lkdGgsZC5oZWlnaHQpLmRhdGEsYSkpKX1lbHNle2NvbnN0IGI9aT09bnVsbD92b2lkIDA6aSgpO2lmKCFiKXJldHVybjtjb25zdCBkPWIuY2FudmFzO3JldHVybiBiLmNsZWFyUmVjdCgwLDAsZC53aWR0aCxkLmhlaWdodCksZC53aWR0aD10eXBlb2YgZS53aWR0aD09Im51bWJlciI/ZS53aWR0aDplLndpZHRoLmJhc2VWYWwudmFsdWUsZC5oZWlnaHQ9dHlwZW9mIGUuaGVpZ2h0PT0ibnVtYmVyIj9lLmhlaWdodDplLmhlaWdodC5iYXNlVmFsLnZhbHVlLGIuZHJhd0ltYWdlKGUsMCwwLGQud2lkdGgsZC5oZWlnaHQpLFYocixiLmdldEltYWdlRGF0YSgwLDAsZC53aWR0aCxkLmhlaWdodCkuZGF0YSxhKX1mb3IobGV0IGI9bC5sZW5ndGgsZD0wO2Q8YjtkKz00KXtjb25zdCB1PWxbZF0sQz1sW2QrMV0seT1sW2QrMl0sUz1sW2QrM107aWYoZiYmUz09PTB8fG89PT0iZGlmZiImJnMmJnU9PT1zW2RdJiZDPT09c1tkKzFdJiZ5PT09c1tkKzJdJiZTPT09c1tkKzNdKWNvbnRpbnVlO2NvbnN0IHc9dTw8MTZ8Qzw8OHx5LG09UyoxZTgrdyxJPW0lMzI3Njg7bGV0IFQ9dC5nZXQoSSk7VHx8KFQ9bmV3IE1hcCx0LnNldChJLFQpKTtsZXQgQT1ULmdldChtKTtpZihBIT09dm9pZCAwKXtuW0FdLmNvdW50Kys7Y29udGludWV9QT1uLnB1c2goe2FscGhhOlMsc3JnYjp3LG9rbGFiOkoodyksY291bnQ6MX0pLTEsVC5zZXQobSxBKX1yZXR1cm4gbH1mdW5jdGlvbiB0ZShyLGUpe2NvbnN0e2NvbG9yU2FtcGxlczphfT1lLHtzdGFydDppLGVuZDpzfT1yO3IubGVuZ3RoPXMtaSxyLndlaWdodD0wO2NvbnN0IGY9WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07ZlswXSs9dC5va2xhYlswXSp0LmNvdW50LGZbMV0rPXQub2tsYWJbMV0qdC5jb3VudCxmWzJdKz10Lm9rbGFiWzJdKnQuY291bnQsci53ZWlnaHQrPXQuY291bnR9ci5va2xhYj1bZlswXS9yLndlaWdodCxmWzFdL3Iud2VpZ2h0LGZbMl0vci53ZWlnaHRdO2NvbnN0IG89WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07b1swXSs9Qih0Lm9rbGFiWzBdLXIub2tsYWJbMF0sMikqdC5jb3VudCxvWzFdKz1CKHQub2tsYWJbMV0tci5va2xhYlsxXSwyKSp0LmNvdW50LG9bMl0rPUIodC5va2xhYlsyXS1yLm9rbGFiWzJdLDIpKnQuY291bnR9ci5zb3J0PW1lKG9bMF0sb1sxXSxvWzJdKSxyLnNjb3JlPU1hdGgubWF4KG9bMF0sb1sxXSxvWzJdKX1mdW5jdGlvbiBuZShyLGUpe2NvbnN0IGE9cSh7c3RhcnQ6MCxlbmQ6MCxsZW5ndGg6MCxzY29yZTowLHdlaWdodDowLHNvcnQ6ImxhYiIsc29ydGVkOm51bGwsc3JnYjowLG9rbGFiOlswLDAsMF19LHIpO3JldHVybiB0ZShhLGUpLGF9ZnVuY3Rpb24gQ2Uocil7Y29uc3R7Y29sb3JCb3hlczplfT1yLGE9W10saT1uZXcgTWFwO2ZvcihsZXQgbz0tMSxuPWUubGVuZ3RoLHQ9MDt0PG47dCsrKXtjb25zdHtzcmdiOmx9PWVbdF07aWYobD09PW8pe2kuc2V0KHQsITApO2NvbnRpbnVlfW89bH1mKHttaW46Wy02NTUzNSwtNjU1MzUsLTY1NTM1XSxtYXg6WzY1NTM1LDY1NTM1LDY1NTM1XX0pO2Z1bmN0aW9uIHMobyl7Y29uc3Qgbj17bWluOls2NTUzNSw2NTUzNSw2NTUzNV0sbWF4OlstNjU1MzUsLTY1NTM1LC02NTUzNV19O2xldCB0PTA7Y29uc3QgbD1bXTtmb3IobGV0IGI9ZS5sZW5ndGgsZD0wO2Q8YjtkKyspe2NvbnN0e29rbGFiOnV9PWVbZF07aS5oYXMoZCl8fHVbMF08by5taW5bMF18fHVbMV08by5taW5bMV18fHVbMl08by5taW5bMl18fHVbMF0+by5tYXhbMF18fHVbMV0+by5tYXhbMV18fHVbMl0+by5tYXhbMl18fCh1WzBdPG4ubWluWzBdJiYobi5taW5bMF09dVswXSksdVsxXTxuLm1pblsxXSYmKG4ubWluWzFdPXVbMV0pLHVbMl08bi5taW5bMl0mJihuLm1pblsyXT11WzJdKSx1WzBdPm4ubWF4WzBdJiYobi5tYXhbMF09dVswXSksdVsxXT5uLm1heFsxXSYmKG4ubWF4WzFdPXVbMV0pLHVbMl0+bi5tYXhbMl0mJihuLm1heFsyXT11WzJdKSxsW3QrK109e29rbGFiOnUsY29sb3JCb3hJbmRleDpkfSl9bGV0IGc9MDtpZighdClyZXR1cm57Y29sb3JCb3hJbmRleDotMSxsb25nZXN0Omd9O2NvbnN0IGM9bi5tYXhbMF0tbi5taW5bMF0saD1uLm1heFsxXS1uLm1pblsxXSxwPW4ubWF4WzJdLW4ubWluWzJdO3JldHVybiBjPj1oJiZjPj1wP2c9MDpwPj1jJiZwPj1oP2c9MjpoPj1jJiZoPj1wJiYoZz0xKSx7Y29sb3JCb3hJbmRleDpsLnNvcnQoKGIsZCk9PmIub2tsYWJbZ10tZC5va2xhYltnXSlbdD4+MV0uY29sb3JCb3hJbmRleCxsb25nZXN0Omd9fWZ1bmN0aW9uIGYobyl7Y29uc3R7Y29sb3JCb3hJbmRleDpuLGxvbmdlc3Q6dH09cyhvKTtpZihuPDApcmV0dXJuLTE7Y29uc3R7b2tsYWI6bH09ZVtuXSxnPXtsb25nZXN0OnQsb2tsYWI6bCxjb2xvckJveEluZGV4Om59LGM9YS5wdXNoKGcpLTE7aS5zZXQobiwhMCk7Y29uc3QgaD17bWF4OlsuLi5vLm1heF0sbWluOlsuLi5vLm1pbl19LHA9e21heDpbLi4uby5tYXhdLG1pbjpbLi4uby5taW5dfTtoLm1heFt0XT1sW3RdLHAubWluW3RdPU1hdGgubWluKGxbdF0rMSw2NTUzNSk7Y29uc3QgYj1mKGgpO2xldCBkPS0xO3JldHVybiBwLm1pblt0XTw9cC5tYXhbdF0mJihkPWYocCkpLGcubGVmdD1iLGcucmlnaHQ9ZCxjfXJldHVybiBhfWZ1bmN0aW9uIHllKHIsZT17fSl7Y29uc3R7bWF4Q29sb3JzOmEsY29sb3JTYW1wbGVzOml9PXI7aWYoIWkubGVuZ3RoKXJldHVybjtjb25zdHttYXhDb2xvcnM6cz1hLGNsZWFyU2FtcGxlczpmPSEwfT1lO2xldCBvPW5lKHtlbmQ6aS5sZW5ndGh9LHIpLG49MTtjb25zdCB0PVtvXTtmdW5jdGlvbiBsKCl7bGV0IGM9LTEsaD0tMTtpZihuPT09cylyZXR1cm4tMTtmb3IobGV0IHA9MDtwPG47cCsrKXtjb25zdCBiPXRbcF07Yi5sZW5ndGg+PTImJmIuc2NvcmU+aCYmKGM9cCxoPWIuc2NvcmUpfXJldHVybiBjfWZ1bmN0aW9uIGcoYyxoKXtjb25zdCBwPW5lKHtzdGFydDpoKzEsZW5kOmMuZW5kLHNvcnRlZDpjLnNvcnRlZH0scik7Yy5lbmQtPXAubGVuZ3RoLHRlKGMsciksdC5wdXNoKHApLG4rK31mb3IoO28mJm8ubGVuZ3RoPjE7KXtjb25zdHtzdGFydDpjLGVuZDpoLHNvcnQ6cCxzb3J0ZWQ6Yn09bztpZihwIT09Yil7Y29uc3QgUz1pLnNsaWNlKGMsaCkuc29ydChwZShwKSk7Zm9yKGxldCB3PVMubGVuZ3RoLG09MDttPHc7bSsrKWlbYyttXT1TW21dO28uc29ydGVkPXB9Y29uc3QgZD1vLndlaWdodCsxPj4xO2xldCB1PWMsQz0wO2ZvcihsZXQgUz1oLTI7dTxTJiYoQys9aVt1XS5jb3VudCwhKEM+ZCkpO3UrKyk7ZyhvLHUpO2NvbnN0IHk9bCgpO289eT49MD90W3ldOm51bGx9Zm9yKGxldCBjPXQubGVuZ3RoLGg9MDtoPGM7aCsrKXRbaF0uc3JnYj1nZSh0W2hdLm9rbGFiKTtyLmNvbG9yQm94ZXM9dC5zb3J0KChjLGgpPT5jLnNyZ2ItaC5zcmdiKSxyLmNvbG9yQm94ZXNJbmRleFRyZWU9Q2UociksZiYmKHIuY29sb3JTYW1wbGVzPVtdLHIuY29sb3JTYW1wbGVzQ2FjaGUuY2xlYXIoKSksci5maW5kZXJDYWNoZS5jbGVhcigpfWZ1bmN0aW9uIEllKHIsZSxhKXtjb25zdHtjb2xvckJveGVzOml9PXI7aWYoIWUpcmV0dXJuO2xldCBzO2lmKHR5cGVvZiBhPT0ibnVtYmVyIilzPWE7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9YS5yZXBsYWNlKC9eIy8sIiIpLGw9W2Ake3RbMF19JHt0WzFdfWAsYCR7dFsyXX0ke3RbM119YCxgJHt0WzRdfSR7dFs1XX1gXS5tYXAoZz0+cGFyc2VJbnQoZywxNikpO3M9bFswXTw8MTZ8bFsxXTw8OHxsWzJdfWVsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlzPWFbMF08PDE2fGFbMV08PDh8YVsyXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdCIpO2NvbnN0IGY9ZShzKTtpZihmPT09dm9pZCAwKXJldHVybjtjb25zdCBvPWlbZl07aWYoIW8pcmV0dXJuO2NvbnN0e3NyZ2I6bn09bztpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9KG4+PjE2JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxsPShuPj44JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxnPShuJjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm57dmFsdWU6YCMke3R9JHtsfSR7Z31gLGluZGV4OmZ9fWVsc2UgaWYodHlwZW9mIGE9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGEpKXJldHVybnt2YWx1ZTpbbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XSxpbmRleDpmfTtyZXR1cm57dmFsdWU6bixpbmRleDpmfX1mdW5jdGlvbiBrZShyKXtyLmNvbG9yU2FtcGxlcz1bXSxyLmNvbG9yU2FtcGxlc0NhY2hlLmNsZWFyKCksci5jb2xvckJveGVzPVtdLHIuY29sb3JCb3hlc0luZGV4VHJlZT1bXSxyLmZpbmRlckNhY2hlLmNsZWFyKCl9ZnVuY3Rpb24gVGUocil7Y29uc3QgZT1iZShyKSx7c3RhdHNNb2RlOmEsc2FtcGxlczppLHNraXBUcmFuc3BhcmVudDpzfT1lLGY9ZnVuY3Rpb24oKXtsZXQgbDtyZXR1cm4oKT0+KCFsJiZfJiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pKSxsKX0oKTtsZXQgbz1udWxsLG49bnVsbDtjb25zdCB0PXtjb250ZXh0OmUsYWRkU2FtcGxlOmw9PntlLmNvbG9yU2FtcGxlcy5sZW5ndGg9PT0wJiYobz1udWxsKTtjb25zdCBnPVYoZSxsLHtnZXRDb250ZXh0MmQ6ZixwcmV2aW91c1NhbXBsZTpvLHNraXBUcmFuc3BhcmVudDpzfSk7cmV0dXJuKGcgaW5zdGFuY2VvZiBQcm9taXNlP2c6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZykpLnRoZW4oYz0+e2MmJmE9PT0iZGlmZiImJihvPWMpfSksZ30sZ2VuZXJhdGUobD17fSl7Y29uc3R7Y2xlYXJTYW1wbGVzOmc9ITB9PWw7cmV0dXJuIGcmJihvPW51bGwpLHllKGUsbCksdGhpc30sZ2V0Q29sb3JzOmw9PlNlKGUsbCksZmluZE5lYXJlc3RDb2xvcjpsPT4obnx8KG49ZWUoZSkpLEllKGUsbixsKSkscmVzZXQ6KCk9PmtlKGUpfTtyZXR1cm4gaS5sZW5ndGgmJihpLmZvckVhY2gobD0+dC5hZGRTYW1wbGUobCkpLGUuc2FtcGxlcz1bXSksdH1jb25zdCBBZT0iW21vZGVybi1naWZdIixFZT0iR0lGIixCZT1bIjg3YSIsIjg5YSJdLHJlPTQ0LG9lPTMzLF9lPTI1NSx2ZT0xMSxNZT0yNTQsYWU9MjQ5LHNlPTQsTmU9MSxVZT0xLE9lPTU5LGxlPSguLi5yKT0+Y29uc29sZS53YXJuKEFlLC4uLnIpO2Z1bmN0aW9uIFBlKHIpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoci5yZWR1Y2UoKGEsaSk9PmEraS5ieXRlTGVuZ3RoLDApKTtyZXR1cm4gci5yZWR1Y2UoKGEsaSk9PihlLnNldChpLGEpLGEraS5ieXRlTGVuZ3RoKSwwKSxlfWZ1bmN0aW9uIGllKHIsZSxhKXtsZXQgaTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcocikpaT1yLmJ1ZmZlcjtlbHNlIGlmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilpPXI7ZWxzZXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHt3aWR0aDpmLGhlaWdodDpvfT1hfHx7fSxuPXMuZ2V0Q29udGV4dCgiMmQiKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2FudmFzIGNvbnRleHQyZCIpO3Mud2lkdGg9ZiE9bnVsbD9mOnR5cGVvZiByLndpZHRoPT0ibnVtYmVyIj9yLndpZHRoOnIud2lkdGguYmFzZVZhbC52YWx1ZSxzLmhlaWdodD1vIT1udWxsP286dHlwZW9mIHIuaGVpZ2h0PT0ibnVtYmVyIj9yLmhlaWdodDpyLmhlaWdodC5iYXNlVmFsLnZhbHVlLG4uZHJhd0ltYWdlKHIsMCwwLHMud2lkdGgscy5oZWlnaHQpLGk9bi5nZXRJbWFnZURhdGEoMCwwLHMud2lkdGgscy5oZWlnaHQpLmRhdGEuYnVmZmVyfXN3aXRjaChlKXtjYXNlInVpbnQ4QXJyYXkiOnJldHVybiBuZXcgVWludDhBcnJheShpKTtjYXNlInVpbnQ4Q2xhbXBlZEFycmF5IjpyZXR1cm4gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGkpO2Nhc2UiZGF0YVZpZXciOnJldHVybiBuZXcgRGF0YVZpZXcoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQiKX19ZnVuY3Rpb24gRGUocixlKXt2YXIgYjtjb25zdHt0b3A6YT0wLGxlZnQ6aT0wLHdpZHRoOnMsaGVpZ2h0OmYscmF3V2lkdGg6byxyYXRlOm49NCxjYWxsYmFjazp0fT1lLGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHMqZipuKSxnPWkqbixjPWEqbixoPXMqbixwPW8qbjtmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgdT0wO3U8aDt1Kyspe2NvbnN0IEM9KGMrZCkqcCsoZyt1KTtsW2QqaCt1XT0oYj10PT1udWxsP3ZvaWQgMDp0KEMpKSE9bnVsbD9iOnJbQ119cmV0dXJuIGx9ZnVuY3Rpb24gJGUocil7Y29uc3QgZT1pZShyLCJkYXRhVmlldyIpO2xldCBhPTA7Y29uc3QgaT0oKT0+ZS5nZXRVaW50OChhKyspLHM9Zj0+QXJyYXkuZnJvbSh7bGVuZ3RoOmZ9KS5tYXAoaSk7cmV0dXJue2dldEN1cnNvcjooKT0+YSxzZXRDdXJzb3I6Zj0+YT1mLHJlYWRCeXRlOmkscmVhZEJ5dGVzOnMscmVhZFN0cmluZzpmPT5TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMoZikpLHJlYWRVbnNpZ25lZDooKT0+W2UuZ2V0VWludDE2KGEsITApLGErPTJdWzBdLHJlYWRCaXRzOigpPT5lLmdldFVpbnQ4KGErKykudG9TdHJpbmcoMikucGFkU3RhcnQoOCwiMCIpLnNwbGl0KCIiKS5tYXAoTnVtYmVyKSxyZWFkQ29sb3JUYWJsZTpmPT5BcnJheS5mcm9tKHtsZW5ndGg6Zn0sKCk9PkFycmF5LmZyb20ocygzKSkpLHJlYWRTdWJCbG9jazooKT0+e2NvbnN0IGY9W107Zm9yKDs7KXtjb25zdCBvPWkoKTtpZihvPT09MCYmZS5nZXRVaW50OChhKSE9PTApYnJlYWs7Zi5wdXNoKG8pfXJldHVybiBmfX19ZnVuY3Rpb24gWGUocil7Y29uc3QgZT17fSx7Z2V0Q3Vyc29yOmEsc2V0Q3Vyc29yOmkscmVhZEJ5dGU6cyxyZWFkU3RyaW5nOmYscmVhZFVuc2lnbmVkOm8scmVhZEJpdHM6bixyZWFkQ29sb3JUYWJsZTp0LHJlYWRTdWJCbG9jazpsfT0kZShyKSxnPSgpPT4oe2luZGV4OjAsZGVsYXk6MTAwLGRpc3Bvc2FsOjB9KSxjPWYoMyksaD1mKDMpO2lmKGMhPT1FZXx8IUJlLmluY2x1ZGVzKGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyBub3QgYSA4N2EvODlhIEdJRiBkYXRhLiIpO2UudmVyc2lvbj1oLGUud2lkdGg9bygpLGUuaGVpZ2h0PW8oKTtjb25zdCBwPW4oKTtlLmdsb2JhbENvbG9yVGFibGU9ISFwWzBdLGUuY29sb3JSZXNvbHVUaW9uPXBhcnNlSW50KHAuc2xpY2UoMSw0KS5qb2luKCIiKSwyKSsxLGUuY29sb3JUYWJsZVNvcnRlZD0hIXBbNF07Y29uc3QgYj1wYXJzZUludChwLnNsaWNlKDUsOCkuam9pbigiIiksMik7ZS5jb2xvclRhYmxlU2l6ZT1NYXRoLnBvdygyLGIrMSksZS5iYWNrZ3JvdW5kQ29sb3JJbmRleD1zKCksZS5waXhlbEFzcGVjdFJhdGlvPXMoKSxlLmdsb2JhbENvbG9yVGFibGUmJihlLmNvbG9yVGFibGVTaXplP2UuY29sb3JUYWJsZT10KGUuY29sb3JUYWJsZVNpemUpOmwoKSksZS5mcmFtZXM9W107bGV0IGQ9ZygpO2NvbnN0IHU9W10sQz1bXTtmb3IoOzspe2NvbnN0IHk9cygpO2lmKHUucHVzaCh5KSx5PT09cmUpe2QubGVmdD1vKCksZC50b3A9bygpLGQud2lkdGg9bygpLGQuaGVpZ2h0PW8oKTtjb25zdCBTPW4oKTtkLmxvY2FsQ29sb3JUYWJsZT0hIVNbMF0sZC5pbnRlcmxhY2VkPSEhU1sxXSxkLmNvbG9yVGFibGVTb3J0ZWQ9ISFTWzJdLGQucmVzZXJ2ZWQ9cGFyc2VJbnQoUy5zbGljZSgzLDUpLmpvaW4oIiIpLDIpO2NvbnN0IHc9cGFyc2VJbnQoUy5zbGljZSg1LDgpLmpvaW4oIiIpLDIpO2ZvcihkLmNvbG9yVGFibGVTaXplPU1hdGgucG93KDIsdysxKSxkLmxvY2FsQ29sb3JUYWJsZSYmKGQuY29sb3JUYWJsZT10KGQuY29sb3JUYWJsZVNpemUpKSxkLmx6d01pbkNvZGVTaXplPXMoKSxkLmltYWdlRGF0YVBvc2l0aW9ucz1bXTs7KXtjb25zdCBtPXMoKTtpZihtPT09MClicmVhaztjb25zdCBJPWEoKTtkLmltYWdlRGF0YVBvc2l0aW9ucy5wdXNoKFtJLG1dKSxpKEkrbSl9ZS5mcmFtZXMucHVzaChkKSxkPWcoKSxkLmluZGV4PWUuZnJhbWVzLmxlbmd0aDtjb250aW51ZX1pZih5PT09b2Upe2NvbnN0IFM9cygpO2lmKEMucHVzaChTKSxTPT09X2Upe2lmKHMoKSE9PXZlKWNvbnRpbnVlO2NvbnN0IHc9e2lkZW50aWZpZXI6Zig4KSxjb2RlOmYoMyksZGF0YTpbXX07YCR7dy5pZGVudGlmaWVyfSR7dy5jb2RlfWA9PSJORVRTQ0FQRTIuMCImJnMoKT09PTMmJihlLmxvb3BlZD0hIXMoKSxlLmxvb3BDb3VudD1vKCkpLHcuZGF0YT1sKCksZC5hcHBsaWNhdGlvbj13O2NvbnRpbnVlfWlmKFM9PT1NZSl7ZC5jb21tZW50PWwoKS5tYXAodz0+U3RyaW5nLmZyb21DaGFyQ29kZSh3KSkuam9pbigiIik7Y29udGludWV9aWYoUz09PWFlKXtpZihzKCkhPT1zZSljb250aW51ZTtjb25zdCB3PW4oKSxtPXtyZXNlcnZlZDpwYXJzZUludCh3LnNsaWNlKDAsMykuam9pbigiIiksMiksZGlzcG9zYWw6cGFyc2VJbnQody5zbGljZSgzLDYpLmpvaW4oIiIpLDIpLHVzZXJJbnB1dDohIXdbNl0sdHJhbnNwYXJlbnQ6ISF3WzddLGRlbGF5VGltZTpvKCksdHJhbnNwYXJlbnRJbmRleDpzKCl9O2woKSxkLmdyYXBoaWNDb250cm9sPW0sZC5kaXNwb3NhbD1tLmRpc3Bvc2FsLGQuZGVsYXk9KG0uZGVsYXlUaW1lfHwxMCkqMTA7Y29udGludWV9aWYoUz09PU5lKXtpZihzKCkhPT1VZSljb250aW51ZTtkLnBsYWluVGV4dD17bGVmdDpvKCksdG9wOm8oKSx3aWR0aDpvKCksaGVpZ2h0Om8oKSxjZWxsV2lkdGg6cygpLGNlbGxIZWlnaHQ6cygpLGNvbG9ySW5kZXg6cygpLGJhY2tncm91bmRDb2xvckluZGV4OnMoKSxkYXRhOmwoKX07Y29udGludWV9bGUoYFVua25vd24gZXh0ZW5zaW9uIGJsb2NrOiAweCR7Uy50b1N0cmluZygxNil9YCx1LnNsaWNlKDAsdS5sZW5ndGgtMSkubWFwKHc9PmAweCR7dy50b1N0cmluZygxNil9YCksQy5zbGljZSgwLEMubGVuZ3RoLTEpLm1hcCh3PT5gMHgke3cudG9TdHJpbmcoMTYpfWApKTtjb250aW51ZX1pZih5PT09T2UpYnJlYWs7bGUoYFVua25vd24gYmxvY2s6IDB4JHt5LnRvU3RyaW5nKDE2KX1gLHUuc2xpY2UoMCx1Lmxlbmd0aC0xKS5tYXAoUz0+YDB4JHtTLnRvU3RyaW5nKDE2KX1gKSxDLnNsaWNlKDAsQy5sZW5ndGgtMSkubWFwKFM9PmAweCR7Uy50b1N0cmluZygxNil9YCkpfXJldHVybiBlfWZ1bmN0aW9uIFJlKHIsZSxhKXtjb25zdCBmPWE7bGV0IG8sbix0LGwsZyxjLGg7Y29uc3QgcD1uZXcgQXJyYXkoYSksYj1uZXcgQXJyYXkoNDA5NiksZD1uZXcgQXJyYXkoNDA5NiksdT1uZXcgQXJyYXkoNDA5NisxKSxDPXIseT0xPDxDLFM9eSsxO2ZvcihvPXkrMixnPS0xLHQ9QysxLG49KDE8PHQpLTEsYz0wO2M8eTtjKyspYltjXT0wLGRbY109YztsZXQgdyxtLEksVCxBLFA7Zm9yKHc9bT1JPVQ9QT1QPTAsaD0wO2g8Zjspe2lmKFQ9PT0wKXtpZihtPHQpe3crPWVbUF08PG0sbSs9OCxQKys7Y29udGludWV9aWYoYz13Jm4sdz4+PXQsbS09dCxjPm98fGM9PT1TKWJyZWFrO2lmKGM9PT15KXt0PUMrMSxuPSgxPDx0KS0xLG89eSsyLGc9LTE7Y29udGludWV9aWYoZz09PS0xKXt1W1QrK109ZFtjXSxnPWMsST1jO2NvbnRpbnVlfWZvcihsPWMsYz09PW8mJih1W1QrK109SSxjPWcpO2M+eTspdVtUKytdPWRbY10sYz1iW2NdO0k9ZFtjXSYyNTUsdVtUKytdPUksbzw0MDk2JiYoYltvXT1nLGRbb109SSxvKyssIShvJm4pJiZvPDQwOTYmJih0Kyssbis9bykpLGc9bH1ULS0scFtBKytdPXVbVF0saCsrfWZvcihoPUE7aDxmO2grKylwW2hdPTA7cmV0dXJuIHB9ZnVuY3Rpb24gTGUocixlKXtjb25zdCBhPW5ldyBBcnJheShyLmxlbmd0aCksaT1yLmxlbmd0aC9lLHM9WzAsNCwyLDFdLGY9WzgsOCw0LDJdO2xldCBvPTA7Zm9yKGxldCBuPTA7bjw0O24rKylmb3IobGV0IHQ9c1tuXTt0PGk7dCs9ZltuXSlhLnNwbGljZS5hcHBseShhLFt0KmUsZV0uY29uY2F0KHIuc2xpY2UobyplLChvKzEpKmUpKSksbysrO3JldHVybiBhfWZ1bmN0aW9uIHplKHIpe2NvbnN0IGU9bmV3IE1hcCx7d29ya2VyVXJsOmF9PXI7bGV0e3dvcmtlck51bWJlcjppPTF9PXI7Y29uc3Qgcz1bLi4ubmV3IEFycmF5KGE/aTowKV0ubWFwKCgpPT57dHJ5e2NvbnN0IHQ9bmV3IFdvcmtlcihhKTtyZXR1cm4gdC5vbm1lc3NhZ2U9Zix0fWNhdGNoKHQpe3JldHVybiBudWxsfX0pLmZpbHRlcihCb29sZWFuKTtpPXMubGVuZ3RoO2Z1bmN0aW9uIGYodCl7dmFyIGM7Y29uc3R7aWQ6bCxkYXRhOmd9PXQuZGF0YTsoYz1lLmdldChsKSk9PW51bGx8fGMoZyksZS5kZWxldGUobCl9Y29uc3Qgbz1mdW5jdGlvbigpe2xldCB0PTA7cmV0dXJuIGw9PnNbKGwhPW51bGw/bDp0KyspJWldfSgpO3JldHVybntjYWxsOmZ1bmN0aW9uKCl7bGV0IHQ9MDtyZXR1cm4obCxnLGMsaCk9Pm5ldyBQcm9taXNlKHA9Pntjb25zdCBiPW8oaCk7aWYoIWIpcmV0dXJuIHAodm9pZCAwKTtlLnNldCh0LHApLGIucG9zdE1lc3NhZ2Uoe2lkOnQrKyx0eXBlOmwsZGF0YTpnfSx7dHJhbnNmZXI6Y30pfSl9KCl9fWZ1bmN0aW9uIEZlKHIsZSl7Y29uc3QgYT1pZShyLCJ1aW50OEFycmF5Iik7aWYoZSE9bnVsbCYmZS53b3JrZXJVcmwpcmV0dXJuIHplKHt3b3JrZXJVcmw6ZS53b3JrZXJVcmx9KS5jYWxsKCJmcmFtZXM6ZGVjb2RlIixhLFthLmJ1ZmZlcl0pO2NvbnN0e2dpZjppPVhlKHIpLHJhbmdlOnN9PWUhPW51bGw/ZTp7fSx7d2lkdGg6ZixoZWlnaHQ6byxjb2xvclRhYmxlOm4sZnJhbWVzOnR9PWksbD1zP3Quc2xpY2Uoc1swXSxzWzFdKzEpOnQsZz1sLnNvbWUoYj0+Yi5kaXNwb3NhbD09PTMpO2xldCBjPW5ldyBVaW50OENsYW1wZWRBcnJheShmKm8qNCksaCxwPWMuc2xpY2UoKTtyZXR1cm4gbC5tYXAoYj0+e3ZhciBmZTtjb25zdHtsZWZ0OmQsdG9wOnUsd2lkdGg6QyxoZWlnaHQ6eSxpbnRlcmxhY2VkOlMsbG9jYWxDb2xvclRhYmxlOncsY29sb3JUYWJsZTptLGx6d01pbkNvZGVTaXplOkksaW1hZ2VEYXRhUG9zaXRpb25zOlQsZ3JhcGhpY0NvbnRyb2w6QSxkZWxheTpQLGRpc3Bvc2FsOmp9PWIsR2U9dSt5LHt0cmFuc3BhcmVudDpIZSx0cmFuc3BhcmVudEluZGV4OnFlfT1BIT1udWxsP0E6e30sWj13P206bixjZT1IZT9xZTotMSxZZT1QZShULm1hcCgoW0UsRF0pPT5hLnN1YmFycmF5KEUsRStEKSkpO2xldCBYPVJlKEksWWUsQyp5KTtpZihTJiYoWD1MZShYLEMpKSxqPT09MylwJiYoYz1wPT1udWxsP3ZvaWQgMDpwLnNsaWNlKCkpO2Vsc2V7Y29uc3QgRT1oPT1udWxsP3ZvaWQgMDpoLmRpc3Bvc2FsO2lmKEU9PT0wfHxFPT09Mil7Y29uc3R7bGVmdDpELHRvcDokLHdpZHRoOk0saGVpZ2h0OlJ9PWgsRz0kK1I7Zm9yKGxldCBVPSQ7VTxHO1UrKyl7Y29uc3QgSD1VKmYrRCxPPShVLSQpKk07Zm9yKGxldCBMPTA7TDxNO0wrKyl7Y29uc3QgSmU9WFtPK0xdO2lmKEU9PT0yfHxKZSE9PWNlKXtjb25zdCB6PShIK0wpKjQ7Y1t6XT1jW3orMV09Y1t6KzJdPWNbeiszXT0wfX19fX1mb3IobGV0IEU9dTtFPEdlO0UrKyl7Y29uc3QgRD1FKmYrZCwkPShFLXUpKkM7Zm9yKGxldCBNPTA7TTxDO00rKyl7Y29uc3QgUj1YWyQrTV07aWYoUiE9PWNlKXtjb25zdFtHLFUsSF09KGZlPVo9PW51bGw/dm9pZCAwOlpbUl0pIT1udWxsP2ZlOlswLDAsMF0sTz0oRCtNKSo0O2NbT109RyxjW08rMV09VSxjW08rMl09SCxjW08rM109MjU1fX19cmV0dXJuIGcmJihqPT09MHx8aj09PTEpJiYocD1jLnNsaWNlKCkpLGg9Yix7d2lkdGg6ZixoZWlnaHQ6byxkZWxheTpQLGltYWdlRGF0YTpjLnNsaWNlKCl9fSl9ZnVuY3Rpb24gV2UocixlLGEpe2NvbnN0e3dyaXRlQnl0ZTppLGdldEN1cnNvcjpzLGNhbGN1bGF0ZURpc3RhbmNlOmZ9PWE7aShyKTtsZXQgbz1zKCk7aSgwKTtjb25zdCBuPTE8PHIsdD1uLTEsbD1uKzE7bGV0IGc9bCsxLGM9cisxLGg9MCxwPTA7ZnVuY3Rpb24gYihtKXtmb3IoO2g+PW07KWkocCYyNTUpLHA+Pj04LGgtPTgsZihvKT09PTI1NiYmKGkoMjU1LG8pLG89cygpLGkoMCkpfWZ1bmN0aW9uIGQobSl7cHw9bTw8aCxoKz1jLGIoOCl9bGV0IHU9ZVswXSZ0LEM9e30seSxTLHc7ZChuKTtmb3IobGV0IG09ZS5sZW5ndGgsST0xO0k8bTsrK0kpaWYodz1lW0ldJnQseT11PDw4fHcsUz1DW3ldLFM9PT12b2lkIDApe2ZvcihwfD11PDxoLGgrPWM7aD49ODspaShwJjI1NSkscD4+PTgsaC09OCxmKG8pPT09MjU2JiYoaSgyNTUsbyksbz1zKCksaSgwKSk7Zz09PTQwOTY/KGQobiksZz1sKzEsYz1yKzEsQz17fSk6KGc+PTE8PGMmJisrYyxDW3ldPWcrKyksdT13fWVsc2UgdT1TO2QodSksZChsKSxiKDEpLGYobyk9PT0xP2koMCxvKTooaShmKG8pLTEsbyksaSgwKSl9ZnVuY3Rpb24gS2Uocj17fSl7Y29uc3R7Y2h1bmtTaXplOmU9NDA5Nn09cjtsZXQgYT1bbmV3IFVpbnQ4QXJyYXkoZSldLGk9MCxzPTA7Y29uc3QgZj0obix0KT0+e3Q/YVt0WzBdXVt0WzFdXT1uOihzPj1lJiYoYVsrK2ldPW5ldyBVaW50OEFycmF5KGUpLHM9MCksYVtpXVtzKytdPW4pfSxvPW49Pm4uZm9yRWFjaCh0PT5mKHQpKTtyZXR1cm57Z2V0Q3Vyc29yOigpPT5baSxzXSxzZXRDdXJzb3I6bj0+e2k9blswXSxzPW5bMV19LGNhbGN1bGF0ZURpc3RhbmNlOm49PmkqZStzLShuWzBdKmUrblsxXSksd3JpdGVCeXRlOmYsd3JpdGVCeXRlczpvLHdyaXRlU3RyaW5nOm49Pm4uc3BsaXQoIiIpLmZvckVhY2goKHQsbCk9PmYobi5jaGFyQ29kZUF0KGwpKSksd3JpdGVVbnNpZ25lZDpuPT5vKFtuJjI1NSxuPj44JjI1NV0pLGZsdXNoOigpPT57YVtpXT1hW2ldLnNsaWNlKDAscyk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShhLnJlZHVjZSgobCxnKT0+bCtnLmJ5dGVMZW5ndGgsMCkpO2xldCB0PTA7cmV0dXJuIGEuZm9yRWFjaChsPT57bi5zZXQobCx0KSx0Kz1sLmJ5dGVMZW5ndGh9KSxhPVtuZXcgVWludDhBcnJheShlKV0saT0wLHM9MCxufX19ZnVuY3Rpb24gVmUocil7dmFyIEMseSxTO2NvbnN0IGU9S2UoKSx7d3JpdGVCeXRlOmEsd3JpdGVCeXRlczppLHdyaXRlVW5zaWduZWQ6cyxmbHVzaDpmfT1lLHtsZWZ0Om89MCx0b3A6bj0wLHdpZHRoOnQ9MCxoZWlnaHQ6bD0wLGRlbGF5Omc9MTAwLGNvbG9yVGFibGU6Y309cjtsZXR7ZGlzcG9zYWw6aD0wfT1yO2NvbnN0IHA9KEM9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOkMudHJhbnNwYXJlbnQ7bGV0IGI9KFM9KHk9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnRJbmRleCkhPW51bGw/UzoyNTU7aWYobzwwfHxvPjY1NTM1KXRocm93IG5ldyBFcnJvcigiTGVmdCBpbnZhbGlkLiIpO2lmKG48MHx8bj42NTUzNSl0aHJvdyBuZXcgRXJyb3IoIlRvcCBpbnZhbGlkLiIpO2lmKHQ8PTB8fHQ+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJXaWR0aCBpbnZhbGlkLiIpO2lmKGw8PTB8fGw+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJIZWlnaHQgaW52YWxpZC4iKTtsZXQgZD04LHU9Yz9jLmxlbmd0aDowO2lmKHUpe2lmKHU8Mnx8dT4yNTZ8fHUmdS0xKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciB0YWJsZSBsZW5ndGgsIG11c3QgYmUgcG93ZXIgb2YgMiBhbmQgMiAuLiAyNTYuIik7Zm9yKDt1Pj49MTspKytkfXJldHVybiBhKG9lKSxhKGFlKSxhKHNlKSxwP2h8fChoPTIpOmI9MCxhKHBhcnNlSW50KGAwMDAke051bWJlcihoJjcpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDMsIjAiKX0wJHtwPzE6MH1gLDIpKSxzKGcvMTApLGEoYiksYSgwKSxhKHJlKSxzKG8pLHMobikscyh0KSxzKGwpLGMhPW51bGwmJmMubGVuZ3RoPyhhKHBhcnNlSW50KGAxMDAwMCR7KGQtMSkudG9TdHJpbmcoMikucGFkU3RhcnQoMywiMCIpfWAsMikpLGkoYy5mbGF0KCkpKTphKDApLFdlKGQsci5pbWFnZURhdGEsZSksZigpfWZ1bmN0aW9uIGplKHIpe2NvbnN0e2ZyYW1lczplLHBhbGV0dGU6YSx0cmFuc3BhcmVudEluZGV4Oml9PXIscz1lZShhKTtyZXR1cm4gZS5tYXAoKHtpbWFnZURhdGE6Zn0pPT57bGV0IG89ITE7Y29uc3Qgbj1uZXcgVWludDhDbGFtcGVkQXJyYXkoZi5sZW5ndGgvNCk7Zm9yKGxldCB0PWYubGVuZ3RoLGw9MDtsPHQ7bCs9NClmW2wrM109PT0wPyhuW2wvNF09aSxvPSEwKTpuW2wvNF09cyhmW2xdPDwxNnxmW2wrMV08PDh8ZltsKzJdKTtyZXR1cm57aW1hZ2VEYXRhOm4sdHJhbnNwYXJlbnQ6b319KX1mdW5jdGlvbiBaZShyKXtjb25zdHtmcmFtZXM6ZSx0cmFuc3BhcmVudEluZGV4OmF9PXI7bGV0IGk7cmV0dXJuIGUubWFwKChzLGYpPT57dmFyIHksUztjb25zdHt3aWR0aDpvLGhlaWdodDpuLGltYWdlRGF0YTp0fT1zLGw9cy50cmFuc3BhcmVudHx8KChTPSh5PWVbZisxXSk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnQpIT1udWxsP1M6ITApO2xldCBnPTAsYz0wLGg9by0xLHA9bi0xLGI7aWYobCl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypjK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypwK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztwLS19Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2ddIT09YSl7dz0hMTticmVha31pZighdylicmVhaztnKyt9Zm9yKDtoPmc7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2hdIT09YSl7dz0hMTticmVha31pZighdylicmVhaztoLS19fWVsc2V7aWYoaSl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qYyttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qcCttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztwLS19aWYoYz09PXApZz1oO2Vsc2V7Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPD1wO20rKyl7Y29uc3QgST1tKm8rZztpZih0W0ldIT09aVtJXSl7dz0hMTticmVha319aWYoIXcpYnJlYWs7ZysrfWZvcig7aD5nOyl7bGV0IHc9ITA7Zm9yKGxldCBtPWM7bTw9cDttKyspe2NvbnN0IEk9bSpvK2g7aWYodFtJXSE9PWlbSV0pe3c9ITE7YnJlYWt9fWlmKCF3KWJyZWFrO2gtLX19fWI9aSxpPXR9Y29uc3QgZD1oKzEtZyx1PXArMS1jLEM9RGUodCx7bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUscmF3V2lkdGg6byxyYXRlOjEsY2FsbGJhY2s6dz0+e2lmKCFsJiZiJiZ0W3ddPT09Ylt3XSlyZXR1cm4gYX19KTtyZXR1cm57bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUsZGlzcG9zYWw6bD8yOjEsaW1hZ2VEYXRhOkN9fSl9Y29uc3QgTj1UZSh7c2tpcFRyYW5zcGFyZW50OiExfSk7c2VsZi5vbm1lc3NhZ2U9cj0+e2NvbnN0e2lkOmUsdHlwZTphLGRhdGE6aX09ci5kYXRhO2lmKGE9PT0icGFsZXR0ZTphZGRTYW1wbGUiJiZOKXJldHVybiBOLmFkZFNhbXBsZShpKSxzZWxmLnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6YSxkYXRhOiEwfSk7aWYoYT09PSJwYWxldHRlOmdlbmVyYXRlIiYmTil7Ti5nZW5lcmF0ZShpKTtjb25zdCBzPXEoe30sTi5jb250ZXh0KTtyZXR1cm4gTi5yZXNldCgpLHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30pfWlmKGE9PT0iZnJhbWVzOmluZGV4Iil7Y29uc3Qgcz1qZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lczpjcm9wIil7Y29uc3Qgcz1aZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lOmVuY29kZSIpe2NvbnN0IHM9VmUoaSk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30sW3MuYnVmZmVyXSl9aWYoYT09PSJmcmFtZXM6ZGVjb2RlIil7Y29uc3Qgcz1GZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX19fSkoKTsK", pn = (e) => Se(void 0, null, function* () {
2494
+ const Ir = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgZXQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0dD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBCPU1hdGgucG93LHVlPShfLHgsayk9PnggaW4gXz9RZShfLHgse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KTpfW3hdPWsscT0oXyx4KT0+e2Zvcih2YXIgayBpbiB4fHwoeD17fSkpZXQuY2FsbCh4LGspJiZ1ZShfLGsseFtrXSk7aWYoZGUpZm9yKHZhciBrIG9mIGRlKHgpKXR0LmNhbGwoeCxrKSYmdWUoXyxrLHhba10pO3JldHVybiBffTsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y29uc3QgXz10eXBlb2Ygd2luZG93PCJ1Iix4PTY1NTM2LTEsaz14KngsaGU9NTEyLTEsRj1bMCwyMCw0MCw2MCw4MCw5OSwxMTksMTM5LDE1OSwxNzksMTk5LDIxOSwyNDEsMjY0LDI4OCwzMTMsMzQwLDM2NywzOTYsNDI3LDQ1OCw0OTEsNTI2LDU2Miw1OTksNjM3LDY3Nyw3MTgsNzYxLDgwNSw4NTEsODk4LDk0Nyw5OTcsMTA0OCwxMTAxLDExNTYsMTIxMiwxMjcwLDEzMzAsMTM5MSwxNDUzLDE1MTcsMTU4MywxNjUxLDE3MjAsMTc5MCwxODYzLDE5MzcsMjAxMywyMDkwLDIxNzAsMjI1MCwyMzMzLDI0MTgsMjUwNCwyNTkyLDI2ODEsMjc3MywyODY2LDI5NjEsMzA1OCwzMTU3LDMyNTgsMzM2MCwzNDY0LDM1NzAsMzY3OCwzNzg4LDM5MDAsNDAxNCw0MTI5LDQyNDcsNDM2Niw0NDg4LDQ2MTEsNDczNiw0ODY0LDQ5OTMsNTEyNCw1MjU3LDUzOTIsNTUzMCw1NjY5LDU4MTAsNTk1Myw2MDk5LDYyNDYsNjM5NSw2NTQ3LDY3MDAsNjg1Niw3MDE0LDcxNzQsNzMzNSw3NTAwLDc2NjYsNzgzNCw4MDA0LDgxNzcsODM1Miw4NTI4LDg3MDgsODg4OSw5MDcyLDkyNTgsOTQ0NSw5NjM1LDk4MjgsMTAwMjIsMTAyMTksMTA0MTcsMTA2MTksMTA4MjIsMTEwMjgsMTEyMzUsMTE0NDYsMTE2NTgsMTE4NzMsMTIwOTAsMTIzMDksMTI1MzAsMTI3NTQsMTI5ODAsMTMyMDksMTM0NDAsMTM2NzMsMTM5MDksMTQxNDYsMTQzODcsMTQ2MjksMTQ4NzQsMTUxMjIsMTUzNzEsMTU2MjMsMTU4NzgsMTYxMzUsMTYzOTQsMTY2NTYsMTY5MjAsMTcxODcsMTc0NTYsMTc3MjcsMTgwMDEsMTgyNzcsMTg1NTYsMTg4MzcsMTkxMjEsMTk0MDcsMTk2OTYsMTk5ODcsMjAyODEsMjA1NzcsMjA4NzYsMjExNzcsMjE0ODEsMjE3ODcsMjIwOTYsMjI0MDcsMjI3MjEsMjMwMzgsMjMzNTcsMjM2NzgsMjQwMDIsMjQzMjksMjQ2NTgsMjQ5OTAsMjUzMjUsMjU2NjIsMjYwMDEsMjYzNDQsMjY2ODgsMjcwMzYsMjczODYsMjc3MzksMjgwOTQsMjg0NTIsMjg4MTMsMjkxNzYsMjk1NDIsMjk5MTEsMzAyODIsMzA2NTYsMzEwMzMsMzE0MTIsMzE3OTQsMzIxNzksMzI1NjcsMzI5NTcsMzMzNTAsMzM3NDUsMzQxNDMsMzQ1NDQsMzQ5NDgsMzUzNTUsMzU3NjQsMzYxNzYsMzY1OTEsMzcwMDgsMzc0MjksMzc4NTIsMzgyNzgsMzg3MDYsMzkxMzgsMzk1NzIsNDAwMDksNDA0NDksNDA4OTEsNDEzMzcsNDE3ODUsNDIyMzYsNDI2OTAsNDMxNDcsNDM2MDYsNDQwNjksNDQ1MzQsNDUwMDIsNDU0NzMsNDU5NDcsNDY0MjMsNDY5MDMsNDczODUsNDc4NzEsNDgzNTksNDg4NTAsNDkzNDQsNDk4NDEsNTAzNDEsNTA4NDQsNTEzNDksNTE4NTgsNTIzNjksNTI4ODQsNTM0MDEsNTM5MjEsNTQ0NDUsNTQ5NzEsNTU1MDAsNTYwMzIsNTY1NjcsNTcxMDUsNTc2NDYsNTgxOTAsNTg3MzcsNTkyODcsNTk4NDAsNjAzOTYsNjA5NTUsNjE1MTcsNjIwODIsNjI2NTAsNjMyMjEsNjM3OTUsNjQzNzIsNjQ5NTIsNjU1MzVdLFk9WzAsNiwxMywxOCwyMiwyNSwyOCwzMSwzNCwzNiwzOCw0MCw0Miw0NCw0Niw0OCw1MCw1MSw1Myw1NCw1Niw1Nyw1OSw2MCw2MSw2Miw2NCw2NSw2Niw2Nyw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Niw4Nyw4OCw4OSw5MCw5MSw5MSw5Miw5Myw5NCw5NSw5NSw5Niw5Nyw5OCw5OCw5OSwxMDAsMTAxLDEwMSwxMDIsMTAzLDEwMywxMDQsMTA1LDEwNiwxMDYsMTA3LDEwOCwxMDgsMTA5LDExMCwxMTAsMTExLDExMSwxMTIsMTEzLDExMywxMTQsMTE1LDExNSwxMTYsMTE2LDExNywxMTgsMTE4LDExOSwxMTksMTIwLDEyMSwxMjEsMTIyLDEyMiwxMjMsMTIzLDEyNCwxMjUsMTI1LDEyNiwxMjYsMTI3LDEyNywxMjgsMTI4LDEyOSwxMjksMTMwLDEzMCwxMzEsMTMyLDEzMiwxMzMsMTMzLDEzNCwxMzQsMTM1LDEzNSwxMzYsMTM2LDEzNywxMzcsMTM4LDEzOCwxMzksMTM5LDE0MCwxNDAsMTQwLDE0MSwxNDEsMTQyLDE0MiwxNDMsMTQzLDE0NCwxNDQsMTQ1LDE0NSwxNDYsMTQ2LDE0NywxNDcsMTQ3LDE0OCwxNDgsMTQ5LDE0OSwxNTAsMTUwLDE1MSwxNTEsMTUxLDE1MiwxNTIsMTUzLDE1MywxNTQsMTU0LDE1NCwxNTUsMTU1LDE1NiwxNTYsMTU2LDE1NywxNTcsMTU4LDE1OCwxNTksMTU5LDE1OSwxNjAsMTYwLDE2MSwxNjEsMTYxLDE2MiwxNjIsMTYzLDE2MywxNjMsMTY0LDE2NCwxNjUsMTY1LDE2NSwxNjYsMTY2LDE2NiwxNjcsMTY3LDE2OCwxNjgsMTY4LDE2OSwxNjksMTY5LDE3MCwxNzAsMTcxLDE3MSwxNzEsMTcyLDE3MiwxNzIsMTczLDE3MywxNzQsMTc0LDE3NCwxNzUsMTc1LDE3NSwxNzYsMTc2LDE3NiwxNzcsMTc3LDE3NywxNzgsMTc4LDE3OSwxNzksMTc5LDE4MCwxODAsMTgwLDE4MSwxODEsMTgxLDE4MiwxODIsMTgyLDE4MywxODMsMTgzLDE4NCwxODQsMTg0LDE4NSwxODUsMTg1LDE4NiwxODYsMTg2LDE4NywxODcsMTg3LDE4OCwxODgsMTg4LDE4OSwxODksMTg5LDE5MCwxOTAsMTkwLDE5MSwxOTEsMTkxLDE5MiwxOTIsMTkyLDE5MywxOTMsMTkzLDE5MywxOTQsMTk0LDE5NCwxOTUsMTk1LDE5NSwxOTYsMTk2LDE5NiwxOTcsMTk3LDE5NywxOTgsMTk4LDE5OCwxOTgsMTk5LDE5OSwxOTksMjAwLDIwMCwyMDAsMjAxLDIwMSwyMDEsMjAxLDIwMiwyMDIsMjAyLDIwMywyMDMsMjAzLDIwNCwyMDQsMjA0LDIwNCwyMDUsMjA1LDIwNSwyMDYsMjA2LDIwNiwyMDYsMjA3LDIwNywyMDcsMjA4LDIwOCwyMDgsMjA4LDIwOSwyMDksMjA5LDIxMCwyMTAsMjEwLDIxMCwyMTEsMjExLDIxMSwyMTIsMjEyLDIxMiwyMTIsMjEzLDIxMywyMTMsMjE0LDIxNCwyMTQsMjE0LDIxNSwyMTUsMjE1LDIxNSwyMTYsMjE2LDIxNiwyMTcsMjE3LDIxNywyMTcsMjE4LDIxOCwyMTgsMjE4LDIxOSwyMTksMjE5LDIyMCwyMjAsMjIwLDIyMCwyMjEsMjIxLDIyMSwyMjEsMjIyLDIyMiwyMjIsMjIyLDIyMywyMjMsMjIzLDIyNCwyMjQsMjI0LDIyNCwyMjUsMjI1LDIyNSwyMjUsMjI2LDIyNiwyMjYsMjI2LDIyNywyMjcsMjI3LDIyNywyMjgsMjI4LDIyOCwyMjgsMjI5LDIyOSwyMjksMjI5LDIzMCwyMzAsMjMwLDIzMCwyMzEsMjMxLDIzMSwyMzEsMjMyLDIzMiwyMzIsMjMyLDIzMywyMzMsMjMzLDIzMywyMzQsMjM0LDIzNCwyMzQsMjM1LDIzNSwyMzUsMjM1LDIzNiwyMzYsMjM2LDIzNiwyMzcsMjM3LDIzNywyMzcsMjM4LDIzOCwyMzgsMjM4LDIzOSwyMzksMjM5LDIzOSwyMzksMjQwLDI0MCwyNDAsMjQwLDI0MSwyNDEsMjQxLDI0MSwyNDIsMjQyLDI0MiwyNDIsMjQzLDI0MywyNDMsMjQzLDI0MywyNDQsMjQ0LDI0NCwyNDQsMjQ1LDI0NSwyNDUsMjQ1LDI0NiwyNDYsMjQ2LDI0NiwyNDYsMjQ3LDI0NywyNDcsMjQ3LDI0OCwyNDgsMjQ4LDI0OCwyNDksMjQ5LDI0OSwyNDksMjQ5LDI1MCwyNTAsMjUwLDI1MCwyNTEsMjUxLDI1MSwyNTEsMjUxLDI1MiwyNTIsMjUyLDI1MiwyNTMsMjUzLDI1MywyNTMsMjUzLDI1NCwyNTQsMjU0LDI1NCwyNTUsMjU1LDI1NV07ZnVuY3Rpb24gVyhyKXtsZXQgZTtpZihyPD0wKXJldHVybiAwO2lmKHI+PXgpcmV0dXJuIHg7ZT1yKihyKihyKy0xNDQxMDcpL3grMTMyMTE0KS94KzE0Mzc5O2ZvcihsZXQgYT0wO2E8MjthKyspe2NvbnN0IGk9ZSplKmUscz1yKygyKmkray8yKS9rO2U9KGUqKDIqcisoaStrLzIpL2spK3MvMikvc31yZXR1cm4gZX1mdW5jdGlvbiB2KHIsZSl7cmV0dXJuKHJeZSk8MD8oci1lLzIpL2U6KHIrZS8yKS9lfWZ1bmN0aW9uIEoocil7Y29uc3QgZT1GW3I+PjE2JjI1NV0sYT1GW3I+PjgmMjU1XSxpPUZbciYyNTVdLHM9KDI3MDE1KmUrMzUxNDkqYSszMzcyKmkreC8yKS94LGY9KDEzODg3KmUrNDQ2MTAqYSs3MDM4KmkreC8yKS94LG89KDU3ODcqZSsxODQ2MiphKzQxMjg2KmkreC8yKS94LG49VyhzKSx0PVcoZiksbD1XKG8pO3JldHVyblt2KDEzNzkyKm4rNTIwMTAqdC0yNjcqbCx4KSx2KDEyOTYyOCpuLTE1OTE1OCp0KzI5NTMwKmwseCksdigxNjk4Km4rNTEyOTkqdC01Mjk5NypsLHgpXX1mdW5jdGlvbiBLKHIpe2lmKHI8PTApcmV0dXJuIDA7aWYocj49eClyZXR1cm4gMjU1O3tjb25zdCBlPXIqaGUsYT1+fihlL3gpLGk9ZSV4LHM9WVthXSxmPVlbYSsxXTtyZXR1cm4oaSooZi1zKSt4LzIpL3grc319ZnVuY3Rpb24gZ2Uocil7Y29uc3QgZT1yWzBdK3YoMjU5NzQqclsxXSx4KSt2KDE0MTQzKnJbMl0seCksYT1yWzBdK3YoLTY5MTgqclsxXSx4KSt2KC00MTg1KnJbMl0seCksaT1yWzBdK3YoLTU4NjQqclsxXSx4KSt2KC04NDYzOCpyWzJdLHgpLHM9QihlLDIpKmUvayxmPUIoYSwyKSphL2ssbz1CKGksMikqaS9rLG49SygoMjY3MTY5KnMrLTIxNjc3MSpmKzE1MTM3Km8reC8yKS94KSx0PUsoKC04MzEyNypzKzE3MTAzMCpmKy0yMjM2OCpvK3gvMikveCksbD1LKCgtMjc1KnMrLTQ2MDk5KmYrMTExOTA5Km8reC8yKS94KTtyZXR1cm4gbjw8MTZ8dDw8OHxsfWZ1bmN0aW9uIHBlKHIpe2NvbnN0IGU9e2w6MCxhOjEsYjoyfSxhPXJbMF0saT1yWzFdLHM9clsyXSxmPWVbYV0sbz1lW2ldLG49ZVtzXTtyZXR1cm4odCxsKT0+dC5va2xhYltmXS1sLm9rbGFiW2ZdfHx0Lm9rbGFiW29dLWwub2tsYWJbb118fHQub2tsYWJbbl0tbC5va2xhYltuXX1mdW5jdGlvbiBtZShyLGUsYSl7cmV0dXJuIHI+PWU/ZT49YT8ibGFiIjpyPj1hPyJsYmEiOiJibGEiOnI+PWE/ImFsYiI6ZT49YT8iYWJsIjoiYmFsIn1mdW5jdGlvbiB3ZShyKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2NvbnN0IGE9bmV3IEltYWdlO2EuZGVjb2Rpbmc9InN5bmMiLGEubG9hZGluZz0iZWFnZXIiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5vbmxvYWQ9KCk9PmUoYSksYS5vbmVycm9yPSgpPT5lKGEpLGEuc3JjPXJ9KX1mdW5jdGlvbiBRKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJiJfX0NPTlRFWFRfXyJpbiByfWZ1bmN0aW9uIGJlKHIpe3JldHVybiBRKHIpP3I6eGUocil9ZnVuY3Rpb24geGUocj17fSl7Y29uc3R7bWF4Q29sb3JzOmU9MjU2LHN0YXRzTW9kZTphPSJmdWxsIixzYW1wbGVzOmk9W10sc2tpcFRyYW5zcGFyZW50OnM9ITB9PXI7cmV0dXJue19fQ09OVEVYVF9fOiEwLHNhbXBsZXM6aSxtYXhDb2xvcnM6ZSxzdGF0c01vZGU6YSxza2lwVHJhbnNwYXJlbnQ6cyxjb2xvclNhbXBsZXM6W10sY29sb3JTYW1wbGVzQ2FjaGU6bmV3IE1hcCxjb2xvckJveGVzOltdLGNvbG9yQm94ZXNJbmRleFRyZWU6W10sZmluZGVyQ2FjaGU6bmV3IE1hcH19ZnVuY3Rpb24gZWUocil7Y29uc3QgZT1RKHIpP3I6ci5jb250ZXh0LHtjb2xvckJveGVzSW5kZXhUcmVlOmEsZmluZGVyQ2FjaGU6aX09ZTtmdW5jdGlvbiBzKG8sbix0KXtjb25zdHtsZWZ0OmwscmlnaHQ6Zyxsb25nZXN0OmMsb2tsYWI6aCxjb2xvckJveEluZGV4OnB9PWFbb10sYj1NYXRoLm1pbihCKG5bMF0taFswXSwyKStCKG5bMV0taFsxXSwyKStCKG5bMl0taFsyXSwyKSw0Mjk0OTY3Mjk1LTEpO2I8dC5kaXN0JiYodC5jb2xvckJveEluZGV4PXAsdC5kaXN0PWIpO2xldCBkLHU7aWYobCE9PS0xfHxnIT09LTEpe2NvbnN0IEM9bltjXS1oW2NdO0M8PTA/KGQ9bCx1PWcpOihkPWcsdT1sKSxkIT09LTEmJnMoZCxuLHQpLHUhPT0tMSYmQihDLDIpPHQuZGlzdCYmcyh1LG4sdCl9fWZ1bmN0aW9uIGYobyl7Y29uc3Qgbj17ZGlzdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixjb2xvckJveEluZGV4Oi0xfTtyZXR1cm4gcygwLG8sbiksbi5jb2xvckJveEluZGV4fXJldHVybiBvPT57Y29uc3Qgbj1vJTMyNzY4O2xldCB0PWkuZ2V0KG4pO3R8fCh0PW5ldyBNYXAsaS5zZXQobix0KSk7bGV0IGw9dC5nZXQobyk7cmV0dXJuIGwhPT12b2lkIDB8fChsPWYoSihvKSksdC5zZXQobyxsKSksbH19ZnVuY3Rpb24gU2UocixlKXtjb25zdHtjb2xvckJveGVzOmF9PXIsaT1hLnJlZHVjZSgobyxuKT0+bytuLndlaWdodCwwKTtpZighZSlyZXR1cm4gci5jb2xvckJveGVzLm1hcChvPT57Y29uc3R7c3JnYjpuLHdlaWdodDp0fT1vO3JldHVybnt2YWx1ZTpuLHBlcmNlbnRhZ2U6dC9pfX0pO2NvbnN0IHM9W107Zm9yKGxldCBvPWEubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdHtzcmdiOnQsd2VpZ2h0Omx9PWFbbl07cy5wdXNoKHt2YWx1ZTpbdD4+MTYmMjU1LHQ+PjgmMjU1LHQmMjU1XSxwZXJjZW50YWdlOmwvaX0pfWxldCBmO2lmKGU9PT0iYnVmZmVyIil7Zj1uZXcgVWludDhDbGFtcGVkQXJyYXkocy5sZW5ndGgqNCk7Zm9yKGxldCBvPXMubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdCB0PW4qNCxsPXNbbl0udmFsdWU7Zlt0XT1sWzBdLGZbdCsxXT1sWzFdLGZbdCsyXT1sWzJdLGZbdCszXT0yNTV9fWVsc2UgaWYoZT09PSJoZXgiKXtmPVtdO2ZvcihsZXQgbz1zLmxlbmd0aCxuPTA7bjxvO24rKyl7Y29uc3R7dmFsdWU6dCxwZXJjZW50YWdlOmx9PXNbbl0sZz10WzBdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksYz10WzFdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksaD10WzJdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7Zi5wdXNoKHt2YWx1ZTpgIyR7Z30ke2N9JHtofWAscGVyY2VudGFnZTpsfSl9fWVsc2UgZj1zO3JldHVybiBmfWZ1bmN0aW9uIFYocixlLGEpe3ZhciBnLGMsaCxwO2NvbnN0e2dldENvbnRleHQyZDppLHByZXZpb3VzU2FtcGxlOnMsc2tpcFRyYW5zcGFyZW50OmZ9PWEse3N0YXRzTW9kZTpvLGNvbG9yU2FtcGxlczpuLGNvbG9yU2FtcGxlc0NhY2hlOnR9PXI7bGV0IGw7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKWw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUuYnVmZmVyKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilsPW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7Y29uc3QgYj1bXTtmb3IobGV0IGQ9ZS5sZW5ndGgsdT0wO3U8ZDt1KyspYi5wdXNoKChnPWVbdV1bMF0pIT1udWxsP2c6MCwoYz1lW3VdWzFdKSE9bnVsbD9jOjAsKGg9ZVt1XVsyXSkhPW51bGw/aDowLChwPWVbdV1bM10pIT1udWxsP3A6MjU1KTtsPW5ldyBVaW50OENsYW1wZWRBcnJheShiKX1lbHNlIGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCBiPWk9PW51bGw/dm9pZCAwOmkoKTtpZighYilyZXR1cm47Y29uc3QgZD1iLmNhbnZhcztyZXR1cm4gd2UoZSkudGhlbih1PT4oYi5jbGVhclJlY3QoMCwwLGQud2lkdGgsZC5oZWlnaHQpLGQud2lkdGg9dS53aWR0aCxkLmhlaWdodD11LmhlaWdodCxiLmRyYXdJbWFnZSh1LDAsMCxkLndpZHRoLGQuaGVpZ2h0KSxWKHIsYi5nZXRJbWFnZURhdGEoMCwwLGQud2lkdGgsZC5oZWlnaHQpLmRhdGEsYSkpKX1lbHNle2NvbnN0IGI9aT09bnVsbD92b2lkIDA6aSgpO2lmKCFiKXJldHVybjtjb25zdCBkPWIuY2FudmFzO3JldHVybiBiLmNsZWFyUmVjdCgwLDAsZC53aWR0aCxkLmhlaWdodCksZC53aWR0aD10eXBlb2YgZS53aWR0aD09Im51bWJlciI/ZS53aWR0aDplLndpZHRoLmJhc2VWYWwudmFsdWUsZC5oZWlnaHQ9dHlwZW9mIGUuaGVpZ2h0PT0ibnVtYmVyIj9lLmhlaWdodDplLmhlaWdodC5iYXNlVmFsLnZhbHVlLGIuZHJhd0ltYWdlKGUsMCwwLGQud2lkdGgsZC5oZWlnaHQpLFYocixiLmdldEltYWdlRGF0YSgwLDAsZC53aWR0aCxkLmhlaWdodCkuZGF0YSxhKX1mb3IobGV0IGI9bC5sZW5ndGgsZD0wO2Q8YjtkKz00KXtjb25zdCB1PWxbZF0sQz1sW2QrMV0seT1sW2QrMl0sUz1sW2QrM107aWYoZiYmUz09PTB8fG89PT0iZGlmZiImJnMmJnU9PT1zW2RdJiZDPT09c1tkKzFdJiZ5PT09c1tkKzJdJiZTPT09c1tkKzNdKWNvbnRpbnVlO2NvbnN0IHc9dTw8MTZ8Qzw8OHx5LG09UyoxZTgrdyxJPW0lMzI3Njg7bGV0IFQ9dC5nZXQoSSk7VHx8KFQ9bmV3IE1hcCx0LnNldChJLFQpKTtsZXQgQT1ULmdldChtKTtpZihBIT09dm9pZCAwKXtuW0FdLmNvdW50Kys7Y29udGludWV9QT1uLnB1c2goe2FscGhhOlMsc3JnYjp3LG9rbGFiOkoodyksY291bnQ6MX0pLTEsVC5zZXQobSxBKX1yZXR1cm4gbH1mdW5jdGlvbiB0ZShyLGUpe2NvbnN0e2NvbG9yU2FtcGxlczphfT1lLHtzdGFydDppLGVuZDpzfT1yO3IubGVuZ3RoPXMtaSxyLndlaWdodD0wO2NvbnN0IGY9WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07ZlswXSs9dC5va2xhYlswXSp0LmNvdW50LGZbMV0rPXQub2tsYWJbMV0qdC5jb3VudCxmWzJdKz10Lm9rbGFiWzJdKnQuY291bnQsci53ZWlnaHQrPXQuY291bnR9ci5va2xhYj1bZlswXS9yLndlaWdodCxmWzFdL3Iud2VpZ2h0LGZbMl0vci53ZWlnaHRdO2NvbnN0IG89WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07b1swXSs9Qih0Lm9rbGFiWzBdLXIub2tsYWJbMF0sMikqdC5jb3VudCxvWzFdKz1CKHQub2tsYWJbMV0tci5va2xhYlsxXSwyKSp0LmNvdW50LG9bMl0rPUIodC5va2xhYlsyXS1yLm9rbGFiWzJdLDIpKnQuY291bnR9ci5zb3J0PW1lKG9bMF0sb1sxXSxvWzJdKSxyLnNjb3JlPU1hdGgubWF4KG9bMF0sb1sxXSxvWzJdKX1mdW5jdGlvbiBuZShyLGUpe2NvbnN0IGE9cSh7c3RhcnQ6MCxlbmQ6MCxsZW5ndGg6MCxzY29yZTowLHdlaWdodDowLHNvcnQ6ImxhYiIsc29ydGVkOm51bGwsc3JnYjowLG9rbGFiOlswLDAsMF19LHIpO3JldHVybiB0ZShhLGUpLGF9ZnVuY3Rpb24gQ2Uocil7Y29uc3R7Y29sb3JCb3hlczplfT1yLGE9W10saT1uZXcgTWFwO2ZvcihsZXQgbz0tMSxuPWUubGVuZ3RoLHQ9MDt0PG47dCsrKXtjb25zdHtzcmdiOmx9PWVbdF07aWYobD09PW8pe2kuc2V0KHQsITApO2NvbnRpbnVlfW89bH1mKHttaW46Wy02NTUzNSwtNjU1MzUsLTY1NTM1XSxtYXg6WzY1NTM1LDY1NTM1LDY1NTM1XX0pO2Z1bmN0aW9uIHMobyl7Y29uc3Qgbj17bWluOls2NTUzNSw2NTUzNSw2NTUzNV0sbWF4OlstNjU1MzUsLTY1NTM1LC02NTUzNV19O2xldCB0PTA7Y29uc3QgbD1bXTtmb3IobGV0IGI9ZS5sZW5ndGgsZD0wO2Q8YjtkKyspe2NvbnN0e29rbGFiOnV9PWVbZF07aS5oYXMoZCl8fHVbMF08by5taW5bMF18fHVbMV08by5taW5bMV18fHVbMl08by5taW5bMl18fHVbMF0+by5tYXhbMF18fHVbMV0+by5tYXhbMV18fHVbMl0+by5tYXhbMl18fCh1WzBdPG4ubWluWzBdJiYobi5taW5bMF09dVswXSksdVsxXTxuLm1pblsxXSYmKG4ubWluWzFdPXVbMV0pLHVbMl08bi5taW5bMl0mJihuLm1pblsyXT11WzJdKSx1WzBdPm4ubWF4WzBdJiYobi5tYXhbMF09dVswXSksdVsxXT5uLm1heFsxXSYmKG4ubWF4WzFdPXVbMV0pLHVbMl0+bi5tYXhbMl0mJihuLm1heFsyXT11WzJdKSxsW3QrK109e29rbGFiOnUsY29sb3JCb3hJbmRleDpkfSl9bGV0IGc9MDtpZighdClyZXR1cm57Y29sb3JCb3hJbmRleDotMSxsb25nZXN0Omd9O2NvbnN0IGM9bi5tYXhbMF0tbi5taW5bMF0saD1uLm1heFsxXS1uLm1pblsxXSxwPW4ubWF4WzJdLW4ubWluWzJdO3JldHVybiBjPj1oJiZjPj1wP2c9MDpwPj1jJiZwPj1oP2c9MjpoPj1jJiZoPj1wJiYoZz0xKSx7Y29sb3JCb3hJbmRleDpsLnNvcnQoKGIsZCk9PmIub2tsYWJbZ10tZC5va2xhYltnXSlbdD4+MV0uY29sb3JCb3hJbmRleCxsb25nZXN0Omd9fWZ1bmN0aW9uIGYobyl7Y29uc3R7Y29sb3JCb3hJbmRleDpuLGxvbmdlc3Q6dH09cyhvKTtpZihuPDApcmV0dXJuLTE7Y29uc3R7b2tsYWI6bH09ZVtuXSxnPXtsb25nZXN0OnQsb2tsYWI6bCxjb2xvckJveEluZGV4Om59LGM9YS5wdXNoKGcpLTE7aS5zZXQobiwhMCk7Y29uc3QgaD17bWF4OlsuLi5vLm1heF0sbWluOlsuLi5vLm1pbl19LHA9e21heDpbLi4uby5tYXhdLG1pbjpbLi4uby5taW5dfTtoLm1heFt0XT1sW3RdLHAubWluW3RdPU1hdGgubWluKGxbdF0rMSw2NTUzNSk7Y29uc3QgYj1mKGgpO2xldCBkPS0xO3JldHVybiBwLm1pblt0XTw9cC5tYXhbdF0mJihkPWYocCkpLGcubGVmdD1iLGcucmlnaHQ9ZCxjfXJldHVybiBhfWZ1bmN0aW9uIHllKHIsZT17fSl7Y29uc3R7bWF4Q29sb3JzOmEsY29sb3JTYW1wbGVzOml9PXI7aWYoIWkubGVuZ3RoKXJldHVybjtjb25zdHttYXhDb2xvcnM6cz1hLGNsZWFyU2FtcGxlczpmPSEwfT1lO2xldCBvPW5lKHtlbmQ6aS5sZW5ndGh9LHIpLG49MTtjb25zdCB0PVtvXTtmdW5jdGlvbiBsKCl7bGV0IGM9LTEsaD0tMTtpZihuPT09cylyZXR1cm4tMTtmb3IobGV0IHA9MDtwPG47cCsrKXtjb25zdCBiPXRbcF07Yi5sZW5ndGg+PTImJmIuc2NvcmU+aCYmKGM9cCxoPWIuc2NvcmUpfXJldHVybiBjfWZ1bmN0aW9uIGcoYyxoKXtjb25zdCBwPW5lKHtzdGFydDpoKzEsZW5kOmMuZW5kLHNvcnRlZDpjLnNvcnRlZH0scik7Yy5lbmQtPXAubGVuZ3RoLHRlKGMsciksdC5wdXNoKHApLG4rK31mb3IoO28mJm8ubGVuZ3RoPjE7KXtjb25zdHtzdGFydDpjLGVuZDpoLHNvcnQ6cCxzb3J0ZWQ6Yn09bztpZihwIT09Yil7Y29uc3QgUz1pLnNsaWNlKGMsaCkuc29ydChwZShwKSk7Zm9yKGxldCB3PVMubGVuZ3RoLG09MDttPHc7bSsrKWlbYyttXT1TW21dO28uc29ydGVkPXB9Y29uc3QgZD1vLndlaWdodCsxPj4xO2xldCB1PWMsQz0wO2ZvcihsZXQgUz1oLTI7dTxTJiYoQys9aVt1XS5jb3VudCwhKEM+ZCkpO3UrKyk7ZyhvLHUpO2NvbnN0IHk9bCgpO289eT49MD90W3ldOm51bGx9Zm9yKGxldCBjPXQubGVuZ3RoLGg9MDtoPGM7aCsrKXRbaF0uc3JnYj1nZSh0W2hdLm9rbGFiKTtyLmNvbG9yQm94ZXM9dC5zb3J0KChjLGgpPT5jLnNyZ2ItaC5zcmdiKSxyLmNvbG9yQm94ZXNJbmRleFRyZWU9Q2UociksZiYmKHIuY29sb3JTYW1wbGVzPVtdLHIuY29sb3JTYW1wbGVzQ2FjaGUuY2xlYXIoKSksci5maW5kZXJDYWNoZS5jbGVhcigpfWZ1bmN0aW9uIEllKHIsZSxhKXtjb25zdHtjb2xvckJveGVzOml9PXI7aWYoIWUpcmV0dXJuO2xldCBzO2lmKHR5cGVvZiBhPT0ibnVtYmVyIilzPWE7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9YS5yZXBsYWNlKC9eIy8sIiIpLGw9W2Ake3RbMF19JHt0WzFdfWAsYCR7dFsyXX0ke3RbM119YCxgJHt0WzRdfSR7dFs1XX1gXS5tYXAoZz0+cGFyc2VJbnQoZywxNikpO3M9bFswXTw8MTZ8bFsxXTw8OHxsWzJdfWVsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlzPWFbMF08PDE2fGFbMV08PDh8YVsyXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdCIpO2NvbnN0IGY9ZShzKTtpZihmPT09dm9pZCAwKXJldHVybjtjb25zdCBvPWlbZl07aWYoIW8pcmV0dXJuO2NvbnN0e3NyZ2I6bn09bztpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9KG4+PjE2JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxsPShuPj44JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxnPShuJjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm57dmFsdWU6YCMke3R9JHtsfSR7Z31gLGluZGV4OmZ9fWVsc2UgaWYodHlwZW9mIGE9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGEpKXJldHVybnt2YWx1ZTpbbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XSxpbmRleDpmfTtyZXR1cm57dmFsdWU6bixpbmRleDpmfX1mdW5jdGlvbiBrZShyKXtyLmNvbG9yU2FtcGxlcz1bXSxyLmNvbG9yU2FtcGxlc0NhY2hlLmNsZWFyKCksci5jb2xvckJveGVzPVtdLHIuY29sb3JCb3hlc0luZGV4VHJlZT1bXSxyLmZpbmRlckNhY2hlLmNsZWFyKCl9ZnVuY3Rpb24gVGUocil7Y29uc3QgZT1iZShyKSx7c3RhdHNNb2RlOmEsc2FtcGxlczppLHNraXBUcmFuc3BhcmVudDpzfT1lLGY9ZnVuY3Rpb24oKXtsZXQgbDtyZXR1cm4oKT0+KCFsJiZfJiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pKSxsKX0oKTtsZXQgbz1udWxsLG49bnVsbDtjb25zdCB0PXtjb250ZXh0OmUsYWRkU2FtcGxlOmw9PntlLmNvbG9yU2FtcGxlcy5sZW5ndGg9PT0wJiYobz1udWxsKTtjb25zdCBnPVYoZSxsLHtnZXRDb250ZXh0MmQ6ZixwcmV2aW91c1NhbXBsZTpvLHNraXBUcmFuc3BhcmVudDpzfSk7cmV0dXJuKGcgaW5zdGFuY2VvZiBQcm9taXNlP2c6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZykpLnRoZW4oYz0+e2MmJmE9PT0iZGlmZiImJihvPWMpfSksZ30sZ2VuZXJhdGUobD17fSl7Y29uc3R7Y2xlYXJTYW1wbGVzOmc9ITB9PWw7cmV0dXJuIGcmJihvPW51bGwpLHllKGUsbCksdGhpc30sZ2V0Q29sb3JzOmw9PlNlKGUsbCksZmluZE5lYXJlc3RDb2xvcjpsPT4obnx8KG49ZWUoZSkpLEllKGUsbixsKSkscmVzZXQ6KCk9PmtlKGUpfTtyZXR1cm4gaS5sZW5ndGgmJihpLmZvckVhY2gobD0+dC5hZGRTYW1wbGUobCkpLGUuc2FtcGxlcz1bXSksdH1jb25zdCBBZT0iW21vZGVybi1naWZdIixFZT0iR0lGIixCZT1bIjg3YSIsIjg5YSJdLHJlPTQ0LG9lPTMzLF9lPTI1NSx2ZT0xMSxNZT0yNTQsYWU9MjQ5LHNlPTQsTmU9MSxVZT0xLE9lPTU5LGxlPSguLi5yKT0+Y29uc29sZS53YXJuKEFlLC4uLnIpO2Z1bmN0aW9uIFBlKHIpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoci5yZWR1Y2UoKGEsaSk9PmEraS5ieXRlTGVuZ3RoLDApKTtyZXR1cm4gci5yZWR1Y2UoKGEsaSk9PihlLnNldChpLGEpLGEraS5ieXRlTGVuZ3RoKSwwKSxlfWZ1bmN0aW9uIGllKHIsZSxhKXtsZXQgaTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcocikpaT1yLmJ1ZmZlcjtlbHNlIGlmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilpPXI7ZWxzZXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHt3aWR0aDpmLGhlaWdodDpvfT1hfHx7fSxuPXMuZ2V0Q29udGV4dCgiMmQiKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2FudmFzIGNvbnRleHQyZCIpO3Mud2lkdGg9ZiE9bnVsbD9mOnR5cGVvZiByLndpZHRoPT0ibnVtYmVyIj9yLndpZHRoOnIud2lkdGguYmFzZVZhbC52YWx1ZSxzLmhlaWdodD1vIT1udWxsP286dHlwZW9mIHIuaGVpZ2h0PT0ibnVtYmVyIj9yLmhlaWdodDpyLmhlaWdodC5iYXNlVmFsLnZhbHVlLG4uZHJhd0ltYWdlKHIsMCwwLHMud2lkdGgscy5oZWlnaHQpLGk9bi5nZXRJbWFnZURhdGEoMCwwLHMud2lkdGgscy5oZWlnaHQpLmRhdGEuYnVmZmVyfXN3aXRjaChlKXtjYXNlInVpbnQ4QXJyYXkiOnJldHVybiBuZXcgVWludDhBcnJheShpKTtjYXNlInVpbnQ4Q2xhbXBlZEFycmF5IjpyZXR1cm4gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGkpO2Nhc2UiZGF0YVZpZXciOnJldHVybiBuZXcgRGF0YVZpZXcoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQiKX19ZnVuY3Rpb24gRGUocixlKXt2YXIgYjtjb25zdHt0b3A6YT0wLGxlZnQ6aT0wLHdpZHRoOnMsaGVpZ2h0OmYscmF3V2lkdGg6byxyYXRlOm49NCxjYWxsYmFjazp0fT1lLGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHMqZipuKSxnPWkqbixjPWEqbixoPXMqbixwPW8qbjtmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgdT0wO3U8aDt1Kyspe2NvbnN0IEM9KGMrZCkqcCsoZyt1KTtsW2QqaCt1XT0oYj10PT1udWxsP3ZvaWQgMDp0KEMpKSE9bnVsbD9iOnJbQ119cmV0dXJuIGx9ZnVuY3Rpb24gJGUocil7Y29uc3QgZT1pZShyLCJkYXRhVmlldyIpO2xldCBhPTA7Y29uc3QgaT0oKT0+ZS5nZXRVaW50OChhKyspLHM9Zj0+QXJyYXkuZnJvbSh7bGVuZ3RoOmZ9KS5tYXAoaSk7cmV0dXJue2dldEN1cnNvcjooKT0+YSxzZXRDdXJzb3I6Zj0+YT1mLHJlYWRCeXRlOmkscmVhZEJ5dGVzOnMscmVhZFN0cmluZzpmPT5TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMoZikpLHJlYWRVbnNpZ25lZDooKT0+W2UuZ2V0VWludDE2KGEsITApLGErPTJdWzBdLHJlYWRCaXRzOigpPT5lLmdldFVpbnQ4KGErKykudG9TdHJpbmcoMikucGFkU3RhcnQoOCwiMCIpLnNwbGl0KCIiKS5tYXAoTnVtYmVyKSxyZWFkQ29sb3JUYWJsZTpmPT5BcnJheS5mcm9tKHtsZW5ndGg6Zn0sKCk9PkFycmF5LmZyb20ocygzKSkpLHJlYWRTdWJCbG9jazooKT0+e2NvbnN0IGY9W107Zm9yKDs7KXtjb25zdCBvPWkoKTtpZihvPT09MCYmZS5nZXRVaW50OChhKSE9PTApYnJlYWs7Zi5wdXNoKG8pfXJldHVybiBmfX19ZnVuY3Rpb24gWGUocil7Y29uc3QgZT17fSx7Z2V0Q3Vyc29yOmEsc2V0Q3Vyc29yOmkscmVhZEJ5dGU6cyxyZWFkU3RyaW5nOmYscmVhZFVuc2lnbmVkOm8scmVhZEJpdHM6bixyZWFkQ29sb3JUYWJsZTp0LHJlYWRTdWJCbG9jazpsfT0kZShyKSxnPSgpPT4oe2luZGV4OjAsZGVsYXk6MTAwLGRpc3Bvc2FsOjB9KSxjPWYoMyksaD1mKDMpO2lmKGMhPT1FZXx8IUJlLmluY2x1ZGVzKGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyBub3QgYSA4N2EvODlhIEdJRiBkYXRhLiIpO2UudmVyc2lvbj1oLGUud2lkdGg9bygpLGUuaGVpZ2h0PW8oKTtjb25zdCBwPW4oKTtlLmdsb2JhbENvbG9yVGFibGU9ISFwWzBdLGUuY29sb3JSZXNvbHVUaW9uPXBhcnNlSW50KHAuc2xpY2UoMSw0KS5qb2luKCIiKSwyKSsxLGUuY29sb3JUYWJsZVNvcnRlZD0hIXBbNF07Y29uc3QgYj1wYXJzZUludChwLnNsaWNlKDUsOCkuam9pbigiIiksMik7ZS5jb2xvclRhYmxlU2l6ZT1NYXRoLnBvdygyLGIrMSksZS5iYWNrZ3JvdW5kQ29sb3JJbmRleD1zKCksZS5waXhlbEFzcGVjdFJhdGlvPXMoKSxlLmdsb2JhbENvbG9yVGFibGUmJihlLmNvbG9yVGFibGVTaXplP2UuY29sb3JUYWJsZT10KGUuY29sb3JUYWJsZVNpemUpOmwoKSksZS5mcmFtZXM9W107bGV0IGQ9ZygpO2NvbnN0IHU9W10sQz1bXTtmb3IoOzspe2NvbnN0IHk9cygpO2lmKHUucHVzaCh5KSx5PT09cmUpe2QubGVmdD1vKCksZC50b3A9bygpLGQud2lkdGg9bygpLGQuaGVpZ2h0PW8oKTtjb25zdCBTPW4oKTtkLmxvY2FsQ29sb3JUYWJsZT0hIVNbMF0sZC5pbnRlcmxhY2VkPSEhU1sxXSxkLmNvbG9yVGFibGVTb3J0ZWQ9ISFTWzJdLGQucmVzZXJ2ZWQ9cGFyc2VJbnQoUy5zbGljZSgzLDUpLmpvaW4oIiIpLDIpO2NvbnN0IHc9cGFyc2VJbnQoUy5zbGljZSg1LDgpLmpvaW4oIiIpLDIpO2ZvcihkLmNvbG9yVGFibGVTaXplPU1hdGgucG93KDIsdysxKSxkLmxvY2FsQ29sb3JUYWJsZSYmKGQuY29sb3JUYWJsZT10KGQuY29sb3JUYWJsZVNpemUpKSxkLmx6d01pbkNvZGVTaXplPXMoKSxkLmltYWdlRGF0YVBvc2l0aW9ucz1bXTs7KXtjb25zdCBtPXMoKTtpZihtPT09MClicmVhaztjb25zdCBJPWEoKTtkLmltYWdlRGF0YVBvc2l0aW9ucy5wdXNoKFtJLG1dKSxpKEkrbSl9ZS5mcmFtZXMucHVzaChkKSxkPWcoKSxkLmluZGV4PWUuZnJhbWVzLmxlbmd0aDtjb250aW51ZX1pZih5PT09b2Upe2NvbnN0IFM9cygpO2lmKEMucHVzaChTKSxTPT09X2Upe2lmKHMoKSE9PXZlKWNvbnRpbnVlO2NvbnN0IHc9e2lkZW50aWZpZXI6Zig4KSxjb2RlOmYoMyksZGF0YTpbXX07YCR7dy5pZGVudGlmaWVyfSR7dy5jb2RlfWA9PSJORVRTQ0FQRTIuMCImJnMoKT09PTMmJihlLmxvb3BlZD0hIXMoKSxlLmxvb3BDb3VudD1vKCkpLHcuZGF0YT1sKCksZC5hcHBsaWNhdGlvbj13O2NvbnRpbnVlfWlmKFM9PT1NZSl7ZC5jb21tZW50PWwoKS5tYXAodz0+U3RyaW5nLmZyb21DaGFyQ29kZSh3KSkuam9pbigiIik7Y29udGludWV9aWYoUz09PWFlKXtpZihzKCkhPT1zZSljb250aW51ZTtjb25zdCB3PW4oKSxtPXtyZXNlcnZlZDpwYXJzZUludCh3LnNsaWNlKDAsMykuam9pbigiIiksMiksZGlzcG9zYWw6cGFyc2VJbnQody5zbGljZSgzLDYpLmpvaW4oIiIpLDIpLHVzZXJJbnB1dDohIXdbNl0sdHJhbnNwYXJlbnQ6ISF3WzddLGRlbGF5VGltZTpvKCksdHJhbnNwYXJlbnRJbmRleDpzKCl9O2woKSxkLmdyYXBoaWNDb250cm9sPW0sZC5kaXNwb3NhbD1tLmRpc3Bvc2FsLGQuZGVsYXk9KG0uZGVsYXlUaW1lfHwxMCkqMTA7Y29udGludWV9aWYoUz09PU5lKXtpZihzKCkhPT1VZSljb250aW51ZTtkLnBsYWluVGV4dD17bGVmdDpvKCksdG9wOm8oKSx3aWR0aDpvKCksaGVpZ2h0Om8oKSxjZWxsV2lkdGg6cygpLGNlbGxIZWlnaHQ6cygpLGNvbG9ySW5kZXg6cygpLGJhY2tncm91bmRDb2xvckluZGV4OnMoKSxkYXRhOmwoKX07Y29udGludWV9bGUoYFVua25vd24gZXh0ZW5zaW9uIGJsb2NrOiAweCR7Uy50b1N0cmluZygxNil9YCx1LnNsaWNlKDAsdS5sZW5ndGgtMSkubWFwKHc9PmAweCR7dy50b1N0cmluZygxNil9YCksQy5zbGljZSgwLEMubGVuZ3RoLTEpLm1hcCh3PT5gMHgke3cudG9TdHJpbmcoMTYpfWApKTtjb250aW51ZX1pZih5PT09T2UpYnJlYWs7bGUoYFVua25vd24gYmxvY2s6IDB4JHt5LnRvU3RyaW5nKDE2KX1gLHUuc2xpY2UoMCx1Lmxlbmd0aC0xKS5tYXAoUz0+YDB4JHtTLnRvU3RyaW5nKDE2KX1gKSxDLnNsaWNlKDAsQy5sZW5ndGgtMSkubWFwKFM9PmAweCR7Uy50b1N0cmluZygxNil9YCkpfXJldHVybiBlfWZ1bmN0aW9uIFJlKHIsZSxhKXtjb25zdCBmPWE7bGV0IG8sbix0LGwsZyxjLGg7Y29uc3QgcD1uZXcgQXJyYXkoYSksYj1uZXcgQXJyYXkoNDA5NiksZD1uZXcgQXJyYXkoNDA5NiksdT1uZXcgQXJyYXkoNDA5NisxKSxDPXIseT0xPDxDLFM9eSsxO2ZvcihvPXkrMixnPS0xLHQ9QysxLG49KDE8PHQpLTEsYz0wO2M8eTtjKyspYltjXT0wLGRbY109YztsZXQgdyxtLEksVCxBLFA7Zm9yKHc9bT1JPVQ9QT1QPTAsaD0wO2g8Zjspe2lmKFQ9PT0wKXtpZihtPHQpe3crPWVbUF08PG0sbSs9OCxQKys7Y29udGludWV9aWYoYz13Jm4sdz4+PXQsbS09dCxjPm98fGM9PT1TKWJyZWFrO2lmKGM9PT15KXt0PUMrMSxuPSgxPDx0KS0xLG89eSsyLGc9LTE7Y29udGludWV9aWYoZz09PS0xKXt1W1QrK109ZFtjXSxnPWMsST1jO2NvbnRpbnVlfWZvcihsPWMsYz09PW8mJih1W1QrK109SSxjPWcpO2M+eTspdVtUKytdPWRbY10sYz1iW2NdO0k9ZFtjXSYyNTUsdVtUKytdPUksbzw0MDk2JiYoYltvXT1nLGRbb109SSxvKyssIShvJm4pJiZvPDQwOTYmJih0Kyssbis9bykpLGc9bH1ULS0scFtBKytdPXVbVF0saCsrfWZvcihoPUE7aDxmO2grKylwW2hdPTA7cmV0dXJuIHB9ZnVuY3Rpb24gTGUocixlKXtjb25zdCBhPW5ldyBBcnJheShyLmxlbmd0aCksaT1yLmxlbmd0aC9lLHM9WzAsNCwyLDFdLGY9WzgsOCw0LDJdO2xldCBvPTA7Zm9yKGxldCBuPTA7bjw0O24rKylmb3IobGV0IHQ9c1tuXTt0PGk7dCs9ZltuXSlhLnNwbGljZS5hcHBseShhLFt0KmUsZV0uY29uY2F0KHIuc2xpY2UobyplLChvKzEpKmUpKSksbysrO3JldHVybiBhfWZ1bmN0aW9uIHplKHIpe2NvbnN0IGU9bmV3IE1hcCx7d29ya2VyVXJsOmF9PXI7bGV0e3dvcmtlck51bWJlcjppPTF9PXI7Y29uc3Qgcz1bLi4ubmV3IEFycmF5KGE/aTowKV0ubWFwKCgpPT57dHJ5e2NvbnN0IHQ9bmV3IFdvcmtlcihhKTtyZXR1cm4gdC5vbm1lc3NhZ2U9Zix0fWNhdGNoKHQpe3JldHVybiBudWxsfX0pLmZpbHRlcihCb29sZWFuKTtpPXMubGVuZ3RoO2Z1bmN0aW9uIGYodCl7dmFyIGM7Y29uc3R7aWQ6bCxkYXRhOmd9PXQuZGF0YTsoYz1lLmdldChsKSk9PW51bGx8fGMoZyksZS5kZWxldGUobCl9Y29uc3Qgbz1mdW5jdGlvbigpe2xldCB0PTA7cmV0dXJuIGw9PnNbKGwhPW51bGw/bDp0KyspJWldfSgpO3JldHVybntjYWxsOmZ1bmN0aW9uKCl7bGV0IHQ9MDtyZXR1cm4obCxnLGMsaCk9Pm5ldyBQcm9taXNlKHA9Pntjb25zdCBiPW8oaCk7aWYoIWIpcmV0dXJuIHAodm9pZCAwKTtlLnNldCh0LHApLGIucG9zdE1lc3NhZ2Uoe2lkOnQrKyx0eXBlOmwsZGF0YTpnfSx7dHJhbnNmZXI6Y30pfSl9KCl9fWZ1bmN0aW9uIEZlKHIsZSl7Y29uc3QgYT1pZShyLCJ1aW50OEFycmF5Iik7aWYoZSE9bnVsbCYmZS53b3JrZXJVcmwpcmV0dXJuIHplKHt3b3JrZXJVcmw6ZS53b3JrZXJVcmx9KS5jYWxsKCJmcmFtZXM6ZGVjb2RlIixhLFthLmJ1ZmZlcl0pO2NvbnN0e2dpZjppPVhlKHIpLHJhbmdlOnN9PWUhPW51bGw/ZTp7fSx7d2lkdGg6ZixoZWlnaHQ6byxjb2xvclRhYmxlOm4sZnJhbWVzOnR9PWksbD1zP3Quc2xpY2Uoc1swXSxzWzFdKzEpOnQsZz1sLnNvbWUoYj0+Yi5kaXNwb3NhbD09PTMpO2xldCBjPW5ldyBVaW50OENsYW1wZWRBcnJheShmKm8qNCksaCxwPWMuc2xpY2UoKTtyZXR1cm4gbC5tYXAoYj0+e3ZhciBmZTtjb25zdHtsZWZ0OmQsdG9wOnUsd2lkdGg6QyxoZWlnaHQ6eSxpbnRlcmxhY2VkOlMsbG9jYWxDb2xvclRhYmxlOncsY29sb3JUYWJsZTptLGx6d01pbkNvZGVTaXplOkksaW1hZ2VEYXRhUG9zaXRpb25zOlQsZ3JhcGhpY0NvbnRyb2w6QSxkZWxheTpQLGRpc3Bvc2FsOmp9PWIsR2U9dSt5LHt0cmFuc3BhcmVudDpIZSx0cmFuc3BhcmVudEluZGV4OnFlfT1BIT1udWxsP0E6e30sWj13P206bixjZT1IZT9xZTotMSxZZT1QZShULm1hcCgoW0UsRF0pPT5hLnN1YmFycmF5KEUsRStEKSkpO2xldCBYPVJlKEksWWUsQyp5KTtpZihTJiYoWD1MZShYLEMpKSxqPT09MylwJiYoYz1wPT1udWxsP3ZvaWQgMDpwLnNsaWNlKCkpO2Vsc2V7Y29uc3QgRT1oPT1udWxsP3ZvaWQgMDpoLmRpc3Bvc2FsO2lmKEU9PT0wfHxFPT09Mil7Y29uc3R7bGVmdDpELHRvcDokLHdpZHRoOk0saGVpZ2h0OlJ9PWgsRz0kK1I7Zm9yKGxldCBVPSQ7VTxHO1UrKyl7Y29uc3QgSD1VKmYrRCxPPShVLSQpKk07Zm9yKGxldCBMPTA7TDxNO0wrKyl7Y29uc3QgSmU9WFtPK0xdO2lmKEU9PT0yfHxKZSE9PWNlKXtjb25zdCB6PShIK0wpKjQ7Y1t6XT1jW3orMV09Y1t6KzJdPWNbeiszXT0wfX19fX1mb3IobGV0IEU9dTtFPEdlO0UrKyl7Y29uc3QgRD1FKmYrZCwkPShFLXUpKkM7Zm9yKGxldCBNPTA7TTxDO00rKyl7Y29uc3QgUj1YWyQrTV07aWYoUiE9PWNlKXtjb25zdFtHLFUsSF09KGZlPVo9PW51bGw/dm9pZCAwOlpbUl0pIT1udWxsP2ZlOlswLDAsMF0sTz0oRCtNKSo0O2NbT109RyxjW08rMV09VSxjW08rMl09SCxjW08rM109MjU1fX19cmV0dXJuIGcmJihqPT09MHx8aj09PTEpJiYocD1jLnNsaWNlKCkpLGg9Yix7d2lkdGg6ZixoZWlnaHQ6byxkZWxheTpQLGltYWdlRGF0YTpjLnNsaWNlKCl9fSl9ZnVuY3Rpb24gV2UocixlLGEpe2NvbnN0e3dyaXRlQnl0ZTppLGdldEN1cnNvcjpzLGNhbGN1bGF0ZURpc3RhbmNlOmZ9PWE7aShyKTtsZXQgbz1zKCk7aSgwKTtjb25zdCBuPTE8PHIsdD1uLTEsbD1uKzE7bGV0IGc9bCsxLGM9cisxLGg9MCxwPTA7ZnVuY3Rpb24gYihtKXtmb3IoO2g+PW07KWkocCYyNTUpLHA+Pj04LGgtPTgsZihvKT09PTI1NiYmKGkoMjU1LG8pLG89cygpLGkoMCkpfWZ1bmN0aW9uIGQobSl7cHw9bTw8aCxoKz1jLGIoOCl9bGV0IHU9ZVswXSZ0LEM9e30seSxTLHc7ZChuKTtmb3IobGV0IG09ZS5sZW5ndGgsST0xO0k8bTsrK0kpaWYodz1lW0ldJnQseT11PDw4fHcsUz1DW3ldLFM9PT12b2lkIDApe2ZvcihwfD11PDxoLGgrPWM7aD49ODspaShwJjI1NSkscD4+PTgsaC09OCxmKG8pPT09MjU2JiYoaSgyNTUsbyksbz1zKCksaSgwKSk7Zz09PTQwOTY/KGQobiksZz1sKzEsYz1yKzEsQz17fSk6KGc+PTE8PGMmJisrYyxDW3ldPWcrKyksdT13fWVsc2UgdT1TO2QodSksZChsKSxiKDEpLGYobyk9PT0xP2koMCxvKTooaShmKG8pLTEsbyksaSgwKSl9ZnVuY3Rpb24gS2Uocj17fSl7Y29uc3R7Y2h1bmtTaXplOmU9NDA5Nn09cjtsZXQgYT1bbmV3IFVpbnQ4QXJyYXkoZSldLGk9MCxzPTA7Y29uc3QgZj0obix0KT0+e3Q/YVt0WzBdXVt0WzFdXT1uOihzPj1lJiYoYVsrK2ldPW5ldyBVaW50OEFycmF5KGUpLHM9MCksYVtpXVtzKytdPW4pfSxvPW49Pm4uZm9yRWFjaCh0PT5mKHQpKTtyZXR1cm57Z2V0Q3Vyc29yOigpPT5baSxzXSxzZXRDdXJzb3I6bj0+e2k9blswXSxzPW5bMV19LGNhbGN1bGF0ZURpc3RhbmNlOm49PmkqZStzLShuWzBdKmUrblsxXSksd3JpdGVCeXRlOmYsd3JpdGVCeXRlczpvLHdyaXRlU3RyaW5nOm49Pm4uc3BsaXQoIiIpLmZvckVhY2goKHQsbCk9PmYobi5jaGFyQ29kZUF0KGwpKSksd3JpdGVVbnNpZ25lZDpuPT5vKFtuJjI1NSxuPj44JjI1NV0pLGZsdXNoOigpPT57YVtpXT1hW2ldLnNsaWNlKDAscyk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShhLnJlZHVjZSgobCxnKT0+bCtnLmJ5dGVMZW5ndGgsMCkpO2xldCB0PTA7cmV0dXJuIGEuZm9yRWFjaChsPT57bi5zZXQobCx0KSx0Kz1sLmJ5dGVMZW5ndGh9KSxhPVtuZXcgVWludDhBcnJheShlKV0saT0wLHM9MCxufX19ZnVuY3Rpb24gVmUocil7dmFyIEMseSxTO2NvbnN0IGU9S2UoKSx7d3JpdGVCeXRlOmEsd3JpdGVCeXRlczppLHdyaXRlVW5zaWduZWQ6cyxmbHVzaDpmfT1lLHtsZWZ0Om89MCx0b3A6bj0wLHdpZHRoOnQ9MCxoZWlnaHQ6bD0wLGRlbGF5Omc9MTAwLGNvbG9yVGFibGU6Y309cjtsZXR7ZGlzcG9zYWw6aD0wfT1yO2NvbnN0IHA9KEM9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOkMudHJhbnNwYXJlbnQ7bGV0IGI9KFM9KHk9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnRJbmRleCkhPW51bGw/UzoyNTU7aWYobzwwfHxvPjY1NTM1KXRocm93IG5ldyBFcnJvcigiTGVmdCBpbnZhbGlkLiIpO2lmKG48MHx8bj42NTUzNSl0aHJvdyBuZXcgRXJyb3IoIlRvcCBpbnZhbGlkLiIpO2lmKHQ8PTB8fHQ+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJXaWR0aCBpbnZhbGlkLiIpO2lmKGw8PTB8fGw+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJIZWlnaHQgaW52YWxpZC4iKTtsZXQgZD04LHU9Yz9jLmxlbmd0aDowO2lmKHUpe2lmKHU8Mnx8dT4yNTZ8fHUmdS0xKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciB0YWJsZSBsZW5ndGgsIG11c3QgYmUgcG93ZXIgb2YgMiBhbmQgMiAuLiAyNTYuIik7Zm9yKDt1Pj49MTspKytkfXJldHVybiBhKG9lKSxhKGFlKSxhKHNlKSxwP2h8fChoPTIpOmI9MCxhKHBhcnNlSW50KGAwMDAke051bWJlcihoJjcpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDMsIjAiKX0wJHtwPzE6MH1gLDIpKSxzKGcvMTApLGEoYiksYSgwKSxhKHJlKSxzKG8pLHMobikscyh0KSxzKGwpLGMhPW51bGwmJmMubGVuZ3RoPyhhKHBhcnNlSW50KGAxMDAwMCR7KGQtMSkudG9TdHJpbmcoMikucGFkU3RhcnQoMywiMCIpfWAsMikpLGkoYy5mbGF0KCkpKTphKDApLFdlKGQsci5pbWFnZURhdGEsZSksZigpfWZ1bmN0aW9uIGplKHIpe2NvbnN0e2ZyYW1lczplLHBhbGV0dGU6YSx0cmFuc3BhcmVudEluZGV4Oml9PXIscz1lZShhKTtyZXR1cm4gZS5tYXAoKHtpbWFnZURhdGE6Zn0pPT57bGV0IG89ITE7Y29uc3Qgbj1uZXcgVWludDhDbGFtcGVkQXJyYXkoZi5sZW5ndGgvNCk7Zm9yKGxldCB0PWYubGVuZ3RoLGw9MDtsPHQ7bCs9NClmW2wrM109PT0wPyhuW2wvNF09aSxvPSEwKTpuW2wvNF09cyhmW2xdPDwxNnxmW2wrMV08PDh8ZltsKzJdKTtyZXR1cm57aW1hZ2VEYXRhOm4sdHJhbnNwYXJlbnQ6b319KX1mdW5jdGlvbiBaZShyKXtjb25zdHtmcmFtZXM6ZSx0cmFuc3BhcmVudEluZGV4OmF9PXI7bGV0IGk7cmV0dXJuIGUubWFwKChzLGYpPT57dmFyIHksUztjb25zdHt3aWR0aDpvLGhlaWdodDpuLGltYWdlRGF0YTp0fT1zLGw9cy50cmFuc3BhcmVudHx8KChTPSh5PWVbZisxXSk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnQpIT1udWxsP1M6ITApO2xldCBnPTAsYz0wLGg9by0xLHA9bi0xLGI7aWYobCl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypjK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypwK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztwLS19Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2ddIT09YSl7dz0hMTticmVha31pZighdylicmVhaztnKyt9Zm9yKDtoPmc7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2hdIT09YSl7dz0hMTticmVha31pZighdylicmVhaztoLS19fWVsc2V7aWYoaSl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qYyttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qcCttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztwLS19aWYoYz09PXApZz1oO2Vsc2V7Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPD1wO20rKyl7Y29uc3QgST1tKm8rZztpZih0W0ldIT09aVtJXSl7dz0hMTticmVha319aWYoIXcpYnJlYWs7ZysrfWZvcig7aD5nOyl7bGV0IHc9ITA7Zm9yKGxldCBtPWM7bTw9cDttKyspe2NvbnN0IEk9bSpvK2g7aWYodFtJXSE9PWlbSV0pe3c9ITE7YnJlYWt9fWlmKCF3KWJyZWFrO2gtLX19fWI9aSxpPXR9Y29uc3QgZD1oKzEtZyx1PXArMS1jLEM9RGUodCx7bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUscmF3V2lkdGg6byxyYXRlOjEsY2FsbGJhY2s6dz0+e2lmKCFsJiZiJiZ0W3ddPT09Ylt3XSlyZXR1cm4gYX19KTtyZXR1cm57bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUsZGlzcG9zYWw6bD8yOjEsaW1hZ2VEYXRhOkN9fSl9Y29uc3QgTj1UZSh7c2tpcFRyYW5zcGFyZW50OiExfSk7c2VsZi5vbm1lc3NhZ2U9cj0+e2NvbnN0e2lkOmUsdHlwZTphLGRhdGE6aX09ci5kYXRhO2lmKGE9PT0icGFsZXR0ZTphZGRTYW1wbGUiJiZOKXJldHVybiBOLmFkZFNhbXBsZShpKSxzZWxmLnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6YSxkYXRhOiEwfSk7aWYoYT09PSJwYWxldHRlOmdlbmVyYXRlIiYmTil7Ti5nZW5lcmF0ZShpKTtjb25zdCBzPXEoe30sTi5jb250ZXh0KTtyZXR1cm4gTi5yZXNldCgpLHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30pfWlmKGE9PT0iZnJhbWVzOmluZGV4Iil7Y29uc3Qgcz1qZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lczpjcm9wIil7Y29uc3Qgcz1aZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lOmVuY29kZSIpe2NvbnN0IHM9VmUoaSk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30sW3MuYnVmZmVyXSl9aWYoYT09PSJmcmFtZXM6ZGVjb2RlIil7Y29uc3Qgcz1GZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX19fSkoKTsK", hn = (e) => Se(void 0, null, function* () {
2484
2495
  const {
2485
2496
  perFrameTime: n = 1e3 / 24,
2486
2497
  gif: d,
2487
- images: h,
2498
+ images: p,
2488
2499
  autoSize: f = !0
2489
2500
  } = e, M = fe({}, d), m = [];
2490
2501
  if (f) {
2491
- const w = (d == null ? void 0 : d.width) || Math.min(...h.map((Y) => Y.width)), x = (d == null ? void 0 : d.height) || Math.min(...h.map((Y) => Y.height));
2502
+ const w = (d == null ? void 0 : d.width) || Math.min(...p.map((Y) => Y.width)), x = (d == null ? void 0 : d.height) || Math.min(...p.map((Y) => Y.height));
2492
2503
  M.width = w, M.height = x;
2493
2504
  }
2494
- h.forEach((w) => {
2505
+ p.forEach((w) => {
2495
2506
  m.push({
2496
2507
  imageData: w,
2497
2508
  delay: n
2498
2509
  });
2499
2510
  });
2500
- const s = yield Ir({
2501
- workerUrl: Cr,
2511
+ const a = yield Nr({
2512
+ workerUrl: Ir,
2502
2513
  width: M.width || 200,
2503
2514
  height: M.height || 200,
2504
2515
  maxColors: 255,
2505
2516
  frames: m
2506
2517
  });
2507
- return new Blob([s], { type: "image/gif" });
2508
- }), Dr = {
2518
+ return new Blob([a], { type: "image/gif" });
2519
+ }), Cr = {
2509
2520
  formatter(e) {
2510
2521
  return !!e;
2511
2522
  },
2512
2523
  normalize(e) {
2513
2524
  return e ? "true" : void 0;
2514
2525
  }
2515
- }, Gr = ({ nodePath: e }) => /* @__PURE__ */ p.createElement(rt, null, /* @__PURE__ */ p.createElement(
2516
- ct,
2526
+ }, Dr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(
2527
+ Lt,
2517
2528
  {
2518
- desktop: /* @__PURE__ */ p.createElement(
2529
+ desktop: /* @__PURE__ */ h.createElement(
2519
2530
  Qt,
2520
2531
  {
2521
2532
  mode: de.DESKTOP,
2522
2533
  nodePath: e
2523
2534
  }
2524
2535
  ),
2525
- mobile: /* @__PURE__ */ p.createElement(
2536
+ mobile: /* @__PURE__ */ h.createElement(
2526
2537
  Qt,
2527
2538
  {
2528
2539
  mode: de.MOBILE,
@@ -2535,7 +2546,7 @@ function Qt({
2535
2546
  nodePath: e,
2536
2547
  mode: n
2537
2548
  }) {
2538
- const { onUpload: d } = mt(), { setFieldValue: h } = Je(), { selectedNode: f } = ke(), { setLock: M } = ht(), [m, s] = Fe(!1), u = p.useRef();
2549
+ const { onUpload: d } = ut(), { setFieldValue: p } = Je(), { selectedNode: f } = ke(), { setLock: M } = mt(), [m, a] = Fe(!1), u = h.useRef();
2539
2550
  u.current || (u.current = De(f)), Ue(() => {
2540
2551
  var x;
2541
2552
  _e((x = u.current) == null ? void 0 : x.data.list, f == null ? void 0 : f.data.list) ? M(!1) : M(!0);
@@ -2543,16 +2554,16 @@ function Qt({
2543
2554
  const w = () => Se(this, null, function* () {
2544
2555
  if (f)
2545
2556
  try {
2546
- s(!0);
2557
+ a(!0);
2547
2558
  const x = yield Promise.all(
2548
- f.data.list.filter((W) => W.src).map((W) => en(W.src))
2549
- ), Y = yield pn({
2559
+ f.data.list.filter((W) => W.src).map((W) => $t(W.src))
2560
+ ), Y = yield hn({
2550
2561
  images: x,
2551
2562
  perFrameTime: 1e3
2552
2563
  }), G = yield d == null ? void 0 : d(
2553
2564
  new File([Y], "shopwindow.gif", { type: "image/gif" })
2554
2565
  );
2555
- h(
2566
+ p(
2556
2567
  e,
2557
2568
  n === de.DESKTOP ? "attributes.src" : "mobileAttributes.src",
2558
2569
  G
@@ -2564,37 +2575,37 @@ function Qt({
2564
2575
  G
2565
2576
  ), u.current = z;
2566
2577
  } catch (x) {
2567
- console.error(x), ut.error(String(x));
2578
+ console.error(x), dt.error(String(x));
2568
2579
  } finally {
2569
- s(!1);
2580
+ a(!1);
2570
2581
  }
2571
2582
  });
2572
- return f ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ p.createElement(
2583
+ return f ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
2573
2584
  ue.Item,
2574
2585
  {
2575
2586
  name: "3",
2576
2587
  header: X("Image"),
2577
- extra: /* @__PURE__ */ p.createElement(dt, { loading: m, type: "primary", onClick: w }, X("Save as gif"))
2588
+ extra: /* @__PURE__ */ h.createElement(ct, { loading: m, type: "primary", onClick: w }, X("Save as gif"))
2578
2589
  },
2579
- /* @__PURE__ */ p.createElement(
2590
+ /* @__PURE__ */ h.createElement(
2580
2591
  R.EditPanelTabsField,
2581
2592
  {
2582
2593
  path: e,
2583
2594
  tabPosition: "top",
2584
2595
  name: "data.list",
2585
2596
  label: "",
2586
- renderItem: (x, Y) => /* @__PURE__ */ p.createElement(Lr, { index: Y, path: e }),
2597
+ renderItem: (x, Y) => /* @__PURE__ */ h.createElement(Gr, { index: Y, path: e }),
2587
2598
  renderHeader: (x, Y) => x.content || X("Image") + " " + (Y + 1)
2588
2599
  }
2589
2600
  )
2590
- ), /* @__PURE__ */ p.createElement(ue.Item, { name: "1", header: X("Image settings") }, /* @__PURE__ */ p.createElement(
2601
+ ), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Image settings") }, /* @__PURE__ */ h.createElement(
2591
2602
  B,
2592
2603
  {
2593
2604
  component: R.Link,
2594
2605
  path: e,
2595
2606
  name: "href"
2596
2607
  }
2597
- ), /* @__PURE__ */ p.createElement(
2608
+ ), /* @__PURE__ */ h.createElement(
2598
2609
  B,
2599
2610
  {
2600
2611
  component: R.TextField,
@@ -2603,51 +2614,51 @@ function Qt({
2603
2614
  label: X("Alt text"),
2604
2615
  placeholder: X("Brief description of your image")
2605
2616
  }
2606
- ), /* @__PURE__ */ p.createElement(
2617
+ ), /* @__PURE__ */ h.createElement(
2607
2618
  B,
2608
2619
  {
2609
2620
  component: R.SwitchField,
2610
2621
  path: e,
2611
2622
  name: "fluid-on-mobile",
2612
2623
  label: X("Full width on mobile"),
2613
- formItem: Dr
2624
+ formItem: Cr
2614
2625
  }
2615
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ p.createElement(
2626
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
2616
2627
  B,
2617
2628
  {
2618
2629
  component: R.ImageWidth,
2619
2630
  path: e,
2620
2631
  name: "width"
2621
2632
  }
2622
- ), /* @__PURE__ */ p.createElement(
2633
+ ), /* @__PURE__ */ h.createElement(
2623
2634
  B,
2624
2635
  {
2625
2636
  component: R.Height,
2626
2637
  path: e,
2627
2638
  name: "height"
2628
2639
  }
2629
- ), /* @__PURE__ */ p.createElement(
2640
+ ), /* @__PURE__ */ h.createElement(
2630
2641
  B,
2631
2642
  {
2632
2643
  component: R.Padding,
2633
2644
  path: e,
2634
2645
  name: ""
2635
2646
  }
2636
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "2", header: X("Border") }, /* @__PURE__ */ p.createElement(
2647
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Border") }, /* @__PURE__ */ h.createElement(
2637
2648
  B,
2638
2649
  {
2639
2650
  component: R.Border,
2640
2651
  path: e,
2641
2652
  name: ""
2642
2653
  }
2643
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "4", header: X("Block") }, /* @__PURE__ */ p.createElement(
2654
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "4", header: X("Block") }, /* @__PURE__ */ h.createElement(
2644
2655
  B,
2645
2656
  {
2646
2657
  component: R.BackgroundColor,
2647
2658
  path: e,
2648
2659
  name: "container-background-color"
2649
2660
  }
2650
- ), /* @__PURE__ */ p.createElement(
2661
+ ), /* @__PURE__ */ h.createElement(
2651
2662
  B,
2652
2663
  {
2653
2664
  component: R.TextAlign,
@@ -2657,33 +2668,15 @@ function Qt({
2657
2668
  }
2658
2669
  ))) : null;
2659
2670
  }
2660
- function Lr({ index: e, path: n }) {
2661
- return /* @__PURE__ */ p.createElement("div", { style: { paddingTop: 20 } }, /* @__PURE__ */ p.createElement(R.ImageUrl, { path: n, name: `data.list.[${e}].src` }));
2671
+ function Gr({ index: e, path: n }) {
2672
+ return /* @__PURE__ */ h.createElement("div", { style: { paddingTop: 20 } }, /* @__PURE__ */ h.createElement(R.ImageUrl, { path: n, name: `data.list.[${e}].src` }));
2662
2673
  }
2663
- const Er = ({ nodePath: e }) => /* @__PURE__ */ p.createElement(rt, null, /* @__PURE__ */ p.createElement(
2664
- ct,
2665
- {
2666
- desktop: /* @__PURE__ */ p.createElement(
2667
- Bt,
2668
- {
2669
- mode: de.DESKTOP,
2670
- nodePath: e
2671
- }
2672
- ),
2673
- mobile: /* @__PURE__ */ p.createElement(
2674
- Bt,
2675
- {
2676
- mode: de.MOBILE,
2677
- nodePath: e
2678
- }
2679
- )
2680
- }
2681
- ));
2682
- function Bt({
2674
+ const Lr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(Er, { mode: de.DESKTOP, nodePath: e }));
2675
+ function Er({
2683
2676
  nodePath: e,
2684
2677
  mode: n
2685
2678
  }) {
2686
- const d = Et(), { onUpload: h } = mt(), { setFieldValue: f } = Je(), { selectedNode: M } = ke(), { setLock: m } = ht(), [s, u] = Fe(!1), w = p.useRef();
2679
+ const d = Et(), { onUpload: p } = ut(), { setFieldValue: f } = Je(), { selectedNode: M } = ke(), { setLock: m } = mt(), [a, u] = Fe(!1), w = h.useRef();
2687
2680
  w.current || (w.current = De(M)), Ue(() => {
2688
2681
  _e(w.current, M) ? m(!1) : m(!0);
2689
2682
  }, [M, m]);
@@ -2691,7 +2684,7 @@ function Bt({
2691
2684
  if (M)
2692
2685
  try {
2693
2686
  u(!0);
2694
- const Y = nn.toDOMNode(d, M), G = [], z = M.data;
2687
+ const Y = tn.toDOMNode(d, M), G = [], z = M.data;
2695
2688
  let W = z.remainingTime;
2696
2689
  switch (z.unit) {
2697
2690
  case "minute":
@@ -2705,9 +2698,9 @@ function Bt({
2705
2698
  }
2706
2699
  const T = 60 * 2;
2707
2700
  for (let te = 0; te < T; te++) {
2708
- const { day: $, hour: P, minute: L, second: se } = rn(
2701
+ const { day: $, hour: P, minute: L, second: se } = nn(
2709
2702
  W -= 1
2710
- ), be = yield sn(Y, {
2703
+ ), be = yield an(Y, {
2711
2704
  wrapper(Le) {
2712
2705
  const we = document.createElement("table");
2713
2706
  return we.style.width = "100%", we.border = "0", we.cellPadding = "0", we.cellSpacing = "0", we.role = "presentation", we.style.verticalAlign = "top", we.appendChild(Le), we;
@@ -2731,13 +2724,13 @@ function Bt({
2731
2724
  innerText: se
2732
2725
  }
2733
2726
  ]
2734
- }), ve = yield on(be);
2727
+ }), ve = yield rn(be);
2735
2728
  G.push(ve);
2736
2729
  }
2737
- const O = yield pn({
2730
+ const O = yield hn({
2738
2731
  images: G,
2739
2732
  perFrameTime: 1e3
2740
- }), _ = yield h == null ? void 0 : h(
2733
+ }), _ = yield p == null ? void 0 : p(
2741
2734
  new File([O], "countdown.gif", { type: "image/gif" })
2742
2735
  );
2743
2736
  f(
@@ -2752,19 +2745,19 @@ function Bt({
2752
2745
  _
2753
2746
  ), w.current = ie;
2754
2747
  } catch (Y) {
2755
- console.error(Y), ut.error(String(Y));
2748
+ console.error(Y), dt.error(String(Y));
2756
2749
  } finally {
2757
2750
  u(!1);
2758
2751
  }
2759
2752
  });
2760
- return M ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ p.createElement(
2753
+ return M ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
2761
2754
  ue.Item,
2762
2755
  {
2763
2756
  name: "0",
2764
2757
  header: X("Image"),
2765
- extra: /* @__PURE__ */ p.createElement(dt, { loading: s, type: "primary", onClick: x }, X("Save as gif"))
2758
+ extra: /* @__PURE__ */ h.createElement(ct, { loading: a, type: "primary", onClick: x }, X("Save as gif"))
2766
2759
  },
2767
- /* @__PURE__ */ p.createElement(
2760
+ /* @__PURE__ */ h.createElement(
2768
2761
  B,
2769
2762
  {
2770
2763
  component: R.ImageUrl,
@@ -2776,7 +2769,7 @@ function Bt({
2776
2769
  colSpan: 24
2777
2770
  }
2778
2771
  )
2779
- ), /* @__PURE__ */ p.createElement(ue.Item, { name: "3", header: X("Settings") }, /* @__PURE__ */ p.createElement(je.Row, null, /* @__PURE__ */ p.createElement(je.Col, { span: 14, style: { textAlign: "right" } }, /* @__PURE__ */ p.createElement(
2772
+ ), /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Settings") }, /* @__PURE__ */ h.createElement(je.Row, null, /* @__PURE__ */ h.createElement(je.Col, { span: 14, style: { textAlign: "right" } }, /* @__PURE__ */ h.createElement(
2780
2773
  R.NumberField,
2781
2774
  {
2782
2775
  name: "data.remainingTime",
@@ -2792,7 +2785,7 @@ function Bt({
2792
2785
  }
2793
2786
  }
2794
2787
  }
2795
- )), /* @__PURE__ */ p.createElement(je.Col, { span: 10 }, /* @__PURE__ */ p.createElement(
2788
+ )), /* @__PURE__ */ h.createElement(je.Col, { span: 10 }, /* @__PURE__ */ h.createElement(
2796
2789
  R.SelectField,
2797
2790
  {
2798
2791
  name: "data.unit",
@@ -2817,7 +2810,7 @@ function Bt({
2817
2810
  }
2818
2811
  ]
2819
2812
  }
2820
- )))), /* @__PURE__ */ p.createElement(ue.Item, { name: "1", header: X("Colors") }, /* @__PURE__ */ p.createElement(
2813
+ )))), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Colors") }, /* @__PURE__ */ h.createElement(
2821
2814
  B,
2822
2815
  {
2823
2816
  component: R.ColorPickerField,
@@ -2825,7 +2818,7 @@ function Bt({
2825
2818
  name: "color",
2826
2819
  label: X("Text color")
2827
2820
  }
2828
- ), /* @__PURE__ */ p.createElement(
2821
+ ), /* @__PURE__ */ h.createElement(
2829
2822
  R.SyncChildrenField,
2830
2823
  {
2831
2824
  path: e,
@@ -2833,7 +2826,7 @@ function Bt({
2833
2826
  name: "color",
2834
2827
  childrenFieldName: "color"
2835
2828
  }
2836
- ), /* @__PURE__ */ p.createElement(
2829
+ ), /* @__PURE__ */ h.createElement(
2837
2830
  B,
2838
2831
  {
2839
2832
  component: R.ColorPickerField,
@@ -2841,7 +2834,7 @@ function Bt({
2841
2834
  name: "shadow-color",
2842
2835
  label: X("Shadow color")
2843
2836
  }
2844
- ), /* @__PURE__ */ p.createElement(
2837
+ ), /* @__PURE__ */ h.createElement(
2845
2838
  B,
2846
2839
  {
2847
2840
  component: R.ColorPickerField,
@@ -2849,7 +2842,7 @@ function Bt({
2849
2842
  name: "grid-color",
2850
2843
  label: X("Grid color")
2851
2844
  }
2852
- ), /* @__PURE__ */ p.createElement(
2845
+ ), /* @__PURE__ */ h.createElement(
2853
2846
  B,
2854
2847
  {
2855
2848
  component: R.ColorPickerField,
@@ -2857,7 +2850,7 @@ function Bt({
2857
2850
  name: "background-color",
2858
2851
  label: X("Background color")
2859
2852
  }
2860
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "2", header: X("Dimension") }, /* @__PURE__ */ p.createElement(
2853
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
2861
2854
  B,
2862
2855
  {
2863
2856
  component: R.Padding,
@@ -2869,16 +2862,16 @@ function Bt({
2869
2862
  function Wr(e) {
2870
2863
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
2871
2864
  }
2872
- var bn = { exports: {} };
2865
+ var pn = { exports: {} };
2873
2866
  (function(e, n) {
2874
- (function(d, h) {
2875
- e.exports = h();
2867
+ (function(d, p) {
2868
+ e.exports = p();
2876
2869
  })(self, function() {
2877
2870
  return (() => {
2878
2871
  var d = { 192: (M, m) => {
2879
- var s, u, w = function() {
2872
+ var a, u, w = function() {
2880
2873
  var x = function(k, C) {
2881
- var D = k, I = O[C], v = null, K = 0, F = null, j = [], U = {}, ge = function(a, c) {
2874
+ var D = k, I = O[C], v = null, K = 0, F = null, j = [], U = {}, ge = function(s, c) {
2882
2875
  v = function(i) {
2883
2876
  for (var y = new Array(i), S = 0; S < i; S += 1) {
2884
2877
  y[S] = new Array(i);
@@ -2886,58 +2879,58 @@ var bn = { exports: {} };
2886
2879
  y[S][V] = null;
2887
2880
  }
2888
2881
  return y;
2889
- }(K = 4 * D + 17), Z(0, 0), Z(K - 7, 0), Z(0, K - 7), o(), t(), l(a, c), D >= 7 && r(a), F == null && (F = b(D, I, j)), g(F, c);
2890
- }, Z = function(a, c) {
2882
+ }(K = 4 * D + 17), Z(0, 0), Z(K - 7, 0), Z(0, K - 7), o(), t(), l(s, c), D >= 7 && r(s), F == null && (F = b(D, I, j)), g(F, c);
2883
+ }, Z = function(s, c) {
2891
2884
  for (var i = -1; i <= 7; i += 1)
2892
- if (!(a + i <= -1 || K <= a + i))
2885
+ if (!(s + i <= -1 || K <= s + i))
2893
2886
  for (var y = -1; y <= 7; y += 1)
2894
- c + y <= -1 || K <= c + y || (v[a + i][c + y] = 0 <= i && i <= 6 && (y == 0 || y == 6) || 0 <= y && y <= 6 && (i == 0 || i == 6) || 2 <= i && i <= 4 && 2 <= y && y <= 4);
2887
+ c + y <= -1 || K <= c + y || (v[s + i][c + y] = 0 <= i && i <= 6 && (y == 0 || y == 6) || 0 <= y && y <= 6 && (i == 0 || i == 6) || 2 <= i && i <= 4 && 2 <= y && y <= 4);
2895
2888
  }, t = function() {
2896
- for (var a = 8; a < K - 8; a += 1)
2897
- v[a][6] == null && (v[a][6] = a % 2 == 0);
2889
+ for (var s = 8; s < K - 8; s += 1)
2890
+ v[s][6] == null && (v[s][6] = s % 2 == 0);
2898
2891
  for (var c = 8; c < K - 8; c += 1)
2899
2892
  v[6][c] == null && (v[6][c] = c % 2 == 0);
2900
2893
  }, o = function() {
2901
- for (var a = _.getPatternPosition(D), c = 0; c < a.length; c += 1)
2902
- for (var i = 0; i < a.length; i += 1) {
2903
- var y = a[c], S = a[i];
2894
+ for (var s = _.getPatternPosition(D), c = 0; c < s.length; c += 1)
2895
+ for (var i = 0; i < s.length; i += 1) {
2896
+ var y = s[c], S = s[i];
2904
2897
  if (v[y][S] == null)
2905
2898
  for (var V = -2; V <= 2; V += 1)
2906
2899
  for (var A = -2; A <= 2; A += 1)
2907
2900
  v[y + V][S + A] = V == -2 || V == 2 || A == -2 || A == 2 || V == 0 && A == 0;
2908
2901
  }
2909
- }, r = function(a) {
2902
+ }, r = function(s) {
2910
2903
  for (var c = _.getBCHTypeNumber(D), i = 0; i < 18; i += 1) {
2911
- var y = !a && (c >> i & 1) == 1;
2904
+ var y = !s && (c >> i & 1) == 1;
2912
2905
  v[Math.floor(i / 3)][i % 3 + K - 8 - 3] = y;
2913
2906
  }
2914
2907
  for (i = 0; i < 18; i += 1)
2915
- y = !a && (c >> i & 1) == 1, v[i % 3 + K - 8 - 3][Math.floor(i / 3)] = y;
2916
- }, l = function(a, c) {
2908
+ y = !s && (c >> i & 1) == 1, v[i % 3 + K - 8 - 3][Math.floor(i / 3)] = y;
2909
+ }, l = function(s, c) {
2917
2910
  for (var i = I << 3 | c, y = _.getBCHTypeInfo(i), S = 0; S < 15; S += 1) {
2918
- var V = !a && (y >> S & 1) == 1;
2911
+ var V = !s && (y >> S & 1) == 1;
2919
2912
  S < 6 ? v[S][8] = V : S < 8 ? v[S + 1][8] = V : v[K - 15 + S][8] = V;
2920
2913
  }
2921
2914
  for (S = 0; S < 15; S += 1)
2922
- V = !a && (y >> S & 1) == 1, S < 8 ? v[8][K - S - 1] = V : S < 9 ? v[8][15 - S - 1 + 1] = V : v[8][15 - S - 1] = V;
2923
- v[K - 8][8] = !a;
2924
- }, g = function(a, c) {
2915
+ V = !s && (y >> S & 1) == 1, S < 8 ? v[8][K - S - 1] = V : S < 9 ? v[8][15 - S - 1 + 1] = V : v[8][15 - S - 1] = V;
2916
+ v[K - 8][8] = !s;
2917
+ }, g = function(s, c) {
2925
2918
  for (var i = -1, y = K - 1, S = 7, V = 0, A = _.getMaskFunction(c), E = K - 1; E > 0; E -= 2)
2926
2919
  for (E == 6 && (E -= 1); ; ) {
2927
2920
  for (var J = 0; J < 2; J += 1)
2928
2921
  if (v[y][E - J] == null) {
2929
2922
  var Q = !1;
2930
- V < a.length && (Q = (a[V] >>> S & 1) == 1), A(y, E - J) && (Q = !Q), v[y][E - J] = Q, (S -= 1) == -1 && (V += 1, S = 7);
2923
+ V < s.length && (Q = (s[V] >>> S & 1) == 1), A(y, E - J) && (Q = !Q), v[y][E - J] = Q, (S -= 1) == -1 && (V += 1, S = 7);
2931
2924
  }
2932
2925
  if ((y += i) < 0 || K <= y) {
2933
2926
  y -= i, i = -i;
2934
2927
  break;
2935
2928
  }
2936
2929
  }
2937
- }, b = function(a, c, i) {
2938
- for (var y = $.getRSBlocks(a, c), S = P(), V = 0; V < i.length; V += 1) {
2930
+ }, b = function(s, c, i) {
2931
+ for (var y = $.getRSBlocks(s, c), S = P(), V = 0; V < i.length; V += 1) {
2939
2932
  var A = i[V];
2940
- S.put(A.getMode(), 4), S.put(A.getLength(), _.getLengthInBits(A.getMode(), a)), A.write(S);
2933
+ S.put(A.getMode(), 4), S.put(A.getLength(), _.getLengthInBits(A.getMode(), s)), A.write(S);
2941
2934
  }
2942
2935
  var E = 0;
2943
2936
  for (V = 0; V < y.length; V += 1)
@@ -2974,37 +2967,37 @@ var bn = { exports: {} };
2974
2967
  return Me;
2975
2968
  }(S, y);
2976
2969
  };
2977
- U.addData = function(a, c) {
2970
+ U.addData = function(s, c) {
2978
2971
  var i = null;
2979
2972
  switch (c = c || "Byte") {
2980
2973
  case "Numeric":
2981
- i = L(a);
2974
+ i = L(s);
2982
2975
  break;
2983
2976
  case "Alphanumeric":
2984
- i = se(a);
2977
+ i = se(s);
2985
2978
  break;
2986
2979
  case "Byte":
2987
- i = be(a);
2980
+ i = be(s);
2988
2981
  break;
2989
2982
  case "Kanji":
2990
- i = ve(a);
2983
+ i = ve(s);
2991
2984
  break;
2992
2985
  default:
2993
2986
  throw "mode:" + c;
2994
2987
  }
2995
2988
  j.push(i), F = null;
2996
- }, U.isDark = function(a, c) {
2997
- if (a < 0 || K <= a || c < 0 || K <= c)
2998
- throw a + "," + c;
2999
- return v[a][c];
2989
+ }, U.isDark = function(s, c) {
2990
+ if (s < 0 || K <= s || c < 0 || K <= c)
2991
+ throw s + "," + c;
2992
+ return v[s][c];
3000
2993
  }, U.getModuleCount = function() {
3001
2994
  return K;
3002
2995
  }, U.make = function() {
3003
2996
  if (D < 1) {
3004
- for (var a = 1; a < 40; a++) {
3005
- for (var c = $.getRSBlocks(a, I), i = P(), y = 0; y < j.length; y++) {
2997
+ for (var s = 1; s < 40; s++) {
2998
+ for (var c = $.getRSBlocks(s, I), i = P(), y = 0; y < j.length; y++) {
3006
2999
  var S = j[y];
3007
- i.put(S.getMode(), 4), i.put(S.getLength(), _.getLengthInBits(S.getMode(), a)), S.write(i);
3000
+ i.put(S.getMode(), 4), i.put(S.getLength(), _.getLengthInBits(S.getMode(), s)), S.write(i);
3008
3001
  }
3009
3002
  var V = 0;
3010
3003
  for (y = 0; y < c.length; y++)
@@ -3012,7 +3005,7 @@ var bn = { exports: {} };
3012
3005
  if (i.getLengthInBits() <= 8 * V)
3013
3006
  break;
3014
3007
  }
3015
- D = a;
3008
+ D = s;
3016
3009
  }
3017
3010
  ge(!1, function() {
3018
3011
  for (var A = 0, E = 0, J = 0; J < 8; J += 1) {
@@ -3022,43 +3015,43 @@ var bn = { exports: {} };
3022
3015
  }
3023
3016
  return E;
3024
3017
  }());
3025
- }, U.createTableTag = function(a, c) {
3026
- a = a || 2;
3018
+ }, U.createTableTag = function(s, c) {
3019
+ s = s || 2;
3027
3020
  var i = "";
3028
- i += '<table style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: " + (c = c === void 0 ? 4 * a : c) + "px;", i += '">', i += "<tbody>";
3021
+ i += '<table style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: " + (c = c === void 0 ? 4 * s : c) + "px;", i += '">', i += "<tbody>";
3029
3022
  for (var y = 0; y < U.getModuleCount(); y += 1) {
3030
3023
  i += "<tr>";
3031
3024
  for (var S = 0; S < U.getModuleCount(); S += 1)
3032
- i += '<td style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: 0px;", i += " width: " + a + "px;", i += " height: " + a + "px;", i += " background-color: ", i += U.isDark(y, S) ? "#000000" : "#ffffff", i += ";", i += '"/>';
3025
+ i += '<td style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: 0px;", i += " width: " + s + "px;", i += " height: " + s + "px;", i += " background-color: ", i += U.isDark(y, S) ? "#000000" : "#ffffff", i += ";", i += '"/>';
3033
3026
  i += "</tr>";
3034
3027
  }
3035
3028
  return (i += "</tbody>") + "</table>";
3036
- }, U.createSvgTag = function(a, c, i, y) {
3029
+ }, U.createSvgTag = function(s, c, i, y) {
3037
3030
  var S = {};
3038
- typeof arguments[0] == "object" && (a = (S = arguments[0]).cellSize, c = S.margin, i = S.alt, y = S.title), a = a || 2, c = c === void 0 ? 4 * a : c, (i = typeof i == "string" ? { text: i } : i || {}).text = i.text || null, i.id = i.text ? i.id || "qrcode-description" : null, (y = typeof y == "string" ? { text: y } : y || {}).text = y.text || null, y.id = y.text ? y.id || "qrcode-title" : null;
3039
- var V, A, E, J, Q = U.getModuleCount() * a + 2 * c, ee = "";
3040
- for (J = "l" + a + ",0 0," + a + " -" + a + ",0 0,-" + a + "z ", ee += '<svg version="1.1" xmlns="http://www.w3.org/2000/svg"', ee += S.scalable ? "" : ' width="' + Q + 'px" height="' + Q + 'px"', ee += ' viewBox="0 0 ' + Q + " " + Q + '" ', ee += ' preserveAspectRatio="xMinYMin meet"', ee += y.text || i.text ? ' role="img" aria-labelledby="' + N([y.id, i.id].join(" ").trim()) + '"' : "", ee += ">", ee += y.text ? '<title id="' + N(y.id) + '">' + N(y.text) + "</title>" : "", ee += i.text ? '<description id="' + N(i.id) + '">' + N(i.text) + "</description>" : "", ee += '<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>', ee += '<path d="', A = 0; A < U.getModuleCount(); A += 1)
3041
- for (E = A * a + c, V = 0; V < U.getModuleCount(); V += 1)
3042
- U.isDark(A, V) && (ee += "M" + (V * a + c) + "," + E + J);
3031
+ typeof arguments[0] == "object" && (s = (S = arguments[0]).cellSize, c = S.margin, i = S.alt, y = S.title), s = s || 2, c = c === void 0 ? 4 * s : c, (i = typeof i == "string" ? { text: i } : i || {}).text = i.text || null, i.id = i.text ? i.id || "qrcode-description" : null, (y = typeof y == "string" ? { text: y } : y || {}).text = y.text || null, y.id = y.text ? y.id || "qrcode-title" : null;
3032
+ var V, A, E, J, Q = U.getModuleCount() * s + 2 * c, ee = "";
3033
+ for (J = "l" + s + ",0 0," + s + " -" + s + ",0 0,-" + s + "z ", ee += '<svg version="1.1" xmlns="http://www.w3.org/2000/svg"', ee += S.scalable ? "" : ' width="' + Q + 'px" height="' + Q + 'px"', ee += ' viewBox="0 0 ' + Q + " " + Q + '" ', ee += ' preserveAspectRatio="xMinYMin meet"', ee += y.text || i.text ? ' role="img" aria-labelledby="' + N([y.id, i.id].join(" ").trim()) + '"' : "", ee += ">", ee += y.text ? '<title id="' + N(y.id) + '">' + N(y.text) + "</title>" : "", ee += i.text ? '<description id="' + N(i.id) + '">' + N(i.text) + "</description>" : "", ee += '<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>', ee += '<path d="', A = 0; A < U.getModuleCount(); A += 1)
3034
+ for (E = A * s + c, V = 0; V < U.getModuleCount(); V += 1)
3035
+ U.isDark(A, V) && (ee += "M" + (V * s + c) + "," + E + J);
3043
3036
  return (ee += '" stroke="transparent" fill="black"/>') + "</svg>";
3044
- }, U.createDataURL = function(a, c) {
3045
- a = a || 2, c = c === void 0 ? 4 * a : c;
3046
- var i = U.getModuleCount() * a + 2 * c, y = c, S = i - c;
3037
+ }, U.createDataURL = function(s, c) {
3038
+ s = s || 2, c = c === void 0 ? 4 * s : c;
3039
+ var i = U.getModuleCount() * s + 2 * c, y = c, S = i - c;
3047
3040
  return Ye(i, i, function(V, A) {
3048
3041
  if (y <= V && V < S && y <= A && A < S) {
3049
- var E = Math.floor((V - y) / a), J = Math.floor((A - y) / a);
3042
+ var E = Math.floor((V - y) / s), J = Math.floor((A - y) / s);
3050
3043
  return U.isDark(J, E) ? 0 : 1;
3051
3044
  }
3052
3045
  return 1;
3053
3046
  });
3054
- }, U.createImgTag = function(a, c, i) {
3055
- a = a || 2, c = c === void 0 ? 4 * a : c;
3056
- var y = U.getModuleCount() * a + 2 * c, S = "";
3057
- return S += "<img", S += ' src="', S += U.createDataURL(a, c), S += '"', S += ' width="', S += y, S += '"', S += ' height="', S += y, S += '"', i && (S += ' alt="', S += N(i), S += '"'), S + "/>";
3047
+ }, U.createImgTag = function(s, c, i) {
3048
+ s = s || 2, c = c === void 0 ? 4 * s : c;
3049
+ var y = U.getModuleCount() * s + 2 * c, S = "";
3050
+ return S += "<img", S += ' src="', S += U.createDataURL(s, c), S += '"', S += ' width="', S += y, S += '"', S += ' height="', S += y, S += '"', i && (S += ' alt="', S += N(i), S += '"'), S + "/>";
3058
3051
  };
3059
- var N = function(a) {
3060
- for (var c = "", i = 0; i < a.length; i += 1) {
3061
- var y = a.charAt(i);
3052
+ var N = function(s) {
3053
+ for (var c = "", i = 0; i < s.length; i += 1) {
3054
+ var y = s.charAt(i);
3062
3055
  switch (y) {
3063
3056
  case "<":
3064
3057
  c += "&lt;";
@@ -3078,8 +3071,8 @@ var bn = { exports: {} };
3078
3071
  }
3079
3072
  return c;
3080
3073
  };
3081
- return U.createASCII = function(a, c) {
3082
- if ((a = a || 1) < 2)
3074
+ return U.createASCII = function(s, c) {
3075
+ if ((s = s || 1) < 2)
3083
3076
  return function(ne) {
3084
3077
  ne = ne === void 0 ? 2 : ne;
3085
3078
  var q, re, Te, me, oe, he = 1 * U.getModuleCount() + 2 * ne, ce = ne, pe = he - ne, ye = { "██": "█", "█ ": "▀", " █": "▄", " ": " " }, Me = { "██": "▀", "█ ": "▀", " █": " ", " ": " " }, xe = "";
@@ -3091,21 +3084,21 @@ var bn = { exports: {} };
3091
3084
  }
3092
3085
  return he % 2 && ne > 0 ? xe.substring(0, xe.length - he - 1) + Array(he + 1).join("▀") : xe.substring(0, xe.length - 1);
3093
3086
  }(c);
3094
- a -= 1, c = c === void 0 ? 2 * a : c;
3095
- var i, y, S, V, A = U.getModuleCount() * a + 2 * c, E = c, J = A - c, Q = Array(a + 1).join("██"), ee = Array(a + 1).join(" "), le = "", H = "";
3087
+ s -= 1, c = c === void 0 ? 2 * s : c;
3088
+ var i, y, S, V, A = U.getModuleCount() * s + 2 * c, E = c, J = A - c, Q = Array(s + 1).join("██"), ee = Array(s + 1).join(" "), le = "", H = "";
3096
3089
  for (i = 0; i < A; i += 1) {
3097
- for (S = Math.floor((i - E) / a), H = "", y = 0; y < A; y += 1)
3098
- V = 1, E <= y && y < J && E <= i && i < J && U.isDark(S, Math.floor((y - E) / a)) && (V = 0), H += V ? Q : ee;
3099
- for (S = 0; S < a; S += 1)
3090
+ for (S = Math.floor((i - E) / s), H = "", y = 0; y < A; y += 1)
3091
+ V = 1, E <= y && y < J && E <= i && i < J && U.isDark(S, Math.floor((y - E) / s)) && (V = 0), H += V ? Q : ee;
3092
+ for (S = 0; S < s; S += 1)
3100
3093
  le += H + `
3101
3094
  `;
3102
3095
  }
3103
3096
  return le.substring(0, le.length - 1);
3104
- }, U.renderTo2dContext = function(a, c) {
3097
+ }, U.renderTo2dContext = function(s, c) {
3105
3098
  c = c || 2;
3106
3099
  for (var i = U.getModuleCount(), y = 0; y < i; y++)
3107
3100
  for (var S = 0; S < i; S++)
3108
- a.fillStyle = U.isDark(y, S) ? "black" : "white", a.fillRect(y * c, S * c, c, c);
3101
+ s.fillStyle = U.isDark(y, S) ? "black" : "white", s.fillRect(y * c, S * c, c, c);
3109
3102
  }, U;
3110
3103
  };
3111
3104
  x.stringToBytes = (x.stringToBytesFuncs = { default: function(k) {
@@ -3507,17 +3500,17 @@ var bn = { exports: {} };
3507
3500
  return K;
3508
3501
  }, Ye = function(k, C, D) {
3509
3502
  for (var I = function(Z, t) {
3510
- var o = Z, r = t, l = new Array(Z * t), g = { setPixel: function(a, c, i) {
3511
- l[c * o + a] = i;
3512
- }, write: function(a) {
3513
- a.writeString("GIF87a"), a.writeShort(o), a.writeShort(r), a.writeByte(128), a.writeByte(0), a.writeByte(0), a.writeByte(0), a.writeByte(0), a.writeByte(0), a.writeByte(255), a.writeByte(255), a.writeByte(255), a.writeString(","), a.writeShort(0), a.writeShort(0), a.writeShort(o), a.writeShort(r), a.writeByte(0);
3503
+ var o = Z, r = t, l = new Array(Z * t), g = { setPixel: function(s, c, i) {
3504
+ l[c * o + s] = i;
3505
+ }, write: function(s) {
3506
+ s.writeString("GIF87a"), s.writeShort(o), s.writeShort(r), s.writeByte(128), s.writeByte(0), s.writeByte(0), s.writeByte(0), s.writeByte(0), s.writeByte(0), s.writeByte(255), s.writeByte(255), s.writeByte(255), s.writeString(","), s.writeShort(0), s.writeShort(0), s.writeShort(o), s.writeShort(r), s.writeByte(0);
3514
3507
  var c = b(2);
3515
- a.writeByte(2);
3508
+ s.writeByte(2);
3516
3509
  for (var i = 0; c.length - i > 255; )
3517
- a.writeByte(255), a.writeBytes(c, i, 255), i += 255;
3518
- a.writeByte(c.length - i), a.writeBytes(c, i, c.length - i), a.writeByte(0), a.writeString(";");
3519
- } }, b = function(a) {
3520
- for (var c = 1 << a, i = 1 + (1 << a), y = a + 1, S = N(), V = 0; V < c; V += 1)
3510
+ s.writeByte(255), s.writeBytes(c, i, 255), i += 255;
3511
+ s.writeByte(c.length - i), s.writeBytes(c, i, c.length - i), s.writeByte(0), s.writeString(";");
3512
+ } }, b = function(s) {
3513
+ for (var c = 1 << s, i = 1 + (1 << s), y = s + 1, S = N(), V = 0; V < c; V += 1)
3521
3514
  S.add(String.fromCharCode(V));
3522
3515
  S.add(String.fromCharCode(c)), S.add(String.fromCharCode(i));
3523
3516
  var A, E, J, Q = Le(), ee = (A = Q, E = 0, J = 0, { write: function(q, re) {
@@ -3537,16 +3530,16 @@ var bn = { exports: {} };
3537
3530
  }
3538
3531
  return ee.write(S.indexOf(H), y), ee.write(i, y), ee.flush(), Q.toByteArray();
3539
3532
  }, N = function() {
3540
- var a = {}, c = 0, i = { add: function(y) {
3533
+ var s = {}, c = 0, i = { add: function(y) {
3541
3534
  if (i.contains(y))
3542
3535
  throw "dup key:" + y;
3543
- a[y] = c, c += 1;
3536
+ s[y] = c, c += 1;
3544
3537
  }, size: function() {
3545
3538
  return c;
3546
3539
  }, indexOf: function(y) {
3547
- return a[y];
3540
+ return s[y];
3548
3541
  }, contains: function(y) {
3549
- return a[y] !== void 0;
3542
+ return s[y] !== void 0;
3550
3543
  } };
3551
3544
  return i;
3552
3545
  };
@@ -3579,7 +3572,7 @@ var bn = { exports: {} };
3579
3572
  g(Z >>> t - 6), t -= 6;
3580
3573
  }, l.flush = function() {
3581
3574
  if (t > 0 && (g(Z << 6 - t), Z = 0, t = 0), o % 3 != 0)
3582
- for (var N = 3 - o % 3, a = 0; a < N; a += 1)
3575
+ for (var N = 3 - o % 3, s = 0; s < N; s += 1)
3583
3576
  r += "=";
3584
3577
  }, l.toString = function() {
3585
3578
  return r;
@@ -3598,11 +3591,11 @@ var bn = { exports: {} };
3598
3591
  }
3599
3592
  return G;
3600
3593
  }(x);
3601
- }, (u = typeof (s = function() {
3594
+ }, (u = typeof (a = function() {
3602
3595
  return w;
3603
- }) == "function" ? s.apply(m, []) : s) === void 0 || (M.exports = u);
3604
- }, 676: (M, m, s) => {
3605
- s.d(m, { default: () => ge });
3596
+ }) == "function" ? a.apply(m, []) : a) === void 0 || (M.exports = u);
3597
+ }, 676: (M, m, a) => {
3598
+ a.d(m, { default: () => ge });
3606
3599
  var u = function() {
3607
3600
  return (u = Object.assign || function(Z) {
3608
3601
  for (var t, o = 1, r = arguments.length; o < r; o++)
@@ -3639,7 +3632,7 @@ var bn = { exports: {} };
3639
3632
  function z(Z) {
3640
3633
  return t = this, o = void 0, l = function() {
3641
3634
  return function(g, b) {
3642
- var N, a, c, i, y = { label: 0, sent: function() {
3635
+ var N, s, c, i, y = { label: 0, sent: function() {
3643
3636
  if (1 & c[0])
3644
3637
  throw c[1];
3645
3638
  return c[1];
@@ -3654,9 +3647,9 @@ var bn = { exports: {} };
3654
3647
  throw new TypeError("Generator is already executing.");
3655
3648
  for (; y; )
3656
3649
  try {
3657
- if (N = 1, a && (c = 2 & E[0] ? a.return : E[0] ? a.throw || ((c = a.return) && c.call(a), 0) : a.next) && !(c = c.call(a, E[1])).done)
3650
+ if (N = 1, s && (c = 2 & E[0] ? s.return : E[0] ? s.throw || ((c = s.return) && c.call(s), 0) : s.next) && !(c = c.call(s, E[1])).done)
3658
3651
  return c;
3659
- switch (a = 0, c && (E = [2 & E[0], c.value]), E[0]) {
3652
+ switch (s = 0, c && (E = [2 & E[0], c.value]), E[0]) {
3660
3653
  case 0:
3661
3654
  case 1:
3662
3655
  c = E;
@@ -3664,7 +3657,7 @@ var bn = { exports: {} };
3664
3657
  case 4:
3665
3658
  return y.label++, { value: E[1], done: !1 };
3666
3659
  case 5:
3667
- y.label++, a = E[1], E = [0];
3660
+ y.label++, s = E[1], E = [0];
3668
3661
  continue;
3669
3662
  case 7:
3670
3663
  E = y.ops.pop(), y.trys.pop();
@@ -3691,7 +3684,7 @@ var bn = { exports: {} };
3691
3684
  }
3692
3685
  E = b.call(g, y);
3693
3686
  } catch (J) {
3694
- E = [6, J], a = 0;
3687
+ E = [6, J], s = 0;
3695
3688
  } finally {
3696
3689
  N = c = 0;
3697
3690
  }
@@ -3705,10 +3698,10 @@ var bn = { exports: {} };
3705
3698
  return [2, new Promise(function(b) {
3706
3699
  var N = new XMLHttpRequest();
3707
3700
  N.onload = function() {
3708
- var a = new FileReader();
3709
- a.onloadend = function() {
3710
- b(a.result);
3711
- }, a.readAsDataURL(N.response);
3701
+ var s = new FileReader();
3702
+ s.onloadend = function() {
3703
+ b(s.result);
3704
+ }, s.readAsDataURL(N.response);
3712
3705
  }, N.open("GET", Z), N.responseType = "blob", N.send();
3713
3706
  })];
3714
3707
  });
@@ -3720,7 +3713,7 @@ var bn = { exports: {} };
3720
3713
  b(y);
3721
3714
  }
3722
3715
  }
3723
- function a(i) {
3716
+ function s(i) {
3724
3717
  try {
3725
3718
  c(l.throw(i));
3726
3719
  } catch (y) {
@@ -3731,7 +3724,7 @@ var bn = { exports: {} };
3731
3724
  var y;
3732
3725
  i.done ? g(i.value) : (y = i.value, y instanceof r ? y : new r(function(S) {
3733
3726
  S(y);
3734
- })).then(N, a);
3727
+ })).then(N, s);
3735
3728
  }
3736
3729
  c((l = l.apply(t, o || [])).next());
3737
3730
  });
@@ -3775,8 +3768,8 @@ var bn = { exports: {} };
3775
3768
  }
3776
3769
  g.call(this, { x: t, y: o, size: r, getNeighbor: l });
3777
3770
  }, Z.prototype._rotateFigure = function(t) {
3778
- var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, a = r + g / 2, c = l + g / 2;
3779
- (0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + a + "," + c + ")");
3771
+ var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, s = r + g / 2, c = l + g / 2;
3772
+ (0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + s + "," + c + ")");
3780
3773
  }, Z.prototype._basicDot = function(t) {
3781
3774
  var o = this, r = t.size, l = t.x, g = t.y;
3782
3775
  this._rotateFigure(T(T({}, t), { draw: function() {
@@ -3814,41 +3807,41 @@ var bn = { exports: {} };
3814
3807
  var o = t.x, r = t.y, l = t.size;
3815
3808
  this._basicSquare({ x: o, y: r, size: l, rotation: 0 });
3816
3809
  }, Z.prototype._drawRounded = function(t) {
3817
- var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, a = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0, i = b + N + a + c;
3810
+ var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0, i = b + N + s + c;
3818
3811
  if (i !== 0)
3819
- if (i > 2 || b && N || a && c)
3812
+ if (i > 2 || b && N || s && c)
3820
3813
  this._basicSquare({ x: o, y: r, size: l, rotation: 0 });
3821
3814
  else {
3822
3815
  if (i === 2) {
3823
3816
  var y = 0;
3824
- return b && a ? y = Math.PI / 2 : a && N ? y = Math.PI : N && c && (y = -Math.PI / 2), void this._basicCornerRounded({ x: o, y: r, size: l, rotation: y });
3817
+ return b && s ? y = Math.PI / 2 : s && N ? y = Math.PI : N && c && (y = -Math.PI / 2), void this._basicCornerRounded({ x: o, y: r, size: l, rotation: y });
3825
3818
  }
3826
3819
  if (i === 1)
3827
- return y = 0, a ? y = Math.PI / 2 : N ? y = Math.PI : c && (y = -Math.PI / 2), void this._basicSideRounded({ x: o, y: r, size: l, rotation: y });
3820
+ return y = 0, s ? y = Math.PI / 2 : N ? y = Math.PI : c && (y = -Math.PI / 2), void this._basicSideRounded({ x: o, y: r, size: l, rotation: y });
3828
3821
  }
3829
3822
  else
3830
3823
  this._basicDot({ x: o, y: r, size: l, rotation: 0 });
3831
3824
  }, Z.prototype._drawExtraRounded = function(t) {
3832
- var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, a = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0, i = b + N + a + c;
3825
+ var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0, i = b + N + s + c;
3833
3826
  if (i !== 0)
3834
- if (i > 2 || b && N || a && c)
3827
+ if (i > 2 || b && N || s && c)
3835
3828
  this._basicSquare({ x: o, y: r, size: l, rotation: 0 });
3836
3829
  else {
3837
3830
  if (i === 2) {
3838
3831
  var y = 0;
3839
- return b && a ? y = Math.PI / 2 : a && N ? y = Math.PI : N && c && (y = -Math.PI / 2), void this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: y });
3832
+ return b && s ? y = Math.PI / 2 : s && N ? y = Math.PI : N && c && (y = -Math.PI / 2), void this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: y });
3840
3833
  }
3841
3834
  if (i === 1)
3842
- return y = 0, a ? y = Math.PI / 2 : N ? y = Math.PI : c && (y = -Math.PI / 2), void this._basicSideRounded({ x: o, y: r, size: l, rotation: y });
3835
+ return y = 0, s ? y = Math.PI / 2 : N ? y = Math.PI : c && (y = -Math.PI / 2), void this._basicSideRounded({ x: o, y: r, size: l, rotation: y });
3843
3836
  }
3844
3837
  else
3845
3838
  this._basicDot({ x: o, y: r, size: l, rotation: 0 });
3846
3839
  }, Z.prototype._drawClassy = function(t) {
3847
- var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, a = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0;
3848
- b + N + a + c !== 0 ? b || a ? N || c ? this._basicSquare({ x: o, y: r, size: l, rotation: 0 }) : this._basicCornerRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 }) : this._basicCornerRounded({ x: o, y: r, size: l, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 });
3840
+ var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0;
3841
+ b + N + s + c !== 0 ? b || s ? N || c ? this._basicSquare({ x: o, y: r, size: l, rotation: 0 }) : this._basicCornerRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 }) : this._basicCornerRounded({ x: o, y: r, size: l, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 });
3849
3842
  }, Z.prototype._drawClassyRounded = function(t) {
3850
- var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, a = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0;
3851
- b + N + a + c !== 0 ? b || a ? N || c ? this._basicSquare({ x: o, y: r, size: l, rotation: 0 }) : this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 }) : this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 });
3843
+ var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0;
3844
+ b + N + s + c !== 0 ? b || s ? N || c ? this._basicSquare({ x: o, y: r, size: l, rotation: 0 }) : this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 }) : this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 });
3852
3845
  }, Z;
3853
3846
  }();
3854
3847
  var _ = function() {
@@ -3879,8 +3872,8 @@ var bn = { exports: {} };
3879
3872
  }
3880
3873
  g.call(this, { x: t, y: o, size: r, rotation: l });
3881
3874
  }, Z.prototype._rotateFigure = function(t) {
3882
- var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, a = r + g / 2, c = l + g / 2;
3883
- (0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + a + "," + c + ")");
3875
+ var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, s = r + g / 2, c = l + g / 2;
3876
+ (0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + s + "," + c + ")");
3884
3877
  }, Z.prototype._basicDot = function(t) {
3885
3878
  var o = this, r = t.size, l = t.x, g = t.y, b = r / 7;
3886
3879
  this._rotateFigure(_(_({}, t), { draw: function() {
@@ -3932,8 +3925,8 @@ var bn = { exports: {} };
3932
3925
  }
3933
3926
  g.call(this, { x: t, y: o, size: r, rotation: l });
3934
3927
  }, Z.prototype._rotateFigure = function(t) {
3935
- var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, a = r + g / 2, c = l + g / 2;
3936
- (0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + a + "," + c + ")");
3928
+ var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, s = r + g / 2, c = l + g / 2;
3929
+ (0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + s + "," + c + ")");
3937
3930
  }, Z.prototype._basicDot = function(t) {
3938
3931
  var o = this, r = t.size, l = t.x, g = t.y;
3939
3932
  this._rotateFigure(te(te({}, t), { draw: function() {
@@ -3956,25 +3949,25 @@ var bn = { exports: {} };
3956
3949
  return new (o || (o = Promise))(function(l, g) {
3957
3950
  function b(c) {
3958
3951
  try {
3959
- a(r.next(c));
3952
+ s(r.next(c));
3960
3953
  } catch (i) {
3961
3954
  g(i);
3962
3955
  }
3963
3956
  }
3964
3957
  function N(c) {
3965
3958
  try {
3966
- a(r.throw(c));
3959
+ s(r.throw(c));
3967
3960
  } catch (i) {
3968
3961
  g(i);
3969
3962
  }
3970
3963
  }
3971
- function a(c) {
3964
+ function s(c) {
3972
3965
  var i;
3973
3966
  c.done ? l(c.value) : (i = c.value, i instanceof o ? i : new o(function(y) {
3974
3967
  y(i);
3975
3968
  })).then(b, N);
3976
3969
  }
3977
- a((r = r.apply(Z, t || [])).next());
3970
+ s((r = r.apply(Z, t || [])).next());
3978
3971
  });
3979
3972
  }, se = function(Z, t) {
3980
3973
  var o, r, l, g, b = { label: 0, sent: function() {
@@ -3985,7 +3978,7 @@ var bn = { exports: {} };
3985
3978
  return g = { next: N(0), throw: N(1), return: N(2) }, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
3986
3979
  return this;
3987
3980
  }), g;
3988
- function N(a) {
3981
+ function N(s) {
3989
3982
  return function(c) {
3990
3983
  return function(i) {
3991
3984
  if (o)
@@ -4036,7 +4029,7 @@ var bn = { exports: {} };
4036
4029
  if (5 & i[0])
4037
4030
  throw i[1];
4038
4031
  return { value: i[0] ? i[1] : void 0, done: !0 };
4039
- }([a, c]);
4032
+ }([s, c]);
4040
4033
  };
4041
4034
  }
4042
4035
  }, be = [[1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1]], ve = [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
@@ -4052,7 +4045,7 @@ var bn = { exports: {} };
4052
4045
  return this._element;
4053
4046
  }, Z.prototype.drawQR = function(t) {
4054
4047
  return L(this, void 0, void 0, function() {
4055
- var o, r, l, g, b, N, a, c, i, y, S = this;
4048
+ var o, r, l, g, b, N, s, c, i, y, S = this;
4056
4049
  return se(this, function(V) {
4057
4050
  switch (V.label) {
4058
4051
  case 0:
@@ -4060,7 +4053,7 @@ var bn = { exports: {} };
4060
4053
  case 1:
4061
4054
  if (V.sent(), !this._image)
4062
4055
  return [2];
4063
- N = this._options, a = N.imageOptions, c = N.qrOptions, i = a.imageSize * W[c.errorCorrectionLevel], y = Math.floor(i * o * o), b = function(A) {
4056
+ N = this._options, s = N.imageOptions, c = N.qrOptions, i = s.imageSize * W[c.errorCorrectionLevel], y = Math.floor(i * o * o), b = function(A) {
4064
4057
  var E = A.originalHeight, J = A.originalWidth, Q = A.maxHiddenDots, ee = A.maxHiddenAxisDots, le = A.dotSize, H = { x: 0, y: 0 }, ne = { x: 0, y: 0 };
4065
4058
  if (E <= 0 || J <= 0 || Q <= 0 || le <= 0)
4066
4059
  return { height: 0, width: 0, hideYDots: 0, hideXDots: 0 };
@@ -4084,8 +4077,8 @@ var bn = { exports: {} };
4084
4077
  if (l) {
4085
4078
  var b = (t = g.backgroundOptions) === null || t === void 0 ? void 0 : t.gradient, N = (o = g.backgroundOptions) === null || o === void 0 ? void 0 : o.color;
4086
4079
  if ((b || N) && this._createColor({ options: b, color: N, additionalRotation: 0, x: 0, y: 0, height: g.height, width: g.width, name: "background-color" }), (r = g.backgroundOptions) === null || r === void 0 ? void 0 : r.round) {
4087
- var a = Math.min(g.width, g.height), c = document.createElementNS("http://www.w3.org/2000/svg", "rect");
4088
- this._backgroundClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._backgroundClipPath.setAttribute("id", "clip-path-background-color"), this._defs.appendChild(this._backgroundClipPath), c.setAttribute("x", String((g.width - a) / 2)), c.setAttribute("y", String((g.height - a) / 2)), c.setAttribute("width", String(a)), c.setAttribute("height", String(a)), c.setAttribute("rx", String(a / 2 * g.backgroundOptions.round)), this._backgroundClipPath.appendChild(c);
4080
+ var s = Math.min(g.width, g.height), c = document.createElementNS("http://www.w3.org/2000/svg", "rect");
4081
+ this._backgroundClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._backgroundClipPath.setAttribute("id", "clip-path-background-color"), this._defs.appendChild(this._backgroundClipPath), c.setAttribute("x", String((g.width - s) / 2)), c.setAttribute("y", String((g.height - s) / 2)), c.setAttribute("width", String(s)), c.setAttribute("height", String(s)), c.setAttribute("rx", String(s / 2 * g.backgroundOptions.round)), this._backgroundClipPath.appendChild(c);
4089
4082
  }
4090
4083
  }
4091
4084
  }, Z.prototype.drawDots = function(t) {
@@ -4095,7 +4088,7 @@ var bn = { exports: {} };
4095
4088
  var g = this._options, b = this._qr.getModuleCount();
4096
4089
  if (b > g.width || b > g.height)
4097
4090
  throw "The canvas is too small.";
4098
- var N = Math.min(g.width, g.height) - 2 * g.margin, a = g.shape === P ? N / Math.sqrt(2) : N, c = Math.floor(a / b), i = Math.floor((g.width - b * c) / 2), y = Math.floor((g.height - b * c) / 2), S = new O({ svg: this._element, type: g.dotsOptions.type });
4091
+ var N = Math.min(g.width, g.height) - 2 * g.margin, s = g.shape === P ? N / Math.sqrt(2) : N, c = Math.floor(s / b), i = Math.floor((g.width - b * c) / 2), y = Math.floor((g.height - b * c) / 2), S = new O({ svg: this._element, type: g.dotsOptions.type });
4099
4092
  this._dotsClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._dotsClipPath.setAttribute("id", "clip-path-dot-color"), this._defs.appendChild(this._dotsClipPath), this._createColor({ options: (o = g.dotsOptions) === null || o === void 0 ? void 0 : o.gradient, color: g.dotsOptions.color, additionalRotation: 0, x: 0, y: 0, height: g.height, width: g.width, name: "dot-color" });
4100
4093
  for (var V = function(me) {
4101
4094
  for (var oe = function(ce) {
@@ -4134,43 +4127,43 @@ var bn = { exports: {} };
4134
4127
  var o = this._element, r = this._options;
4135
4128
  if (!o)
4136
4129
  throw "Element code is not defined";
4137
- var l = this._qr.getModuleCount(), g = Math.min(r.width, r.height) - 2 * r.margin, b = r.shape === P ? g / Math.sqrt(2) : g, N = Math.floor(b / l), a = 7 * N, c = 3 * N, i = Math.floor((r.width - l * N) / 2), y = Math.floor((r.height - l * N) / 2);
4130
+ var l = this._qr.getModuleCount(), g = Math.min(r.width, r.height) - 2 * r.margin, b = r.shape === P ? g / Math.sqrt(2) : g, N = Math.floor(b / l), s = 7 * N, c = 3 * N, i = Math.floor((r.width - l * N) / 2), y = Math.floor((r.height - l * N) / 2);
4138
4131
  [[0, 0, 0], [1, 0, Math.PI / 2], [0, 1, -Math.PI / 2]].forEach(function(S) {
4139
4132
  var V, A, E, J, Q, ee, le, H, ne, q, re, Te, me = S[0], oe = S[1], he = S[2], ce = i + me * N * (l - 7), pe = y + oe * N * (l - 7), ye = t._dotsClipPath, Me = t._dotsClipPath;
4140
- if ((!((V = r.cornersSquareOptions) === null || V === void 0) && V.gradient || !((A = r.cornersSquareOptions) === null || A === void 0) && A.color) && ((ye = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-square-color-" + me + "-" + oe), t._defs.appendChild(ye), t._cornersSquareClipPath = t._cornersDotClipPath = Me = ye, t._createColor({ options: (E = r.cornersSquareOptions) === null || E === void 0 ? void 0 : E.gradient, color: (J = r.cornersSquareOptions) === null || J === void 0 ? void 0 : J.color, additionalRotation: he, x: ce, y: pe, height: a, width: a, name: "corners-square-color-" + me + "-" + oe })), (Q = r.cornersSquareOptions) === null || Q === void 0 ? void 0 : Q.type) {
4133
+ if ((!((V = r.cornersSquareOptions) === null || V === void 0) && V.gradient || !((A = r.cornersSquareOptions) === null || A === void 0) && A.color) && ((ye = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-square-color-" + me + "-" + oe), t._defs.appendChild(ye), t._cornersSquareClipPath = t._cornersDotClipPath = Me = ye, t._createColor({ options: (E = r.cornersSquareOptions) === null || E === void 0 ? void 0 : E.gradient, color: (J = r.cornersSquareOptions) === null || J === void 0 ? void 0 : J.color, additionalRotation: he, x: ce, y: pe, height: s, width: s, name: "corners-square-color-" + me + "-" + oe })), (Q = r.cornersSquareOptions) === null || Q === void 0 ? void 0 : Q.type) {
4141
4134
  var xe = new ie({ svg: t._element, type: r.cornersSquareOptions.type });
4142
- xe.draw(ce, pe, a, he), xe._element && ye && ye.appendChild(xe._element);
4135
+ xe.draw(ce, pe, s, he), xe._element && ye && ye.appendChild(xe._element);
4143
4136
  } else
4144
- for (var ze = new O({ svg: t._element, type: r.dotsOptions.type }), gn = function(Ie) {
4145
- for (var gt = function(Oe) {
4137
+ for (var ze = new O({ svg: t._element, type: r.dotsOptions.type }), bn = function(Ie) {
4138
+ for (var bt = function(Oe) {
4146
4139
  if (!(!((ee = be[Ie]) === null || ee === void 0) && ee[Oe]))
4147
4140
  return "continue";
4148
- ze.draw(ce + Ie * N, pe + Oe * N, N, function(yt, ft) {
4141
+ ze.draw(ce + Ie * N, pe + Oe * N, N, function(gt, yt) {
4149
4142
  var Ve;
4150
- return !!(!((Ve = be[Ie + yt]) === null || Ve === void 0) && Ve[Oe + ft]);
4143
+ return !!(!((Ve = be[Ie + gt]) === null || Ve === void 0) && Ve[Oe + yt]);
4151
4144
  }), ze._element && ye && ye.appendChild(ze._element);
4152
4145
  }, Xe = 0; Xe < be[Ie].length; Xe++)
4153
- gt(Xe);
4146
+ bt(Xe);
4154
4147
  }, Ke = 0; Ke < be.length; Ke++)
4155
- gn(Ke);
4148
+ bn(Ke);
4156
4149
  if ((!((le = r.cornersDotOptions) === null || le === void 0) && le.gradient || !((H = r.cornersDotOptions) === null || H === void 0) && H.color) && ((Me = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-dot-color-" + me + "-" + oe), t._defs.appendChild(Me), t._cornersDotClipPath = Me, t._createColor({ options: (ne = r.cornersDotOptions) === null || ne === void 0 ? void 0 : ne.gradient, color: (q = r.cornersDotOptions) === null || q === void 0 ? void 0 : q.color, additionalRotation: he, x: ce + 2 * N, y: pe + 2 * N, height: c, width: c, name: "corners-dot-color-" + me + "-" + oe })), (re = r.cornersDotOptions) === null || re === void 0 ? void 0 : re.type) {
4157
- var bt = new $({ svg: t._element, type: r.cornersDotOptions.type });
4158
- bt.draw(ce + 2 * N, pe + 2 * N, c, he), bt._element && Me && Me.appendChild(bt._element);
4150
+ var pt = new $({ svg: t._element, type: r.cornersDotOptions.type });
4151
+ pt.draw(ce + 2 * N, pe + 2 * N, c, he), pt._element && Me && Me.appendChild(pt._element);
4159
4152
  } else {
4160
4153
  ze = new O({ svg: t._element, type: r.dotsOptions.type });
4161
- var yn = function(Ie) {
4162
- for (var gt = function(Oe) {
4154
+ var gn = function(Ie) {
4155
+ for (var bt = function(Oe) {
4163
4156
  if (!(!((Te = ve[Ie]) === null || Te === void 0) && Te[Oe]))
4164
4157
  return "continue";
4165
- ze.draw(ce + Ie * N, pe + Oe * N, N, function(yt, ft) {
4158
+ ze.draw(ce + Ie * N, pe + Oe * N, N, function(gt, yt) {
4166
4159
  var Ve;
4167
- return !!(!((Ve = ve[Ie + yt]) === null || Ve === void 0) && Ve[Oe + ft]);
4160
+ return !!(!((Ve = ve[Ie + gt]) === null || Ve === void 0) && Ve[Oe + yt]);
4168
4161
  }), ze._element && Me && Me.appendChild(ze._element);
4169
4162
  }, Xe = 0; Xe < ve[Ie].length; Xe++)
4170
- gt(Xe);
4163
+ bt(Xe);
4171
4164
  };
4172
4165
  for (Ke = 0; Ke < ve.length; Ke++)
4173
- yn(Ke);
4166
+ gn(Ke);
4174
4167
  }
4175
4168
  });
4176
4169
  }, Z.prototype.loadImage = function() {
@@ -4186,25 +4179,25 @@ var bn = { exports: {} };
4186
4179
  }, Z.prototype.drawImage = function(t) {
4187
4180
  var o = t.width, r = t.height, l = t.count, g = t.dotSize;
4188
4181
  return L(this, void 0, void 0, function() {
4189
- var b, N, a, c, i, y, S, V, A;
4182
+ var b, N, s, c, i, y, S, V, A;
4190
4183
  return se(this, function(E) {
4191
4184
  switch (E.label) {
4192
4185
  case 0:
4193
- return b = this._options, N = Math.floor((b.width - l * g) / 2), a = Math.floor((b.height - l * g) / 2), c = N + b.imageOptions.margin + (l * g - o) / 2, i = a + b.imageOptions.margin + (l * g - r) / 2, y = o - 2 * b.imageOptions.margin, S = r - 2 * b.imageOptions.margin, (V = document.createElementNS("http://www.w3.org/2000/svg", "image")).setAttribute("x", String(c)), V.setAttribute("y", String(i)), V.setAttribute("width", y + "px"), V.setAttribute("height", S + "px"), [4, z(b.image || "")];
4186
+ return b = this._options, N = Math.floor((b.width - l * g) / 2), s = Math.floor((b.height - l * g) / 2), c = N + b.imageOptions.margin + (l * g - o) / 2, i = s + b.imageOptions.margin + (l * g - r) / 2, y = o - 2 * b.imageOptions.margin, S = r - 2 * b.imageOptions.margin, (V = document.createElementNS("http://www.w3.org/2000/svg", "image")).setAttribute("x", String(c)), V.setAttribute("y", String(i)), V.setAttribute("width", y + "px"), V.setAttribute("height", S + "px"), [4, z(b.image || "")];
4194
4187
  case 1:
4195
4188
  return A = E.sent(), V.setAttribute("href", A || ""), this._element.appendChild(V), [2];
4196
4189
  }
4197
4190
  });
4198
4191
  });
4199
4192
  }, Z.prototype._createColor = function(t) {
4200
- var o = t.options, r = t.color, l = t.additionalRotation, g = t.x, b = t.y, N = t.height, a = t.width, c = t.name, i = a > N ? a : N, y = document.createElementNS("http://www.w3.org/2000/svg", "rect");
4201
- if (y.setAttribute("x", String(g)), y.setAttribute("y", String(b)), y.setAttribute("height", String(N)), y.setAttribute("width", String(a)), y.setAttribute("clip-path", "url('#clip-path-" + c + "')"), o) {
4193
+ var o = t.options, r = t.color, l = t.additionalRotation, g = t.x, b = t.y, N = t.height, s = t.width, c = t.name, i = s > N ? s : N, y = document.createElementNS("http://www.w3.org/2000/svg", "rect");
4194
+ if (y.setAttribute("x", String(g)), y.setAttribute("y", String(b)), y.setAttribute("height", String(N)), y.setAttribute("width", String(s)), y.setAttribute("clip-path", "url('#clip-path-" + c + "')"), o) {
4202
4195
  var S;
4203
4196
  if (o.type === "radial")
4204
- (S = document.createElementNS("http://www.w3.org/2000/svg", "radialGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("fx", String(g + a / 2)), S.setAttribute("fy", String(b + N / 2)), S.setAttribute("cx", String(g + a / 2)), S.setAttribute("cy", String(b + N / 2)), S.setAttribute("r", String(i / 2));
4197
+ (S = document.createElementNS("http://www.w3.org/2000/svg", "radialGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("fx", String(g + s / 2)), S.setAttribute("fy", String(b + N / 2)), S.setAttribute("cx", String(g + s / 2)), S.setAttribute("cy", String(b + N / 2)), S.setAttribute("r", String(i / 2));
4205
4198
  else {
4206
- var V = ((o.rotation || 0) + l) % (2 * Math.PI), A = (V + 2 * Math.PI) % (2 * Math.PI), E = g + a / 2, J = b + N / 2, Q = g + a / 2, ee = b + N / 2;
4207
- A >= 0 && A <= 0.25 * Math.PI || A > 1.75 * Math.PI && A <= 2 * Math.PI ? (E -= a / 2, J -= N / 2 * Math.tan(V), Q += a / 2, ee += N / 2 * Math.tan(V)) : A > 0.25 * Math.PI && A <= 0.75 * Math.PI ? (J -= N / 2, E -= a / 2 / Math.tan(V), ee += N / 2, Q += a / 2 / Math.tan(V)) : A > 0.75 * Math.PI && A <= 1.25 * Math.PI ? (E += a / 2, J += N / 2 * Math.tan(V), Q -= a / 2, ee -= N / 2 * Math.tan(V)) : A > 1.25 * Math.PI && A <= 1.75 * Math.PI && (J += N / 2, E += a / 2 / Math.tan(V), ee -= N / 2, Q -= a / 2 / Math.tan(V)), (S = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("x1", String(Math.round(E))), S.setAttribute("y1", String(Math.round(J))), S.setAttribute("x2", String(Math.round(Q))), S.setAttribute("y2", String(Math.round(ee)));
4199
+ var V = ((o.rotation || 0) + l) % (2 * Math.PI), A = (V + 2 * Math.PI) % (2 * Math.PI), E = g + s / 2, J = b + N / 2, Q = g + s / 2, ee = b + N / 2;
4200
+ A >= 0 && A <= 0.25 * Math.PI || A > 1.75 * Math.PI && A <= 2 * Math.PI ? (E -= s / 2, J -= N / 2 * Math.tan(V), Q += s / 2, ee += N / 2 * Math.tan(V)) : A > 0.25 * Math.PI && A <= 0.75 * Math.PI ? (J -= N / 2, E -= s / 2 / Math.tan(V), ee += N / 2, Q += s / 2 / Math.tan(V)) : A > 0.75 * Math.PI && A <= 1.25 * Math.PI ? (E += s / 2, J += N / 2 * Math.tan(V), Q -= s / 2, ee -= N / 2 * Math.tan(V)) : A > 1.25 * Math.PI && A <= 1.75 * Math.PI && (J += N / 2, E += s / 2 / Math.tan(V), ee -= N / 2, Q -= s / 2 / Math.tan(V)), (S = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("x1", String(Math.round(E))), S.setAttribute("y1", String(Math.round(J))), S.setAttribute("x2", String(Math.round(Q))), S.setAttribute("y2", String(Math.round(ee)));
4208
4201
  }
4209
4202
  o.colorStops.forEach(function(le) {
4210
4203
  var H = le.offset, ne = le.color, q = document.createElementNS("http://www.w3.org/2000/svg", "stop");
@@ -4238,29 +4231,29 @@ var bn = { exports: {} };
4238
4231
  var t = D({}, Z);
4239
4232
  return t.width = Number(t.width), t.height = Number(t.height), t.margin = Number(t.margin), t.imageOptions = D(D({}, t.imageOptions), { hideBackgroundDots: !!t.imageOptions.hideBackgroundDots, imageSize: Number(t.imageOptions.imageSize), margin: Number(t.imageOptions.margin) }), t.margin > Math.min(t.width, t.height) && (t.margin = Math.min(t.width, t.height)), t.dotsOptions = D({}, t.dotsOptions), t.dotsOptions.gradient && (t.dotsOptions.gradient = I(t.dotsOptions.gradient)), t.cornersSquareOptions && (t.cornersSquareOptions = D({}, t.cornersSquareOptions), t.cornersSquareOptions.gradient && (t.cornersSquareOptions.gradient = I(t.cornersSquareOptions.gradient))), t.cornersDotOptions && (t.cornersDotOptions = D({}, t.cornersDotOptions), t.cornersDotOptions.gradient && (t.cornersDotOptions.gradient = I(t.cornersDotOptions.gradient))), t.backgroundOptions && (t.backgroundOptions = D({}, t.backgroundOptions), t.backgroundOptions.gradient && (t.backgroundOptions.gradient = I(t.backgroundOptions.gradient))), t;
4240
4233
  }
4241
- var K = s(192), F = s.n(K), j = function(Z, t, o, r) {
4234
+ var K = a(192), F = a.n(K), j = function(Z, t, o, r) {
4242
4235
  return new (o || (o = Promise))(function(l, g) {
4243
4236
  function b(c) {
4244
4237
  try {
4245
- a(r.next(c));
4238
+ s(r.next(c));
4246
4239
  } catch (i) {
4247
4240
  g(i);
4248
4241
  }
4249
4242
  }
4250
4243
  function N(c) {
4251
4244
  try {
4252
- a(r.throw(c));
4245
+ s(r.throw(c));
4253
4246
  } catch (i) {
4254
4247
  g(i);
4255
4248
  }
4256
4249
  }
4257
- function a(c) {
4250
+ function s(c) {
4258
4251
  var i;
4259
4252
  c.done ? l(c.value) : (i = c.value, i instanceof o ? i : new o(function(y) {
4260
4253
  y(i);
4261
4254
  })).then(b, N);
4262
4255
  }
4263
- a((r = r.apply(Z, t || [])).next());
4256
+ s((r = r.apply(Z, t || [])).next());
4264
4257
  });
4265
4258
  }, U = function(Z, t) {
4266
4259
  var o, r, l, g, b = { label: 0, sent: function() {
@@ -4271,7 +4264,7 @@ var bn = { exports: {} };
4271
4264
  return g = { next: N(0), throw: N(1), return: N(2) }, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
4272
4265
  return this;
4273
4266
  }), g;
4274
- function N(a) {
4267
+ function N(s) {
4275
4268
  return function(c) {
4276
4269
  return function(i) {
4277
4270
  if (o)
@@ -4322,7 +4315,7 @@ var bn = { exports: {} };
4322
4315
  if (5 & i[0])
4323
4316
  throw i[1];
4324
4317
  return { value: i[0] ? i[1] : void 0, done: !0 };
4325
- }([a, c]);
4318
+ }([s, c]);
4326
4319
  };
4327
4320
  }
4328
4321
  };
@@ -4348,8 +4341,8 @@ var bn = { exports: {} };
4348
4341
  var r = o._svg, l = new XMLSerializer().serializeToString(r), g = "data:image/svg+xml;base64," + btoa(l), b = new Image();
4349
4342
  return new Promise(function(N) {
4350
4343
  b.onload = function() {
4351
- var a, c;
4352
- (c = (a = o._canvas) === null || a === void 0 ? void 0 : a.getContext("2d")) === null || c === void 0 || c.drawImage(b, 0, 0), N();
4344
+ var s, c;
4345
+ (c = (s = o._canvas) === null || s === void 0 ? void 0 : s.getContext("2d")) === null || c === void 0 || c.drawImage(b, 0, 0), N();
4353
4346
  }, b.src = g;
4354
4347
  });
4355
4348
  }
@@ -4428,36 +4421,36 @@ var bn = { exports: {} };
4428
4421
  });
4429
4422
  }, Z;
4430
4423
  }();
4431
- } }, h = {};
4424
+ } }, p = {};
4432
4425
  function f(M) {
4433
- if (h[M])
4434
- return h[M].exports;
4435
- var m = h[M] = { exports: {} };
4426
+ if (p[M])
4427
+ return p[M].exports;
4428
+ var m = p[M] = { exports: {} };
4436
4429
  return d[M](m, m.exports, f), m.exports;
4437
4430
  }
4438
4431
  return f.n = (M) => {
4439
4432
  var m = M && M.__esModule ? () => M.default : () => M;
4440
4433
  return f.d(m, { a: m }), m;
4441
4434
  }, f.d = (M, m) => {
4442
- for (var s in m)
4443
- f.o(m, s) && !f.o(M, s) && Object.defineProperty(M, s, { enumerable: !0, get: m[s] });
4435
+ for (var a in m)
4436
+ f.o(m, a) && !f.o(M, a) && Object.defineProperty(M, a, { enumerable: !0, get: m[a] });
4444
4437
  }, f.o = (M, m) => Object.prototype.hasOwnProperty.call(M, m), f(676);
4445
4438
  })().default;
4446
4439
  });
4447
- })(bn);
4448
- var kr = bn.exports;
4449
- const Yr = /* @__PURE__ */ Wr(kr), zr = ({ nodePath: e }) => /* @__PURE__ */ p.createElement(rt, null, /* @__PURE__ */ p.createElement(
4450
- ct,
4440
+ })(pn);
4441
+ var kr = pn.exports;
4442
+ const Yr = /* @__PURE__ */ Wr(kr), zr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(
4443
+ Lt,
4451
4444
  {
4452
- desktop: /* @__PURE__ */ p.createElement(
4453
- _t,
4445
+ desktop: /* @__PURE__ */ h.createElement(
4446
+ Bt,
4454
4447
  {
4455
4448
  mode: de.DESKTOP,
4456
4449
  nodePath: e
4457
4450
  }
4458
4451
  ),
4459
- mobile: /* @__PURE__ */ p.createElement(
4460
- _t,
4452
+ mobile: /* @__PURE__ */ h.createElement(
4453
+ Bt,
4461
4454
  {
4462
4455
  mode: de.MOBILE,
4463
4456
  nodePath: e
@@ -4465,21 +4458,21 @@ const Yr = /* @__PURE__ */ Wr(kr), zr = ({ nodePath: e }) => /* @__PURE__ */ p.c
4465
4458
  )
4466
4459
  }
4467
4460
  ));
4468
- function _t({
4461
+ function Bt({
4469
4462
  nodePath: e,
4470
4463
  mode: n
4471
4464
  }) {
4472
- const d = Et(), { onUpload: h } = mt(), { setFieldValue: f, getFieldValue: M } = Je(), { selectedNode: m, selectedNodePath: s } = ke(), { setLock: u } = ht(), { isChanged: w } = Tn(), [x, Y] = Fe(!1), G = zt(null), z = 600, W = zt(new Yr()), T = s && M(
4473
- s,
4465
+ const d = Et(), { onUpload: p } = ut(), { setFieldValue: f, getFieldValue: M } = Je(), { selectedNode: m, selectedNodePath: a } = ke(), { setLock: u } = mt(), { isChanged: w } = xn(), [x, Y] = Fe(!1), G = zt(null), z = 600, W = zt(new Yr()), T = a && M(
4466
+ a,
4474
4467
  n === de.DESKTOP ? "attributes.dot-color-type" : "mobileAttributes.dot-color-type"
4475
- ) !== "single", O = s && M(
4476
- s,
4468
+ ) !== "single", O = a && M(
4469
+ a,
4477
4470
  n === de.DESKTOP ? "attributes.corner-dot-color-type" : "mobileAttributes.corner-dot-color-type"
4478
- ) !== "single", _ = s && M(
4479
- s,
4471
+ ) !== "single", _ = a && M(
4472
+ a,
4480
4473
  n === de.DESKTOP ? "attributes.corner-square-color-type" : "mobileAttributes.corner-square-color-type"
4481
- ) !== "single", ie = Zn(() => {
4482
- const L = n === de.DESKTOP ? m == null ? void 0 : m.attributes : Sn({}, m == null ? void 0 : m.attributes, m == null ? void 0 : m.mobileAttributes);
4474
+ ) !== "single", ie = Sn(() => {
4475
+ const L = n === de.DESKTOP ? m == null ? void 0 : m.attributes : vn({}, m == null ? void 0 : m.attributes, m == null ? void 0 : m.mobileAttributes);
4483
4476
  if (!L)
4484
4477
  return {};
4485
4478
  const se = {
@@ -4569,7 +4562,7 @@ function _t({
4569
4562
  document.body.appendChild(P), P.style.position = "absolute", P.style.left = "-9999px", W.current.append(P), W.current.getRawData("png").then((L) => Se(this, null, function* () {
4570
4563
  if (L) {
4571
4564
  const se = window.URL.createObjectURL(L);
4572
- yield en(se), Cn.withoutSaving(d, () => {
4565
+ yield $t(se), In.withoutSaving(d, () => {
4573
4566
  f(
4574
4567
  e,
4575
4568
  n === de.DESKTOP ? "attributes.src" : "mobileAttributes.src",
@@ -4581,7 +4574,7 @@ function _t({
4581
4574
  P.remove();
4582
4575
  });
4583
4576
  }, [d, w, n, e, ie, f]);
4584
- const te = p.useRef();
4577
+ const te = h.useRef();
4585
4578
  te.current || (te.current = De(m)), Ue(() => {
4586
4579
  _e(te.current, m) ? u(!1) : u(!0);
4587
4580
  }, [m, u]);
@@ -4592,7 +4585,7 @@ function _t({
4592
4585
  const P = yield W.current.getRawData("png");
4593
4586
  if (!P)
4594
4587
  return;
4595
- const L = yield h == null ? void 0 : h(P);
4588
+ const L = yield p == null ? void 0 : p(P);
4596
4589
  f(
4597
4590
  e,
4598
4591
  n === de.DESKTOP ? "attributes.src" : "mobileAttributes.src",
@@ -4605,19 +4598,19 @@ function _t({
4605
4598
  L
4606
4599
  ), te.current = se;
4607
4600
  } catch (P) {
4608
- console.error(P), ut.error(String(P));
4601
+ console.error(P), dt.error(String(P));
4609
4602
  } finally {
4610
4603
  Y(!1);
4611
4604
  }
4612
4605
  });
4613
- return m ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ p.createElement(
4606
+ return m ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
4614
4607
  ue.Item,
4615
4608
  {
4616
4609
  name: "0",
4617
4610
  header: X("Image"),
4618
- extra: /* @__PURE__ */ p.createElement(dt, { loading: x, type: "primary", onClick: $ }, X("Save as image"))
4611
+ extra: /* @__PURE__ */ h.createElement(ct, { loading: x, type: "primary", onClick: $ }, X("Save as image"))
4619
4612
  },
4620
- /* @__PURE__ */ p.createElement(
4613
+ /* @__PURE__ */ h.createElement(
4621
4614
  B,
4622
4615
  {
4623
4616
  component: R.ImageUrl,
@@ -4629,23 +4622,23 @@ function _t({
4629
4622
  colSpan: 10
4630
4623
  }
4631
4624
  )
4632
- ), /* @__PURE__ */ p.createElement(ue.Item, { name: "3", header: X("Settings") }, /* @__PURE__ */ p.createElement(
4625
+ ), /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Settings") }, /* @__PURE__ */ h.createElement(
4633
4626
  R.TextAreaField,
4634
4627
  {
4635
4628
  name: "data.text",
4636
4629
  path: e,
4637
4630
  label: X("Content")
4638
4631
  }
4639
- ), /* @__PURE__ */ p.createElement(
4632
+ ), /* @__PURE__ */ h.createElement(
4640
4633
  R.ImageUploaderField,
4641
4634
  {
4642
4635
  path: e,
4643
4636
  name: "data.logo",
4644
4637
  label: X("Logo"),
4645
4638
  hideInput: !0,
4646
- uploadHandler: h
4639
+ uploadHandler: p
4647
4640
  }
4648
- ), /* @__PURE__ */ p.createElement(
4641
+ ), /* @__PURE__ */ h.createElement(
4649
4642
  B,
4650
4643
  {
4651
4644
  component: R.SliderField,
@@ -4656,7 +4649,7 @@ function _t({
4656
4649
  max: 50,
4657
4650
  label: X("Margin")
4658
4651
  }
4659
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "1", header: X("Colors") }, /* @__PURE__ */ p.createElement(
4652
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Colors") }, /* @__PURE__ */ h.createElement(
4660
4653
  R.SyncChildrenField,
4661
4654
  {
4662
4655
  path: e,
@@ -4664,7 +4657,7 @@ function _t({
4664
4657
  name: "color",
4665
4658
  childrenFieldName: "color"
4666
4659
  }
4667
- ), /* @__PURE__ */ p.createElement(
4660
+ ), /* @__PURE__ */ h.createElement(
4668
4661
  B,
4669
4662
  {
4670
4663
  component: R.SelectField,
@@ -4698,7 +4691,7 @@ function _t({
4698
4691
  }
4699
4692
  ]
4700
4693
  }
4701
- ), /* @__PURE__ */ p.createElement(
4694
+ ), /* @__PURE__ */ h.createElement(
4702
4695
  B,
4703
4696
  {
4704
4697
  component: R.ButtonGroupField,
@@ -4716,7 +4709,7 @@ function _t({
4716
4709
  }
4717
4710
  ]
4718
4711
  }
4719
- ), /* @__PURE__ */ p.createElement(
4712
+ ), /* @__PURE__ */ h.createElement(
4720
4713
  B,
4721
4714
  {
4722
4715
  component: R.ColorPickerField,
@@ -4724,7 +4717,7 @@ function _t({
4724
4717
  name: "dot-color",
4725
4718
  label: X("Dot color")
4726
4719
  }
4727
- ), T && /* @__PURE__ */ p.createElement(
4720
+ ), T && /* @__PURE__ */ h.createElement(
4728
4721
  B,
4729
4722
  {
4730
4723
  component: R.ColorPickerField,
@@ -4732,7 +4725,7 @@ function _t({
4732
4725
  name: "dot-color-2",
4733
4726
  label: X("Dot color 2")
4734
4727
  }
4735
- ), T && /* @__PURE__ */ p.createElement(
4728
+ ), T && /* @__PURE__ */ h.createElement(
4736
4729
  B,
4737
4730
  {
4738
4731
  showLimit: !0,
@@ -4743,7 +4736,7 @@ function _t({
4743
4736
  max: 360,
4744
4737
  label: X("Dot rotation")
4745
4738
  }
4746
- ), /* @__PURE__ */ p.createElement(Mt, null), /* @__PURE__ */ p.createElement(
4739
+ ), /* @__PURE__ */ h.createElement(wt, null), /* @__PURE__ */ h.createElement(
4747
4740
  B,
4748
4741
  {
4749
4742
  component: R.SelectField,
@@ -4765,7 +4758,7 @@ function _t({
4765
4758
  }
4766
4759
  ]
4767
4760
  }
4768
- ), /* @__PURE__ */ p.createElement(
4761
+ ), /* @__PURE__ */ h.createElement(
4769
4762
  B,
4770
4763
  {
4771
4764
  component: R.ButtonGroupField,
@@ -4783,7 +4776,7 @@ function _t({
4783
4776
  }
4784
4777
  ]
4785
4778
  }
4786
- ), /* @__PURE__ */ p.createElement(
4779
+ ), /* @__PURE__ */ h.createElement(
4787
4780
  B,
4788
4781
  {
4789
4782
  component: R.ColorPickerField,
@@ -4791,7 +4784,7 @@ function _t({
4791
4784
  name: "corner-dot-color",
4792
4785
  label: X("Corner dot color")
4793
4786
  }
4794
- ), O && /* @__PURE__ */ p.createElement(
4787
+ ), O && /* @__PURE__ */ h.createElement(
4795
4788
  B,
4796
4789
  {
4797
4790
  component: R.ColorPickerField,
@@ -4799,7 +4792,7 @@ function _t({
4799
4792
  name: "corner-dot-color-2",
4800
4793
  label: X("Corner dot color 2")
4801
4794
  }
4802
- ), O && /* @__PURE__ */ p.createElement(
4795
+ ), O && /* @__PURE__ */ h.createElement(
4803
4796
  B,
4804
4797
  {
4805
4798
  showLimit: !0,
@@ -4810,7 +4803,7 @@ function _t({
4810
4803
  max: 360,
4811
4804
  label: X("Corner dot rotation")
4812
4805
  }
4813
- ), /* @__PURE__ */ p.createElement(Mt, null), /* @__PURE__ */ p.createElement(
4806
+ ), /* @__PURE__ */ h.createElement(wt, null), /* @__PURE__ */ h.createElement(
4814
4807
  B,
4815
4808
  {
4816
4809
  component: R.SelectField,
@@ -4832,7 +4825,7 @@ function _t({
4832
4825
  }
4833
4826
  ]
4834
4827
  }
4835
- ), /* @__PURE__ */ p.createElement(
4828
+ ), /* @__PURE__ */ h.createElement(
4836
4829
  B,
4837
4830
  {
4838
4831
  component: R.ButtonGroupField,
@@ -4850,7 +4843,7 @@ function _t({
4850
4843
  }
4851
4844
  ]
4852
4845
  }
4853
- ), /* @__PURE__ */ p.createElement(
4846
+ ), /* @__PURE__ */ h.createElement(
4854
4847
  B,
4855
4848
  {
4856
4849
  component: R.ColorPickerField,
@@ -4858,7 +4851,7 @@ function _t({
4858
4851
  name: "corner-square-color",
4859
4852
  label: X("Corner Square color")
4860
4853
  }
4861
- ), _ && /* @__PURE__ */ p.createElement(
4854
+ ), _ && /* @__PURE__ */ h.createElement(
4862
4855
  B,
4863
4856
  {
4864
4857
  component: R.ColorPickerField,
@@ -4866,7 +4859,7 @@ function _t({
4866
4859
  name: "corner-square-color-2",
4867
4860
  label: X("Corner Square color 2")
4868
4861
  }
4869
- ), _ && /* @__PURE__ */ p.createElement(
4862
+ ), _ && /* @__PURE__ */ h.createElement(
4870
4863
  B,
4871
4864
  {
4872
4865
  showLimit: !0,
@@ -4877,7 +4870,7 @@ function _t({
4877
4870
  max: 360,
4878
4871
  label: X("Corner Square rotation")
4879
4872
  }
4880
- ), /* @__PURE__ */ p.createElement(Mt, null), /* @__PURE__ */ p.createElement(
4873
+ ), /* @__PURE__ */ h.createElement(wt, null), /* @__PURE__ */ h.createElement(
4881
4874
  B,
4882
4875
  {
4883
4876
  component: R.ColorPickerField,
@@ -4885,7 +4878,7 @@ function _t({
4885
4878
  name: "background-color",
4886
4879
  label: X("Background color")
4887
4880
  }
4888
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "2", header: X("Dimension") }, /* @__PURE__ */ p.createElement(
4881
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
4889
4882
  B,
4890
4883
  {
4891
4884
  component: R.Padding,
@@ -4894,12 +4887,12 @@ function _t({
4894
4887
  }
4895
4888
  ))) : null;
4896
4889
  }
4897
- const Kr = ({ nodePath: e }) => /* @__PURE__ */ p.createElement(rt, null, /* @__PURE__ */ p.createElement(Xr, { mode: de.DESKTOP, nodePath: e }));
4890
+ const Kr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(Xr, { mode: de.DESKTOP, nodePath: e }));
4898
4891
  function Xr({
4899
4892
  nodePath: e,
4900
4893
  mode: n = de.DESKTOP
4901
4894
  }) {
4902
- const d = Et(), { onUpload: h } = mt(), { setFieldValue: f } = Je(), { selectedNode: M } = ke(), { setLock: m } = ht(), [s, u] = Fe(!1), w = p.useRef();
4895
+ const d = Et(), { onUpload: p } = ut(), { setFieldValue: f } = Je(), { selectedNode: M } = ke(), { setLock: m } = mt(), [a, u] = Fe(!1), w = h.useRef();
4903
4896
  w.current || (w.current = De(M)), Ue(() => {
4904
4897
  var Y;
4905
4898
  _e((Y = w.current) == null ? void 0 : Y.data, M == null ? void 0 : M.data) ? m(!1) : m(!0);
@@ -4908,9 +4901,9 @@ function Xr({
4908
4901
  if (M)
4909
4902
  try {
4910
4903
  u(!0);
4911
- const Y = nn.toDOMNode(d, M), G = yield sn(Y, {
4904
+ const Y = tn.toDOMNode(d, M), G = yield an(Y, {
4912
4905
  styleText: '[data-slate-type="common-video"] { width: 600px }'
4913
- }), z = yield zn(yield on(G)), W = yield h == null ? void 0 : h(
4906
+ }), z = yield Yn(yield rn(G)), W = yield p == null ? void 0 : p(
4914
4907
  new File([z], "video.png", { type: z.type })
4915
4908
  );
4916
4909
  f(
@@ -4925,19 +4918,19 @@ function Xr({
4925
4918
  W
4926
4919
  ), w.current = T;
4927
4920
  } catch (Y) {
4928
- console.error(Y), ut.error(String(Y));
4921
+ console.error(Y), dt.error(String(Y));
4929
4922
  } finally {
4930
4923
  u(!1);
4931
4924
  }
4932
4925
  });
4933
- return M ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ p.createElement(
4926
+ return M ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
4934
4927
  ue.Item,
4935
4928
  {
4936
4929
  name: "2",
4937
4930
  header: X("Video thumbnail"),
4938
- extra: /* @__PURE__ */ p.createElement(dt, { loading: s, type: "primary", onClick: x }, X("Save"))
4931
+ extra: /* @__PURE__ */ h.createElement(ct, { loading: a, type: "primary", onClick: x }, X("Save"))
4939
4932
  },
4940
- /* @__PURE__ */ p.createElement(
4933
+ /* @__PURE__ */ h.createElement(
4941
4934
  R.ImageUrl,
4942
4935
  {
4943
4936
  path: e,
@@ -4946,7 +4939,7 @@ function Xr({
4946
4939
  hideInput: !0
4947
4940
  }
4948
4941
  ),
4949
- /* @__PURE__ */ p.createElement(je.Row, null, /* @__PURE__ */ p.createElement(je.Col, { offset: 1, span: 22 }, /* @__PURE__ */ p.createElement(
4942
+ /* @__PURE__ */ h.createElement(je.Row, null, /* @__PURE__ */ h.createElement(je.Col, { offset: 1, span: 22 }, /* @__PURE__ */ h.createElement(
4950
4943
  R.TextField,
4951
4944
  {
4952
4945
  path: e,
@@ -4957,7 +4950,7 @@ function Xr({
4957
4950
  labelCol: { offset: 0 }
4958
4951
  }
4959
4952
  }
4960
- ), /* @__PURE__ */ p.createElement(
4953
+ ), /* @__PURE__ */ h.createElement(
4961
4954
  R.SliderField,
4962
4955
  {
4963
4956
  path: e,
@@ -4972,7 +4965,7 @@ function Xr({
4972
4965
  label: X("Video mask opacity")
4973
4966
  }
4974
4967
  )))
4975
- ), /* @__PURE__ */ p.createElement(ue.Item, { name: "3", header: X("Play Icon") }, /* @__PURE__ */ p.createElement(
4968
+ ), /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Play Icon") }, /* @__PURE__ */ h.createElement(
4976
4969
  R.ImageUrl,
4977
4970
  {
4978
4971
  size: "small",
@@ -4981,7 +4974,7 @@ function Xr({
4981
4974
  formItem: { layout: "vertical" },
4982
4975
  hideInput: !0
4983
4976
  }
4984
- ), /* @__PURE__ */ p.createElement(je.Row, null, /* @__PURE__ */ p.createElement(je.Col, { offset: 1, span: 22 }, /* @__PURE__ */ p.createElement(
4977
+ ), /* @__PURE__ */ h.createElement(je.Row, null, /* @__PURE__ */ h.createElement(je.Col, { offset: 1, span: 22 }, /* @__PURE__ */ h.createElement(
4985
4978
  R.SliderField,
4986
4979
  {
4987
4980
  path: e,
@@ -5004,18 +4997,18 @@ const Or = {
5004
4997
  normalize(e) {
5005
4998
  return e ? "true" : void 0;
5006
4999
  }
5007
- }, Vr = ({ nodePath: e }) => /* @__PURE__ */ p.createElement(rt, null, /* @__PURE__ */ p.createElement(
5008
- ct,
5000
+ }, Vr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(
5001
+ Lt,
5009
5002
  {
5010
- desktop: /* @__PURE__ */ p.createElement(
5011
- qt,
5003
+ desktop: /* @__PURE__ */ h.createElement(
5004
+ _t,
5012
5005
  {
5013
5006
  mode: de.DESKTOP,
5014
5007
  nodePath: e
5015
5008
  }
5016
5009
  ),
5017
- mobile: /* @__PURE__ */ p.createElement(
5018
- qt,
5010
+ mobile: /* @__PURE__ */ h.createElement(
5011
+ _t,
5019
5012
  {
5020
5013
  mode: de.MOBILE,
5021
5014
  nodePath: e
@@ -5023,82 +5016,82 @@ const Or = {
5023
5016
  )
5024
5017
  }
5025
5018
  ));
5026
- function qt({
5019
+ function _t({
5027
5020
  nodePath: e,
5028
5021
  mode: n
5029
5022
  }) {
5030
- const [d, h] = Fe("image"), { selectedNode: f } = ke();
5031
- return f ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ p.createElement(ue.Item, { name: "1", header: X("Container") }, /* @__PURE__ */ p.createElement(Ar, { nodePath: e, mode: n }), /* @__PURE__ */ p.createElement(
5023
+ const [d, p] = Fe("image"), { selectedNode: f } = ke();
5024
+ return f ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Container") }, /* @__PURE__ */ h.createElement(Ar, { nodePath: e, mode: n }), /* @__PURE__ */ h.createElement(
5032
5025
  R.SwitchField,
5033
5026
  {
5034
5027
  label: X("Stack on mobile"),
5035
5028
  name: "data.stackOnMobile",
5036
5029
  path: e
5037
5030
  }
5038
- ), /* @__PURE__ */ p.createElement(
5031
+ ), /* @__PURE__ */ h.createElement(
5039
5032
  B,
5040
5033
  {
5041
5034
  component: R.Padding,
5042
5035
  path: e,
5043
5036
  name: ""
5044
5037
  }
5045
- ), /* @__PURE__ */ p.createElement(
5038
+ ), /* @__PURE__ */ h.createElement(
5046
5039
  B,
5047
5040
  {
5048
5041
  name: "",
5049
5042
  component: R.Direction,
5050
5043
  path: e
5051
5044
  }
5052
- ), /* @__PURE__ */ p.createElement(
5045
+ ), /* @__PURE__ */ h.createElement(
5053
5046
  B,
5054
5047
  {
5055
5048
  name: "vertical-align",
5056
5049
  component: R.VerticalAlign,
5057
5050
  path: e
5058
5051
  }
5059
- ), /* @__PURE__ */ p.createElement(
5052
+ ), /* @__PURE__ */ h.createElement(
5060
5053
  B,
5061
5054
  {
5062
5055
  component: R.Border,
5063
5056
  path: e,
5064
5057
  name: ""
5065
5058
  }
5066
- ), /* @__PURE__ */ p.createElement(
5059
+ ), /* @__PURE__ */ h.createElement(
5067
5060
  B,
5068
5061
  {
5069
5062
  name: "background-color",
5070
5063
  component: R.BackgroundColor,
5071
5064
  path: e
5072
5065
  }
5073
- )), /* @__PURE__ */ p.createElement(
5066
+ )), /* @__PURE__ */ h.createElement(
5074
5067
  ue.Item,
5075
5068
  {
5076
5069
  name: "2",
5077
5070
  header: X("Content"),
5078
5071
  contentStyle: { padding: 0, paddingBottom: 0 }
5079
5072
  },
5080
- /* @__PURE__ */ p.createElement(
5081
- xt.Group,
5073
+ /* @__PURE__ */ h.createElement(
5074
+ Mt.Group,
5082
5075
  {
5083
5076
  type: "button",
5084
5077
  style: { width: "100%", whiteSpace: "nowrap" },
5085
5078
  value: d,
5086
- onChange: h
5079
+ onChange: p
5087
5080
  },
5088
- /* @__PURE__ */ p.createElement(xt, { style: { width: "50%", textAlign: "center" }, value: "image" }, "Image"),
5089
- /* @__PURE__ */ p.createElement(xt, { style: { width: "50%", textAlign: "center" }, value: "text" }, "Text")
5081
+ /* @__PURE__ */ h.createElement(Mt, { style: { width: "50%", textAlign: "center" }, value: "image" }, "Image"),
5082
+ /* @__PURE__ */ h.createElement(Mt, { style: { width: "50%", textAlign: "center" }, value: "text" }, "Text")
5090
5083
  ),
5091
- d === "image" ? /* @__PURE__ */ p.createElement(jr, { nodePath: [...e, 0] }) : /* @__PURE__ */ p.createElement(Pr, { nodePath: [...e, 1], mode: n })
5084
+ d === "image" ? /* @__PURE__ */ h.createElement(jr, { nodePath: [...e, 0] }) : /* @__PURE__ */ h.createElement(Pr, { nodePath: [...e, 1], mode: n })
5092
5085
  )) : null;
5093
5086
  }
5094
5087
  const jr = ({ nodePath: e }) => {
5095
- const { selectedNode: n } = ke(), { setFieldValue: d, values: h } = Je(), f = parseInt(h.content.attributes.width || "600") || 600, M = Dt(
5088
+ const { selectedNode: n } = ke(), { setFieldValue: d, values: p } = Je(), f = parseInt(p.content.attributes.width || "600") || 600, M = Ct(
5096
5089
  (m) => {
5097
5090
  m.width < f && d(e, "attributes.width", m.width + "px");
5098
5091
  },
5099
5092
  [e, f, d]
5100
5093
  );
5101
- return n ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"], hasBottom: !1 }, /* @__PURE__ */ p.createElement(ue.Item, { name: "3", header: X("Image") }, /* @__PURE__ */ p.createElement(
5094
+ return n ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"], hasBottom: !1 }, /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Image") }, /* @__PURE__ */ h.createElement(
5102
5095
  B,
5103
5096
  {
5104
5097
  component: R.ImageUrl,
@@ -5107,7 +5100,7 @@ const jr = ({ nodePath: e }) => {
5107
5100
  onCallbackImageDetail: M,
5108
5101
  formItem: { layout: "vertical" }
5109
5102
  }
5110
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "1", header: X("Image settings") }, /* @__PURE__ */ p.createElement(
5103
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Image settings") }, /* @__PURE__ */ h.createElement(
5111
5104
  B,
5112
5105
  {
5113
5106
  component: R.Link,
@@ -5115,7 +5108,7 @@ const jr = ({ nodePath: e }) => {
5115
5108
  name: "href",
5116
5109
  label: X("Link address")
5117
5110
  }
5118
- ), /* @__PURE__ */ p.createElement(
5111
+ ), /* @__PURE__ */ h.createElement(
5119
5112
  B,
5120
5113
  {
5121
5114
  component: R.TextField,
@@ -5124,7 +5117,7 @@ const jr = ({ nodePath: e }) => {
5124
5117
  label: X("Alt text"),
5125
5118
  placeholder: X("Brief description of your image")
5126
5119
  }
5127
- ), /* @__PURE__ */ p.createElement(
5120
+ ), /* @__PURE__ */ h.createElement(
5128
5121
  B,
5129
5122
  {
5130
5123
  component: R.SwitchField,
@@ -5133,28 +5126,28 @@ const jr = ({ nodePath: e }) => {
5133
5126
  label: X("Full width on mobile"),
5134
5127
  formItem: Or
5135
5128
  }
5136
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ p.createElement(
5129
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
5137
5130
  B,
5138
5131
  {
5139
5132
  component: R.ImageWidth,
5140
5133
  path: e,
5141
5134
  name: "width"
5142
5135
  }
5143
- ), /* @__PURE__ */ p.createElement(
5136
+ ), /* @__PURE__ */ h.createElement(
5144
5137
  B,
5145
5138
  {
5146
5139
  component: R.Height,
5147
5140
  path: e,
5148
5141
  name: "height"
5149
5142
  }
5150
- ), /* @__PURE__ */ p.createElement(
5143
+ ), /* @__PURE__ */ h.createElement(
5151
5144
  B,
5152
5145
  {
5153
5146
  component: R.Padding,
5154
5147
  path: e,
5155
5148
  name: ""
5156
5149
  }
5157
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "2", header: X("Border") }, /* @__PURE__ */ p.createElement(
5150
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Border") }, /* @__PURE__ */ h.createElement(
5158
5151
  B,
5159
5152
  {
5160
5153
  component: R.Border,
@@ -5167,21 +5160,21 @@ const jr = ({ nodePath: e }) => {
5167
5160
  mode: n
5168
5161
  }) => {
5169
5162
  const { selectedNode: d } = ke();
5170
- return d ? /* @__PURE__ */ p.createElement(Re, { defaultActiveKey: ["0", "1", "2"] }, /* @__PURE__ */ p.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ p.createElement(
5163
+ return d ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2"] }, /* @__PURE__ */ h.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
5171
5164
  B,
5172
5165
  {
5173
5166
  component: R.Height,
5174
5167
  path: e,
5175
5168
  name: "height"
5176
5169
  }
5177
- ), /* @__PURE__ */ p.createElement(
5170
+ ), /* @__PURE__ */ h.createElement(
5178
5171
  B,
5179
5172
  {
5180
5173
  component: R.Padding,
5181
5174
  path: e,
5182
5175
  name: ""
5183
5176
  }
5184
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "1", header: X("Typography") }, n === de.DESKTOP && /* @__PURE__ */ p.createElement(
5177
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Typography") }, n === de.DESKTOP && /* @__PURE__ */ h.createElement(
5185
5178
  R.Heading,
5186
5179
  {
5187
5180
  path: e,
@@ -5190,7 +5183,7 @@ const jr = ({ nodePath: e }) => {
5190
5183
  wrapperCol: { span: 14, offset: 0 }
5191
5184
  }
5192
5185
  }
5193
- ), /* @__PURE__ */ p.createElement(
5186
+ ), /* @__PURE__ */ h.createElement(
5194
5187
  B,
5195
5188
  {
5196
5189
  mode: n,
@@ -5199,14 +5192,14 @@ const jr = ({ nodePath: e }) => {
5199
5192
  name: "",
5200
5193
  type: d.type
5201
5194
  }
5202
- )), /* @__PURE__ */ p.createElement(ue.Item, { name: "2", header: X("Block") }, /* @__PURE__ */ p.createElement(
5195
+ )), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Block") }, /* @__PURE__ */ h.createElement(
5203
5196
  B,
5204
5197
  {
5205
5198
  component: R.BackgroundColor,
5206
5199
  path: e,
5207
5200
  name: "container-background-color"
5208
5201
  }
5209
- ), /* @__PURE__ */ p.createElement(
5202
+ ), /* @__PURE__ */ h.createElement(
5210
5203
  B,
5211
5204
  {
5212
5205
  component: R.TextAlign,
@@ -5218,35 +5211,35 @@ const jr = ({ nodePath: e }) => {
5218
5211
  nodePath: e,
5219
5212
  mode: n
5220
5213
  }) => {
5221
- const { selectedNode: d } = ke(), { setFieldValue: h } = Je(), f = tn(
5214
+ const { selectedNode: d } = ke(), { setFieldValue: p } = Je(), f = en(
5222
5215
  d,
5223
5216
  n === de.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
5224
5217
  50
5225
- ), [M, m] = Fe(f), [s, u] = Fe(100 - f);
5218
+ ), [M, m] = Fe(f), [a, u] = Fe(100 - f);
5226
5219
  Ue(() => {
5227
5220
  m(f), u(100 - f);
5228
5221
  }, [f]);
5229
- const w = Dt(() => {
5230
- h(
5222
+ const w = Ct(() => {
5223
+ p(
5231
5224
  e,
5232
5225
  n === de.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
5233
5226
  M
5234
5227
  );
5235
- }, [n, e, h, M]), x = Dt(() => {
5236
- h(
5228
+ }, [n, e, p, M]), x = Ct(() => {
5229
+ p(
5237
5230
  e,
5238
5231
  n === de.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
5239
- 100 - s
5232
+ 100 - a
5240
5233
  );
5241
- }, [n, e, h, s]);
5242
- return d ? /* @__PURE__ */ p.createElement(
5243
- Nn.Item,
5234
+ }, [n, e, p, a]);
5235
+ return d ? /* @__PURE__ */ h.createElement(
5236
+ Zn.Item,
5244
5237
  {
5245
- label: /* @__PURE__ */ p.createElement("span", { style: { textAlign: "right" } }, X("Column widths")),
5238
+ label: /* @__PURE__ */ h.createElement("span", { style: { textAlign: "right" } }, X("Column widths")),
5246
5239
  labelCol: { span: 6, offset: 1 },
5247
5240
  wrapperCol: { span: 14, offset: 1 }
5248
5241
  },
5249
- /* @__PURE__ */ p.createElement(In, { align: "center", size: "small" }, /* @__PURE__ */ p.createElement(
5242
+ /* @__PURE__ */ h.createElement(Nn, { align: "center", size: "small" }, /* @__PURE__ */ h.createElement(
5250
5243
  Kt,
5251
5244
  {
5252
5245
  min: 1,
@@ -5256,12 +5249,12 @@ const jr = ({ nodePath: e }) => {
5256
5249
  onChange: m,
5257
5250
  onBlur: w
5258
5251
  }
5259
- ), /* @__PURE__ */ p.createElement(Dn, null), /* @__PURE__ */ p.createElement(
5252
+ ), /* @__PURE__ */ h.createElement(Cn, null), /* @__PURE__ */ h.createElement(
5260
5253
  Kt,
5261
5254
  {
5262
5255
  min: 1,
5263
5256
  max: 99,
5264
- value: s,
5257
+ value: a,
5265
5258
  suffix: "%",
5266
5259
  onChange: u,
5267
5260
  onBlur: x
@@ -5271,12 +5264,12 @@ const jr = ({ nodePath: e }) => {
5271
5264
  };
5272
5265
  class eo extends tt {
5273
5266
  generateElement() {
5274
- nt.registerBlocks([Vt]), Ge(ot, Vt.type, Gr);
5267
+ nt.registerBlocks([Vt]), Ge(ot, Vt.type, Dr);
5275
5268
  }
5276
5269
  }
5277
5270
  class to extends tt {
5278
5271
  generateElement() {
5279
- nt.registerBlocks([Xt]), Ge(ot, Xt.type, Er);
5272
+ nt.registerBlocks([Xt]), Ge(ot, Xt.type, Lr);
5280
5273
  }
5281
5274
  }
5282
5275
  class no extends tt {
@@ -5295,11 +5288,11 @@ class oo extends tt {
5295
5288
  }
5296
5289
  }
5297
5290
  export {
5298
- Ln as CommonType,
5291
+ Gn as CommonType,
5299
5292
  to as Countdown,
5300
5293
  oo as ImageWithText,
5301
5294
  Ne as KitElementType,
5302
- Gn as MarketingType,
5295
+ Dn as MarketingType,
5303
5296
  no as QRCode,
5304
5297
  eo as Shopwindow,
5305
5298
  ro as Video