@hufe921/canvas-editor 0.9.130 → 0.9.131

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/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [0.9.131](https://github.com/Hufe921/canvas-editor/compare/v0.9.130...v0.9.131) (2026-04-10)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * multiple consecutive lists rendering extra blank lines #1389 ([f344b74](https://github.com/Hufe921/canvas-editor/commit/f344b74bb342408a8f39cdae4d06782e8c5945db)), closes [#1389](https://github.com/Hufe921/canvas-editor/issues/1389)
7
+ * table cell adaptive row height #1388 ([8d23ce3](https://github.com/Hufe921/canvas-editor/commit/8d23ce3fa8eb8edacd0dcf4652c78eb71ded50a4)), closes [#1388](https://github.com/Hufe921/canvas-editor/issues/1388)
8
+ * terminate workers and disconnect observer when editor destroy ([132b992](https://github.com/Hufe921/canvas-editor/commit/132b9927df698012a46e597265fadc5ce0be56f2))
9
+
10
+
11
+ ### Features
12
+
13
+ * add filterEmptyControl option to print mode #1385 ([81a6c86](https://github.com/Hufe921/canvas-editor/commit/81a6c86ab0736461f77b821401b08f87a06588c0)), closes [#1385](https://github.com/Hufe921/canvas-editor/issues/1385)
14
+ * support watermark layer configuration #1386 ([b0a068b](https://github.com/Hufe921/canvas-editor/commit/b0a068b097b9ec3a6b89b3385f0bdb589c4204f5)), closes [#1386](https://github.com/Hufe921/canvas-editor/issues/1386)
15
+
16
+
17
+
1
18
  ## [0.9.130](https://github.com/Hufe921/canvas-editor/compare/v0.9.129...v0.9.130) (2026-03-27)
2
19
 
3
20
 
@@ -23,7 +23,7 @@ var __publicField = (obj, key, value) => {
23
23
  return value;
24
24
  };
25
25
  var index = "";
26
- const version = "0.9.130";
26
+ const version = "0.9.131";
27
27
  var MaxHeightRatio;
28
28
  (function(MaxHeightRatio2) {
29
29
  MaxHeightRatio2["HALF"] = "half";
@@ -485,7 +485,8 @@ const EDITOR_CLIPBOARD = `${EDITOR_PREFIX}-clipboard`;
485
485
  const defaultModeRuleOption = {
486
486
  print: {
487
487
  imagePreviewerDisabled: false,
488
- backgroundDisabled: false
488
+ backgroundDisabled: false,
489
+ filterEmptyControl: true
489
490
  },
490
491
  readonly: {
491
492
  imagePreviewerDisabled: false
@@ -4282,6 +4283,11 @@ var WatermarkType;
4282
4283
  WatermarkType2["TEXT"] = "text";
4283
4284
  WatermarkType2["IMAGE"] = "image";
4284
4285
  })(WatermarkType || (WatermarkType = {}));
4286
+ var WatermarkLayer;
4287
+ (function(WatermarkLayer2) {
4288
+ WatermarkLayer2["BOTTOM"] = "bottom";
4289
+ WatermarkLayer2["TOP"] = "top";
4290
+ })(WatermarkLayer || (WatermarkLayer = {}));
4285
4291
  const defaultWatermarkOption = {
4286
4292
  data: "",
4287
4293
  type: WatermarkType.TEXT,
@@ -4293,7 +4299,8 @@ const defaultWatermarkOption = {
4293
4299
  font: "Microsoft YaHei",
4294
4300
  repeat: false,
4295
4301
  gap: [10, 10],
4296
- numberType: NumberType.ARABIC
4302
+ numberType: NumberType.ARABIC,
4303
+ layer: WatermarkLayer.BOTTOM
4297
4304
  };
4298
4305
  const defaultZoneOption = {
4299
4306
  tipDisabled: true
@@ -4448,7 +4455,7 @@ function unzipElementList(elementList) {
4448
4455
  return result;
4449
4456
  }
4450
4457
  function formatElementList(elementList, options) {
4451
- var _a, _b;
4458
+ var _a, _b, _c;
4452
4459
  const { isHandleFirstElement = true, isForceCompensation = false, editorOptions } = options;
4453
4460
  const startElement = elementList[0];
4454
4461
  if ((startElement == null ? void 0 : startElement.type) !== ElementType.LIST && (isForceCompensation || isHandleFirstElement && ((startElement == null ? void 0 : startElement.type) && startElement.type !== ElementType.TEXT || !START_LINE_BREAK_REG.test(startElement == null ? void 0 : startElement.value)))) {
@@ -4506,7 +4513,7 @@ function formatElementList(elementList, options) {
4506
4513
  elementList.splice(i, 0, value);
4507
4514
  i++;
4508
4515
  }
4509
- if (elementList[i] && !START_LINE_BREAK_REG.test(elementList[i].value)) {
4516
+ if (elementList[i] && (((_a = elementList[i].valueList) == null ? void 0 : _a.length) ? !START_LINE_BREAK_REG.test(elementList[i].valueList[0].value) : !START_LINE_BREAK_REG.test(elementList[i].value))) {
4510
4517
  elementList.splice(i, 0, {
4511
4518
  value: ZERO
4512
4519
  });
@@ -4571,7 +4578,7 @@ function formatElementList(elementList, options) {
4571
4578
  isHandleFirstElement: true,
4572
4579
  isForceCompensation: true
4573
4580
  }));
4574
- if (!td.value[0].size && ((_a = td.value[1]) == null ? void 0 : _a.size) && isTextLikeElement(td.value[1])) {
4581
+ if (!td.value[0].size && ((_b = td.value[1]) == null ? void 0 : _b.size) && isTextLikeElement(td.value[1])) {
4575
4582
  td.value[0].size = td.value[1].size;
4576
4583
  }
4577
4584
  for (let v = 0; v < td.value.length; v++) {
@@ -4801,7 +4808,7 @@ function formatElementList(elementList, options) {
4801
4808
  i++;
4802
4809
  }
4803
4810
  i--;
4804
- } else if ((!el.type || TEXTLIKE_ELEMENT_TYPE.includes(el.type)) && ((_b = el.value) == null ? void 0 : _b.length) > 1) {
4811
+ } else if ((!el.type || TEXTLIKE_ELEMENT_TYPE.includes(el.type)) && ((_c = el.value) == null ? void 0 : _c.length) > 1) {
4805
4812
  elementList.splice(i, 1);
4806
4813
  const valueList = splitText(el.value);
4807
4814
  for (let v = 0; v < valueList.length; v++) {
@@ -14183,6 +14190,7 @@ class Control {
14183
14190
  return this.draw;
14184
14191
  }
14185
14192
  filterAssistElement(elementList) {
14193
+ const { filterEmptyControl } = this.options.modeRule[EditorMode.PRINT];
14186
14194
  return elementList.filter((element, index2) => {
14187
14195
  var _a, _b, _c;
14188
14196
  if (element.type === ElementType.TABLE) {
@@ -14234,7 +14242,7 @@ class Control {
14234
14242
  return isExistValue;
14235
14243
  }
14236
14244
  }
14237
- return element.controlComponent !== ControlComponent.PREFIX && element.controlComponent !== ControlComponent.POSTFIX && element.controlComponent !== ControlComponent.PLACEHOLDER;
14245
+ return element.controlComponent !== ControlComponent.PREFIX && element.controlComponent !== ControlComponent.POSTFIX && (!filterEmptyControl || element.controlComponent !== ControlComponent.PLACEHOLDER);
14238
14246
  });
14239
14247
  }
14240
14248
  getIsRangeCanCaptureEvent() {
@@ -15724,7 +15732,7 @@ function WorkerWrapper$1() {
15724
15732
  objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
15725
15733
  }
15726
15734
  }
15727
- const encodedJs = "KCgpPT57dmFyIFRlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxJZT1PYmplY3QuZGVmaW5lUHJvcGVydGllczt2YXIgQWU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM7dmFyIGxlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7dmFyIGRlPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksUmU9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTt2YXIgbmU9KFQsSSxkKT0+SSBpbiBUP1RlKFQsSSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZH0pOlRbSV09ZCxnPShULEkpPT57Zm9yKHZhciBkIGluIEl8fChJPXt9KSlkZS5jYWxsKEksZCkmJm5lKFQsZCxJW2RdKTtpZihsZSlmb3IodmFyIGQgb2YgbGUoSSkpUmUuY2FsbChJLGQpJiZuZShULGQsSVtkXSk7cmV0dXJuIFR9LFg9KFQsSSk9PkllKFQsQWUoSSkpOyhmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgVDsoZnVuY3Rpb24oZSl7ZS5IQUxGPSJoYWxmIixlLk9ORV9USElSRD0ib25lLXRoaXJkIixlLlFVQVJURVI9InF1YXJ0ZXIifSkoVHx8KFQ9e30pKTt2YXIgSTsoZnVuY3Rpb24oZSl7ZS5BUkFCSUM9ImFyYWJpYyIsZS5DSElORVNFPSJjaGluZXNlIn0pKEl8fChJPXt9KSk7dmFyIGQ7KGZ1bmN0aW9uKGUpe2UuSU5MSU5FPSJpbmxpbmUiLGUuQkxPQ0s9ImJsb2NrIixlLlNVUlJPVU5EPSJzdXJyb3VuZCIsZS5GTE9BVF9UT1A9ImZsb2F0LXRvcCIsZS5GTE9BVF9CT1RUT009ImZsb2F0LWJvdHRvbSJ9KShkfHwoZD17fSkpO3ZhciBfOyhmdW5jdGlvbihlKXtlLkJFRk9SRT0iYmVmb3JlIixlLkFGVEVSPSJhZnRlciIsZS5PVVRFUl9CRUZPUkU9Im91dGVyLWJlZm9yZSIsZS5PVVRFUl9BRlRFUj0ib3V0ZXItYWZ0ZXIifSkoX3x8KF89e30pKTt2YXIgTTsoZnVuY3Rpb24oZSl7ZS5ST1c9InJvdyIsZS5DT0xVTU49ImNvbHVtbiJ9KShNfHwoTT17fSkpO2NvbnN0IFA9Ilx1MjAwQiI7VC5IQUxGKyIiLDEvMixULk9ORV9USElSRCsiIiwxLzMsVC5RVUFSVEVSKyIiLDEvNDtmdW5jdGlvbiBiKGUpe2lmKHR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmU9PSJmdW5jdGlvbiIpcmV0dXJuIHN0cnVjdHVyZWRDbG9uZShlKTtpZighZXx8dHlwZW9mIGUhPSJvYmplY3QiKXJldHVybiBlO2xldCBjPXt9O3JldHVybiBBcnJheS5pc0FycmF5KGUpP2M9ZS5tYXAoRT0+YihFKSk6T2JqZWN0LmtleXMoZSkuZm9yRWFjaChFPT57Y1tFXT1iKGVbRV0pfSksY31mdW5jdGlvbiB3KGUsYyl7Y29uc3QgRT17fTtmb3IoY29uc3QgQSBpbiBlKWMuaW5jbHVkZXMoQSkmJihFW0FdPWVbQV0pO3JldHVybiBFfWZ1bmN0aW9uIHJlKGUsYyl7cmV0dXJuIGUubGVuZ3RoIT09Yy5sZW5ndGg/ITE6IWUuc29tZShFPT4hYy5pbmNsdWRlcyhFKSl9dmFyIG47KGZ1bmN0aW9uKGUpe2UuVEVYVD0idGV4dCIsZS5JTUFHRT0iaW1hZ2UiLGUuVEFCTEU9InRhYmxlIixlLkhZUEVSTElOSz0iaHlwZXJsaW5rIixlLlNVUEVSU0NSSVBUPSJzdXBlcnNjcmlwdCIsZS5TVUJTQ1JJUFQ9InN1YnNjcmlwdCIsZS5TRVBBUkFUT1I9InNlcGFyYXRvciIsZS5QQUdFX0JSRUFLPSJwYWdlQnJlYWsiLGUuQ09OVFJPTD0iY29udHJvbCIsZS5BUkVBPSJhcmVhIixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8iLGUuTEFURVg9ImxhdGV4IixlLlRBQj0idGFiIixlLkRBVEU9ImRhdGUiLGUuQkxPQ0s9ImJsb2NrIixlLlRJVExFPSJ0aXRsZSIsZS5MSVNUPSJsaXN0IixlLkxBQkVMPSJsYWJlbCJ9KShufHwobj17fSkpO2NvbnN0IG9lPVsicm93RmxleCIsInJvd01hcmdpbiJdLGNlPVsidHlwZSIsImZvbnQiLCJzaXplIiwiYm9sZCIsImNvbG9yIiwiaXRhbGljIiwiaGlnaGxpZ2h0IiwidW5kZXJsaW5lIiwic3RyaWtlb3V0Iiwicm93RmxleCIsInJvd01hcmdpbiIsImRhc2hBcnJheSIsInRyTGlzdCIsInRhYmxlVG9vbERpc2FibGVkIiwiYm9yZGVyVHlwZSIsImJvcmRlckNvbG9yIiwidHJhbnNsYXRlWCIsIndpZHRoIiwiaGVpZ2h0IiwidXJsIiwiY29sZ3JvdXAiLCJ2YWx1ZUxpc3QiLCJjb250cm9sIiwiY2hlY2tib3giLCJyYWRpbyIsImRhdGVGb3JtYXQiLCJibG9jayIsImxldmVsIiwidGl0bGUiLCJsaXN0VHlwZSIsImxpc3RTdHlsZSIsImxpc3RXcmFwIiwiZ3JvdXBJZHMiLCJjb25jZXB0SWQiLCJpbWdEaXNwbGF5IiwiaW1nRmxvYXRQb3NpdGlvbiIsImltZ1Rvb2xEaXNhYmxlZCIsImltZ1ByZXZpZXdEaXNhYmxlZCIsImltZ0Nyb3AiLCJpbWdDYXB0aW9uIiwidGV4dERlY29yYXRpb24iLCJleHRlbnNpb24iLCJleHRlcm5hbElkIiwiYXJlYUlkIiwiYXJlYSIsImhpZGUiLCJsYWJlbCIsImxhYmVsSWQiLCJsaW5lV2lkdGgiXSxzZT1bImNvbmNlcHRJZCIsImV4dGVuc2lvbiIsImV4dGVybmFsSWQiLCJ2ZXJ0aWNhbEFsaWduIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyVHlwZXMiLCJzbGFzaFR5cGVzIiwiZGlzYWJsZWQiLCJkZWxldGFibGUiXSxmZT1bImZvbnQiLCJzaXplIiwiYm9sZCIsImhpZ2hsaWdodCIsIml0YWxpYyIsInN0cmlrZW91dCJdO24uVEVYVCxuLkhZUEVSTElOSyxuLlNVQlNDUklQVCxuLlNVUEVSU0NSSVBULG4uQ09OVFJPTCxuLkRBVEUsbi5JTUFHRSxuLkxBVEVYLG4uQkxPQ0ssbi5QQUdFX0JSRUFLLG4uU0VQQVJBVE9SLG4uVEFCTEUsbi5USVRMRSxuLkxJU1Q7dmFyIE47KGZ1bmN0aW9uKGUpe2UuVUw9InVsIixlLk9MPSJvbCJ9KShOfHwoTj17fSkpO3ZhciBPOyhmdW5jdGlvbihlKXtlLkRJU0M9ImRpc2MiLGUuQ0lSQ0xFPSJjaXJjbGUiLGUuU1FVQVJFPSJzcXVhcmUiLGUuQ0hFQ0tCT1g9ImNoZWNrYm94In0pKE98fChPPXt9KSk7dmFyIEg7KGZ1bmN0aW9uKGUpe2UuREVDSU1BTD0iZGVjaW1hbCJ9KShIfHwoSD17fSkpO3ZhciB2OyhmdW5jdGlvbihlKXtlW2UuRElTQz1PLkRJU0NdPSJESVNDIixlW2UuQ0lSQ0xFPU8uQ0lSQ0xFXT0iQ0lSQ0xFIixlW2UuU1FVQVJFPU8uU1FVQVJFXT0iU1FVQVJFIixlW2UuREVDSU1BTD1ILkRFQ0lNQUxdPSJERUNJTUFMIixlW2UuQ0hFQ0tCT1g9Ty5DSEVDS0JPWF09IkNIRUNLQk9YIn0pKHZ8fCh2PXt9KSksTy5ESVNDKyIiLE8uQ0lSQ0xFKyIiLE8uU1FVQVJFKyIiLE8uQ0hFQ0tCT1grIiIsTi5PTCsiIixOLlVMKyIiLHYuRElTQysiIix2LkNJUkNMRSsiIix2LlNRVUFSRSsiIix2LkRFQ0lNQUwrIiIsdi5DSEVDS0JPWCsiIjt2YXIgdTsoZnVuY3Rpb24oZSl7ZS5GSVJTVD0iZmlyc3QiLGUuU0VDT05EPSJzZWNvbmQiLGUuVEhJUkQ9InRoaXJkIixlLkZPVVJUSD0iZm91cnRoIixlLkZJRlRIPSJmaWZ0aCIsZS5TSVhUSD0ic2l4dGgifSkodXx8KHU9e30pKSx1LkZJUlNUKyIiLHUuU0VDT05EKyIiLHUuVEhJUkQrIiIsdS5GT1VSVEgrIiIsdS5GSUZUSCsiIix1LlNJWFRIKyIiLHUuRklSU1QrIiIsdS5TRUNPTkQrIiIsdS5USElSRCsiIix1LkZPVVJUSCsiIix1LkZJRlRIKyIiLHUuU0lYVEgrIiIsdS5GSVJTVCx1LlNFQ09ORCx1LlRISVJELHUuRk9VUlRILHUuRklGVEgsdS5TSVhUSDt2YXIgSzsoZnVuY3Rpb24oZSl7ZS5JRlJBTUU9ImlmcmFtZSIsZS5WSURFTz0idmlkZW8ifSkoS3x8KEs9e30pKTt2YXIgRzsoZnVuY3Rpb24oZSl7ZS5URVhUPSJ0ZXh0IixlLlNFTEVDVD0ic2VsZWN0IixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8iLGUuREFURT0iZGF0ZSIsZS5OVU1CRVI9Im51bWJlciJ9KShHfHwoRz17fSkpO3ZhciBDOyhmdW5jdGlvbihlKXtlLlBSRUZJWD0icHJlZml4IixlLlBPU1RGSVg9InBvc3RmaXgiLGUuUFJFX1RFWFQ9InByZVRleHQiLGUuUE9TVF9URVhUPSJwb3N0VGV4dCIsZS5QTEFDRUhPTERFUj0icGxhY2Vob2xkZXIiLGUuVkFMVUU9InZhbHVlIixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8ifSkoQ3x8KEM9e30pKTt2YXIgejsoZnVuY3Rpb24oZSl7ZS5ST1dfU1RBUlQ9InJvd1N0YXJ0IixlLlZBTFVFX1NUQVJUPSJ2YWx1ZVN0YXJ0In0pKHp8fCh6PXt9KSk7dmFyIFk7KGZ1bmN0aW9uKGUpe2UuQUNUSVZFPSJhY3RpdmUiLGUuSU5BQ1RJVkU9ImluYWN0aXZlIn0pKFl8fChZPXt9KSk7dmFyIFY7KGZ1bmN0aW9uKGUpe2UuTlVNQkVSPSJudW1iZXIiLGUuT1BFUkFUT1I9Im9wZXJhdG9yIixlLlVUSUxJVFk9InV0aWxpdHkiLGUuRVFVQUw9ImVxdWFsIn0pKFZ8fChWPXt9KSk7dmFyIFE7KGZ1bmN0aW9uKGUpe2UuQ09NUE9ORU5UPSJjb21wb25lbnQiLGUuTUVOVT0ibWVudSIsZS5NQUlOPSJtYWluIixlLkZPT1RFUj0iZm9vdGVyIixlLkNPTlRFWFRNRU5VPSJjb250ZXh0bWVudSIsZS5QT1BVUD0icG9wdXAiLGUuQ0FUQUxPRz0iY2F0YWxvZyIsZS5DT01NRU5UPSJjb21tZW50In0pKFF8fChRPXt9KSk7dmFyIFc7KGZ1bmN0aW9uKGUpe2UuUEFHRT0icGFnZSIsZS5UQUJMRT0idGFibGUifSkoV3x8KFc9e30pKTt2YXIgcTsoZnVuY3Rpb24oZSl7ZS5FRElUPSJlZGl0IixlLkNMRUFOPSJjbGVhbiIsZS5SRUFET05MWT0icmVhZG9ubHkiLGUuRk9STT0iZm9ybSIsZS5QUklOVD0icHJpbnQiLGUuREVTSUdOPSJkZXNpZ24iLGUuR1JBRkZJVEk9ImdyYWZmaXRpIn0pKHF8fChxPXt9KSk7dmFyIFo7KGZ1bmN0aW9uKGUpe2UuSEVBREVSPSJoZWFkZXIiLGUuTUFJTj0ibWFpbiIsZS5GT09URVI9ImZvb3RlciJ9KShafHwoWj17fSkpO3ZhciBKOyhmdW5jdGlvbihlKXtlLlBBR0lORz0icGFnaW5nIixlLkNPTlRJTlVJVFk9ImNvbnRpbnVpdHkifSkoSnx8KEo9e30pKTt2YXIgajsoZnVuY3Rpb24oZSl7ZS5WRVJUSUNBTD0idmVydGljYWwiLGUuSE9SSVpPTlRBTD0iaG9yaXpvbnRhbCJ9KShqfHwoaj17fSkpO3ZhciAkOyhmdW5jdGlvbihlKXtlLkJSRUFLX0FMTD0iYnJlYWstYWxsIixlLkJSRUFLX1dPUkQ9ImJyZWFrLXdvcmQifSkoJHx8KCQ9e30pKTt2YXIgZWU7KGZ1bmN0aW9uKGUpe2UuU1BFRUQ9InNwZWVkIixlLkNPTVBBVElCSUxJVFk9ImNvbXBhdGliaWxpdHkifSkoZWV8fChlZT17fSkpO3ZhciBEOyhmdW5jdGlvbihlKXtlLkxFRlQ9ImxlZnQiLGUuQ0VOVEVSPSJjZW50ZXIiLGUuUklHSFQ9InJpZ2h0IixlLkFMSUdOTUVOVD0iYWxpZ25tZW50IixlLkpVU1RJRlk9Imp1c3RpZnkifSkoRHx8KEQ9e30pKTt2YXIgdGU7KGZ1bmN0aW9uKGUpe2UuQUxMPSJhbGwiLGUuRU1QVFk9ImVtcHR5IixlLkVYVEVSTkFMPSJleHRlcm5hbCIsZS5JTlRFUk5BTD0iaW50ZXJuYWwiLGUuREFTSD0iZGFzaCJ9KSh0ZXx8KHRlPXt9KSk7dmFyIGllOyhmdW5jdGlvbihlKXtlLlRPUD0idG9wIixlLlJJR0hUPSJyaWdodCIsZS5CT1RUT009ImJvdHRvbSIsZS5MRUZUPSJsZWZ0In0pKGllfHwoaWU9e30pKTt2YXIgYWU7KGZ1bmN0aW9uKGUpe2UuRk9SV0FSRD0iZm9yd2FyZCIsZS5CQUNLPSJiYWNrIn0pKGFlfHwoYWU9e30pKTt2YXIgazsoZnVuY3Rpb24oZSl7ZS5DT05UQUlOPSJjb250YWluIixlLkNPVkVSPSJjb3ZlciJ9KShrfHwoaz17fSkpO3ZhciBtOyhmdW5jdGlvbihlKXtlLlJFUEVBVD0icmVwZWF0IixlLk5PX1JFUEVBVD0ibm8tcmVwZWF0IixlLlJFUEVBVF9YPSJyZXBlYXQteCIsZS5SRVBFQVRfWT0icmVwZWF0LXkifSkobXx8KG09e30pKSxrLkNPVkVSLG0uTk9fUkVQRUFUO3ZhciBGOyhmdW5jdGlvbihlKXtlLlRPUD0idG9wIixlLk1JRERMRT0ibWlkZGxlIixlLkJPVFRPTT0iYm90dG9tIn0pKEZ8fChGPXt9KSksRi5CT1RUT00sVC5IQUxGLFQuSEFMRjtjb25zdCBFZT17UEFHRV9OTzoie3BhZ2VOb30iLFBBR0VfQ09VTlQ6IntwYWdlQ291bnR9In07RC5DRU5URVIsRWUuUEFHRV9OTyxJLkFSQUJJQyxGLkJPVFRPTTt2YXIgeTsoZnVuY3Rpb24oZSl7ZS5URVhUPSJ0ZXh0IixlLklNQUdFPSJpbWFnZSJ9KSh5fHwoeT17fSkpLHkuVEVYVCxJLkFSQUJJQzt2YXIgVTsoZnVuY3Rpb24oZSl7ZS5QQUdFPSJwYWdlIixlLkNPTlRJTlVJVFk9ImNvbnRpbnVpdHkifSkoVXx8KFU9e30pKSxVLkNPTlRJTlVJVFk7ZnVuY3Rpb24gdWUoZSxjKXtjb25zdCBFPU9iamVjdC5rZXlzKGUpLEE9T2JqZWN0LmtleXMoYyk7aWYoRS5sZW5ndGghPT1BLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IFI9MDtSPEUubGVuZ3RoO1IrKyl7Y29uc3QgYT1FW1JdO2lmKGEhPT0idmFsdWUiJiYhKGE9PT0iZ3JvdXBJZHMiJiZBcnJheS5pc0FycmF5KGVbYV0pJiZBcnJheS5pc0FycmF5KGNbYV0pJiZyZShlW2FdLGNbYV0pKSYmZVthXSE9PWNbYV0pcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gQihlLGM9e30pe2NvbnN0e2V4dHJhUGlja0F0dHJzOkV9PWMsQT1bLi4uY2VdO0UmJkEucHVzaCguLi5FKTtjb25zdCBSPXt2YWx1ZTplLnZhbHVlPT09UD9gCmA6ZS52YWx1ZX07cmV0dXJuIEEuZm9yRWFjaChhPT57Y29uc3QgcD1lW2FdO3AhPT12b2lkIDAmJihSW2FdPXApfSksUn1mdW5jdGlvbiBoKGUsYz17fSl7Y29uc3R7ZXh0cmFQaWNrQXR0cnM6RSxpc0NsYXNzaWZ5QXJlYTpBPSExLGlzQ2xvbmU6Uj0hMH09YyxhPVI/YihlKTplLHA9W107bGV0IGk9MDtmb3IoO2k8YS5sZW5ndGg7KXtsZXQgdD1hW2ldO2lmKGk9PT0wJiZ0LnZhbHVlPT09UCYmIXQubGlzdElkJiYoIXQudHlwZXx8dC50eXBlPT09bi5URVhUKSl7aSsrO2NvbnRpbnVlfWlmKHQuYXJlYUlkKXtjb25zdCBsPXQuYXJlYUlkLGY9dC5hcmVhLHM9W107Zm9yKDtpPGEubGVuZ3RoOyl7Y29uc3Qgbz1hW2ldO2lmKGwhPT1vLmFyZWFJZCl7aS0tO2JyZWFrfWRlbGV0ZSBvLmFyZWEsZGVsZXRlIG8uYXJlYUlkLHMucHVzaChvKSxpKyt9Y29uc3Qgcj1oKHMsYyk7aWYoQSl7Y29uc3Qgbz17dHlwZTpuLkFSRUEsdmFsdWU6IiIsYXJlYUlkOmwsYXJlYTpmfTtvLnZhbHVlTGlzdD1yLHQ9b31lbHNle3Auc3BsaWNlKGksMCwuLi5yKTtjb250aW51ZX19ZWxzZSBpZih0LnRpdGxlSWQmJnQubGV2ZWwpe2NvbnN0IGw9dC50aXRsZUlkO2lmKGwpe2NvbnN0IGY9dC5sZXZlbCxzPXt0eXBlOm4uVElUTEUsdGl0bGU6dC50aXRsZSx0aXRsZUlkOmwsdmFsdWU6IiIsbGV2ZWw6Zn0scj1bXTtmb3IoO2k8YS5sZW5ndGg7KXtjb25zdCBvPWFbaV07aWYobCE9PW8udGl0bGVJZCl7aS0tO2JyZWFrfWRlbGV0ZSBvLmxldmVsLGRlbGV0ZSBvLnRpdGxlLHIucHVzaChvKSxpKyt9cy52YWx1ZUxpc3Q9aChyLGMpLHQ9c319ZWxzZSBpZih0Lmxpc3RJZCYmdC5saXN0VHlwZSl7Y29uc3QgbD10Lmxpc3RJZDtpZihsKXtjb25zdCBmPXQubGlzdFR5cGUscz10Lmxpc3RTdHlsZSxyPXt0eXBlOm4uTElTVCx2YWx1ZToiIixsaXN0SWQ6bCxsaXN0VHlwZTpmLGxpc3RTdHlsZTpzfSxvPVtdO2Zvcig7aTxhLmxlbmd0aDspe2NvbnN0IEw9YVtpXTtpZihsIT09TC5saXN0SWQpe2ktLTticmVha31kZWxldGUgTC5saXN0VHlwZSxkZWxldGUgTC5saXN0U3R5bGUsby5wdXNoKEwpLGkrK31yLnZhbHVlTGlzdD1oKG8sYyksdD1yfX1lbHNlIGlmKHQudHlwZT09PW4uVEFCTEUpe2lmKHQucGFnaW5nSWQpe2xldCBsPWkrMSxmPTA7Zm9yKDtsPGEubGVuZ3RoOyl7Y29uc3Qgcz1hW2xdO2lmKHMucGFnaW5nSWQ9PT10LnBhZ2luZ0lkKXQuaGVpZ2h0Kz1zLmhlaWdodCx0LnRyTGlzdC5wdXNoKC4uLnMudHJMaXN0KSxsKyssZisrO2Vsc2UgYnJlYWt9aSs9Zn1pZih0LnRyTGlzdClmb3IobGV0IGw9MDtsPHQudHJMaXN0Lmxlbmd0aDtsKyspe2NvbnN0IGY9dC50ckxpc3RbbF07ZGVsZXRlIGYuaWQ7Zm9yKGxldCBzPTA7czxmLnRkTGlzdC5sZW5ndGg7cysrKXtjb25zdCByPWYudGRMaXN0W3NdLG89e2NvbHNwYW46ci5jb2xzcGFuLHJvd3NwYW46ci5yb3dzcGFuLHZhbHVlOmgoci52YWx1ZSxYKGcoe30sYykse2lzQ2xhc3NpZnlBcmVhOiExfSkpfTtzZS5mb3JFYWNoKEw9Pntjb25zdCBTPXJbTF07UyE9PXZvaWQgMCYmKG9bTF09Uyl9KSxmLnRkTGlzdFtzXT1vfX19ZWxzZSBpZih0LnR5cGU9PT1uLkhZUEVSTElOSyl7Y29uc3QgbD10Lmh5cGVybGlua0lkO2lmKGwpe2NvbnN0IGY9e3R5cGU6bi5IWVBFUkxJTkssdmFsdWU6IiIsdXJsOnQudXJsfSxzPVtdO2Zvcig7aTxhLmxlbmd0aDspe2NvbnN0IHI9YVtpXTtpZihsIT09ci5oeXBlcmxpbmtJZCl7aS0tO2JyZWFrfWRlbGV0ZSByLnR5cGUsZGVsZXRlIHIudXJsLHMucHVzaChyKSxpKyt9Zi52YWx1ZUxpc3Q9aChzLGMpLHQ9Zn19ZWxzZSBpZih0LnR5cGU9PT1uLkRBVEUpe2NvbnN0IGw9dC5kYXRlSWQ7aWYobCl7Y29uc3QgZj17dHlwZTpuLkRBVEUsdmFsdWU6IiIsZGF0ZUZvcm1hdDp0LmRhdGVGb3JtYXR9LHM9W107Zm9yKDtpPGEubGVuZ3RoOyl7Y29uc3Qgcj1hW2ldO2lmKGwhPT1yLmRhdGVJZCl7aS0tO2JyZWFrfWRlbGV0ZSByLnR5cGUsZGVsZXRlIHIuZGF0ZUZvcm1hdCxzLnB1c2gociksaSsrfWYudmFsdWVMaXN0PWgocyxjKSx0PWZ9fWVsc2UgaWYodC5jb250cm9sSWQpe2NvbnN0IGw9dC5jb250cm9sSWQ7aWYodC5jb250cm9sQ29tcG9uZW50PT09Qy5QUkVGSVgpe2NvbnN0IGY9W107bGV0IHM9ITEscj1pO2Zvcig7cjxhLmxlbmd0aDspe2NvbnN0IG89YVtyXTtpZihsIT09by5jb250cm9sSWQpYnJlYWs7by5jb250cm9sQ29tcG9uZW50PT09Qy5WQUxVRSYmKGRlbGV0ZSBvLmNvbnRyb2wsZGVsZXRlIG8uY29udHJvbElkLGYucHVzaChvKSksby5jb250cm9sQ29tcG9uZW50PT09Qy5QT1NURklYJiYocz0hMCkscisrfWlmKHMpe2NvbnN0IG89dyh0LGZlKSxMPWcoZyh7fSx0LmNvbnRyb2wpLG8pLFM9WChnKHt9LHcodCxvZSkpLHt0eXBlOm4uQ09OVFJPTCx2YWx1ZToiIixjb250cm9sOkwsY29udHJvbElkOmx9KTtTLmNvbnRyb2wudmFsdWU9aChmLGMpLHQ9QihTLHtleHRyYVBpY2tBdHRyczpFfSksaSs9ci1pLTF9fWlmKHQuY29udHJvbENvbXBvbmVudCYmKGRlbGV0ZSB0LmNvbnRyb2wsZGVsZXRlIHQuY29udHJvbElkLHQuY29udHJvbENvbXBvbmVudCE9PUMuVkFMVUUmJnQuY29udHJvbENvbXBvbmVudCE9PUMuUFJFX1RFWFQmJnQuY29udHJvbENvbXBvbmVudCE9PUMuUE9TVF9URVhUKSl7aSsrO2NvbnRpbnVlfX1jb25zdCB4PUIodCx7ZXh0cmFQaWNrQXR0cnM6RX0pO2lmKCF0LnR5cGV8fHQudHlwZT09PW4uVEVYVHx8dC50eXBlPT09bi5TVUJTQ1JJUFR8fHQudHlwZT09PW4uU1VQRVJTQ1JJUFQpZm9yKDtpPGEubGVuZ3RoOyl7Y29uc3QgbD1hW2krMV07aWYoaSsrLGwmJnVlKHgsQihsLHtleHRyYVBpY2tBdHRyczpFfSkpKXtjb25zdCBmPWwudmFsdWU9PT1QP2AKYDpsLnZhbHVlO3gudmFsdWUrPWZ9ZWxzZSBicmVha31lbHNlIGkrKztwLnB1c2goeCl9cmV0dXJuIHB9b25tZXNzYWdlPWU9Pntjb25zdCBjPWUuZGF0YSx7b3B0aW9uczpFLGRhdGE6QX09Yyx7ZXh0cmFQaWNrQXR0cnM6Uj1bXX09RXx8e30sYT17aGVhZGVyOmgoQS5oZWFkZXIse2V4dHJhUGlja0F0dHJzOlIsaXNDbG9uZTohMX0pLG1haW46aChBLm1haW4se2V4dHJhUGlja0F0dHJzOlIsaXNDbGFzc2lmeUFyZWE6ITAsaXNDbG9uZTohMX0pLGZvb3RlcjpoKEEuZm9vdGVyLHtleHRyYVBpY2tBdHRyczpSLGlzQ2xvbmU6ITF9KX07cG9zdE1lc3NhZ2UoYSl9fSkoKTt9KSgpOwo=";
15735
+ const encodedJs = "KCgpPT57dmFyIEllPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxBZT1PYmplY3QuZGVmaW5lUHJvcGVydGllczt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM7dmFyIG5lPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7dmFyIFJlPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksT2U9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTt2YXIgcmU9KFQsSSxkKT0+SSBpbiBUP0llKFQsSSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZH0pOlRbSV09ZCxnPShULEkpPT57Zm9yKHZhciBkIGluIEl8fChJPXt9KSlSZS5jYWxsKEksZCkmJnJlKFQsZCxJW2RdKTtpZihuZSlmb3IodmFyIGQgb2YgbmUoSSkpT2UuY2FsbChJLGQpJiZyZShULGQsSVtkXSk7cmV0dXJuIFR9LFg9KFQsSSk9PkFlKFQsZGUoSSkpOyhmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgVDsoZnVuY3Rpb24oZSl7ZS5IQUxGPSJoYWxmIixlLk9ORV9USElSRD0ib25lLXRoaXJkIixlLlFVQVJURVI9InF1YXJ0ZXIifSkoVHx8KFQ9e30pKTt2YXIgSTsoZnVuY3Rpb24oZSl7ZS5BUkFCSUM9ImFyYWJpYyIsZS5DSElORVNFPSJjaGluZXNlIn0pKEl8fChJPXt9KSk7dmFyIGQ7KGZ1bmN0aW9uKGUpe2UuSU5MSU5FPSJpbmxpbmUiLGUuQkxPQ0s9ImJsb2NrIixlLlNVUlJPVU5EPSJzdXJyb3VuZCIsZS5GTE9BVF9UT1A9ImZsb2F0LXRvcCIsZS5GTE9BVF9CT1RUT009ImZsb2F0LWJvdHRvbSJ9KShkfHwoZD17fSkpO3ZhciBfOyhmdW5jdGlvbihlKXtlLkJFRk9SRT0iYmVmb3JlIixlLkFGVEVSPSJhZnRlciIsZS5PVVRFUl9CRUZPUkU9Im91dGVyLWJlZm9yZSIsZS5PVVRFUl9BRlRFUj0ib3V0ZXItYWZ0ZXIifSkoX3x8KF89e30pKTt2YXIgdzsoZnVuY3Rpb24oZSl7ZS5ST1c9InJvdyIsZS5DT0xVTU49ImNvbHVtbiJ9KSh3fHwodz17fSkpO2NvbnN0IFA9Ilx1MjAwQiI7VC5IQUxGKyIiLDEvMixULk9ORV9USElSRCsiIiwxLzMsVC5RVUFSVEVSKyIiLDEvNDtmdW5jdGlvbiBiKGUpe2lmKHR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmU9PSJmdW5jdGlvbiIpcmV0dXJuIHN0cnVjdHVyZWRDbG9uZShlKTtpZighZXx8dHlwZW9mIGUhPSJvYmplY3QiKXJldHVybiBlO2xldCBjPXt9O3JldHVybiBBcnJheS5pc0FycmF5KGUpP2M9ZS5tYXAoRT0+YihFKSk6T2JqZWN0LmtleXMoZSkuZm9yRWFjaChFPT57Y1tFXT1iKGVbRV0pfSksY31mdW5jdGlvbiBLKGUsYyl7Y29uc3QgRT17fTtmb3IoY29uc3QgQSBpbiBlKWMuaW5jbHVkZXMoQSkmJihFW0FdPWVbQV0pO3JldHVybiBFfWZ1bmN0aW9uIG9lKGUsYyl7cmV0dXJuIGUubGVuZ3RoIT09Yy5sZW5ndGg/ITE6IWUuc29tZShFPT4hYy5pbmNsdWRlcyhFKSl9dmFyIG47KGZ1bmN0aW9uKGUpe2UuVEVYVD0idGV4dCIsZS5JTUFHRT0iaW1hZ2UiLGUuVEFCTEU9InRhYmxlIixlLkhZUEVSTElOSz0iaHlwZXJsaW5rIixlLlNVUEVSU0NSSVBUPSJzdXBlcnNjcmlwdCIsZS5TVUJTQ1JJUFQ9InN1YnNjcmlwdCIsZS5TRVBBUkFUT1I9InNlcGFyYXRvciIsZS5QQUdFX0JSRUFLPSJwYWdlQnJlYWsiLGUuQ09OVFJPTD0iY29udHJvbCIsZS5BUkVBPSJhcmVhIixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8iLGUuTEFURVg9ImxhdGV4IixlLlRBQj0idGFiIixlLkRBVEU9ImRhdGUiLGUuQkxPQ0s9ImJsb2NrIixlLlRJVExFPSJ0aXRsZSIsZS5MSVNUPSJsaXN0IixlLkxBQkVMPSJsYWJlbCJ9KShufHwobj17fSkpO2NvbnN0IGNlPVsicm93RmxleCIsInJvd01hcmdpbiJdLHNlPVsidHlwZSIsImZvbnQiLCJzaXplIiwiYm9sZCIsImNvbG9yIiwiaXRhbGljIiwiaGlnaGxpZ2h0IiwidW5kZXJsaW5lIiwic3RyaWtlb3V0Iiwicm93RmxleCIsInJvd01hcmdpbiIsImRhc2hBcnJheSIsInRyTGlzdCIsInRhYmxlVG9vbERpc2FibGVkIiwiYm9yZGVyVHlwZSIsImJvcmRlckNvbG9yIiwidHJhbnNsYXRlWCIsIndpZHRoIiwiaGVpZ2h0IiwidXJsIiwiY29sZ3JvdXAiLCJ2YWx1ZUxpc3QiLCJjb250cm9sIiwiY2hlY2tib3giLCJyYWRpbyIsImRhdGVGb3JtYXQiLCJibG9jayIsImxldmVsIiwidGl0bGUiLCJsaXN0VHlwZSIsImxpc3RTdHlsZSIsImxpc3RXcmFwIiwiZ3JvdXBJZHMiLCJjb25jZXB0SWQiLCJpbWdEaXNwbGF5IiwiaW1nRmxvYXRQb3NpdGlvbiIsImltZ1Rvb2xEaXNhYmxlZCIsImltZ1ByZXZpZXdEaXNhYmxlZCIsImltZ0Nyb3AiLCJpbWdDYXB0aW9uIiwidGV4dERlY29yYXRpb24iLCJleHRlbnNpb24iLCJleHRlcm5hbElkIiwiYXJlYUlkIiwiYXJlYSIsImhpZGUiLCJsYWJlbCIsImxhYmVsSWQiLCJsaW5lV2lkdGgiXSxmZT1bImNvbmNlcHRJZCIsImV4dGVuc2lvbiIsImV4dGVybmFsSWQiLCJ2ZXJ0aWNhbEFsaWduIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyVHlwZXMiLCJzbGFzaFR5cGVzIiwiZGlzYWJsZWQiLCJkZWxldGFibGUiXSxFZT1bImZvbnQiLCJzaXplIiwiYm9sZCIsImhpZ2hsaWdodCIsIml0YWxpYyIsInN0cmlrZW91dCJdO24uVEVYVCxuLkhZUEVSTElOSyxuLlNVQlNDUklQVCxuLlNVUEVSU0NSSVBULG4uQ09OVFJPTCxuLkRBVEUsbi5JTUFHRSxuLkxBVEVYLG4uQkxPQ0ssbi5QQUdFX0JSRUFLLG4uU0VQQVJBVE9SLG4uVEFCTEUsbi5USVRMRSxuLkxJU1Q7dmFyIE47KGZ1bmN0aW9uKGUpe2UuVUw9InVsIixlLk9MPSJvbCJ9KShOfHwoTj17fSkpO3ZhciBPOyhmdW5jdGlvbihlKXtlLkRJU0M9ImRpc2MiLGUuQ0lSQ0xFPSJjaXJjbGUiLGUuU1FVQVJFPSJzcXVhcmUiLGUuQ0hFQ0tCT1g9ImNoZWNrYm94In0pKE98fChPPXt9KSk7dmFyIEg7KGZ1bmN0aW9uKGUpe2UuREVDSU1BTD0iZGVjaW1hbCJ9KShIfHwoSD17fSkpO3ZhciB2OyhmdW5jdGlvbihlKXtlW2UuRElTQz1PLkRJU0NdPSJESVNDIixlW2UuQ0lSQ0xFPU8uQ0lSQ0xFXT0iQ0lSQ0xFIixlW2UuU1FVQVJFPU8uU1FVQVJFXT0iU1FVQVJFIixlW2UuREVDSU1BTD1ILkRFQ0lNQUxdPSJERUNJTUFMIixlW2UuQ0hFQ0tCT1g9Ty5DSEVDS0JPWF09IkNIRUNLQk9YIn0pKHZ8fCh2PXt9KSksTy5ESVNDKyIiLE8uQ0lSQ0xFKyIiLE8uU1FVQVJFKyIiLE8uQ0hFQ0tCT1grIiIsTi5PTCsiIixOLlVMKyIiLHYuRElTQysiIix2LkNJUkNMRSsiIix2LlNRVUFSRSsiIix2LkRFQ0lNQUwrIiIsdi5DSEVDS0JPWCsiIjt2YXIgdTsoZnVuY3Rpb24oZSl7ZS5GSVJTVD0iZmlyc3QiLGUuU0VDT05EPSJzZWNvbmQiLGUuVEhJUkQ9InRoaXJkIixlLkZPVVJUSD0iZm91cnRoIixlLkZJRlRIPSJmaWZ0aCIsZS5TSVhUSD0ic2l4dGgifSkodXx8KHU9e30pKSx1LkZJUlNUKyIiLHUuU0VDT05EKyIiLHUuVEhJUkQrIiIsdS5GT1VSVEgrIiIsdS5GSUZUSCsiIix1LlNJWFRIKyIiLHUuRklSU1QrIiIsdS5TRUNPTkQrIiIsdS5USElSRCsiIix1LkZPVVJUSCsiIix1LkZJRlRIKyIiLHUuU0lYVEgrIiIsdS5GSVJTVCx1LlNFQ09ORCx1LlRISVJELHUuRk9VUlRILHUuRklGVEgsdS5TSVhUSDt2YXIgRzsoZnVuY3Rpb24oZSl7ZS5JRlJBTUU9ImlmcmFtZSIsZS5WSURFTz0idmlkZW8ifSkoR3x8KEc9e30pKTt2YXIgejsoZnVuY3Rpb24oZSl7ZS5URVhUPSJ0ZXh0IixlLlNFTEVDVD0ic2VsZWN0IixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8iLGUuREFURT0iZGF0ZSIsZS5OVU1CRVI9Im51bWJlciJ9KSh6fHwoej17fSkpO3ZhciBDOyhmdW5jdGlvbihlKXtlLlBSRUZJWD0icHJlZml4IixlLlBPU1RGSVg9InBvc3RmaXgiLGUuUFJFX1RFWFQ9InByZVRleHQiLGUuUE9TVF9URVhUPSJwb3N0VGV4dCIsZS5QTEFDRUhPTERFUj0icGxhY2Vob2xkZXIiLGUuVkFMVUU9InZhbHVlIixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8ifSkoQ3x8KEM9e30pKTt2YXIgWTsoZnVuY3Rpb24oZSl7ZS5ST1dfU1RBUlQ9InJvd1N0YXJ0IixlLlZBTFVFX1NUQVJUPSJ2YWx1ZVN0YXJ0In0pKFl8fChZPXt9KSk7dmFyIFY7KGZ1bmN0aW9uKGUpe2UuQUNUSVZFPSJhY3RpdmUiLGUuSU5BQ1RJVkU9ImluYWN0aXZlIn0pKFZ8fChWPXt9KSk7dmFyIFE7KGZ1bmN0aW9uKGUpe2UuTlVNQkVSPSJudW1iZXIiLGUuT1BFUkFUT1I9Im9wZXJhdG9yIixlLlVUSUxJVFk9InV0aWxpdHkiLGUuRVFVQUw9ImVxdWFsIn0pKFF8fChRPXt9KSk7dmFyIFc7KGZ1bmN0aW9uKGUpe2UuQ09NUE9ORU5UPSJjb21wb25lbnQiLGUuTUVOVT0ibWVudSIsZS5NQUlOPSJtYWluIixlLkZPT1RFUj0iZm9vdGVyIixlLkNPTlRFWFRNRU5VPSJjb250ZXh0bWVudSIsZS5QT1BVUD0icG9wdXAiLGUuQ0FUQUxPRz0iY2F0YWxvZyIsZS5DT01NRU5UPSJjb21tZW50In0pKFd8fChXPXt9KSk7dmFyIHE7KGZ1bmN0aW9uKGUpe2UuUEFHRT0icGFnZSIsZS5UQUJMRT0idGFibGUifSkocXx8KHE9e30pKTt2YXIgWjsoZnVuY3Rpb24oZSl7ZS5FRElUPSJlZGl0IixlLkNMRUFOPSJjbGVhbiIsZS5SRUFET05MWT0icmVhZG9ubHkiLGUuRk9STT0iZm9ybSIsZS5QUklOVD0icHJpbnQiLGUuREVTSUdOPSJkZXNpZ24iLGUuR1JBRkZJVEk9ImdyYWZmaXRpIn0pKFp8fChaPXt9KSk7dmFyIEo7KGZ1bmN0aW9uKGUpe2UuSEVBREVSPSJoZWFkZXIiLGUuTUFJTj0ibWFpbiIsZS5GT09URVI9ImZvb3RlciJ9KShKfHwoSj17fSkpO3ZhciBqOyhmdW5jdGlvbihlKXtlLlBBR0lORz0icGFnaW5nIixlLkNPTlRJTlVJVFk9ImNvbnRpbnVpdHkifSkoanx8KGo9e30pKTt2YXIgJDsoZnVuY3Rpb24oZSl7ZS5WRVJUSUNBTD0idmVydGljYWwiLGUuSE9SSVpPTlRBTD0iaG9yaXpvbnRhbCJ9KSgkfHwoJD17fSkpO3ZhciBlZTsoZnVuY3Rpb24oZSl7ZS5CUkVBS19BTEw9ImJyZWFrLWFsbCIsZS5CUkVBS19XT1JEPSJicmVhay13b3JkIn0pKGVlfHwoZWU9e30pKTt2YXIgdGU7KGZ1bmN0aW9uKGUpe2UuU1BFRUQ9InNwZWVkIixlLkNPTVBBVElCSUxJVFk9ImNvbXBhdGliaWxpdHkifSkodGV8fCh0ZT17fSkpO3ZhciBEOyhmdW5jdGlvbihlKXtlLkxFRlQ9ImxlZnQiLGUuQ0VOVEVSPSJjZW50ZXIiLGUuUklHSFQ9InJpZ2h0IixlLkFMSUdOTUVOVD0iYWxpZ25tZW50IixlLkpVU1RJRlk9Imp1c3RpZnkifSkoRHx8KEQ9e30pKTt2YXIgaWU7KGZ1bmN0aW9uKGUpe2UuQUxMPSJhbGwiLGUuRU1QVFk9ImVtcHR5IixlLkVYVEVSTkFMPSJleHRlcm5hbCIsZS5JTlRFUk5BTD0iaW50ZXJuYWwiLGUuREFTSD0iZGFzaCJ9KShpZXx8KGllPXt9KSk7dmFyIGFlOyhmdW5jdGlvbihlKXtlLlRPUD0idG9wIixlLlJJR0hUPSJyaWdodCIsZS5CT1RUT009ImJvdHRvbSIsZS5MRUZUPSJsZWZ0In0pKGFlfHwoYWU9e30pKTt2YXIgbGU7KGZ1bmN0aW9uKGUpe2UuRk9SV0FSRD0iZm9yd2FyZCIsZS5CQUNLPSJiYWNrIn0pKGxlfHwobGU9e30pKTt2YXIgazsoZnVuY3Rpb24oZSl7ZS5DT05UQUlOPSJjb250YWluIixlLkNPVkVSPSJjb3ZlciJ9KShrfHwoaz17fSkpO3ZhciBtOyhmdW5jdGlvbihlKXtlLlJFUEVBVD0icmVwZWF0IixlLk5PX1JFUEVBVD0ibm8tcmVwZWF0IixlLlJFUEVBVF9YPSJyZXBlYXQteCIsZS5SRVBFQVRfWT0icmVwZWF0LXkifSkobXx8KG09e30pKSxrLkNPVkVSLG0uTk9fUkVQRUFUO3ZhciBGOyhmdW5jdGlvbihlKXtlLlRPUD0idG9wIixlLk1JRERMRT0ibWlkZGxlIixlLkJPVFRPTT0iYm90dG9tIn0pKEZ8fChGPXt9KSksRi5CT1RUT00sVC5IQUxGLFQuSEFMRjtjb25zdCB1ZT17UEFHRV9OTzoie3BhZ2VOb30iLFBBR0VfQ09VTlQ6IntwYWdlQ291bnR9In07RC5DRU5URVIsdWUuUEFHRV9OTyxJLkFSQUJJQyxGLkJPVFRPTTt2YXIgeTsoZnVuY3Rpb24oZSl7ZS5URVhUPSJ0ZXh0IixlLklNQUdFPSJpbWFnZSJ9KSh5fHwoeT17fSkpO3ZhciBVOyhmdW5jdGlvbihlKXtlLkJPVFRPTT0iYm90dG9tIixlLlRPUD0idG9wIn0pKFV8fChVPXt9KSkseS5URVhULEkuQVJBQklDLFUuQk9UVE9NO3ZhciBCOyhmdW5jdGlvbihlKXtlLlBBR0U9InBhZ2UiLGUuQ09OVElOVUlUWT0iY29udGludWl0eSJ9KShCfHwoQj17fSkpLEIuQ09OVElOVUlUWTtmdW5jdGlvbiBUZShlLGMpe2NvbnN0IEU9T2JqZWN0LmtleXMoZSksQT1PYmplY3Qua2V5cyhjKTtpZihFLmxlbmd0aCE9PUEubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgUj0wO1I8RS5sZW5ndGg7UisrKXtjb25zdCBhPUVbUl07aWYoYSE9PSJ2YWx1ZSImJiEoYT09PSJncm91cElkcyImJkFycmF5LmlzQXJyYXkoZVthXSkmJkFycmF5LmlzQXJyYXkoY1thXSkmJm9lKGVbYV0sY1thXSkpJiZlW2FdIT09Y1thXSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiB4KGUsYz17fSl7Y29uc3R7ZXh0cmFQaWNrQXR0cnM6RX09YyxBPVsuLi5zZV07RSYmQS5wdXNoKC4uLkUpO2NvbnN0IFI9e3ZhbHVlOmUudmFsdWU9PT1QP2AKYDplLnZhbHVlfTtyZXR1cm4gQS5mb3JFYWNoKGE9Pntjb25zdCBwPWVbYV07cCE9PXZvaWQgMCYmKFJbYV09cCl9KSxSfWZ1bmN0aW9uIGgoZSxjPXt9KXtjb25zdHtleHRyYVBpY2tBdHRyczpFLGlzQ2xhc3NpZnlBcmVhOkE9ITEsaXNDbG9uZTpSPSEwfT1jLGE9Uj9iKGUpOmUscD1bXTtsZXQgaT0wO2Zvcig7aTxhLmxlbmd0aDspe2xldCB0PWFbaV07aWYoaT09PTAmJnQudmFsdWU9PT1QJiYhdC5saXN0SWQmJighdC50eXBlfHx0LnR5cGU9PT1uLlRFWFQpKXtpKys7Y29udGludWV9aWYodC5hcmVhSWQpe2NvbnN0IGw9dC5hcmVhSWQsZj10LmFyZWEscz1bXTtmb3IoO2k8YS5sZW5ndGg7KXtjb25zdCBvPWFbaV07aWYobCE9PW8uYXJlYUlkKXtpLS07YnJlYWt9ZGVsZXRlIG8uYXJlYSxkZWxldGUgby5hcmVhSWQscy5wdXNoKG8pLGkrK31jb25zdCByPWgocyxjKTtpZihBKXtjb25zdCBvPXt0eXBlOm4uQVJFQSx2YWx1ZToiIixhcmVhSWQ6bCxhcmVhOmZ9O28udmFsdWVMaXN0PXIsdD1vfWVsc2V7cC5zcGxpY2UoaSwwLC4uLnIpO2NvbnRpbnVlfX1lbHNlIGlmKHQudGl0bGVJZCYmdC5sZXZlbCl7Y29uc3QgbD10LnRpdGxlSWQ7aWYobCl7Y29uc3QgZj10LmxldmVsLHM9e3R5cGU6bi5USVRMRSx0aXRsZTp0LnRpdGxlLHRpdGxlSWQ6bCx2YWx1ZToiIixsZXZlbDpmfSxyPVtdO2Zvcig7aTxhLmxlbmd0aDspe2NvbnN0IG89YVtpXTtpZihsIT09by50aXRsZUlkKXtpLS07YnJlYWt9ZGVsZXRlIG8ubGV2ZWwsZGVsZXRlIG8udGl0bGUsci5wdXNoKG8pLGkrK31zLnZhbHVlTGlzdD1oKHIsYyksdD1zfX1lbHNlIGlmKHQubGlzdElkJiZ0Lmxpc3RUeXBlKXtjb25zdCBsPXQubGlzdElkO2lmKGwpe2NvbnN0IGY9dC5saXN0VHlwZSxzPXQubGlzdFN0eWxlLHI9e3R5cGU6bi5MSVNULHZhbHVlOiIiLGxpc3RJZDpsLGxpc3RUeXBlOmYsbGlzdFN0eWxlOnN9LG89W107Zm9yKDtpPGEubGVuZ3RoOyl7Y29uc3QgTD1hW2ldO2lmKGwhPT1MLmxpc3RJZCl7aS0tO2JyZWFrfWRlbGV0ZSBMLmxpc3RUeXBlLGRlbGV0ZSBMLmxpc3RTdHlsZSxvLnB1c2goTCksaSsrfXIudmFsdWVMaXN0PWgobyxjKSx0PXJ9fWVsc2UgaWYodC50eXBlPT09bi5UQUJMRSl7aWYodC5wYWdpbmdJZCl7bGV0IGw9aSsxLGY9MDtmb3IoO2w8YS5sZW5ndGg7KXtjb25zdCBzPWFbbF07aWYocy5wYWdpbmdJZD09PXQucGFnaW5nSWQpdC5oZWlnaHQrPXMuaGVpZ2h0LHQudHJMaXN0LnB1c2goLi4ucy50ckxpc3QpLGwrKyxmKys7ZWxzZSBicmVha31pKz1mfWlmKHQudHJMaXN0KWZvcihsZXQgbD0wO2w8dC50ckxpc3QubGVuZ3RoO2wrKyl7Y29uc3QgZj10LnRyTGlzdFtsXTtkZWxldGUgZi5pZDtmb3IobGV0IHM9MDtzPGYudGRMaXN0Lmxlbmd0aDtzKyspe2NvbnN0IHI9Zi50ZExpc3Rbc10sbz17Y29sc3BhbjpyLmNvbHNwYW4scm93c3BhbjpyLnJvd3NwYW4sdmFsdWU6aChyLnZhbHVlLFgoZyh7fSxjKSx7aXNDbGFzc2lmeUFyZWE6ITF9KSl9O2ZlLmZvckVhY2goTD0+e2NvbnN0IFM9cltMXTtTIT09dm9pZCAwJiYob1tMXT1TKX0pLGYudGRMaXN0W3NdPW99fX1lbHNlIGlmKHQudHlwZT09PW4uSFlQRVJMSU5LKXtjb25zdCBsPXQuaHlwZXJsaW5rSWQ7aWYobCl7Y29uc3QgZj17dHlwZTpuLkhZUEVSTElOSyx2YWx1ZToiIix1cmw6dC51cmx9LHM9W107Zm9yKDtpPGEubGVuZ3RoOyl7Y29uc3Qgcj1hW2ldO2lmKGwhPT1yLmh5cGVybGlua0lkKXtpLS07YnJlYWt9ZGVsZXRlIHIudHlwZSxkZWxldGUgci51cmwscy5wdXNoKHIpLGkrK31mLnZhbHVlTGlzdD1oKHMsYyksdD1mfX1lbHNlIGlmKHQudHlwZT09PW4uREFURSl7Y29uc3QgbD10LmRhdGVJZDtpZihsKXtjb25zdCBmPXt0eXBlOm4uREFURSx2YWx1ZToiIixkYXRlRm9ybWF0OnQuZGF0ZUZvcm1hdH0scz1bXTtmb3IoO2k8YS5sZW5ndGg7KXtjb25zdCByPWFbaV07aWYobCE9PXIuZGF0ZUlkKXtpLS07YnJlYWt9ZGVsZXRlIHIudHlwZSxkZWxldGUgci5kYXRlRm9ybWF0LHMucHVzaChyKSxpKyt9Zi52YWx1ZUxpc3Q9aChzLGMpLHQ9Zn19ZWxzZSBpZih0LmNvbnRyb2xJZCl7Y29uc3QgbD10LmNvbnRyb2xJZDtpZih0LmNvbnRyb2xDb21wb25lbnQ9PT1DLlBSRUZJWCl7Y29uc3QgZj1bXTtsZXQgcz0hMSxyPWk7Zm9yKDtyPGEubGVuZ3RoOyl7Y29uc3Qgbz1hW3JdO2lmKGwhPT1vLmNvbnRyb2xJZClicmVhaztvLmNvbnRyb2xDb21wb25lbnQ9PT1DLlZBTFVFJiYoZGVsZXRlIG8uY29udHJvbCxkZWxldGUgby5jb250cm9sSWQsZi5wdXNoKG8pKSxvLmNvbnRyb2xDb21wb25lbnQ9PT1DLlBPU1RGSVgmJihzPSEwKSxyKyt9aWYocyl7Y29uc3Qgbz1LKHQsRWUpLEw9ZyhnKHt9LHQuY29udHJvbCksbyksUz1YKGcoe30sSyh0LGNlKSkse3R5cGU6bi5DT05UUk9MLHZhbHVlOiIiLGNvbnRyb2w6TCxjb250cm9sSWQ6bH0pO1MuY29udHJvbC52YWx1ZT1oKGYsYyksdD14KFMse2V4dHJhUGlja0F0dHJzOkV9KSxpKz1yLWktMX19aWYodC5jb250cm9sQ29tcG9uZW50JiYoZGVsZXRlIHQuY29udHJvbCxkZWxldGUgdC5jb250cm9sSWQsdC5jb250cm9sQ29tcG9uZW50IT09Qy5WQUxVRSYmdC5jb250cm9sQ29tcG9uZW50IT09Qy5QUkVfVEVYVCYmdC5jb250cm9sQ29tcG9uZW50IT09Qy5QT1NUX1RFWFQpKXtpKys7Y29udGludWV9fWNvbnN0IE09eCh0LHtleHRyYVBpY2tBdHRyczpFfSk7aWYoIXQudHlwZXx8dC50eXBlPT09bi5URVhUfHx0LnR5cGU9PT1uLlNVQlNDUklQVHx8dC50eXBlPT09bi5TVVBFUlNDUklQVClmb3IoO2k8YS5sZW5ndGg7KXtjb25zdCBsPWFbaSsxXTtpZihpKyssbCYmVGUoTSx4KGwse2V4dHJhUGlja0F0dHJzOkV9KSkpe2NvbnN0IGY9bC52YWx1ZT09PVA/YApgOmwudmFsdWU7TS52YWx1ZSs9Zn1lbHNlIGJyZWFrfWVsc2UgaSsrO3AucHVzaChNKX1yZXR1cm4gcH1vbm1lc3NhZ2U9ZT0+e2NvbnN0IGM9ZS5kYXRhLHtvcHRpb25zOkUsZGF0YTpBfT1jLHtleHRyYVBpY2tBdHRyczpSPVtdfT1FfHx7fSxhPXtoZWFkZXI6aChBLmhlYWRlcix7ZXh0cmFQaWNrQXR0cnM6Uixpc0Nsb25lOiExfSksbWFpbjpoKEEubWFpbix7ZXh0cmFQaWNrQXR0cnM6Uixpc0NsYXNzaWZ5QXJlYTohMCxpc0Nsb25lOiExfSksZm9vdGVyOmgoQS5mb290ZXIse2V4dHJhUGlja0F0dHJzOlIsaXNDbG9uZTohMX0pfTtwb3N0TWVzc2FnZShhKX19KSgpO30pKCk7Cg==";
15728
15736
  const blob = typeof window !== "undefined" && window.Blob && new Blob([atob(encodedJs)], { type: "text/javascript;charset=utf-8" });
15729
15737
  function WorkerWrapper() {
15730
15738
  const objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);
@@ -15805,6 +15813,12 @@ class WorkerManager {
15805
15813
  });
15806
15814
  });
15807
15815
  }
15816
+ destroy() {
15817
+ this.wordCountWorker.terminate();
15818
+ this.catalogWorker.terminate();
15819
+ this.groupWorker.terminate();
15820
+ this.valueWorker.terminate();
15821
+ }
15808
15822
  }
15809
15823
  class Previewer {
15810
15824
  constructor(draw) {
@@ -20268,7 +20282,7 @@ class Draw {
20268
20282
  computeRowList(payload) {
20269
20283
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
20270
20284
  const { innerWidth, elementList, isPagingMode = false, isFromTable = false, startX = 0, startY = 0, pageHeight = 0, mainOuterHeight = 0, surroundElementList = [] } = payload;
20271
- const { defaultSize, scale, imgCaption, table: { tdPadding, defaultTrMinHeight }, defaultTabWidth } = this.options;
20285
+ const { defaultSize, scale, imgCaption, table: { tdPadding }, defaultTabWidth } = this.options;
20272
20286
  const defaultBasicRowMarginHeight = this.getDefaultBasicRowMarginHeight();
20273
20287
  const canvas = document.createElement("canvas");
20274
20288
  const ctx = canvas.getContext("2d");
@@ -20362,9 +20376,10 @@ class Draw {
20362
20376
  }
20363
20377
  element.pagingIndex = (_g = element.pagingIndex) != null ? _g : 0;
20364
20378
  const trList = element.trList;
20379
+ const tdMinHeight = tdPaddingHeight + defaultSize + rowMargin * 2 / scale;
20365
20380
  for (let t = 0; t < trList.length; t++) {
20366
20381
  const tr = trList[t];
20367
- tr.height = tr.minHeight || defaultTrMinHeight;
20382
+ tr.height = Math.max(tdMinHeight, tr.minHeight || 0);
20368
20383
  tr.minHeight = tr.height;
20369
20384
  }
20370
20385
  this.tableParticle.computeRowColInfo(element);
@@ -21062,6 +21077,7 @@ class Draw {
21062
21077
  const { elementList, positionList, rowList, pageNo } = payload;
21063
21078
  const { inactiveAlpha, pageMode, header, footer, pageNumber, lineNumber, pageBorder } = this.options;
21064
21079
  const isPrintMode = this.mode === EditorMode.PRINT;
21080
+ const isContinuityMode = pageMode === PageMode.CONTINUITY;
21065
21081
  const innerWidth = this.getInnerWidth();
21066
21082
  const ctx = this.ctxList[pageNo];
21067
21083
  ctx.globalAlpha = !this.zone.isMainActive() ? inactiveAlpha : 1;
@@ -21072,7 +21088,7 @@ class Draw {
21072
21088
  if (!isPrintMode) {
21073
21089
  this.area.render(ctx, pageNo);
21074
21090
  }
21075
- if (pageMode !== PageMode.CONTINUITY && this.options.watermark.data) {
21091
+ if (!isContinuityMode && this.options.watermark.data && this.options.watermark.layer === WatermarkLayer.BOTTOM) {
21076
21092
  this.waterMark.render(ctx, pageNo);
21077
21093
  }
21078
21094
  if (!isPrintMode) {
@@ -21126,6 +21142,9 @@ class Draw {
21126
21142
  if (this.isGraffitiMode()) {
21127
21143
  this.graffiti.render(ctx, pageNo);
21128
21144
  }
21145
+ if (!isContinuityMode && this.options.watermark.data && this.options.watermark.layer === WatermarkLayer.TOP) {
21146
+ this.waterMark.render(ctx, pageNo);
21147
+ }
21129
21148
  }
21130
21149
  _disconnectLazyRender() {
21131
21150
  var _a;
@@ -21325,10 +21344,13 @@ class Draw {
21325
21344
  });
21326
21345
  }
21327
21346
  destroy() {
21347
+ var _a;
21328
21348
  this.container.remove();
21329
21349
  this.globalEvent.removeEvent();
21330
21350
  this.scrollObserver.removeEvent();
21331
21351
  this.selectionObserver.removeEvent();
21352
+ this.workerManager.destroy();
21353
+ (_a = this.lazyRenderIntersectionObserver) == null ? void 0 : _a.disconnect();
21332
21354
  }
21333
21355
  clearSideEffect() {
21334
21356
  this.getPreviewer().clearResizer();
@@ -22784,7 +22806,7 @@ class CommandAdapt {
22784
22806
  if (isReadonly)
22785
22807
  return;
22786
22808
  const options = this.draw.getOptions();
22787
- const { color, size, opacity, font, gap } = defaultWatermarkOption;
22809
+ const { color, size, opacity, font, gap, layer } = defaultWatermarkOption;
22788
22810
  options.watermark.data = payload.data;
22789
22811
  options.watermark.type = payload.type || WatermarkType.TEXT;
22790
22812
  if (payload.width) {
@@ -22802,6 +22824,7 @@ class CommandAdapt {
22802
22824
  options.watermark.numberType = payload.numberType;
22803
22825
  }
22804
22826
  options.watermark.gap = payload.gap || gap;
22827
+ options.watermark.layer = payload.layer || layer;
22805
22828
  this.draw.render({
22806
22829
  isSetCursor: false,
22807
22830
  isSubmitHistory: false,
@@ -25172,5 +25195,5 @@ class Editor {
25172
25195
  this.use = plugin.use.bind(plugin);
25173
25196
  }
25174
25197
  }
25175
- export { AreaMode, BackgroundRepeat, BackgroundSize, BlockType, Command, ControlComponent, ControlIndentation, ControlState, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, FlexDirection, INTERNAL_CONTEXT_MENU_KEY, INTERNAL_SHORTCUT_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WatermarkType, WordBreak, createDomFromElementList, Editor as default, getElementListByHTML, getTextFromElementList, splitText };
25198
+ export { AreaMode, BackgroundRepeat, BackgroundSize, BlockType, Command, ControlComponent, ControlIndentation, ControlState, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, FlexDirection, INTERNAL_CONTEXT_MENU_KEY, INTERNAL_SHORTCUT_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WatermarkLayer, WatermarkType, WordBreak, createDomFromElementList, Editor as default, getElementListByHTML, getTextFromElementList, splitText };
25176
25199
  //# sourceMappingURL=canvas-editor.es.js.map