@forevka/wordcanvas 0.7.0 → 0.7.1

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.
Files changed (47) hide show
  1. package/README.md +48 -1
  2. package/dist-lib/assets/{worker-BsOsK39A.js → worker-D8rUOKfg.js} +9603 -9451
  3. package/dist-lib/assets/worker-wXuuyshQ.js +2258 -0
  4. package/dist-lib/{blockFactory-Bcy0U40y.js → blockFactory-CUI4Rqiq.js} +50 -42
  5. package/dist-lib/{browser-5Sv4CuNy.js → browser-DkKxreJM.js} +404 -383
  6. package/dist-lib/builder.js +364 -109
  7. package/dist-lib/editorApp-DLXMmtu5.js +8023 -0
  8. package/dist-lib/export.js +3820 -3768
  9. package/dist-lib/generate-toc.js +4 -4
  10. package/dist-lib/import.js +4 -1538
  11. package/dist-lib/{lists-BegzmTmD.js → lists-Sc5I40JO.js} +2 -2
  12. package/dist-lib/pipeline-CbxmCE84.js +1705 -0
  13. package/dist-lib/recalc-docx.js +2 -2
  14. package/dist-lib/recalcToc-g1hFKSNs.js +3935 -0
  15. package/dist-lib/toc-B6VpkJge.js +213 -0
  16. package/dist-lib/{webmcp-B7Gvd58E.js → webmcp-6WxRNKCc.js} +2 -2
  17. package/dist-lib/{wordcanvas-BAxBeErX.js → wordcanvas-CFqpDK0k.js} +1 -1
  18. package/dist-lib/wordcanvas.js +1 -1
  19. package/dist-node/{chunk-GXFDF7UY.js → chunk-22JHAERT.js} +95 -23
  20. package/dist-node/chunk-22JHAERT.js.map +7 -0
  21. package/dist-node/{chunk-2RCPB7UZ.js → chunk-6AJJMHKY.js} +1 -1
  22. package/dist-node/chunk-6AJJMHKY.js.map +7 -0
  23. package/dist-node/{chunk-XDUDPPJW.js → chunk-CDN6WU2P.js} +89 -26
  24. package/dist-node/chunk-CDN6WU2P.js.map +7 -0
  25. package/dist-node/{chunk-TBSXA2I4.js → chunk-EGSAVPCC.js} +1 -1
  26. package/dist-node/chunk-EGSAVPCC.js.map +7 -0
  27. package/dist-node/{chunk-IJLL6IFJ.js → chunk-RNB336F3.js} +116 -5
  28. package/dist-node/{chunk-IJLL6IFJ.js.map → chunk-RNB336F3.js.map} +2 -2
  29. package/dist-node/{engine-FRCX7PXF.js → engine-5FGDJD2H.js} +3 -3
  30. package/dist-node/export.js +92 -31
  31. package/dist-node/export.js.map +2 -2
  32. package/dist-node/generate-toc.js +5 -5
  33. package/dist-node/import.js +3 -3
  34. package/dist-node/recalc-docx.js +4 -4
  35. package/dist-node/recalc-docx.js.map +1 -1
  36. package/package.json +1 -1
  37. package/types/model.d.ts +231 -225
  38. package/types/recalc-docx.d.ts +27 -27
  39. package/dist-lib/assets/worker-BbFAIxdy.js +0 -2163
  40. package/dist-lib/editorApp-DvjFPHiy.js +0 -7582
  41. package/dist-lib/recalcToc-uaLWt59L.js +0 -3835
  42. package/dist-lib/toc-CZel_Kk3.js +0 -127
  43. package/dist-node/chunk-2RCPB7UZ.js.map +0 -7
  44. package/dist-node/chunk-GXFDF7UY.js.map +0 -7
  45. package/dist-node/chunk-TBSXA2I4.js.map +0 -7
  46. package/dist-node/chunk-XDUDPPJW.js.map +0 -7
  47. /package/dist-node/{engine-FRCX7PXF.js.map → engine-5FGDJD2H.js.map} +0 -0
@@ -1,11 +1,11 @@
1
- const Le = [
1
+ const je = [
2
2
  "header",
3
3
  "footer",
4
4
  "headerFirst",
5
5
  "headerEven",
6
6
  "footerFirst",
7
7
  "footerEven"
8
- ], er = new Intl.Segmenter(void 0, { granularity: "grapheme" }), rr = new Intl.Segmenter(void 0, { granularity: "word" }), Lr = (r) => r.runs.some((e) => e.text.length > 0) && r.runs.every((e) => e.text.length === 0 || e.style.hidden === !0), Be = (r, e) => {
8
+ ], er = new Intl.Segmenter(void 0, { granularity: "grapheme" }), rr = new Intl.Segmenter(void 0, { granularity: "word" }), jr = (r) => r.runs.some((e) => e.text.length > 0) && r.runs.every((e) => e.text.length === 0 || e.style.hidden === !0), Be = (r, e) => {
9
9
  const n = [];
10
10
  for (const t of r)
11
11
  if (t.kind === "paragraph") n.push(t);
@@ -13,11 +13,11 @@ const Le = [
13
13
  for (const s of t.rows)
14
14
  for (const o of s.cells) n.push(...Be(o.blocks, e));
15
15
  return n;
16
- }, vr = (r, e) => Be(r.section[e] ?? [], !0), qr = (r) => Be(r.blocks, !0), nr = (r) => [
16
+ }, hr = (r, e) => Be(r.section[e] ?? [], !0), qr = (r) => Be(r.blocks, !0), nr = (r) => [
17
17
  ...Be(r.blocks, !0),
18
- ...Le.flatMap((e) => vr(r, e)),
18
+ ...je.flatMap((e) => hr(r, e)),
19
19
  ...Object.values(r.footnotes ?? {}).flat()
20
- ], hr = (r, e) => nr(r).find((n) => n.id === e), Gr = (r, e) => nr(r).findIndex((n) => n.id === e), tr = (r, e) => e === "body" ? r.blocks : r.section[e] ?? [];
20
+ ], vr = (r, e) => nr(r).find((n) => n.id === e), Gr = (r, e) => nr(r).findIndex((n) => n.id === e), tr = (r, e) => e === "body" ? r.blocks : r.section[e] ?? [];
21
21
  function Ye(r, e, n) {
22
22
  for (let t = 0; t < r.length; t++) {
23
23
  const s = r[t];
@@ -26,28 +26,28 @@ function Ye(r, e, n) {
26
26
  return e === "body" ? { kind: "top", bi: t } : { kind: "band", band: e, bi: t };
27
27
  } else if (s.kind === "table")
28
28
  for (let o = 0; o < s.rows.length; o++) {
29
- const l = s.rows[o];
30
- for (let i = 0; i < l.cells.length; i++) {
31
- const a = l.cells[i];
32
- for (let f = 0; f < a.blocks.length; f++) {
33
- const c = a.blocks[f];
29
+ const i = s.rows[o];
30
+ for (let a = 0; a < i.cells.length; a++) {
31
+ const l = i.cells[a];
32
+ for (let f = 0; f < l.blocks.length; f++) {
33
+ const c = l.blocks[f];
34
34
  if (c.kind === "paragraph" && c.id === n)
35
- return { kind: "cell", where: e, bi: t, ri: o, ci: i, pi: f };
35
+ return { kind: "cell", where: e, bi: t, ri: o, ci: a, pi: f };
36
36
  }
37
37
  }
38
38
  }
39
39
  }
40
40
  return null;
41
41
  }
42
- function Pe(r, e) {
42
+ function Se(r, e) {
43
43
  const n = Ye(r.blocks, "body", e);
44
44
  if (n) return n;
45
- for (const t of Le) {
45
+ for (const t of je) {
46
46
  const s = Ye(r.section[t] ?? [], t, e);
47
47
  if (s) return s;
48
48
  }
49
49
  for (const [t, s] of Object.entries(r.footnotes ?? {})) {
50
- const o = s.findIndex((l) => l.id === e);
50
+ const o = s.findIndex((i) => i.id === e);
51
51
  if (o >= 0) return { kind: "footnote", noteId: t, pi: o };
52
52
  }
53
53
  return null;
@@ -57,22 +57,22 @@ function Oe(r, e) {
57
57
  }
58
58
  function ke(r, e, n) {
59
59
  if (e.kind === "footnote") {
60
- const a = r.footnotes[e.noteId].slice();
61
- return a[e.pi] = n, { ...r, footnotes: { ...r.footnotes, [e.noteId]: a } };
60
+ const l = r.footnotes[e.noteId].slice();
61
+ return l[e.pi] = n, { ...r, footnotes: { ...r.footnotes, [e.noteId]: l } };
62
62
  }
63
63
  if (e.kind === "band") {
64
- const a = (r.section[e.band] ?? []).slice();
65
- return a[e.bi] = n, { ...r, section: { ...r.section, [e.band]: a } };
64
+ const l = (r.section[e.band] ?? []).slice();
65
+ return l[e.bi] = n, { ...r, section: { ...r.section, [e.band]: l } };
66
66
  }
67
67
  if (e.kind === "top") {
68
- const a = r.blocks.slice();
69
- return a[e.bi] = n, { ...r, blocks: a };
68
+ const l = r.blocks.slice();
69
+ return l[e.bi] = n, { ...r, blocks: l };
70
70
  }
71
- const t = tr(r, e.where).slice(), s = t[e.bi], o = s.rows.slice(), l = { cells: o[e.ri].cells.slice() }, i = { ...l.cells[e.ci], blocks: l.cells[e.ci].blocks.slice() };
72
- return i.blocks[e.pi] = n, l.cells[e.ci] = i, o[e.ri] = l, t[e.bi] = { ...s, rows: o, revision: s.revision + 1 }, e.where === "body" ? { ...r, blocks: t } : { ...r, section: { ...r.section, [e.where]: t } };
71
+ const t = tr(r, e.where).slice(), s = t[e.bi], o = s.rows.slice(), i = { cells: o[e.ri].cells.slice() }, a = { ...i.cells[e.ci], blocks: i.cells[e.ci].blocks.slice() };
72
+ return a.blocks[e.pi] = n, i.cells[e.ci] = a, o[e.ri] = i, t[e.bi] = { ...s, rows: o, revision: s.revision + 1 }, e.where === "body" ? { ...r, blocks: t } : { ...r, section: { ...r.section, [e.where]: t } };
73
73
  }
74
- const Vr = (r, e) => Pe(r, e)?.kind === "cell", Ne = (r) => r.map((e) => e.text).join(""), Yr = (r, e) => {
75
- const n = hr(r, e);
74
+ const Vr = (r, e) => Se(r, e)?.kind === "cell", Ne = (r) => r.map((e) => e.text).join(""), Yr = (r, e) => {
75
+ const n = vr(r, e);
76
76
  return n ? Ne(n.runs) : "";
77
77
  };
78
78
  function Jr(r, e) {
@@ -117,15 +117,16 @@ function dr(r, e) {
117
117
  function kr(r, e) {
118
118
  return r.fontFamily === e.fontFamily && r.fontSizePx === e.fontSizePx && r.bold === e.bold && r.italic === e.italic && r.underline === e.underline && r.strikethrough === e.strikethrough && r.color === e.color && !!r.hidden == !!e.hidden && // hidden runs must never merge with visible ones
119
119
  (r.letterSpacingPx ?? 0) === (e.letterSpacingPx ?? 0) && r.highlightColor === e.highlightColor && r.verticalAlign === e.verticalAlign && r.link === e.link && r.footnoteRef === e.footnoteRef && // adjacent refs must never merge into one run
120
- r.sdtId === e.sdtId;
120
+ r.sdtId === e.sdtId && // content-control boundaries survive normalization
121
+ r.fieldId === e.fieldId;
121
122
  }
122
123
  function ne(r, e) {
123
124
  const n = r.filter((s) => s.text.length > 0);
124
125
  if (n.length === 0) return [{ text: "", style: r[0]?.style ?? e }];
125
126
  const t = [{ ...n[0] }];
126
127
  for (let s = 1; s < n.length; s++) {
127
- const o = n[s], l = t[t.length - 1];
128
- kr(l.style, o.style) ? l.text += o.text : t.push({ ...o });
128
+ const o = n[s], i = t[t.length - 1];
129
+ kr(i.style, o.style) ? i.text += o.text : t.push({ ...o });
129
130
  }
130
131
  return t;
131
132
  }
@@ -133,8 +134,8 @@ function J(r, e) {
133
134
  const n = [], t = [];
134
135
  let s = 0;
135
136
  for (const o of r) {
136
- const l = s + o.text.length;
137
- l <= e ? n.push(o) : s >= e ? t.push(o) : (n.push({ text: o.text.slice(0, e - s), style: o.style }), t.push({ text: o.text.slice(e - s), style: o.style })), s = l;
137
+ const i = s + o.text.length;
138
+ i <= e ? n.push(o) : s >= e ? t.push(o) : (n.push({ text: o.text.slice(0, e - s), style: o.style }), t.push({ text: o.text.slice(e - s), style: o.style })), s = i;
138
139
  }
139
140
  return [n, t];
140
141
  }
@@ -142,7 +143,7 @@ function gr(r, e, n) {
142
143
  const [, t] = J(r, e), [s] = J(t, n - e);
143
144
  return s;
144
145
  }
145
- function ae(r, e) {
146
+ function le(r, e) {
146
147
  return dr(r, e) ?? {
147
148
  fontFamily: "Georgia, serif",
148
149
  fontSizePx: 16,
@@ -153,64 +154,64 @@ function ae(r, e) {
153
154
  color: "#202124"
154
155
  };
155
156
  }
156
- function br(r, e, n, t) {
157
- const s = t ?? ae(r, e), [o, l] = J(r, e);
158
- return ne([...o, { text: n, style: s }, ...l], s);
157
+ function wr(r, e, n, t) {
158
+ const s = t ?? le(r, e), [o, i] = J(r, e);
159
+ return ne([...o, { text: n, style: s }, ...i], s);
159
160
  }
160
- function wr(r, e, n) {
161
+ function br(r, e, n) {
161
162
  const [t, s] = J(r, e);
162
- return ne([...t, ...n, ...s], ae(r, e));
163
+ return ne([...t, ...n, ...s], le(r, e));
163
164
  }
164
165
  function Ir(r, e, n) {
165
166
  const [t, s] = J(r, e), [, o] = J(s, n - e);
166
- return ne([...t, ...o], ae(r, e));
167
+ return ne([...t, ...o], le(r, e));
167
168
  }
168
169
  function Zr(r, e, n, t) {
169
- const [s, o] = J(r, e), [l, i] = J(o, n - e), a = l.map((f) => ({ text: f.text, style: { ...f.style, ...t } }));
170
- return ne([...s, ...a, ...i], ae(r, e));
170
+ const [s, o] = J(r, e), [i, a] = J(o, n - e), l = i.map((f) => ({ text: f.text, style: { ...f.style, ...t } }));
171
+ return ne([...s, ...l, ...a], le(r, e));
171
172
  }
172
173
  function _r(r, e, n, t) {
173
- const [s, o] = J(r, e), [l, i] = J(o, n - e), a = l.map((v) => v.text).join(""), f = t(a);
174
+ const [s, o] = J(r, e), [i, a] = J(o, n - e), l = i.map((h) => h.text).join(""), f = t(l);
174
175
  let c = 0;
175
- const u = f.length === a.length ? l.map((v) => {
176
- const h = f.slice(c, c + v.text.length);
177
- return c += v.text.length, { text: h, style: v.style };
178
- }) : l;
179
- return ne([...s, ...u, ...i], ae(r, e));
176
+ const u = f.length === l.length ? i.map((h) => {
177
+ const v = f.slice(c, c + h.text.length);
178
+ return c += h.text.length, { text: v, style: h.style };
179
+ }) : i;
180
+ return ne([...s, ...u, ...a], le(r, e));
180
181
  }
181
- const G = (r) => r;
182
+ const H = (r) => r;
182
183
  function ge(r, e) {
183
- const n = Pe(r, e);
184
+ const n = Se(r, e);
184
185
  if (!n) throw new Error(`paragraph ${e} not found`);
185
186
  return { loc: n, block: Oe(r, n) };
186
187
  }
187
- function H(r, e) {
188
+ function $(r, e) {
188
189
  return e === "body" ? r.blocks : r.section[e] ?? [];
189
190
  }
190
- function le(r, e, n) {
191
+ function ie(r, e, n) {
191
192
  return e === "body" ? { ...r, blocks: n } : { ...r, section: { ...r.section, [e]: n } };
192
193
  }
193
194
  function qe(r, e) {
194
- for (const n of ["body", ...Le]) {
195
- const t = H(r, n).findIndex((s) => s.id === e);
195
+ for (const n of ["body", ...je]) {
196
+ const t = $(r, n).findIndex((s) => s.id === e);
196
197
  if (t >= 0) return { where: n, index: t };
197
198
  }
198
199
  return null;
199
200
  }
200
201
  function se(r, e) {
201
- const n = qe(r, e), t = n ? H(r, n.where)[n.index] : void 0;
202
+ const n = qe(r, e), t = n ? $(r, n.where)[n.index] : void 0;
202
203
  if (!n || !t || t.kind !== "table") throw new Error(`table ${e} not found`);
203
204
  return { where: n.where, bi: n.index, block: t };
204
205
  }
205
206
  function oe(r, e, n, t) {
206
- const s = H(r, e).slice();
207
- return s[n] = { ...t, revision: t.revision + 1 }, le(r, e, s);
207
+ const s = $(r, e).slice();
208
+ return s[n] = { ...t, revision: t.revision + 1 }, ie(r, e, s);
208
209
  }
209
210
  function pe(r, e, n, t, s, o) {
210
- const l = H(r, e).slice(), i = l[n], a = i.rows.slice(), f = { cells: a[t].cells.slice() };
211
- return f.cells[s] = { ...f.cells[s], blocks: o }, a[t] = f, l[n] = { ...i, rows: a, revision: i.revision + 1 }, le(r, e, l);
211
+ const i = $(r, e).slice(), a = i[n], l = a.rows.slice(), f = { cells: l[t].cells.slice() };
212
+ return f.cells[s] = { ...f.cells[s], blocks: o }, l[t] = f, i[n] = { ...a, rows: l, revision: a.revision + 1 }, ie(r, e, i);
212
213
  }
213
- function Se(r) {
214
+ function Pe(r) {
214
215
  for (const e of r)
215
216
  for (const n of e.cells)
216
217
  for (const t of n.blocks) if (t.kind === "paragraph") return t;
@@ -218,19 +219,19 @@ function Se(r) {
218
219
  function mr(r, e) {
219
220
  const n = qe(r, e);
220
221
  if (n) {
221
- const t = H(r, n.where)[n.index];
222
+ const t = $(r, n.where)[n.index];
222
223
  return t?.kind === "image" ? { kind: "top", where: n.where, index: n.index, image: t } : null;
223
224
  }
224
225
  for (let t = 0; t < r.blocks.length; t++) {
225
226
  const s = r.blocks[t];
226
227
  if (s.kind === "table")
227
228
  for (let o = 0; o < s.rows.length; o++) {
228
- const l = s.rows[o];
229
- for (let i = 0; i < l.cells.length; i++) {
230
- const a = l.cells[i];
231
- for (let f = 0; f < a.blocks.length; f++) {
232
- const c = a.blocks[f];
233
- if (c.kind === "image" && c.id === e) return { kind: "cell", bi: t, ri: o, ci: i, ii: f, image: c };
229
+ const i = s.rows[o];
230
+ for (let a = 0; a < i.cells.length; a++) {
231
+ const l = i.cells[a];
232
+ for (let f = 0; f < l.blocks.length; f++) {
233
+ const c = l.blocks[f];
234
+ if (c.kind === "image" && c.id === e) return { kind: "cell", bi: t, ri: o, ci: a, ii: f, image: c };
234
235
  }
235
236
  }
236
237
  }
@@ -244,9 +245,9 @@ function yr(r) {
244
245
  let s = 0;
245
246
  for (const o of t.cells) {
246
247
  for (; (n[s] ?? 0) > 0; ) s++;
247
- const l = Math.max(1, o.colSpan ?? 1), i = Math.max(1, o.rowSpan ?? 1);
248
- if (i > 1) for (let a = 0; a < l; a++) n[s + a] = i;
249
- s += l;
248
+ const i = Math.max(1, o.colSpan ?? 1), a = Math.max(1, o.rowSpan ?? 1);
249
+ if (a > 1) for (let l = 0; l < i; l++) n[s + l] = a;
250
+ s += i;
250
251
  }
251
252
  e = Math.max(e, s);
252
253
  for (let o = 0; o < n.length; o++) n[o] > 0 && n[o]--;
@@ -263,29 +264,29 @@ function ue(r, e) {
263
264
  function en(r, e) {
264
265
  switch (e.type) {
265
266
  case "insertText": {
266
- const { loc: n, block: t } = ge(r, e.at.blockId), s = br(t.runs, e.at.offset, e.text, e.style), o = e.text.length;
267
+ const { loc: n, block: t } = ge(r, e.at.blockId), s = wr(t.runs, e.at.offset, e.text, e.style), o = e.text.length;
267
268
  return {
268
269
  doc: ke(r, n, ue(t, s)),
269
270
  inverse: { type: "deleteRange", blockId: t.id, start: e.at.offset, end: e.at.offset + o },
270
- mapPosition: (l) => l.blockId === t.id && l.offset >= e.at.offset ? { blockId: l.blockId, offset: l.offset + o } : l,
271
+ mapPosition: (i) => i.blockId === t.id && i.offset >= e.at.offset ? { blockId: i.blockId, offset: i.offset + o } : i,
271
272
  dirtyBlockIds: [t.id]
272
273
  };
273
274
  }
274
275
  case "insertRuns": {
275
- const { loc: n, block: t } = ge(r, e.at.blockId), s = Ne(e.runs).length, o = wr(t.runs, e.at.offset, e.runs);
276
+ const { loc: n, block: t } = ge(r, e.at.blockId), s = Ne(e.runs).length, o = br(t.runs, e.at.offset, e.runs);
276
277
  return {
277
278
  doc: ke(r, n, ue(t, o)),
278
279
  inverse: { type: "deleteRange", blockId: t.id, start: e.at.offset, end: e.at.offset + s },
279
- mapPosition: (l) => l.blockId === t.id && l.offset >= e.at.offset ? { blockId: l.blockId, offset: l.offset + s } : l,
280
+ mapPosition: (i) => i.blockId === t.id && i.offset >= e.at.offset ? { blockId: i.blockId, offset: i.offset + s } : i,
280
281
  dirtyBlockIds: [t.id]
281
282
  };
282
283
  }
283
284
  case "deleteRange": {
284
- const { loc: n, block: t } = ge(r, e.blockId), s = gr(t.runs, e.start, e.end), o = Ir(t.runs, e.start, e.end), l = e.end - e.start;
285
+ const { loc: n, block: t } = ge(r, e.blockId), s = gr(t.runs, e.start, e.end), o = Ir(t.runs, e.start, e.end), i = e.end - e.start;
285
286
  return {
286
287
  doc: ke(r, n, ue(t, o)),
287
288
  inverse: { type: "insertRuns", at: { blockId: t.id, offset: e.start }, runs: s },
288
- mapPosition: (i) => i.blockId !== t.id || i.offset <= e.start ? i : { blockId: i.blockId, offset: i.offset >= e.end ? i.offset - l : e.start },
289
+ mapPosition: (a) => a.blockId !== t.id || a.offset <= e.start ? a : { blockId: a.blockId, offset: a.offset >= e.end ? a.offset - i : e.start },
289
290
  dirtyBlockIds: [t.id]
290
291
  };
291
292
  }
@@ -294,15 +295,15 @@ function en(r, e) {
294
295
  return {
295
296
  doc: ke(r, n, ue(t, e.runs)),
296
297
  inverse: { type: "setRuns", blockId: t.id, runs: t.runs },
297
- mapPosition: G,
298
+ mapPosition: H,
298
299
  // callers use setRuns for length-preserving restyles
299
300
  dirtyBlockIds: [t.id]
300
301
  };
301
302
  }
302
303
  case "setParaStyle": {
303
304
  const { loc: n, block: t } = ge(r, e.blockId), s = {};
304
- for (const l of Object.keys(e.patch))
305
- s[l] = t.style[l];
305
+ for (const i of Object.keys(e.patch))
306
+ s[i] = t.style[i];
306
307
  const o = {
307
308
  ...t,
308
309
  style: { ...t.style, ...e.patch },
@@ -311,30 +312,30 @@ function en(r, e) {
311
312
  return {
312
313
  doc: ke(r, n, o),
313
314
  inverse: { type: "setParaStyle", blockId: t.id, patch: s },
314
- mapPosition: G,
315
+ mapPosition: H,
315
316
  dirtyBlockIds: [t.id]
316
317
  };
317
318
  }
318
319
  case "splitParagraph": {
319
- const n = Pe(r, e.at.blockId);
320
+ const n = Se(r, e.at.blockId);
320
321
  if (!n) throw new Error(`paragraph ${e.at.blockId} not found`);
321
- const t = Oe(r, n), [s, o] = J(t.runs, e.at.offset), l = ae(t.runs, e.at.offset), i = ue(t, ne(s, l)), a = {
322
+ const t = Oe(r, n), [s, o] = J(t.runs, e.at.offset), i = le(t.runs, e.at.offset), a = ue(t, ne(s, i)), l = {
322
323
  kind: "paragraph",
323
324
  id: e.newBlockId,
324
325
  revision: 0,
325
- runs: ne(o, l),
326
+ runs: ne(o, i),
326
327
  style: e.newStyle ?? { ...t.style }
327
328
  };
328
329
  let f;
329
330
  if (n.kind === "cell") {
330
- const u = H(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
331
- u.splice(n.pi, 1, i, a), f = pe(r, n.where, n.bi, n.ri, n.ci, u);
331
+ const u = $(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
332
+ u.splice(n.pi, 1, a, l), f = pe(r, n.where, n.bi, n.ri, n.ci, u);
332
333
  } else if (n.kind === "footnote") {
333
334
  const c = r.footnotes[n.noteId].slice();
334
- c.splice(n.pi, 1, i, a), f = { ...r, footnotes: { ...r.footnotes, [n.noteId]: c } };
335
+ c.splice(n.pi, 1, a, l), f = { ...r, footnotes: { ...r.footnotes, [n.noteId]: c } };
335
336
  } else {
336
- const c = n.kind === "band" ? n.band : "body", u = H(r, c).slice();
337
- u.splice(n.bi, 1, i, a), f = le(r, c, u);
337
+ const c = n.kind === "band" ? n.band : "body", u = $(r, c).slice();
338
+ u.splice(n.bi, 1, a, l), f = ie(r, c, u);
338
339
  }
339
340
  return {
340
341
  doc: f,
@@ -344,71 +345,71 @@ function en(r, e) {
344
345
  };
345
346
  }
346
347
  case "mergeParagraphs": {
347
- const n = Pe(r, e.firstBlockId);
348
+ const n = Se(r, e.firstBlockId);
348
349
  if (!n) throw new Error(`paragraph ${e.firstBlockId} not found`);
349
350
  const t = Oe(r, n);
350
351
  let s;
351
352
  if (n.kind === "cell") {
352
- const f = H(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks[n.pi + 1];
353
+ const f = $(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks[n.pi + 1];
353
354
  if (!f || f.kind !== "paragraph")
354
355
  throw new Error("mergeParagraphs: no next paragraph in cell");
355
356
  s = f;
356
357
  } else if (n.kind === "footnote") {
357
- const a = r.footnotes[n.noteId][n.pi + 1];
358
- if (!a) throw new Error("mergeParagraphs: no next paragraph in footnote");
359
- s = a;
358
+ const l = r.footnotes[n.noteId][n.pi + 1];
359
+ if (!l) throw new Error("mergeParagraphs: no next paragraph in footnote");
360
+ s = l;
360
361
  } else {
361
- const a = n.kind === "band" ? n.band : "body", f = H(r, a)[n.bi + 1];
362
+ const l = n.kind === "band" ? n.band : "body", f = $(r, l)[n.bi + 1];
362
363
  if (!f || f.kind !== "paragraph")
363
364
  throw new Error("mergeParagraphs: no next paragraph");
364
365
  s = f;
365
366
  }
366
- const o = Ne(t.runs).length, l = ue(
367
+ const o = Ne(t.runs).length, i = ue(
367
368
  t,
368
- ne([...t.runs, ...s.runs], ae(t.runs, o))
369
+ ne([...t.runs, ...s.runs], le(t.runs, o))
369
370
  );
370
- let i;
371
+ let a;
371
372
  if (n.kind === "cell") {
372
- const f = H(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
373
- f.splice(n.pi, 2, l), i = pe(r, n.where, n.bi, n.ri, n.ci, f);
373
+ const f = $(r, n.where)[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
374
+ f.splice(n.pi, 2, i), a = pe(r, n.where, n.bi, n.ri, n.ci, f);
374
375
  } else if (n.kind === "footnote") {
375
- const a = r.footnotes[n.noteId].slice();
376
- a.splice(n.pi, 2, l), i = { ...r, footnotes: { ...r.footnotes, [n.noteId]: a } };
376
+ const l = r.footnotes[n.noteId].slice();
377
+ l.splice(n.pi, 2, i), a = { ...r, footnotes: { ...r.footnotes, [n.noteId]: l } };
377
378
  } else {
378
- const a = n.kind === "band" ? n.band : "body", f = H(r, a).slice();
379
- f.splice(n.bi, 2, l), i = le(r, a, f);
379
+ const l = n.kind === "band" ? n.band : "body", f = $(r, l).slice();
380
+ f.splice(n.bi, 2, i), a = ie(r, l, f);
380
381
  }
381
382
  return {
382
- doc: i,
383
+ doc: a,
383
384
  inverse: {
384
385
  type: "splitParagraph",
385
386
  at: { blockId: t.id, offset: o },
386
387
  newBlockId: s.id,
387
388
  newStyle: s.style
388
389
  },
389
- mapPosition: (a) => a.blockId === s.id ? { blockId: t.id, offset: o + a.offset } : a,
390
+ mapPosition: (l) => l.blockId === s.id ? { blockId: t.id, offset: o + l.offset } : l,
390
391
  dirtyBlockIds: [t.id, s.id]
391
392
  };
392
393
  }
393
394
  case "insertBlock": {
394
- const n = e.where ?? "body", t = H(r, n).slice();
395
+ const n = e.where ?? "body", t = $(r, n).slice();
395
396
  return t.splice(e.index, 0, e.block), {
396
- doc: le(r, n, t),
397
+ doc: ie(r, n, t),
397
398
  inverse: { type: "removeBlock", blockId: e.block.id },
398
- mapPosition: G,
399
+ mapPosition: H,
399
400
  dirtyBlockIds: [e.block.id]
400
401
  };
401
402
  }
402
403
  case "removeBlock": {
403
404
  const n = qe(r, e.blockId);
404
405
  if (!n) throw new Error(`block ${e.blockId} not found`);
405
- const t = H(r, n.where).slice(), s = t[n.index];
406
+ const t = $(r, n.where).slice(), s = t[n.index];
406
407
  t.splice(n.index, 1);
407
408
  const o = t[Math.min(n.index, t.length - 1)];
408
409
  return {
409
- doc: le(r, n.where, t),
410
+ doc: ie(r, n.where, t),
410
411
  inverse: { type: "insertBlock", index: n.index, block: s, where: n.where },
411
- mapPosition: (l) => l.blockId === e.blockId && o ? { blockId: o.id, offset: 0 } : l,
412
+ mapPosition: (i) => i.blockId === e.blockId && o ? { blockId: o.id, offset: 0 } : i,
412
413
  dirtyBlockIds: [e.blockId]
413
414
  };
414
415
  }
@@ -416,21 +417,21 @@ function en(r, e) {
416
417
  const n = mr(r, e.blockId);
417
418
  if (!n) throw new Error(`image ${e.blockId} not found`);
418
419
  const t = n.image, s = {};
419
- for (const i of Object.keys(e.patch))
420
- s[i] = t[i];
421
- const o = { ...t, ...e.patch, revision: t.revision + 1 };
422
- let l;
420
+ e.patch.widthPx !== void 0 && (s.widthPx = t.widthPx), e.patch.heightPx !== void 0 && (s.heightPx = t.heightPx), e.patch.align !== void 0 && (s.align = t.align), e.patch.wrap !== void 0 && (s.wrap = t.wrap ?? null), e.patch.anchor !== void 0 && (s.anchor = t.anchor ?? null);
421
+ const o = { ...t, revision: t.revision + 1 };
422
+ e.patch.widthPx !== void 0 && (o.widthPx = e.patch.widthPx), e.patch.heightPx !== void 0 && (o.heightPx = e.patch.heightPx), e.patch.align !== void 0 && (o.align = e.patch.align), e.patch.wrap !== void 0 && (e.patch.wrap === null ? delete o.wrap : o.wrap = e.patch.wrap), e.patch.anchor !== void 0 && (e.patch.anchor === null ? delete o.anchor : o.anchor = e.patch.anchor);
423
+ let i;
423
424
  if (n.kind === "top") {
424
- const i = H(r, n.where).slice();
425
- i[n.index] = o, l = le(r, n.where, i);
425
+ const a = $(r, n.where).slice();
426
+ a[n.index] = o, i = ie(r, n.where, a);
426
427
  } else {
427
- const a = r.blocks[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
428
- a[n.ii] = o, l = pe(r, "body", n.bi, n.ri, n.ci, a);
428
+ const l = r.blocks[n.bi].rows[n.ri].cells[n.ci].blocks.slice();
429
+ l[n.ii] = o, i = pe(r, "body", n.bi, n.ri, n.ci, l);
429
430
  }
430
431
  return {
431
- doc: l,
432
+ doc: i,
432
433
  inverse: { type: "setImageProps", blockId: e.blockId, patch: s },
433
- mapPosition: G,
434
+ mapPosition: H,
434
435
  dirtyBlockIds: [e.blockId]
435
436
  };
436
437
  }
@@ -439,20 +440,20 @@ function en(r, e) {
439
440
  return {
440
441
  doc: oe(r, n, t, { ...s, colFractions: e.fractions }),
441
442
  inverse: { type: "setTableColFractions", blockId: e.blockId, fractions: o },
442
- mapPosition: G,
443
+ mapPosition: H,
443
444
  dirtyBlockIds: [e.blockId]
444
445
  };
445
446
  }
446
447
  case "setTableRow": {
447
448
  const { where: n, bi: t, block: s } = se(r, e.tableId), o = s.rows[e.rowIndex];
448
449
  if (!o) throw new Error("setTableRow: no such row");
449
- const l = new Set(o.cells.flatMap((f) => f.blocks.map((c) => c.id))), i = s.rows.slice();
450
- i[e.rowIndex] = e.row;
451
- const a = Se([e.row]);
450
+ const i = new Set(o.cells.flatMap((f) => f.blocks.map((c) => c.id))), a = s.rows.slice();
451
+ a[e.rowIndex] = e.row;
452
+ const l = Pe([e.row]);
452
453
  return {
453
- doc: oe(r, n, t, { ...s, rows: i }),
454
+ doc: oe(r, n, t, { ...s, rows: a }),
454
455
  inverse: { type: "setTableRow", tableId: e.tableId, rowIndex: e.rowIndex, row: o },
455
- mapPosition: (f) => l.has(f.blockId) ? e.row.cells.some((u) => u.blocks.some((v) => v.id === f.blockId)) || !a ? f : { blockId: a.id, offset: 0 } : f,
456
+ mapPosition: (f) => i.has(f.blockId) ? e.row.cells.some((u) => u.blocks.some((h) => h.id === f.blockId)) || !l ? f : { blockId: l.id, offset: 0 } : f,
456
457
  dirtyBlockIds: [e.tableId]
457
458
  };
458
459
  }
@@ -461,20 +462,20 @@ function en(r, e) {
461
462
  return o.splice(e.rowIndex, 0, e.row), {
462
463
  doc: oe(r, n, t, { ...s, rows: o }),
463
464
  inverse: { type: "removeTableRow", tableId: e.tableId, rowIndex: e.rowIndex },
464
- mapPosition: G,
465
+ mapPosition: H,
465
466
  dirtyBlockIds: [e.tableId]
466
467
  };
467
468
  }
468
469
  case "removeTableRow": {
469
470
  const { where: n, bi: t, block: s } = se(r, e.tableId), o = s.rows[e.rowIndex];
470
471
  if (!o) throw new Error("removeTableRow: no such row");
471
- const l = s.rows.slice();
472
- l.splice(e.rowIndex, 1);
473
- const i = new Set(o.cells.flatMap((c) => c.blocks.map((u) => u.id))), a = l[Math.min(e.rowIndex, l.length - 1)], f = a ? Se([a]) : void 0;
472
+ const i = s.rows.slice();
473
+ i.splice(e.rowIndex, 1);
474
+ const a = new Set(o.cells.flatMap((c) => c.blocks.map((u) => u.id))), l = i[Math.min(e.rowIndex, i.length - 1)], f = l ? Pe([l]) : void 0;
474
475
  return {
475
- doc: oe(r, n, t, { ...s, rows: l }),
476
+ doc: oe(r, n, t, { ...s, rows: i }),
476
477
  inverse: { type: "insertTableRow", tableId: e.tableId, rowIndex: e.rowIndex, row: o },
477
- mapPosition: (c) => i.has(c.blockId) && f ? { blockId: f.id, offset: 0 } : c,
478
+ mapPosition: (c) => a.has(c.blockId) && f ? { blockId: f.id, offset: 0 } : c,
478
479
  dirtyBlockIds: [e.tableId]
479
480
  };
480
481
  }
@@ -483,7 +484,7 @@ function en(r, e) {
483
484
  return e.def ? t[e.listId] = e.def : delete t[e.listId], {
484
485
  doc: { ...r, lists: t },
485
486
  inverse: { type: "setListDefinition", listId: e.listId, def: n },
486
- mapPosition: G,
487
+ mapPosition: H,
487
488
  // Indents come from the definition → every paragraph in the list must
488
489
  // re-measure; their (revision,width) line-cache keys change with width.
489
490
  dirtyBlockIds: []
@@ -492,50 +493,50 @@ function en(r, e) {
492
493
  case "setTableStructure": {
493
494
  const { where: n, bi: t, block: s } = se(r, e.tableId), o = new Set(
494
495
  s.rows.flatMap((f) => f.cells.flatMap((c) => c.blocks.map((u) => u.id)))
495
- ), l = Se(e.rows), i = { ...s, rows: e.rows };
496
- e.colFractions ? i.colFractions = e.colFractions : delete i.colFractions;
497
- const a = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
498
- return s.colFractions && (a.colFractions = s.colFractions), {
499
- doc: oe(r, n, t, i),
500
- inverse: a,
496
+ ), i = Pe(e.rows), a = { ...s, rows: e.rows };
497
+ e.colFractions ? a.colFractions = e.colFractions : delete a.colFractions;
498
+ const l = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
499
+ return s.colFractions && (l.colFractions = s.colFractions), {
500
+ doc: oe(r, n, t, a),
501
+ inverse: l,
501
502
  mapPosition: (f) => o.has(f.blockId) ? e.rows.some(
502
- (u) => u.cells.some((v) => v.blocks.some((h) => h.id === f.blockId))
503
- ) || !l ? f : { blockId: l.id, offset: 0 } : f,
503
+ (u) => u.cells.some((h) => h.blocks.some((v) => v.id === f.blockId))
504
+ ) || !i ? f : { blockId: i.id, offset: 0 } : f,
504
505
  dirtyBlockIds: [e.tableId]
505
506
  };
506
507
  }
507
508
  case "insertTableColumn": {
508
509
  const { where: n, bi: t, block: s } = se(r, e.tableId), o = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
509
510
  s.colFractions && (o.colFractions = s.colFractions);
510
- const l = s.rows.map((a, f) => {
511
+ const i = s.rows.map((l, f) => {
511
512
  const c = [];
512
- let u = 0, v = !1;
513
- for (const h of a.cells) {
514
- const d = h.colSpan ?? 1;
515
- if (!v && e.colIndex > u && e.colIndex < u + d)
516
- c.push({ ...h, colSpan: d + 1 }), v = !0;
517
- else if (!v && e.colIndex === u) {
513
+ let u = 0, h = !1;
514
+ for (const v of l.cells) {
515
+ const d = v.colSpan ?? 1;
516
+ if (!h && e.colIndex > u && e.colIndex < u + d)
517
+ c.push({ ...v, colSpan: d + 1 }), h = !0;
518
+ else if (!h && e.colIndex === u) {
518
519
  const g = e.cells[f];
519
- g && c.push(g), c.push(h), v = !0;
520
+ g && c.push(g), c.push(v), h = !0;
520
521
  } else
521
- c.push(h);
522
+ c.push(v);
522
523
  u += d;
523
524
  }
524
- if (!v) {
525
- const h = e.cells[f];
526
- h && c.push(h);
525
+ if (!h) {
526
+ const v = e.cells[f];
527
+ v && c.push(v);
527
528
  }
528
529
  return { cells: c };
529
530
  });
530
- let i = e.fractions;
531
- if (!i) {
532
- const a = Ce(s), f = 1 / (a.length + 1);
533
- i = a.map((c) => c * (1 - f)), i.splice(e.colIndex, 0, f);
531
+ let a = e.fractions;
532
+ if (!a) {
533
+ const l = Ce(s), f = 1 / (l.length + 1);
534
+ a = l.map((c) => c * (1 - f)), a.splice(e.colIndex, 0, f);
534
535
  }
535
536
  return {
536
- doc: oe(r, n, t, { ...s, rows: l, colFractions: i }),
537
+ doc: oe(r, n, t, { ...s, rows: i, colFractions: a }),
537
538
  inverse: o,
538
- mapPosition: G,
539
+ mapPosition: H,
539
540
  dirtyBlockIds: [e.tableId]
540
541
  };
541
542
  }
@@ -544,7 +545,7 @@ function en(r, e) {
544
545
  return {
545
546
  doc: { ...r, stylesheet: e.stylesheet },
546
547
  inverse: { type: "setStylesheet", stylesheet: n },
547
- mapPosition: G,
548
+ mapPosition: H,
548
549
  dirtyBlockIds: []
549
550
  // restyling paragraphs happens via setRuns/setParaStyle ops
550
551
  };
@@ -565,7 +566,7 @@ function en(r, e) {
565
566
  return e.geometry.columns ? s.columns = e.geometry.columns : delete s.columns, e.geometry.pageNumberStart !== null ? s.pageNumberStart = e.geometry.pageNumberStart : delete s.pageNumberStart, {
566
567
  doc: { ...r, section: s },
567
568
  inverse: { type: "setSectionProps", geometry: t },
568
- mapPosition: G,
569
+ mapPosition: H,
569
570
  dirtyBlockIds: []
570
571
  // geometry change → full re-walk; line caches keyed by width
571
572
  };
@@ -573,11 +574,11 @@ function en(r, e) {
573
574
  case "setFootnote": {
574
575
  const n = r.footnotes?.[e.noteId] ?? null, t = { ...r.footnotes ?? {} };
575
576
  e.paras ? t[e.noteId] = e.paras : delete t[e.noteId];
576
- const s = new Set((n ?? []).map((l) => l.id)), o = r.blocks.find((l) => l.kind === "paragraph");
577
+ const s = new Set((n ?? []).map((i) => i.id)), o = r.blocks.find((i) => i.kind === "paragraph");
577
578
  return {
578
579
  doc: { ...r, footnotes: t },
579
580
  inverse: { type: "setFootnote", noteId: e.noteId, paras: n },
580
- mapPosition: (l) => s.has(l.blockId) ? (e.paras ?? []).some((a) => a.id === l.blockId) || !o ? l : { blockId: o.id, offset: 0 } : l,
581
+ mapPosition: (i) => s.has(i.blockId) ? (e.paras ?? []).some((l) => l.id === i.blockId) || !o ? i : { blockId: o.id, offset: 0 } : i,
581
582
  dirtyBlockIds: []
582
583
  };
583
584
  }
@@ -586,17 +587,37 @@ function en(r, e) {
586
587
  return e.props ? t[e.id] = e.props : delete t[e.id], {
587
588
  doc: { ...r, sdts: t },
588
589
  inverse: { type: "setSdtProps", id: e.id, props: n },
589
- mapPosition: G,
590
+ mapPosition: H,
590
591
  dirtyBlockIds: []
591
592
  // run markers change via setRuns/applyStylePatch ops
592
593
  };
593
594
  }
595
+ case "setField": {
596
+ const n = r.fields?.[e.id] ?? null, t = { ...r.fields ?? {} };
597
+ return e.def ? t[e.id] = e.def : delete t[e.id], {
598
+ doc: { ...r, fields: t },
599
+ inverse: { type: "setField", id: e.id, def: n },
600
+ mapPosition: H,
601
+ dirtyBlockIds: []
602
+ // run/block fieldId markers change via setRuns/insert ops
603
+ };
604
+ }
605
+ case "setTocInstruction": {
606
+ const n = r.tocInstruction ?? null, t = { ...r };
607
+ return e.instruction !== null ? t.tocInstruction = e.instruction : delete t.tocInstruction, {
608
+ doc: t,
609
+ inverse: { type: "setTocInstruction", instruction: n },
610
+ mapPosition: H,
611
+ dirtyBlockIds: []
612
+ // entries are regenerated via insert/removeBlock ops in the same tx
613
+ };
614
+ }
594
615
  case "setBookmark": {
595
616
  const n = r.bookmarks?.[e.name] ?? null, t = { ...r.bookmarks ?? {} };
596
617
  return e.range ? t[e.name] = e.range : delete t[e.name], {
597
618
  doc: { ...r, bookmarks: t },
598
619
  inverse: { type: "setBookmark", name: e.name, range: n },
599
- mapPosition: G,
620
+ mapPosition: H,
600
621
  dirtyBlockIds: []
601
622
  };
602
623
  }
@@ -604,45 +625,45 @@ function en(r, e) {
604
625
  const n = r.section[e.band] ?? null, t = { ...r.section };
605
626
  e.blocks ? t[e.band] = e.blocks : delete t[e.band];
606
627
  const s = new Set(
607
- (n ?? []).filter((l) => l.kind === "paragraph").map((l) => l.id)
608
- ), o = r.blocks.find((l) => l.kind === "paragraph");
628
+ (n ?? []).filter((i) => i.kind === "paragraph").map((i) => i.id)
629
+ ), o = r.blocks.find((i) => i.kind === "paragraph");
609
630
  return {
610
631
  doc: { ...r, section: t },
611
632
  inverse: { type: "setSectionBand", band: e.band, blocks: n },
612
- mapPosition: (l) => s.has(l.blockId) ? (e.blocks ?? []).some((a) => a.id === l.blockId) || !o ? l : { blockId: o.id, offset: 0 } : l,
633
+ mapPosition: (i) => s.has(i.blockId) ? (e.blocks ?? []).some((l) => l.id === i.blockId) || !o ? i : { blockId: o.id, offset: 0 } : i,
613
634
  dirtyBlockIds: []
614
635
  };
615
636
  }
616
637
  case "removeTableColumn": {
617
638
  const { where: n, bi: t, block: s } = se(r, e.tableId), o = { type: "setTableStructure", tableId: e.tableId, rows: s.rows };
618
639
  s.colFractions && (o.colFractions = s.colFractions);
619
- const l = Ce(s), i = /* @__PURE__ */ new Set(), a = s.rows.map((h) => {
640
+ const i = Ce(s), a = /* @__PURE__ */ new Set(), l = s.rows.map((v) => {
620
641
  const d = [];
621
642
  let g = 0;
622
- for (const w of h.cells) {
623
- const I = w.colSpan ?? 1;
643
+ for (const b of v.cells) {
644
+ const I = b.colSpan ?? 1;
624
645
  if (e.colIndex >= g && e.colIndex < g + I)
625
646
  if (I > 1) {
626
- const y = { ...w };
647
+ const y = { ...b };
627
648
  I - 1 > 1 ? y.colSpan = I - 1 : delete y.colSpan, d.push(y);
628
649
  } else
629
- for (const y of w.blocks) i.add(y.id);
650
+ for (const y of b.blocks) a.add(y.id);
630
651
  else
631
- d.push(w);
652
+ d.push(b);
632
653
  g += I;
633
654
  }
634
655
  return { cells: d };
635
- }), f = l.filter((h, d) => d !== e.colIndex), c = f.reduce((h, d) => h + d, 0) || 1, u = f.map((h) => h / c), v = Se(a);
656
+ }), f = i.filter((v, d) => d !== e.colIndex), c = f.reduce((v, d) => v + d, 0) || 1, u = f.map((v) => v / c), h = Pe(l);
636
657
  return {
637
- doc: oe(r, n, t, { ...s, rows: a, colFractions: u }),
658
+ doc: oe(r, n, t, { ...s, rows: l, colFractions: u }),
638
659
  inverse: o,
639
- mapPosition: (h) => i.has(h.blockId) && v ? { blockId: v.id, offset: 0 } : h,
660
+ mapPosition: (v) => a.has(v.blockId) && h ? { blockId: h.id, offset: 0 } : v,
640
661
  dirtyBlockIds: [e.tableId]
641
662
  };
642
663
  }
643
664
  }
644
665
  }
645
- var R = Uint8Array, L = Uint16Array, Ge = Int32Array, Fe = new R([
666
+ var R = Uint8Array, q = Uint16Array, Ge = Int32Array, Fe = new R([
646
667
  0,
647
668
  0,
648
669
  0,
@@ -712,37 +733,37 @@ var R = Uint8Array, L = Uint16Array, Ge = Int32Array, Fe = new R([
712
733
  0,
713
734
  0
714
735
  ]), We = new R([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), sr = function(r, e) {
715
- for (var n = new L(31), t = 0; t < 31; ++t)
736
+ for (var n = new q(31), t = 0; t < 31; ++t)
716
737
  n[t] = e += 1 << r[t - 1];
717
738
  for (var s = new Ge(n[30]), t = 1; t < 30; ++t)
718
739
  for (var o = n[t]; o < n[t + 1]; ++o)
719
740
  s[o] = o - n[t] << 5 | t;
720
741
  return { b: n, r: s };
721
- }, or = sr(Fe, 2), lr = or.b, De = or.r;
722
- lr[28] = 258, De[258] = 28;
723
- var ar = sr(Re, 0), xr = ar.b, Je = ar.r, He = new L(32768);
742
+ }, or = sr(Fe, 2), ir = or.b, De = or.r;
743
+ ir[28] = 258, De[258] = 28;
744
+ var lr = sr(Re, 0), xr = lr.b, Je = lr.r, He = new q(32768);
724
745
  for (var m = 0; m < 32768; ++m) {
725
746
  var re = (m & 43690) >> 1 | (m & 21845) << 1;
726
747
  re = (re & 52428) >> 2 | (re & 13107) << 2, re = (re & 61680) >> 4 | (re & 3855) << 4, He[m] = ((re & 65280) >> 8 | (re & 255) << 8) >> 1;
727
748
  }
728
749
  var X = (function(r, e, n) {
729
- for (var t = r.length, s = 0, o = new L(e); s < t; ++s)
750
+ for (var t = r.length, s = 0, o = new q(e); s < t; ++s)
730
751
  r[s] && ++o[r[s] - 1];
731
- var l = new L(e);
752
+ var i = new q(e);
732
753
  for (s = 1; s < e; ++s)
733
- l[s] = l[s - 1] + o[s - 1] << 1;
734
- var i;
754
+ i[s] = i[s - 1] + o[s - 1] << 1;
755
+ var a;
735
756
  if (n) {
736
- i = new L(1 << e);
737
- var a = 15 - e;
757
+ a = new q(1 << e);
758
+ var l = 15 - e;
738
759
  for (s = 0; s < t; ++s)
739
760
  if (r[s])
740
- for (var f = s << 4 | r[s], c = e - r[s], u = l[r[s] - 1]++ << c, v = u | (1 << c) - 1; u <= v; ++u)
741
- i[He[u] >> a] = f;
761
+ for (var f = s << 4 | r[s], c = e - r[s], u = i[r[s] - 1]++ << c, h = u | (1 << c) - 1; u <= h; ++u)
762
+ a[He[u] >> l] = f;
742
763
  } else
743
- for (i = new L(t), s = 0; s < t; ++s)
744
- r[s] && (i[s] = He[l[r[s] - 1]++] >> 15 - r[s]);
745
- return i;
764
+ for (a = new q(t), s = 0; s < t; ++s)
765
+ r[s] && (a[s] = He[i[r[s] - 1]++] >> 15 - r[s]);
766
+ return a;
746
767
  }), te = new R(288);
747
768
  for (var m = 0; m < 144; ++m)
748
769
  te[m] = 8;
@@ -755,7 +776,7 @@ for (var m = 280; m < 288; ++m)
755
776
  var Ie = new R(32);
756
777
  for (var m = 0; m < 32; ++m)
757
778
  Ie[m] = 5;
758
- var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /* @__PURE__ */ X(Ie, 5, 0), Fr = /* @__PURE__ */ X(Ie, 5, 1), Me = function(r) {
779
+ var Pr = /* @__PURE__ */ X(te, 9, 0), Sr = /* @__PURE__ */ X(te, 9, 1), Br = /* @__PURE__ */ X(Ie, 5, 0), Fr = /* @__PURE__ */ X(Ie, 5, 1), Me = function(r) {
759
780
  for (var e = r[0], n = 1; n < r.length; ++n)
760
781
  r[n] > e && (e = r[n]);
761
782
  return e;
@@ -795,106 +816,106 @@ var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /*
795
816
  var s = r.length, o = t ? t.length : 0;
796
817
  if (!s || e.f && !e.l)
797
818
  return n || new R(0);
798
- var l = !n, i = l || e.i != 2, a = e.i;
799
- l && (n = new R(s * 3));
800
- var f = function(he) {
819
+ var i = !n, a = i || e.i != 2, l = e.i;
820
+ i && (n = new R(s * 3));
821
+ var f = function(ve) {
801
822
  var de = n.length;
802
- if (he > de) {
803
- var fe = new R(Math.max(de * 2, he));
823
+ if (ve > de) {
824
+ var fe = new R(Math.max(de * 2, ve));
804
825
  fe.set(n), n = fe;
805
826
  }
806
- }, c = e.f || 0, u = e.p || 0, v = e.b || 0, h = e.l, d = e.d, g = e.m, w = e.n, I = s * 8;
827
+ }, c = e.f || 0, u = e.p || 0, h = e.b || 0, v = e.l, d = e.d, g = e.m, b = e.n, I = s * 8;
807
828
  do {
808
- if (!h) {
829
+ if (!v) {
809
830
  c = Y(r, u, 1);
810
831
  var y = Y(r, u + 1, 3);
811
832
  if (u += 3, y)
812
833
  if (y == 1)
813
- h = Pr, d = Fr, g = 9, w = 5;
834
+ v = Sr, d = Fr, g = 9, b = 5;
814
835
  else if (y == 2) {
815
- var C = Y(r, u, 31) + 257, F = Y(r, u + 10, 15) + 4, b = C + Y(r, u + 5, 31) + 1;
836
+ var C = Y(r, u, 31) + 257, F = Y(r, u + 10, 15) + 4, w = C + Y(r, u + 5, 31) + 1;
816
837
  u += 14;
817
- for (var k = new R(b), M = new R(19), T = 0; T < F; ++T)
838
+ for (var k = new R(w), M = new R(19), T = 0; T < F; ++T)
818
839
  M[We[T]] = Y(r, u + T * 3, 7);
819
840
  u += F * 3;
820
- for (var O = Me(M), ee = (1 << O) - 1, $ = X(M, O, 1), T = 0; T < b; ) {
821
- var W = $[Y(r, u, ee)];
841
+ for (var O = Me(M), ee = (1 << O) - 1, U = X(M, O, 1), T = 0; T < w; ) {
842
+ var W = U[Y(r, u, ee)];
822
843
  u += W & 15;
823
- var P = W >> 4;
824
- if (P < 16)
825
- k[T++] = P;
844
+ var S = W >> 4;
845
+ if (S < 16)
846
+ k[T++] = S;
826
847
  else {
827
848
  var E = 0, x = 0;
828
- for (P == 16 ? (x = 3 + Y(r, u, 3), u += 2, E = k[T - 1]) : P == 17 ? (x = 3 + Y(r, u, 7), u += 3) : P == 18 && (x = 11 + Y(r, u, 127), u += 7); x--; )
849
+ for (S == 16 ? (x = 3 + Y(r, u, 3), u += 2, E = k[T - 1]) : S == 17 ? (x = 3 + Y(r, u, 7), u += 3) : S == 18 && (x = 11 + Y(r, u, 127), u += 7); x--; )
829
850
  k[T++] = E;
830
851
  }
831
852
  }
832
853
  var D = k.subarray(0, C), A = k.subarray(C);
833
- g = Me(D), w = Me(A), h = X(D, g, 1), d = X(A, w, 1);
854
+ g = Me(D), b = Me(A), v = X(D, g, 1), d = X(A, b, 1);
834
855
  } else
835
856
  N(1);
836
857
  else {
837
- var P = Ve(u) + 4, B = r[P - 4] | r[P - 3] << 8, p = P + B;
858
+ var S = Ve(u) + 4, B = r[S - 4] | r[S - 3] << 8, p = S + B;
838
859
  if (p > s) {
839
- a && N(0);
860
+ l && N(0);
840
861
  break;
841
862
  }
842
- i && f(v + B), n.set(r.subarray(P, p), v), e.b = v += B, e.p = u = p * 8, e.f = c;
863
+ a && f(h + B), n.set(r.subarray(S, p), h), e.b = h += B, e.p = u = p * 8, e.f = c;
843
864
  continue;
844
865
  }
845
866
  if (u > I) {
846
- a && N(0);
867
+ l && N(0);
847
868
  break;
848
869
  }
849
870
  }
850
- i && f(v + 131072);
851
- for (var ve = (1 << g) - 1, q = (1 << w) - 1, Z = u; ; Z = u) {
852
- var E = h[Ee(r, u) & ve], U = E >> 4;
871
+ a && f(h + 131072);
872
+ for (var he = (1 << g) - 1, G = (1 << b) - 1, Z = u; ; Z = u) {
873
+ var E = v[Ee(r, u) & he], L = E >> 4;
853
874
  if (u += E & 15, u > I) {
854
- a && N(0);
875
+ l && N(0);
855
876
  break;
856
877
  }
857
- if (E || N(2), U < 256)
858
- n[v++] = U;
859
- else if (U == 256) {
860
- Z = u, h = null;
878
+ if (E || N(2), L < 256)
879
+ n[h++] = L;
880
+ else if (L == 256) {
881
+ Z = u, v = null;
861
882
  break;
862
883
  } else {
863
- var j = U - 254;
864
- if (U > 264) {
865
- var T = U - 257, S = Fe[T];
866
- j = Y(r, u, (1 << S) - 1) + lr[T], u += S;
884
+ var j = L - 254;
885
+ if (L > 264) {
886
+ var T = L - 257, P = Fe[T];
887
+ j = Y(r, u, (1 << P) - 1) + ir[T], u += P;
867
888
  }
868
- var K = d[Ee(r, u) & q], ie = K >> 4;
889
+ var K = d[Ee(r, u) & G], ae = K >> 4;
869
890
  K || N(3), u += K & 15;
870
- var A = xr[ie];
871
- if (ie > 3) {
872
- var S = Re[ie];
873
- A += Ee(r, u) & (1 << S) - 1, u += S;
891
+ var A = xr[ae];
892
+ if (ae > 3) {
893
+ var P = Re[ae];
894
+ A += Ee(r, u) & (1 << P) - 1, u += P;
874
895
  }
875
896
  if (u > I) {
876
- a && N(0);
897
+ l && N(0);
877
898
  break;
878
899
  }
879
- i && f(v + 131072);
880
- var ce = v + j;
881
- if (v < A) {
900
+ a && f(h + 131072);
901
+ var ce = h + j;
902
+ if (h < A) {
882
903
  var ye = o - A, xe = Math.min(A, ce);
883
- for (ye + v < 0 && N(3); v < xe; ++v)
884
- n[v] = t[ye + v];
904
+ for (ye + h < 0 && N(3); h < xe; ++h)
905
+ n[h] = t[ye + h];
885
906
  }
886
- for (; v < ce; ++v)
887
- n[v] = n[v - A];
907
+ for (; h < ce; ++h)
908
+ n[h] = n[h - A];
888
909
  }
889
910
  }
890
- e.l = h, e.p = Z, e.b = v, e.f = c, h && (c = 1, e.m = g, e.d = d, e.n = w);
911
+ e.l = v, e.p = Z, e.b = h, e.f = c, v && (c = 1, e.m = g, e.d = d, e.n = b);
891
912
  } while (!c);
892
- return v != n.length && l ? me(n, 0, v) : n.subarray(0, v);
913
+ return h != n.length && i ? me(n, 0, h) : n.subarray(0, h);
893
914
  }, _ = function(r, e, n) {
894
915
  n <<= e & 7;
895
916
  var t = e / 8 | 0;
896
917
  r[t] |= n, r[t + 1] |= n >> 8;
897
- }, be = function(r, e, n) {
918
+ }, we = function(r, e, n) {
898
919
  n <<= e & 7;
899
920
  var t = e / 8 | 0;
900
921
  r[t] |= n, r[t + 1] |= n >> 8, r[t + 2] |= n >> 16;
@@ -905,165 +926,165 @@ var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /*
905
926
  if (!s)
906
927
  return { t: cr, l: 0 };
907
928
  if (s == 1) {
908
- var l = new R(n[0].s + 1);
909
- return l[n[0].s] = 1, { t: l, l: 1 };
929
+ var i = new R(n[0].s + 1);
930
+ return i[n[0].s] = 1, { t: i, l: 1 };
910
931
  }
911
932
  n.sort(function(p, C) {
912
933
  return p.f - C.f;
913
934
  }), n.push({ s: -1, f: 25001 });
914
- var i = n[0], a = n[1], f = 0, c = 1, u = 2;
915
- for (n[0] = { s: -1, f: i.f + a.f, l: i, r: a }; c != s - 1; )
916
- i = n[n[f].f < n[u].f ? f++ : u++], a = n[f != c && n[f].f < n[u].f ? f++ : u++], n[c++] = { s: -1, f: i.f + a.f, l: i, r: a };
917
- for (var v = o[0].s, t = 1; t < s; ++t)
918
- o[t].s > v && (v = o[t].s);
919
- var h = new L(v + 1), d = $e(n[c - 1], h, 0);
935
+ var a = n[0], l = n[1], f = 0, c = 1, u = 2;
936
+ for (n[0] = { s: -1, f: a.f + l.f, l: a, r: l }; c != s - 1; )
937
+ a = n[n[f].f < n[u].f ? f++ : u++], l = n[f != c && n[f].f < n[u].f ? f++ : u++], n[c++] = { s: -1, f: a.f + l.f, l: a, r: l };
938
+ for (var h = o[0].s, t = 1; t < s; ++t)
939
+ o[t].s > h && (h = o[t].s);
940
+ var v = new q(h + 1), d = $e(n[c - 1], v, 0);
920
941
  if (d > e) {
921
- var t = 0, g = 0, w = d - e, I = 1 << w;
942
+ var t = 0, g = 0, b = d - e, I = 1 << b;
922
943
  for (o.sort(function(C, F) {
923
- return h[F.s] - h[C.s] || C.f - F.f;
944
+ return v[F.s] - v[C.s] || C.f - F.f;
924
945
  }); t < s; ++t) {
925
946
  var y = o[t].s;
926
- if (h[y] > e)
927
- g += I - (1 << d - h[y]), h[y] = e;
947
+ if (v[y] > e)
948
+ g += I - (1 << d - v[y]), v[y] = e;
928
949
  else
929
950
  break;
930
951
  }
931
- for (g >>= w; g > 0; ) {
932
- var P = o[t].s;
933
- h[P] < e ? g -= 1 << e - h[P]++ - 1 : ++t;
952
+ for (g >>= b; g > 0; ) {
953
+ var S = o[t].s;
954
+ v[S] < e ? g -= 1 << e - v[S]++ - 1 : ++t;
934
955
  }
935
956
  for (; t >= 0 && g; --t) {
936
957
  var B = o[t].s;
937
- h[B] == e && (--h[B], ++g);
958
+ v[B] == e && (--v[B], ++g);
938
959
  }
939
960
  d = e;
940
961
  }
941
- return { t: new R(h), l: d };
962
+ return { t: new R(v), l: d };
942
963
  }, $e = function(r, e, n) {
943
964
  return r.s == -1 ? Math.max($e(r.l, e, n + 1), $e(r.r, e, n + 1)) : e[r.s] = n;
944
965
  }, Ke = function(r) {
945
966
  for (var e = r.length; e && !r[--e]; )
946
967
  ;
947
- for (var n = new L(++e), t = 0, s = r[0], o = 1, l = function(a) {
948
- n[t++] = a;
949
- }, i = 1; i <= e; ++i)
950
- if (r[i] == s && i != e)
968
+ for (var n = new q(++e), t = 0, s = r[0], o = 1, i = function(l) {
969
+ n[t++] = l;
970
+ }, a = 1; a <= e; ++a)
971
+ if (r[a] == s && a != e)
951
972
  ++o;
952
973
  else {
953
974
  if (!s && o > 2) {
954
975
  for (; o > 138; o -= 138)
955
- l(32754);
956
- o > 2 && (l(o > 10 ? o - 11 << 5 | 28690 : o - 3 << 5 | 12305), o = 0);
976
+ i(32754);
977
+ o > 2 && (i(o > 10 ? o - 11 << 5 | 28690 : o - 3 << 5 | 12305), o = 0);
957
978
  } else if (o > 3) {
958
- for (l(s), --o; o > 6; o -= 6)
959
- l(8304);
960
- o > 2 && (l(o - 3 << 5 | 8208), o = 0);
979
+ for (i(s), --o; o > 6; o -= 6)
980
+ i(8304);
981
+ o > 2 && (i(o - 3 << 5 | 8208), o = 0);
961
982
  }
962
983
  for (; o--; )
963
- l(s);
964
- o = 1, s = r[i];
984
+ i(s);
985
+ o = 1, s = r[a];
965
986
  }
966
987
  return { c: n.subarray(0, t), n: e };
967
- }, we = function(r, e) {
988
+ }, be = function(r, e) {
968
989
  for (var n = 0, t = 0; t < e.length; ++t)
969
990
  n += r[t] * e[t];
970
991
  return n;
971
- }, ir = function(r, e, n) {
992
+ }, ar = function(r, e, n) {
972
993
  var t = n.length, s = Ve(e + 2);
973
994
  r[s] = t & 255, r[s + 1] = t >> 8, r[s + 2] = r[s] ^ 255, r[s + 3] = r[s + 1] ^ 255;
974
995
  for (var o = 0; o < t; ++o)
975
996
  r[s + o + 4] = n[o];
976
997
  return (s + 4 + t) * 8;
977
- }, Qe = function(r, e, n, t, s, o, l, i, a, f, c) {
998
+ }, Qe = function(r, e, n, t, s, o, i, a, l, f, c) {
978
999
  _(e, c++, n), ++s[256];
979
- for (var u = Ae(s, 15), v = u.t, h = u.l, d = Ae(o, 15), g = d.t, w = d.l, I = Ke(v), y = I.c, P = I.n, B = Ke(g), p = B.c, C = B.n, F = new L(19), b = 0; b < y.length; ++b)
980
- ++F[y[b] & 31];
981
- for (var b = 0; b < p.length; ++b)
982
- ++F[p[b] & 31];
1000
+ for (var u = Ae(s, 15), h = u.t, v = u.l, d = Ae(o, 15), g = d.t, b = d.l, I = Ke(h), y = I.c, S = I.n, B = Ke(g), p = B.c, C = B.n, F = new q(19), w = 0; w < y.length; ++w)
1001
+ ++F[y[w] & 31];
1002
+ for (var w = 0; w < p.length; ++w)
1003
+ ++F[p[w] & 31];
983
1004
  for (var k = Ae(F, 7), M = k.t, T = k.l, O = 19; O > 4 && !M[We[O - 1]]; --O)
984
1005
  ;
985
- var ee = f + 5 << 3, $ = we(s, te) + we(o, Ie) + l, W = we(s, v) + we(o, g) + l + 14 + 3 * O + we(F, M) + 2 * F[16] + 3 * F[17] + 7 * F[18];
986
- if (a >= 0 && ee <= $ && ee <= W)
987
- return ir(e, c, r.subarray(a, a + f));
1006
+ var ee = f + 5 << 3, U = be(s, te) + be(o, Ie) + i, W = be(s, h) + be(o, g) + i + 14 + 3 * O + be(F, M) + 2 * F[16] + 3 * F[17] + 7 * F[18];
1007
+ if (l >= 0 && ee <= U && ee <= W)
1008
+ return ar(e, c, r.subarray(l, l + f));
988
1009
  var E, x, D, A;
989
- if (_(e, c, 1 + (W < $)), c += 2, W < $) {
990
- E = X(v, h, 0), x = v, D = X(g, w, 0), A = g;
991
- var ve = X(M, T, 0);
992
- _(e, c, P - 257), _(e, c + 5, C - 1), _(e, c + 10, O - 4), c += 14;
993
- for (var b = 0; b < O; ++b)
994
- _(e, c + 3 * b, M[We[b]]);
1010
+ if (_(e, c, 1 + (W < U)), c += 2, W < U) {
1011
+ E = X(h, v, 0), x = h, D = X(g, b, 0), A = g;
1012
+ var he = X(M, T, 0);
1013
+ _(e, c, S - 257), _(e, c + 5, C - 1), _(e, c + 10, O - 4), c += 14;
1014
+ for (var w = 0; w < O; ++w)
1015
+ _(e, c + 3 * w, M[We[w]]);
995
1016
  c += 3 * O;
996
- for (var q = [y, p], Z = 0; Z < 2; ++Z)
997
- for (var U = q[Z], b = 0; b < U.length; ++b) {
998
- var j = U[b] & 31;
999
- _(e, c, ve[j]), c += M[j], j > 15 && (_(e, c, U[b] >> 5 & 127), c += U[b] >> 12);
1017
+ for (var G = [y, p], Z = 0; Z < 2; ++Z)
1018
+ for (var L = G[Z], w = 0; w < L.length; ++w) {
1019
+ var j = L[w] & 31;
1020
+ _(e, c, he[j]), c += M[j], j > 15 && (_(e, c, L[w] >> 5 & 127), c += L[w] >> 12);
1000
1021
  }
1001
1022
  } else
1002
- E = Sr, x = te, D = Br, A = Ie;
1003
- for (var b = 0; b < i; ++b) {
1004
- var S = t[b];
1005
- if (S > 255) {
1006
- var j = S >> 18 & 31;
1007
- be(e, c, E[j + 257]), c += x[j + 257], j > 7 && (_(e, c, S >> 23 & 31), c += Fe[j]);
1008
- var K = S & 31;
1009
- be(e, c, D[K]), c += A[K], K > 3 && (be(e, c, S >> 5 & 8191), c += Re[K]);
1023
+ E = Pr, x = te, D = Br, A = Ie;
1024
+ for (var w = 0; w < a; ++w) {
1025
+ var P = t[w];
1026
+ if (P > 255) {
1027
+ var j = P >> 18 & 31;
1028
+ we(e, c, E[j + 257]), c += x[j + 257], j > 7 && (_(e, c, P >> 23 & 31), c += Fe[j]);
1029
+ var K = P & 31;
1030
+ we(e, c, D[K]), c += A[K], K > 3 && (we(e, c, P >> 5 & 8191), c += Re[K]);
1010
1031
  } else
1011
- be(e, c, E[S]), c += x[S];
1032
+ we(e, c, E[P]), c += x[P];
1012
1033
  }
1013
- return be(e, c, E[256]), c + x[256];
1034
+ return we(e, c, E[256]), c + x[256];
1014
1035
  }, pr = /* @__PURE__ */ new Ge([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), cr = /* @__PURE__ */ new R(0), Cr = function(r, e, n, t, s, o) {
1015
- var l = o.z || r.length, i = new R(t + l + 5 * (1 + Math.ceil(l / 7e3)) + s), a = i.subarray(t, i.length - s), f = o.l, c = (o.r || 0) & 7;
1036
+ var i = o.z || r.length, a = new R(t + i + 5 * (1 + Math.ceil(i / 7e3)) + s), l = a.subarray(t, a.length - s), f = o.l, c = (o.r || 0) & 7;
1016
1037
  if (e) {
1017
- c && (a[0] = o.r >> 3);
1018
- for (var u = pr[e - 1], v = u >> 13, h = u & 8191, d = (1 << n) - 1, g = o.p || new L(32768), w = o.h || new L(d + 1), I = Math.ceil(n / 3), y = 2 * I, P = function(Te) {
1038
+ c && (l[0] = o.r >> 3);
1039
+ for (var u = pr[e - 1], h = u >> 13, v = u & 8191, d = (1 << n) - 1, g = o.p || new q(32768), b = o.h || new q(d + 1), I = Math.ceil(n / 3), y = 2 * I, S = function(Te) {
1019
1040
  return (r[Te] ^ r[Te + 1] << I ^ r[Te + 2] << y) & d;
1020
- }, B = new Ge(25e3), p = new L(288), C = new L(32), F = 0, b = 0, k = o.i || 0, M = 0, T = o.w || 0, O = 0; k + 2 < l; ++k) {
1021
- var ee = P(k), $ = k & 32767, W = w[ee];
1022
- if (g[$] = W, w[ee] = $, T <= k) {
1023
- var E = l - k;
1041
+ }, B = new Ge(25e3), p = new q(288), C = new q(32), F = 0, w = 0, k = o.i || 0, M = 0, T = o.w || 0, O = 0; k + 2 < i; ++k) {
1042
+ var ee = S(k), U = k & 32767, W = b[ee];
1043
+ if (g[U] = W, b[ee] = U, T <= k) {
1044
+ var E = i - k;
1024
1045
  if ((F > 7e3 || M > 24576) && (E > 423 || !f)) {
1025
- c = Qe(r, a, 0, B, p, C, b, M, O, k - O, c), M = F = b = 0, O = k;
1046
+ c = Qe(r, l, 0, B, p, C, w, M, O, k - O, c), M = F = w = 0, O = k;
1026
1047
  for (var x = 0; x < 286; ++x)
1027
1048
  p[x] = 0;
1028
1049
  for (var x = 0; x < 30; ++x)
1029
1050
  C[x] = 0;
1030
1051
  }
1031
- var D = 2, A = 0, ve = h, q = $ - W & 32767;
1032
- if (E > 2 && ee == P(k - q))
1033
- for (var Z = Math.min(v, E) - 1, U = Math.min(32767, k), j = Math.min(258, E); q <= U && --ve && $ != W; ) {
1034
- if (r[k + D] == r[k + D - q]) {
1035
- for (var S = 0; S < j && r[k + S] == r[k + S - q]; ++S)
1052
+ var D = 2, A = 0, he = v, G = U - W & 32767;
1053
+ if (E > 2 && ee == S(k - G))
1054
+ for (var Z = Math.min(h, E) - 1, L = Math.min(32767, k), j = Math.min(258, E); G <= L && --he && U != W; ) {
1055
+ if (r[k + D] == r[k + D - G]) {
1056
+ for (var P = 0; P < j && r[k + P] == r[k + P - G]; ++P)
1036
1057
  ;
1037
- if (S > D) {
1038
- if (D = S, A = q, S > Z)
1058
+ if (P > D) {
1059
+ if (D = P, A = G, P > Z)
1039
1060
  break;
1040
- for (var K = Math.min(q, S - 2), ie = 0, x = 0; x < K; ++x) {
1041
- var ce = k - q + x & 32767, ye = g[ce], xe = ce - ye & 32767;
1042
- xe > ie && (ie = xe, W = ce);
1061
+ for (var K = Math.min(G, P - 2), ae = 0, x = 0; x < K; ++x) {
1062
+ var ce = k - G + x & 32767, ye = g[ce], xe = ce - ye & 32767;
1063
+ xe > ae && (ae = xe, W = ce);
1043
1064
  }
1044
1065
  }
1045
1066
  }
1046
- $ = W, W = g[$], q += $ - W & 32767;
1067
+ U = W, W = g[U], G += U - W & 32767;
1047
1068
  }
1048
1069
  if (A) {
1049
1070
  B[M++] = 268435456 | De[D] << 18 | Je[A];
1050
- var he = De[D] & 31, de = Je[A] & 31;
1051
- b += Fe[he] + Re[de], ++p[257 + he], ++C[de], T = k + D, ++F;
1071
+ var ve = De[D] & 31, de = Je[A] & 31;
1072
+ w += Fe[ve] + Re[de], ++p[257 + ve], ++C[de], T = k + D, ++F;
1052
1073
  } else
1053
1074
  B[M++] = r[k], ++p[r[k]];
1054
1075
  }
1055
1076
  }
1056
- for (k = Math.max(k, T); k < l; ++k)
1077
+ for (k = Math.max(k, T); k < i; ++k)
1057
1078
  B[M++] = r[k], ++p[r[k]];
1058
- c = Qe(r, a, f, B, p, C, b, M, O, k - O, c), f || (o.r = c & 7 | a[c / 8 | 0] << 3, c -= 7, o.h = w, o.p = g, o.i = k, o.w = T);
1079
+ c = Qe(r, l, f, B, p, C, w, M, O, k - O, c), f || (o.r = c & 7 | l[c / 8 | 0] << 3, c -= 7, o.h = b, o.p = g, o.i = k, o.w = T);
1059
1080
  } else {
1060
- for (var k = o.w || 0; k < l + f; k += 65535) {
1081
+ for (var k = o.w || 0; k < i + f; k += 65535) {
1061
1082
  var fe = k + 65535;
1062
- fe >= l && (a[c / 8 | 0] = f, fe = l), c = ir(a, c + 1, r.subarray(k, fe));
1083
+ fe >= i && (l[c / 8 | 0] = f, fe = i), c = ar(l, c + 1, r.subarray(k, fe));
1063
1084
  }
1064
- o.i = l;
1085
+ o.i = i;
1065
1086
  }
1066
- return me(i, 0, t + Ve(c) + s);
1087
+ return me(a, 0, t + Ve(c) + s);
1067
1088
  }, Mr = /* @__PURE__ */ (function() {
1068
1089
  for (var r = new Int32Array(256), e = 0; e < 256; ++e) {
1069
1090
  for (var n = e, t = 9; --t; )
@@ -1085,8 +1106,8 @@ var Sr = /* @__PURE__ */ X(te, 9, 0), Pr = /* @__PURE__ */ X(te, 9, 1), Br = /*
1085
1106
  };
1086
1107
  }, Ar = function(r, e, n, t, s) {
1087
1108
  if (!s && (s = { l: 1 }, e.dictionary)) {
1088
- var o = e.dictionary.subarray(-32768), l = new R(o.length + r.length);
1089
- l.set(o), l.set(r, o.length), r = l, s.w = o.length;
1109
+ var o = e.dictionary.subarray(-32768), i = new R(o.length + r.length);
1110
+ i.set(o), i.set(r, o.length), r = i, s.w = o.length;
1090
1111
  }
1091
1112
  return Cr(r, e.level == null ? 6 : e.level, e.mem == null ? s.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(r.length))) * 1.5) : 20 : 12 + e.mem, n, t, s);
1092
1113
  }, fr = function(r, e) {
@@ -1114,8 +1135,8 @@ function Or(r, e) {
1114
1135
  }
1115
1136
  var ur = function(r, e, n, t) {
1116
1137
  for (var s in r) {
1117
- var o = r[s], l = e + s, i = t;
1118
- Array.isArray(o) && (i = fr(t, o[1]), o = o[0]), ArrayBuffer.isView(o) ? n[l] = [o, i] : (n[l += "/"] = [new R(0), i], ur(o, l, n, t));
1138
+ var o = r[s], i = e + s, a = t;
1139
+ Array.isArray(o) && (a = fr(t, o[1]), o = o[0]), ArrayBuffer.isView(o) ? n[i] = [o, a] : (n[i += "/"] = [new R(0), a], ur(o, i, n, t));
1119
1140
  }
1120
1141
  }, Xe = typeof TextEncoder < "u" && /* @__PURE__ */ new TextEncoder(), Ue = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Nr = 0;
1121
1142
  try {
@@ -1134,15 +1155,15 @@ function Ze(r, e) {
1134
1155
  var n;
1135
1156
  if (Xe)
1136
1157
  return Xe.encode(r);
1137
- for (var t = r.length, s = new R(r.length + (r.length >> 1)), o = 0, l = function(f) {
1158
+ for (var t = r.length, s = new R(r.length + (r.length >> 1)), o = 0, i = function(f) {
1138
1159
  s[o++] = f;
1139
1160
  }, n = 0; n < t; ++n) {
1140
1161
  if (o + 5 > s.length) {
1141
- var i = new R(o + 8 + (t - n << 1));
1142
- i.set(s), s = i;
1162
+ var a = new R(o + 8 + (t - n << 1));
1163
+ a.set(s), s = a;
1143
1164
  }
1144
- var a = r.charCodeAt(n);
1145
- a < 128 || e ? l(a) : a < 2048 ? (l(192 | a >> 6), l(128 | a & 63)) : a > 55295 && a < 57344 ? (a = 65536 + (a & 1047552) | r.charCodeAt(++n) & 1023, l(240 | a >> 18), l(128 | a >> 12 & 63), l(128 | a >> 6 & 63), l(128 | a & 63)) : (l(224 | a >> 12), l(128 | a >> 6 & 63), l(128 | a & 63));
1165
+ var l = r.charCodeAt(n);
1166
+ l < 128 || e ? i(l) : l < 2048 ? (i(192 | l >> 6), i(128 | l & 63)) : l > 55295 && l < 57344 ? (l = 65536 + (l & 1047552) | r.charCodeAt(++n) & 1023, i(240 | l >> 18), i(128 | l >> 12 & 63), i(128 | l >> 6 & 63), i(128 | l & 63)) : (i(224 | l >> 12), i(128 | l >> 6 & 63), i(128 | l & 63));
1146
1167
  }
1147
1168
  return me(s, 0, o);
1148
1169
  }
@@ -1161,23 +1182,23 @@ function Dr(r, e) {
1161
1182
  var Hr = function(r, e) {
1162
1183
  return e + 30 + Q(r, e + 26) + Q(r, e + 28);
1163
1184
  }, $r = function(r, e, n) {
1164
- var t = Q(r, e + 28), s = Q(r, e + 30), o = Dr(r.subarray(e + 46, e + 46 + t), !(Q(r, e + 8) & 2048)), l = e + 46 + t, i = Ur(r, l, s, n, V(r, e + 20), V(r, e + 24), V(r, e + 42)), a = i[0], f = i[1], c = i[2];
1165
- return [Q(r, e + 10), a, f, o, l + s + Q(r, e + 32), c];
1166
- }, Ur = function(r, e, n, t, s, o, l) {
1167
- var i = s == 4294967295, a = o == 4294967295, f = l == 4294967295, c = e + n, u = i + a + f;
1185
+ var t = Q(r, e + 28), s = Q(r, e + 30), o = Dr(r.subarray(e + 46, e + 46 + t), !(Q(r, e + 8) & 2048)), i = e + 46 + t, a = Ur(r, i, s, n, V(r, e + 20), V(r, e + 24), V(r, e + 42)), l = a[0], f = a[1], c = a[2];
1186
+ return [Q(r, e + 10), l, f, o, i + s + Q(r, e + 32), c];
1187
+ }, Ur = function(r, e, n, t, s, o, i) {
1188
+ var a = s == 4294967295, l = o == 4294967295, f = i == 4294967295, c = e + n, u = a + l + f;
1168
1189
  if (t && u) {
1169
1190
  for (; e + 4 < c; e += 4 + Q(r, e + 2))
1170
1191
  if (Q(r, e) == 1)
1171
1192
  return [
1172
- i ? ze(r, e + 4 + 8 * a) : s,
1173
- a ? ze(r, e + 4) : o,
1174
- f ? ze(r, e + 4 + 8 * (a + i)) : l,
1193
+ a ? ze(r, e + 4 + 8 * l) : s,
1194
+ l ? ze(r, e + 4) : o,
1195
+ f ? ze(r, e + 4 + 8 * (l + a)) : i,
1175
1196
  1
1176
1197
  ];
1177
1198
  t < 2 && N(13);
1178
1199
  }
1179
- return [s, o, l, 0];
1180
- }, je = function(r) {
1200
+ return [s, o, i, 0];
1201
+ }, Le = function(r) {
1181
1202
  var e = 0;
1182
1203
  if (r)
1183
1204
  for (var n in r) {
@@ -1185,17 +1206,17 @@ var Hr = function(r, e) {
1185
1206
  t > 65535 && N(9), e += t + 4;
1186
1207
  }
1187
1208
  return e;
1188
- }, _e = function(r, e, n, t, s, o, l, i) {
1189
- var a = t.length, f = n.extra, c = i && i.length, u = je(f);
1190
- z(r, e, l != null ? 33639248 : 67324752), e += 4, l != null && (r[e++] = 20, r[e++] = n.os), r[e] = 20, e += 2, r[e++] = n.flag << 1 | (o < 0 && 8), r[e++] = s && 8, r[e++] = n.compression & 255, r[e++] = n.compression >> 8;
1191
- var v = new Date(n.mtime == null ? Date.now() : n.mtime), h = v.getFullYear() - 1980;
1192
- if ((h < 0 || h > 119) && N(10), z(r, e, h << 25 | v.getMonth() + 1 << 21 | v.getDate() << 16 | v.getHours() << 11 | v.getMinutes() << 5 | v.getSeconds() >> 1), e += 4, o != -1 && (z(r, e, n.crc), z(r, e + 4, o < 0 ? -o - 2 : o), z(r, e + 8, n.size)), z(r, e + 12, a), z(r, e + 14, u), e += 16, l != null && (z(r, e, c), z(r, e + 6, n.attrs), z(r, e + 10, l), e += 14), r.set(t, e), e += a, u)
1209
+ }, _e = function(r, e, n, t, s, o, i, a) {
1210
+ var l = t.length, f = n.extra, c = a && a.length, u = Le(f);
1211
+ z(r, e, i != null ? 33639248 : 67324752), e += 4, i != null && (r[e++] = 20, r[e++] = n.os), r[e] = 20, e += 2, r[e++] = n.flag << 1 | (o < 0 && 8), r[e++] = s && 8, r[e++] = n.compression & 255, r[e++] = n.compression >> 8;
1212
+ var h = new Date(n.mtime == null ? Date.now() : n.mtime), v = h.getFullYear() - 1980;
1213
+ if ((v < 0 || v > 119) && N(10), z(r, e, v << 25 | h.getMonth() + 1 << 21 | h.getDate() << 16 | h.getHours() << 11 | h.getMinutes() << 5 | h.getSeconds() >> 1), e += 4, o != -1 && (z(r, e, n.crc), z(r, e + 4, o < 0 ? -o - 2 : o), z(r, e + 8, n.size)), z(r, e + 12, l), z(r, e + 14, u), e += 16, i != null && (z(r, e, c), z(r, e + 6, n.attrs), z(r, e + 10, i), e += 14), r.set(t, e), e += l, u)
1193
1214
  for (var d in f) {
1194
- var g = f[d], w = g.length;
1195
- z(r, e, +d), z(r, e + 2, w), r.set(g, e + 4), e += 4 + w;
1215
+ var g = f[d], b = g.length;
1216
+ z(r, e, +d), z(r, e + 2, b), r.set(g, e + 4), e += 4 + b;
1196
1217
  }
1197
- return c && (r.set(i, e), e += c), e;
1198
- }, jr = function(r, e, n, t, s) {
1218
+ return c && (r.set(a, e), e += c), e;
1219
+ }, Lr = function(r, e, n, t, s) {
1199
1220
  z(r, e, 101010256), z(r, e + 8, n), z(r, e + 10, n), z(r, e + 12, t), z(r, e + 16, s);
1200
1221
  };
1201
1222
  function rn(r, e) {
@@ -1203,28 +1224,28 @@ function rn(r, e) {
1203
1224
  var n = {}, t = [];
1204
1225
  ur(r, "", n, e);
1205
1226
  var s = 0, o = 0;
1206
- for (var l in n) {
1207
- var i = n[l], a = i[0], f = i[1], c = f.level == 0 ? 0 : 8, u = Ze(l), v = u.length, h = f.comment, d = h && Ze(h), g = d && d.length, w = je(f.extra);
1208
- v > 65535 && N(11);
1209
- var I = c ? zr(a, f) : a, y = I.length, P = Er();
1210
- P.p(a), t.push(fr(f, {
1211
- size: a.length,
1212
- crc: P.d(),
1227
+ for (var i in n) {
1228
+ var a = n[i], l = a[0], f = a[1], c = f.level == 0 ? 0 : 8, u = Ze(i), h = u.length, v = f.comment, d = v && Ze(v), g = d && d.length, b = Le(f.extra);
1229
+ h > 65535 && N(11);
1230
+ var I = c ? zr(l, f) : l, y = I.length, S = Er();
1231
+ S.p(l), t.push(fr(f, {
1232
+ size: l.length,
1233
+ crc: S.d(),
1213
1234
  c: I,
1214
1235
  f: u,
1215
1236
  m: d,
1216
- u: v != l.length || d && h.length != g,
1237
+ u: h != i.length || d && v.length != g,
1217
1238
  o: s,
1218
1239
  compression: c
1219
- })), s += 30 + v + w + y, o += 76 + 2 * (v + w) + (g || 0) + y;
1240
+ })), s += 30 + h + b + y, o += 76 + 2 * (h + b) + (g || 0) + y;
1220
1241
  }
1221
1242
  for (var B = new R(o + 22), p = s, C = o - s, F = 0; F < t.length; ++F) {
1222
1243
  var u = t[F];
1223
1244
  _e(B, u.o, u, u.f, u.u, u.c.length);
1224
- var b = 30 + u.f.length + je(u.extra);
1225
- B.set(u.c, u.o + b), _e(B, s, u, u.f, u.u, u.c.length, u.o, u.m), s += 16 + b + (u.m ? u.m.length : 0);
1245
+ var w = 30 + u.f.length + Le(u.extra);
1246
+ B.set(u.c, u.o + w), _e(B, s, u, u.f, u.u, u.c.length, u.o, u.m), s += 16 + w + (u.m ? u.m.length : 0);
1226
1247
  }
1227
- return jr(B, s, t.length, C, p), B;
1248
+ return Lr(B, s, t.length, C, p), B;
1228
1249
  }
1229
1250
  function nn(r, e) {
1230
1251
  for (var n = {}, t = r.length - 22; V(r, t) != 101010256; --t)
@@ -1232,53 +1253,53 @@ function nn(r, e) {
1232
1253
  var s = Q(r, t + 8);
1233
1254
  if (!s)
1234
1255
  return {};
1235
- var o = V(r, t + 16), l = V(r, t - 20) == 117853008;
1236
- if (l) {
1237
- var i = V(r, t - 12);
1238
- l = V(r, i) == 101075792, l && (s = V(r, i + 32), o = V(r, i + 48));
1256
+ var o = V(r, t + 16), i = V(r, t - 20) == 117853008;
1257
+ if (i) {
1258
+ var a = V(r, t - 12);
1259
+ i = V(r, a) == 101075792, i && (s = V(r, a + 32), o = V(r, a + 48));
1239
1260
  }
1240
- for (var a = e && e.filter, f = 0; f < s; ++f) {
1241
- var c = $r(r, o, l), u = c[0], v = c[1], h = c[2], d = c[3], g = c[4], w = c[5], I = Hr(r, w);
1242
- o = g, (!a || a({
1261
+ for (var l = e && e.filter, f = 0; f < s; ++f) {
1262
+ var c = $r(r, o, i), u = c[0], h = c[1], v = c[2], d = c[3], g = c[4], b = c[5], I = Hr(r, b);
1263
+ o = g, (!l || l({
1243
1264
  name: d,
1244
- size: v,
1245
- originalSize: h,
1265
+ size: h,
1266
+ originalSize: v,
1246
1267
  compression: u
1247
- })) && (u ? u == 8 ? n[d] = Or(r.subarray(I, I + v), { out: new R(h) }) : N(14, "unknown compression type " + u) : n[d] = me(r, I, I + v));
1268
+ })) && (u ? u == 8 ? n[d] = Or(r.subarray(I, I + h), { out: new R(v) }) : N(14, "unknown compression type " + u) : n[d] = me(r, I, I + h));
1248
1269
  }
1249
1270
  return n;
1250
1271
  }
1251
1272
  export {
1252
1273
  ne as A,
1253
- Le as B,
1254
- vr as C,
1274
+ je as B,
1275
+ hr as C,
1255
1276
  Qr as D,
1256
1277
  Xr as E,
1257
1278
  Ce as F,
1258
1279
  Dr as a,
1259
1280
  en as b,
1260
- hr as c,
1281
+ vr as c,
1261
1282
  Zr as d,
1262
1283
  Gr as e,
1263
1284
  dr as f,
1264
1285
  yr as g,
1265
- H as h,
1286
+ $ as h,
1266
1287
  Vr as i,
1267
1288
  tr as j,
1268
1289
  Jr as k,
1269
- Pe as l,
1290
+ Se as l,
1270
1291
  _r as m,
1271
1292
  Yr as n,
1272
1293
  qe as o,
1273
1294
  nr as p,
1274
- Lr as q,
1275
- gr as r,
1295
+ mr as q,
1296
+ jr as r,
1276
1297
  Ze as s,
1277
1298
  Ne as t,
1278
1299
  nn as u,
1279
- Kr as v,
1300
+ gr as v,
1280
1301
  rr as w,
1281
- mr as x,
1302
+ Kr as x,
1282
1303
  qr as y,
1283
1304
  rn as z
1284
1305
  };